diff --git a/src/components/layout/Screen.js b/src/components/layout/Screen.js index cd41bca..cb30888 100644 --- a/src/components/layout/Screen.js +++ b/src/components/layout/Screen.js @@ -16,10 +16,9 @@ const Screen = ({children}) => { const styles = StyleSheet.create({ screen: { + padding: 15, flex: 1, backgroundColor: "#fff", - alignItems: "center", - justifyContent: "center", }, }); diff --git a/src/components/screens/ModuleListScreen.js b/src/components/screens/ModuleListScreen.js index a924542..e201f43 100644 --- a/src/components/screens/ModuleListScreen.js +++ b/src/components/screens/ModuleListScreen.js @@ -1,18 +1,51 @@ -import { StyleSheet, Text } from "react-native"; +import {StyleSheet, Text, ScrollView, View, Pressable} from "react-native"; import Screen from "../layout/Screen"; +import initialModules from "../../data/modules.js"; + + export const ModuleListScreen = () => { // Initialisation ------------- + const modules = initialModules; + // State ---------------------- // Handlers ------------------- + const handleSelect = () => alert("Item selected"); + // View ----------------------- return ( - - List + + + {modules.map((module) => { + return( + + + + {module.ModuleCode} {module.ModuleName} + + + + ) + }) + } + ); }; -const styles = StyleSheet.create({}); +const styles = StyleSheet.create({ + modulesContainer: { + marginTop: 20, + }, + modulesItem: { + padding: 15, + marginBottom: 10, + borderTopWidth: 1, + borderTopColor: "light grey", + // borderRadius: 15, + }, + text: { + }, +}); export default ModuleListScreen; \ No newline at end of file diff --git a/src/data/modules.js b/src/data/modules.js new file mode 100644 index 0000000..5cba8af --- /dev/null +++ b/src/data/modules.js @@ -0,0 +1,81 @@ +const modules = [ + { + ModuleID: 106778, + ModuleName: 'Games Programming', + ModuleCode: 'CI2270', + ModuleLevel: 4, + ModuleLeaderID: 1, + ModuleLeaderName: 'Graeme Jones', + ModuleImage: + 'https://images.freeimages.com/images/small-previews/9b8/electronic-components-2-1242738.jpg', + }, + { + ModuleID: 592225, + ModuleName: 'Individual Project', + ModuleCode: 'CI7446', + ModuleLevel: 7, + ModuleLeaderID: 2, + ModuleLeaderName: 'Graeme Jones', + ModuleImage: + 'https://images.freeimages.com/images/small-previews/411/light-of-technology-1510575.jpg', + }, + { + ModuleID: 329011, + ModuleName: 'Database Driven Web Applications', + ModuleCode: 'CI6388', + ModuleLevel: 6, + ModuleLeaderID: 3, + ModuleLeaderName: 'Graeme Jones', + ModuleImage: 'https://images.freeimages.com/images/small-previews/64b/vla-1-1315506.jpg', + }, + { + ModuleID: 512346, + ModuleName: 'Advanced Data Modelling', + ModuleCode: 'CI8502', + ModuleLevel: 6, + ModuleLeaderID: 4, + ModuleLeaderName: 'Graeme Jones', + ModuleImage: 'https://images.freeimages.com/images/small-previews/293/cable-4-1243085.jpg', + }, + { + ModuleID: 692345, + ModuleName: 'Ethical Hacking', + ModuleCode: 'CI7572', + ModuleLevel: 7, + ModuleLeaderID: 5, + ModuleLeaderName: 'Graeme Jones', + ModuleImage: 'https://images.freeimages.com/images/small-previews/fa1/cable-5-1243077.jpg', + }, + { + ModuleID: 906072, + ModuleName: 'Network and Mobile Forensics', + ModuleCode: 'CI5068', + ModuleLevel: 7, + ModuleLeaderID: 6, + ModuleLeaderName: 'Graeme Jones', + ModuleImage: + 'https://images.freeimages.com/images/small-previews/930/towertv-3-1423238.jpg', + }, + { + ModuleID: 394428, + ModuleName: 'Practical Data Analyst Skills', + ModuleCode: 'CI9213', + ModuleLevel: 5, + ModuleLeaderID: 7, + ModuleLeaderName: 'Graeme Jones', + ModuleImage: + 'https://images.freeimages.com/images/small-previews/cf5/cellphone-1313194.jpg', + }, + { + ModuleID: 699951, + ModuleName: 'Statistics in Practice', + ModuleCode: 'CI5856', + ModuleLevel: 7, + ModuleLeaderID: 8, + ModuleLeaderName: 'Graeme Jones', + ModuleImage: + 'https://images.freeimages.com/images/small-previews/4e8/sala-de-parto-03-1432033.jpg', + }, +]; + +export default modules; \ No newline at end of file