From a8010b30050cbaf594c0f7ca0ef63e4d68044897 Mon Sep 17 00:00:00 2001 From: mudabbir-ahmad Date: Tue, 9 Dec 2025 15:01:00 +0000 Subject: [PATCH] Fixed issue with loading, due to a missing comma, the loadUsers/loadModules was never called, fixed syntax error with ModuleImage to ModuleImageURL so that default image url is loaded for the module Add page. --- src/components/entity/modules/moduleForm.js | 2 +- src/components/screens/ModuleListScreen.js | 29 +++++++-------- src/components/screens/UserListScreen.js | 40 ++++++++++----------- 3 files changed, 33 insertions(+), 38 deletions(-) diff --git a/src/components/entity/modules/moduleForm.js b/src/components/entity/modules/moduleForm.js index 80ed4e0..270e2f9 100644 --- a/src/components/entity/modules/moduleForm.js +++ b/src/components/entity/modules/moduleForm.js @@ -19,7 +19,7 @@ const ModuleForm = ({originalModule, onSubmit, onCancel}) => { // Initialisation ------------- defaultModule.ModuleID = Math.floor(100000 + Math.random() * 900000); - defaultModule.ModuleImage = 'https://images.freeimages.com/images/small-preview/cf5/cellphone-1313194.jpg'; + defaultModule.ModuleImageURL = 'https://images.freeimages.com/images/small-preview/cf5/cellphone-1313194.jpg'; const yearsEndpoint = 'https://softwarehub.uk/unibase/api/years'; diff --git a/src/components/screens/ModuleListScreen.js b/src/components/screens/ModuleListScreen.js index c98377a..6bae870 100644 --- a/src/components/screens/ModuleListScreen.js +++ b/src/components/screens/ModuleListScreen.js @@ -17,28 +17,14 @@ const ModuleListScreen = ({navigation}) => { // State ---------------------- - const [modules, isLoading, loadModules] = useLoad(modulesEndpoint); + const [modules, , isLoading, loadModules] = useLoad(modulesEndpoint); // Handlers ------------------- - const onDelete = async (module) => { - const deleteEndpoint = `${modulesEndpoint}/${module.ModuleID}`; - const result = await API.delete(deleteEndpoint, module); - if (result.isSuccess) { - await loadModules(modulesEndpoint) - navigation.goBack(); - } else - Alert.alert(result.message); - } - - // This code is the old handleAdd which added to local state. - // const handleAdd = (module) => setModules([...modules, module]); - - //new handleAdd which posts to the API const handleAdd = async (module) => { const result = await API.post(modulesEndpoint, module); if (result.isSuccess) { - await loadModules(modulesEndpoint) + loadModules(modulesEndpoint) navigation.goBack(); } else Alert.alert(result.message); @@ -48,12 +34,21 @@ const ModuleListScreen = ({navigation}) => { const putEndpoint = `${modulesEndpoint}/${module.ModuleID}`; const result = await API.put(putEndpoint, module); if ( result.isSuccess ) { - await loadModules(modulesEndpoint) + loadModules(modulesEndpoint) navigation.navigate('ModuleListScreen'); } else Alert.alert(result.message); }; + const onDelete = async (module) => { + const deleteEndpoint = `${modulesEndpoint}/${module.ModuleID}`; + const result = await API.delete(deleteEndpoint, module); + if (result.isSuccess) { + loadModules(modulesEndpoint) + navigation.goBack(); + } else + Alert.alert(result.message); + } const goToViewScreen = (module) => navigation.navigate('ModuleViewScreen', {module, onDelete, onModify }); diff --git a/src/components/screens/UserListScreen.js b/src/components/screens/UserListScreen.js index c13c347..a6b4287 100644 --- a/src/components/screens/UserListScreen.js +++ b/src/components/screens/UserListScreen.js @@ -13,10 +13,29 @@ const UserListScreen = ({navigation}) => { const usersEndpoint = 'https://softwarehub.uk/unibase/api/users'; // State ---------------------- - const [users, isLoading, loadUsers] = useLoad(usersEndpoint); + const [users, , isLoading, loadUsers] = useLoad(usersEndpoint); // Handlers ------------------- + const handleAdd = async (user) => { + const result = await API.post(usersEndpoint, user); + if (result.isSuccess) { + loadUsers(usersEndpoint) + navigation.goBack(); + } else + Alert.alert(result.message); + }; + + const onModify = async (user) => { + const putEndpoint = `${usersEndpoint}/${user.UserID}`; + const result = await API.put(putEndpoint, user); + if ( result.isSuccess ) { + loadUsers(usersEndpoint) + navigation.navigate('UserListScreen'); + } else + Alert.alert(result.message); + }; + const onDelete = async (user) => { const deleteEndpoint = `${usersEndpoint}/${user.UserID}`; const result = await API.delete(deleteEndpoint, user); @@ -27,25 +46,6 @@ const UserListScreen = ({navigation}) => { Alert.alert(result.message); } - const handleAdd = async (user) => { - const result = await API.post(usersEndpoint, user); - if (result.isSuccess) { - await loadUsers(usersEndpoint) - navigation.goBack(); - } else - Alert.alert(result.message); - }; - - const onModify = async (user) => { - const putEndpoint = `${usersEndpoint}/${user.UserID}`; - const result = await API.put(putEndpoint, user); - if ( result.isSuccess ) { - await loadUsers(usersEndpoint) - navigation.navigate('UserListScreen'); - } else - Alert.alert(result.message); - }; - const goToViewScreen = (user) => navigation.navigate('UserViewScreen', {user, onDelete, onModify});