diff --git a/src/navigation/RootNavigator.tsx b/src/navigation/RootNavigator.tsx index d634560538a03f15e732c2dd286282c419832f51..24dec82c03974b607d641c1b3b65e0a05f96e5a7 100644 --- a/src/navigation/RootNavigator.tsx +++ b/src/navigation/RootNavigator.tsx @@ -5,8 +5,7 @@ import CreateEcosystemStackNavigator from "./CreateEcosystemStackNavigator"; import { RootStackParamList } from "../types/navigation"; import AuthStackNavigator from "./AuthStackNavigator"; import SuccessChangePasswordScreen from "../screens/SuccessChangePasswordScreen"; -import { IUser } from "../types/firestore/User"; -import { useAppDispatch, useAppSelector } from "../hooks/reduxHooks"; +import { useAppDispatch, useUser } from "../hooks/reduxHooks"; import { getUser } from "../redux/user/actions"; import LandingScreen from "../screens/auth/LandingScreen"; import firebase from "firebase"; @@ -19,7 +18,7 @@ import { Alert } from "react-native"; const RootStack = createNativeStackNavigator(); const RootNavigator = () => { - const user: IUser = useAppSelector((state) => state.user); + const user = useUser(); const [isLoading, setIsLoading] = useState(true); const dispatch = useAppDispatch(); diff --git a/src/screens/ecosystem/BusinessEcosystemScreen.tsx b/src/screens/ecosystem/BusinessEcosystemScreen.tsx index 721b4ea8dafac3bd467b5ab5166f148612be87e4..a62b076daeea690fa13494fe8fd96fea3dd6f8c1 100644 --- a/src/screens/ecosystem/BusinessEcosystemScreen.tsx +++ b/src/screens/ecosystem/BusinessEcosystemScreen.tsx @@ -8,20 +8,19 @@ import CategoryHorizontalCarousel from "../../components/carousel/CategoryHorizo import Spacer from "../../components/Spacer/Spacer"; import { Text, View } from "../../components/Themed"; import Colors from "../../constants/Colors"; -import { useAppSelector } from "../../hooks/reduxHooks"; +import { useUser } from "../../hooks/reduxHooks"; import { getByMostRecent } from "../../service/firestore/ecosystem/getMostRecent"; import { getByPopularity } from "../../service/firestore/ecosystem/getByPopularity"; import { getByFollowed } from "../../service/firestore/ecosystem/getByFollowed"; import { getByCreated } from "../../service/firestore/ecosystem/getByCreated"; import { IEcosystem } from "../../types/firestore/ecosystems"; -import { IUser } from "../../types/firestore/User"; import { getCategories } from "../../service/firestore/categories"; import { ICategory } from "../../types/firestore"; const BusinessEcosystemScreen = () => { const nav = useNavigation(); - const user: IUser = useAppSelector((state) => state.user); const [listSaya, setListSaya] = useState([]); + const user = useUser(); const [listData, setListData] = useState([]); const [listBergabung, setListBergabung] = useState([]); const [listTerbaru, setListTerbaru] = useState([]); diff --git a/src/screens/ecosystem/RecommendedEcosystemScreen.tsx b/src/screens/ecosystem/RecommendedEcosystemScreen.tsx index eb84157447807536ede44355cbc42e13994d59f2..c7c1824adb3534009ac7107648feae951f31ad41 100644 --- a/src/screens/ecosystem/RecommendedEcosystemScreen.tsx +++ b/src/screens/ecosystem/RecommendedEcosystemScreen.tsx @@ -4,25 +4,22 @@ import { View } from "../../components/Themed"; import Colors from "../../constants/Colors"; import { EcosystemStackScreenProps } from "../../types/navigation"; import ecosystemService from "../../service/firestore/ecosystem"; -import { useSelector } from "react-redux"; -import { IUser } from "../../types/firestore/User"; -import { RootState } from "../../redux/store"; import { IEcosystem } from "../../types/firestore/ecosystems"; import HorizontalCards from "../../components/Cards/HorizontalCards"; import { useNavigation } from "@react-navigation/core"; import Spacer from "../../components/Spacer/Spacer"; +import { useUser } from "../../hooks/reduxHooks"; const RecommendedEcosystemScreen = ({ route, }: EcosystemStackScreenProps<"Recommended">) => { - // Comment const { toFetch } = route.params; const nav = useNavigation(); const [ecosystems, setEcosystems] = useState([]); - const user: IUser = useSelector((state: RootState) => state.user); + const user = useUser(); const userId = user.id; useEffect(() => { diff --git a/src/screens/profile/AccountSettingsScreen.tsx b/src/screens/profile/AccountSettingsScreen.tsx index 6790ce28ecdafb64ecabc6e569e9b2403bd8dc57..5337082f64409e9f6647faa4185b4b2d0bfbfda8 100644 --- a/src/screens/profile/AccountSettingsScreen.tsx +++ b/src/screens/profile/AccountSettingsScreen.tsx @@ -17,15 +17,14 @@ import Spacer from "../../components/Spacer/Spacer"; import { pickImage, uploadImgToFirebase } from "../../helpers/images"; import { ImageInfo } from "expo-image-picker/build/ImagePicker.types"; import { setProfilePic } from "../../redux/user/actions"; -import { IUser } from "../../types/firestore/User"; -import { useAppDispatch, useAppSelector } from "../../hooks/reduxHooks"; +import { useAppDispatch, useUser } from "../../hooks/reduxHooks"; import { getCategory } from "../../service/firestore/ecosystem/getCategory"; export default function AccountSettingsScreen({ // eslint-disable-next-line @typescript-eslint/no-unused-vars navigation, }: RootTabScreenProps<"Profile">) { - const user: IUser = useAppSelector((state) => state.user); + const user = useUser(); const [namaDepan, setNamaDepan] = useState(user.firstName); const [namaBelakang, setNamaBelakang] = useState(user.lastName); diff --git a/src/screens/profile/ProfileScreen.tsx b/src/screens/profile/ProfileScreen.tsx index 3860f24062f047fb5bcac942c69d3d7221c57070..5fa28b245b7aeebb557285538079e8ddffb906b0 100644 --- a/src/screens/profile/ProfileScreen.tsx +++ b/src/screens/profile/ProfileScreen.tsx @@ -9,16 +9,15 @@ import SmallButton from "../../components/button/SmallButton"; import { Title } from "react-native-paper"; import { MaterialIcons } from "@expo/vector-icons"; import Spacer from "../../components/Spacer/Spacer"; -import { useAppDispatch, useAppSelector } from "../../hooks/reduxHooks"; +import { useAppDispatch, useUser } from "../../hooks/reduxHooks"; import { logoutUser } from "../../redux/user/actions"; -import { IUser } from "../../types/firestore/User"; export default function ProfileScreen({ // eslint-disable-next-line @typescript-eslint/no-unused-vars navigation, }: RootTabScreenProps<"Profile">) { const nav = useNavigation(); - const user: IUser = useAppSelector((state) => state.user); + const user = useUser(); const dispatch = useAppDispatch(); // const [image, setImage] = useState(""); const handleExit = () => {