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
+29 -8

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 Icons from "../../UI/Icons.js"
const ModuleView = ({module, onDelete}) => {
const ModuleView = ({module, onDelete, onModify}) => {
// Initialisation -------------
// State ----------------------
// Handlers -------------------
@@ -35,7 +35,11 @@ const ModuleView = ({module, onDelete}) => {
</View>
<ButtonTray>
<Button icon={<Icons.Edit/>} label={"Modify"}/>
<Button
icon={<Icons.Edit/>}
label={"Modify"}
onClick={onModify}
/>
<Button
icon={<Icons.Delete/>}
label={"Delete"}
+13 -3
View File
@@ -15,7 +15,6 @@ const ModuleListScreen = ({navigation}) => {
// State ----------------------
const [modules, setModules] = useState(initialModules);
// Handlers -------------------
const handleDelete = (module) =>
@@ -29,15 +28,26 @@ const ModuleListScreen = ({navigation}) => {
const handleAdd = (module) => setModules([...modules, module]);
const handleModify = (updatedModule) => setModules(
modules.map((module) => (module.ModuleID === updatedModule.ModuleID) ? updatedModule : module),
);
const onAdd = (module) => {
handleAdd(module);
navigation.goBack();
};
const onModify = (module) => {
handleModify(module);
navigation.navigate('ModuleListScreen');
};
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 -----------------------
+10 -3
View File
@@ -3,16 +3,23 @@ import Screen from "../layout/Screen";
import ModuleView from "../entity/modules/ModuleView";
export const ModuleViewScreen = ({route}) => {
export const ModuleViewScreen = ({navigation, route}) => {
// Initialisation -------------
const {module, onDelete} = route.params;
const {module, onDelete, onModify} = route.params;
// State ----------------------
// Handlers -------------------
const goToModifyScreen = () => navigation.navigate("ModuleModifyScreen");
// View -----------------------
return (<Screen>
<ModuleView module={module} onDelete={onDelete} />
<ModuleView
module={module}
onDelete={onDelete}
onModify={goToModifyScreen}
/>
</Screen>);
};