Loading mobile/app/profile/_layout.tsx +4 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,10 @@ export default function Layout() { title: "Set Up Profile", headerShown: true, }}/> <Stack.Screen name="change_password" options={{ title: "Change Password", headerShown: true, }}/> </Stack> ); } No newline at end of file mobile/app/profile/change_password.tsx 0 → 100644 +7 −0 Original line number Diff line number Diff line import { ChangePasswordPage } from "../../src/profile/screens/change_password_page"; export default function ChangePasswordScreen() { return ( <ChangePasswordPage /> ); } No newline at end of file mobile/package-lock.json +31 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ "version": "1.0.0", "dependencies": { "@gorhom/bottom-sheet": "^4.6.1", "@react-native-async-storage/async-storage": "1.21.0", "@react-native-community/datetimepicker": "7.6.1", "@react-native-community/slider": "4.4.2", "@react-native-picker/picker": "2.6.1", Loading Loading @@ -3916,6 +3917,17 @@ "react": "^16.8 || ^17.0 || ^18.0" } }, "node_modules/@react-native-async-storage/async-storage": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.21.0.tgz", "integrity": "sha512-JL0w36KuFHFCvnbOXRekqVAUplmOyT/OuCQkogo6X98MtpSaJOKEAeZnYO8JB0U/RIEixZaGI5px73YbRm/oag==", "dependencies": { "merge-options": "^3.0.4" }, "peerDependencies": { "react-native": "^0.0.0-0 || >=0.60 <1.0" } }, "node_modules/@react-native-community/cli": { "version": "12.3.6", "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.3.6.tgz", Loading Loading @@ -10232,6 +10244,14 @@ "node": ">=8" } }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "engines": { "node": ">=8" } }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", Loading Loading @@ -11548,6 +11568,17 @@ "resolved": "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz", "integrity": "sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==" }, "node_modules/merge-options": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", "dependencies": { "is-plain-obj": "^2.1.0" }, "engines": { "node": ">=10" } }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", Loading mobile/package.json +2 −1 Original line number Diff line number Diff line Loading @@ -42,7 +42,8 @@ "react-native-safe-area-context": "4.8.2", "react-native-screens": "~3.29.0", "react-native-svg": "14.1.0", "@react-native-picker/picker": "2.6.1" "@react-native-picker/picker": "2.6.1", "@react-native-async-storage/async-storage": "1.21.0" }, "devDependencies": { "@babel/core": "^7.20.0", Loading mobile/src/common/contexts/data_context.tsx +15 −7 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import { ProfileRepository } from "../../profile/domain/repositories/profile_rep import { ProfileDataSourceDev } from "../../profile/infrastructure/datasources/dev/profile_datasource"; import { ProfileRepositoryImpl } from "../../profile/infrastructure/repositories/profile_repository"; import { ActivityDatasourceProd } from "../../infrastructure/datasource/prod/activity_datasource"; import { useTranslation } from "react-i18next"; import { ProfileDataSourceProd } from "../../profile/infrastructure/datasources/prod/profile_datasource"; type DataContextType = { statesRepository: StateRepository | null; Loading @@ -42,20 +44,26 @@ const DataContext = createContext<DataContextType>({ }); export const DataContextProvider = ({ children }: DataContextProviderProps) => { //const statesDataSource = new StateDataSourceDev(); const statesDataSource = new StateDataSourceProd(); const { i18n:{ language } } = useTranslation(); const statesDataSource = new StateDataSourceDev(); //const statesDataSource = new StateDataSourceProd(language); const statesRepository = new StateRepositoryImpl(statesDataSource); //const authDataSource = new AuthDataSourceDev(); const authDataSource = new AuthDatasourceProd(); // const authDataSource = new AuthDataSourceDev(); //const authDataSource = new AuthDatasourceProd(); const authRepository = new AuthRepositoryImpl(authDataSource); //const activityDataSource = new ActivityDatasourceDev(); const activityDataSource = new ActivityDatasourceProd(); // const activityDataSource = new ActivityDatasourceDev(); //const activityDataSource = new ActivityDatasourceProd(); const activityRepository = new ActivityRepositoryDev(activityDataSource); // const travelDatasource = new TravelDatasourceDev(); const travelRepository = new TravelRepositoryImpl(travelDatasource); // const routeDatasource = new RouteDataSourceDev(); const routeRepository = new RouteRepositoryImpl(routeDatasource); const profileDataSource = new ProfileDataSourceDev(); // const profileDataSource = new ProfileDataSourceProd(); const profileRepository = new ProfileRepositoryImpl(profileDataSource); const value = { Loading Loading
mobile/app/profile/_layout.tsx +4 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,10 @@ export default function Layout() { title: "Set Up Profile", headerShown: true, }}/> <Stack.Screen name="change_password" options={{ title: "Change Password", headerShown: true, }}/> </Stack> ); } No newline at end of file
mobile/app/profile/change_password.tsx 0 → 100644 +7 −0 Original line number Diff line number Diff line import { ChangePasswordPage } from "../../src/profile/screens/change_password_page"; export default function ChangePasswordScreen() { return ( <ChangePasswordPage /> ); } No newline at end of file
mobile/package-lock.json +31 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ "version": "1.0.0", "dependencies": { "@gorhom/bottom-sheet": "^4.6.1", "@react-native-async-storage/async-storage": "1.21.0", "@react-native-community/datetimepicker": "7.6.1", "@react-native-community/slider": "4.4.2", "@react-native-picker/picker": "2.6.1", Loading Loading @@ -3916,6 +3917,17 @@ "react": "^16.8 || ^17.0 || ^18.0" } }, "node_modules/@react-native-async-storage/async-storage": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.21.0.tgz", "integrity": "sha512-JL0w36KuFHFCvnbOXRekqVAUplmOyT/OuCQkogo6X98MtpSaJOKEAeZnYO8JB0U/RIEixZaGI5px73YbRm/oag==", "dependencies": { "merge-options": "^3.0.4" }, "peerDependencies": { "react-native": "^0.0.0-0 || >=0.60 <1.0" } }, "node_modules/@react-native-community/cli": { "version": "12.3.6", "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.3.6.tgz", Loading Loading @@ -10232,6 +10244,14 @@ "node": ">=8" } }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "engines": { "node": ">=8" } }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", Loading Loading @@ -11548,6 +11568,17 @@ "resolved": "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz", "integrity": "sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==" }, "node_modules/merge-options": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", "dependencies": { "is-plain-obj": "^2.1.0" }, "engines": { "node": ">=10" } }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", Loading
mobile/package.json +2 −1 Original line number Diff line number Diff line Loading @@ -42,7 +42,8 @@ "react-native-safe-area-context": "4.8.2", "react-native-screens": "~3.29.0", "react-native-svg": "14.1.0", "@react-native-picker/picker": "2.6.1" "@react-native-picker/picker": "2.6.1", "@react-native-async-storage/async-storage": "1.21.0" }, "devDependencies": { "@babel/core": "^7.20.0", Loading
mobile/src/common/contexts/data_context.tsx +15 −7 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import { ProfileRepository } from "../../profile/domain/repositories/profile_rep import { ProfileDataSourceDev } from "../../profile/infrastructure/datasources/dev/profile_datasource"; import { ProfileRepositoryImpl } from "../../profile/infrastructure/repositories/profile_repository"; import { ActivityDatasourceProd } from "../../infrastructure/datasource/prod/activity_datasource"; import { useTranslation } from "react-i18next"; import { ProfileDataSourceProd } from "../../profile/infrastructure/datasources/prod/profile_datasource"; type DataContextType = { statesRepository: StateRepository | null; Loading @@ -42,20 +44,26 @@ const DataContext = createContext<DataContextType>({ }); export const DataContextProvider = ({ children }: DataContextProviderProps) => { //const statesDataSource = new StateDataSourceDev(); const statesDataSource = new StateDataSourceProd(); const { i18n:{ language } } = useTranslation(); const statesDataSource = new StateDataSourceDev(); //const statesDataSource = new StateDataSourceProd(language); const statesRepository = new StateRepositoryImpl(statesDataSource); //const authDataSource = new AuthDataSourceDev(); const authDataSource = new AuthDatasourceProd(); // const authDataSource = new AuthDataSourceDev(); //const authDataSource = new AuthDatasourceProd(); const authRepository = new AuthRepositoryImpl(authDataSource); //const activityDataSource = new ActivityDatasourceDev(); const activityDataSource = new ActivityDatasourceProd(); // const activityDataSource = new ActivityDatasourceDev(); //const activityDataSource = new ActivityDatasourceProd(); const activityRepository = new ActivityRepositoryDev(activityDataSource); // const travelDatasource = new TravelDatasourceDev(); const travelRepository = new TravelRepositoryImpl(travelDatasource); // const routeDatasource = new RouteDataSourceDev(); const routeRepository = new RouteRepositoryImpl(routeDatasource); const profileDataSource = new ProfileDataSourceDev(); // const profileDataSource = new ProfileDataSourceProd(); const profileRepository = new ProfileRepositoryImpl(profileDataSource); const value = { Loading