Added modify screen routing

This commit is contained in:
bobbert committed 2025-12-04 18:02:15 +00:00
1 parent 6cd703af33
commit 1f76cd8015
3 files changed
+32 -11

No files matched your search

+6 -2
View File
@@ -3,7 +3,7 @@ import FullWidthImage from "react-native-fullwidth-image";
import {Button, ButtonTray} from "../../UI/Button"; import {Button, ButtonTray} from "../../UI/Button";
import Icons from "../../UI/Icons.js" import Icons from "../../UI/Icons.js"
const ModuleView = ({module, onDelete}) => { const ModuleView = ({module, onDelete, onModify}) => {
// Initialisation ------------- // Initialisation -------------
// State ---------------------- // State ----------------------
// Handlers ------------------- // Handlers -------------------
@@ -35,7 +35,11 @@ const ModuleView = ({module, onDelete}) => {
</View> </View>
<ButtonTray> <ButtonTray>
<Button icon={<Icons.Edit/>} label={"Modify"}/> <Button
icon={<Icons.Edit/>}
label={"Modify"}
onClick={onModify}
/>
<Button <Button
icon={<Icons.Delete/>} icon={<Icons.Delete/>}
label={"Delete"} label={"Delete"}
+16 -6
View File
@@ -15,7 +15,6 @@ const ModuleListScreen = ({navigation}) => {
// State ---------------------- // State ----------------------
const [modules, setModules] = useState(initialModules); const [modules, setModules] = useState(initialModules);
// Handlers ------------------- // Handlers -------------------
const handleDelete = (module) => const handleDelete = (module) =>
@@ -27,17 +26,28 @@ const ModuleListScreen = ({navigation}) => {
navigation.goBack(); navigation.goBack();
} }
const handleAdd = (module) => setModules([ ...modules, module]); const handleAdd = (module) => setModules([...modules, module]);
const handleModify = (updatedModule) => setModules(
modules.map((module) => (module.ModuleID === updatedModule.ModuleID) ? updatedModule : module),
);
const onAdd = (module) => { const onAdd = (module) => {
handleAdd(module); handleAdd(module);
navigation.goBack(); navigation.goBack();
}; };
const onModify = (module) => {
handleModify(module);
navigation.navigate('ModuleListScreen');
};
const goToViewScreen = (module) => const goToViewScreen = (module) =>
navigation.navigate('ModuleViewScreen', {module, onDelete}); navigation.navigate('ModuleViewScreen', {module, onDelete, onModify});
const goToAddScreen = () =>
navigation.navigate('ModuleAddScreen', {onAdd});
const goToAddScreen = () => navigation.navigate('ModuleAddScreen', {onAdd});
// View ----------------------- // View -----------------------
@@ -45,9 +55,9 @@ const ModuleListScreen = ({navigation}) => {
<Screen> <Screen>
{/*<RenderCount/>*/} {/*<RenderCount/>*/}
<ButtonTray> <ButtonTray>
<Button label='Add' icon={<Icons.Add/>} onClick={goToAddScreen} /> <Button label='Add' icon={<Icons.Add/>} onClick={goToAddScreen}/>
</ButtonTray> </ButtonTray>
<ModuleList modules={modules} onSelect={goToViewScreen} /> <ModuleList modules={modules} onSelect={goToViewScreen}/>
</Screen> </Screen>
); );
}; };
+10 -3
View File
@@ -3,16 +3,23 @@ import Screen from "../layout/Screen";
import ModuleView from "../entity/modules/ModuleView"; import ModuleView from "../entity/modules/ModuleView";
export const ModuleViewScreen = ({route}) => { export const ModuleViewScreen = ({navigation, route}) => {
// Initialisation ------------- // Initialisation -------------
const {module, onDelete} = route.params; const {module, onDelete, onModify} = route.params;
// State ---------------------- // State ----------------------
// Handlers ------------------- // Handlers -------------------
const goToModifyScreen = () => navigation.navigate("ModuleModifyScreen");
// View ----------------------- // View -----------------------
return (<Screen> return (<Screen>
<ModuleView module={module} onDelete={onDelete} /> <ModuleView
module={module}
onDelete={onDelete}
onModify={goToModifyScreen}
/>
</Screen>); </Screen>);
}; };