week5 act 1

This commit is contained in:
bobbert committed 2025-12-04 19:26:56 +00:00
1 parent 967c9342e1
commit aa51aae32f
2 files changed
+49 -6

No files matched your search

+18 -6
View File
@@ -1,9 +1,10 @@
import {useState} from "react";
import {useState, useEffect} from "react";
import {LogBox, StyleSheet} from "react-native";
import Screen from "../layout/Screen";
import ModuleList from "../entity/modules/ModuleList";
import initialModules from "../../data/modules.js";
// import RenderCount from "../UI/RenderCount";
import API from "../API/API";
// import initialModules from "../../data/modules.js";
import RenderCount from "../UI/RenderCount";
import {Button, ButtonTray} from "../UI/Button";
import Icons from "../UI/Icons";
@@ -11,9 +12,20 @@ const ModuleListScreen = ({navigation}) => {
// Initialisation -------------
// let modules = initialModules;
LogBox.ignoreLogs(['Non-serializable values were found in the navigation state']);
const modulesEndpoint = 'https://softwarehub.uk/unibase/api/modules';
// State ----------------------
const [modules, setModules] = useState(initialModules);
const [modules, setModules] = useState([]);
const [isLoading, setIsLoading] = useState(true);
const loadModules = async (endpoint) => {
const response = await API.get(endpoint);
setIsLoading(false);
if (response.isSuccess) setModules(response.result);
};
useEffect( () => {loadModules(modulesEndpoint)}, [] );
// Handlers -------------------
@@ -39,7 +51,7 @@ const ModuleListScreen = ({navigation}) => {
const onModify = (module) => {
handleModify(module);
navigation.replace('ModuleViewScreen', { module, onDelete, onModify });
navigation.replace('ModuleViewScreen', {module, onDelete, onModify});
};
const goToViewScreen = (module) =>
@@ -53,7 +65,7 @@ const ModuleListScreen = ({navigation}) => {
return (
<Screen>
{/*<RenderCount/>*/}
<RenderCount/>
<ButtonTray>
<Button label='Add' icon={<Icons.Add/>} onClick={goToAddScreen}/>
</ButtonTray>