From 3ad1ef5c326bedbbcdf07e5cc7365476b44d25ed Mon Sep 17 00:00:00 2001 From: mudabbir-ahmad Date: Thu, 4 Dec 2025 13:08:57 +0000 Subject: [PATCH] Added delete functionality, and navigate to go back to previous page after module deletion --- src/components/UI/Icons.js | 19 +++++++++++-------- src/components/entity/modules/ModuleView.js | 6 +++++- src/components/screens/ModuleListScreen.js | 8 +++++++- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/components/UI/Icons.js b/src/components/UI/Icons.js index b31f5ff..7415d08 100644 --- a/src/components/UI/Icons.js +++ b/src/components/UI/Icons.js @@ -1,15 +1,18 @@ -import {MaterialIcons} from '@expo/vector-icons' +import {MaterialIcons} from '@expo/vector-icons'; const Icons = {}; -const Edit = () => ; -const Delete = () => ; const Add = () => ; +const Close = () => ; +const Delete = () => ; +const Edit = () => ; +const Submit = () => ; -//compose -Icons.Edit = Edit; -Icons.Delete = Delete; +// Compose Icons.Add = Add; +Icons.Close = Close; +Icons.Delete = Delete; +Icons.Edit = Edit; +Icons.Submit = Submit; - -export default Icons; \ No newline at end of file +export default Icons; diff --git a/src/components/entity/modules/ModuleView.js b/src/components/entity/modules/ModuleView.js index 3c47a48..c055efb 100644 --- a/src/components/entity/modules/ModuleView.js +++ b/src/components/entity/modules/ModuleView.js @@ -3,10 +3,13 @@ import FullWidthImage from "react-native-fullwidth-image"; import {Button, ButtonTray} from "../../UI/Button"; import Icons from "../../UI/Icons.js" -const ModuleView = ({module}) => { +const ModuleView = ({module, onDelete}) => { // Initialisation ------------- // State ---------------------- // Handlers ------------------- + + const handleDelete = () => onDelete(module); + // View ----------------------- return ( @@ -27,6 +30,7 @@ const ModuleView = ({module}) => { label={"Delete"} styleButton={{backgroundColor: 'mistyrose'}} styleLabel={{color: 'red'}} + onClick={handleDelete} /> diff --git a/src/components/screens/ModuleListScreen.js b/src/components/screens/ModuleListScreen.js index 2b3f3bf..9ba5747 100644 --- a/src/components/screens/ModuleListScreen.js +++ b/src/components/screens/ModuleListScreen.js @@ -18,7 +18,13 @@ const ModuleListScreen = ({navigation}) => { const handleDelete = (module) => setModules(modules.filter((item) => item.ModuleID !== module.ModuleID)); - const handleSelect = (module) => navigation.navigate('ModuleViewScreen', {module}); + + const onDelete = (module) => { + handleDelete(module); + navigation.goBack(); + } + + const handleSelect = (module) => navigation.navigate('ModuleViewScreen', { module, handleDelete }); // View ----------------------- return (