diff --git a/src/components/CustomMapCallout/CustomMapCallout.tsx b/src/components/CustomMapCallout/CustomMapCallout.tsx index 23661e3..6184c9a 100644 --- a/src/components/CustomMapCallout/CustomMapCallout.tsx +++ b/src/components/CustomMapCallout/CustomMapCallout.tsx @@ -1,26 +1,26 @@ import { Callout } from "react-native-maps"; -import { RawLocationType } from "../../interfaces/Interfaces"; +import { LocationType, RawLocationType } from "../../interfaces/Interfaces"; import styles from "../../styles"; import { Text } from "react-native"; // Map popup for user's location type props = { - location: RawLocationType; + location: LocationType; studying: boolean; subject?: string; }; export default function CustomMapCallout(props: props) { let { location, studying, subject } = props; - if (location && location.coords) { + if (location && location.latitude && location.longitude) { if (studying) { return ( You are here {"\n"} - X: {Math.round(location.coords.longitude) + "\n"} - Z: {Math.round(location.coords.latitude) + "\n"} + X: {Math.round(location.longitude) + "\n"} + Z: {Math.round(location.latitude) + "\n"} Studying: {subject} @@ -30,8 +30,8 @@ export default function CustomMapCallout(props: props) { You are here {"\n"} - X: {Math.round(location.coords.longitude) + "\n"} - Z: {Math.round(location.coords.latitude)} + X: {Math.round(location.longitude) + "\n"} + Z: {Math.round(location.latitude)} ); diff --git a/src/routes/Home/Home.tsx b/src/routes/Home/Home.tsx index c8f9718..3a0317a 100644 --- a/src/routes/Home/Home.tsx +++ b/src/routes/Home/Home.tsx @@ -44,7 +44,7 @@ import GetDistanceFromUSTP from "../../components/GetDistance/GetDistanceFromUST export default function Home() { // Switch this condition to see the main map when debugging - const map_debug = false; + const map_debug = true; const navigation = useNavigation(); const [location, setLocation] = useState(null); const [dist, setDist] = useState(null); @@ -119,6 +119,7 @@ export default function Home() { const [studying, setStudying] = useState(false); const [subject, setSubject] = useState(""); const [buttonLabel, setButtonLabel] = useState("Start studying"); + const [student_status, setStudentStatus] = useState(); const StudentStatus = useQuery({ queryKey: ["user_status"], queryFn: async () => { @@ -140,6 +141,8 @@ export default function Home() { } else if (data[1].active == false) { setButtonLabel("Start Studying"); } + setStudentStatus(data[1]); + console.log(student_status); }, onError: (error: Error) => { toast.show(String(error), { @@ -373,7 +376,7 @@ export default function Home() { latitude: location.coords.latitude, longitude: location.coords.longitude, }} - draggable + draggable={student_status?.active} onDragEnd={(e) => { const newLocation = e.nativeEvent.coordinate; const distance = GetDistance( @@ -402,7 +405,10 @@ export default function Home() { pinColor={colors.primary_1} > diff --git a/src/routes/StartStudying/StartStudying.tsx b/src/routes/StartStudying/StartStudying.tsx index 9f420d2..2aa8677 100644 --- a/src/routes/StartStudying/StartStudying.tsx +++ b/src/routes/StartStudying/StartStudying.tsx @@ -8,6 +8,7 @@ import { RootDrawerParamList, StudentStatusType, StudentStatusReturnType, + StudentStatusPatchType, } from "../../interfaces/Interfaces"; import Button from "../../components/Button/Button"; import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; @@ -61,7 +62,7 @@ export default function StartStudying({ route }: any) { }); const mutation = useMutation({ - mutationFn: async (info: StudentStatusType) => { + mutationFn: async (info: StudentStatusPatchType) => { const data = await PatchStudentStatus(info); if (data[0] == false) { return Promise.reject(new Error(JSON.stringify(data[1]))); diff --git a/src/routes/SubjectsPage/SubjectsPage.tsx b/src/routes/SubjectsPage/SubjectsPage.tsx index 76c841d..cfee8f7 100644 --- a/src/routes/SubjectsPage/SubjectsPage.tsx +++ b/src/routes/SubjectsPage/SubjectsPage.tsx @@ -9,6 +9,7 @@ import { OptionType, StudentStatusType, PatchUserInfoType, + StudentStatusPatchType, } from "../../interfaces/Interfaces"; import Button from "../../components/Button/Button"; import { Image } from "react-native"; @@ -33,7 +34,7 @@ export default function SubjectsPage() { // Student Status const studentstatus_mutation = useMutation({ - mutationFn: async (info: StudentStatusType) => { + mutationFn: async (info: StudentStatusPatchType) => { const data = await PatchStudentStatus(info); if (data[0] != true) { return Promise.reject(new Error()); diff --git a/src/routes/UserInfoPage/UserInfoPage.tsx b/src/routes/UserInfoPage/UserInfoPage.tsx index 512ea89..5d8a49b 100644 --- a/src/routes/UserInfoPage/UserInfoPage.tsx +++ b/src/routes/UserInfoPage/UserInfoPage.tsx @@ -18,6 +18,7 @@ import { OptionType, StudentStatusType, PatchUserInfoType, + StudentStatusPatchType, } from "../../interfaces/Interfaces"; import Button from "../../components/Button/Button"; import { Image } from "react-native"; @@ -50,7 +51,7 @@ export default function UserInfoPage() { // Student Status const studentstatus_mutation = useMutation({ - mutationFn: async (info: StudentStatusType) => { + mutationFn: async (info: StudentStatusPatchType) => { const data = await PatchStudentStatus(info); if (data[0] != true) { return Promise.reject(new Error());