From dbd2cd4c551b6f2c386d54b7fde47f18a9bf4489 Mon Sep 17 00:00:00 2001
From: horsefacegirl <51134090+horsefacegirl@users.noreply.github.com>
Date: Fri, 23 Oct 2020 15:57:13 +0200
Subject: [PATCH 1/4] Add medication
Function to add one or more medication/s
---
src/AddMedication.tsx | 45 ++++++++++++++++++++++++++++++++++++++++
src/Navigation/Routes.ts | 1 +
src/Root.tsx | 8 +++++++
src/Start.tsx | 16 ++++++++++++++
4 files changed, 70 insertions(+)
create mode 100644 src/AddMedication.tsx
diff --git a/src/AddMedication.tsx b/src/AddMedication.tsx
new file mode 100644
index 0000000..6a43a60
--- /dev/null
+++ b/src/AddMedication.tsx
@@ -0,0 +1,45 @@
+import React, {useState} from 'react'
+import {StyleSheet, View, Text} from 'react-native'
+import {useDispatch} from 'react-redux'
+import {PrimaryBlueButton, TextInput} from '~/Components'
+import {Routes} from '~/Navigation/Routes'
+import type {AddMedicationRouteProp, RootNavigation} from '~/Root'
+import {addMedication} from '~/Store/Actions'
+
+const styles = StyleSheet.create({
+ container: {
+ paddingTop: 24,
+ paddingHorizontal: 24,
+ },
+ button: {
+ alignSelf: 'flex-start',
+ },
+ text: {
+ fontSize: 10,
+ margin: 5
+ },
+})
+
+type AddMedicationProps = {
+ navigation: RootNavigation
+ route: AddMedicationRouteProp
+}
+export const AddMedication: React.FC = ({navigation, route}) => {
+ const dispatch = useDispatch()
+ const [medication, setMedication] = useState('')
+ return (
+
+ Medication name
+
+ {
+ dispatch(addMedication(medication))
+ navigation.setOptions({title: medication})
+ navigation.navigate(Routes.START)
+ }}
+ />
+
+ )
+}
diff --git a/src/Navigation/Routes.ts b/src/Navigation/Routes.ts
index 897a34f..dda7919 100644
--- a/src/Navigation/Routes.ts
+++ b/src/Navigation/Routes.ts
@@ -1,4 +1,5 @@
export enum Routes {
START = 'START',
CHANGE_NAME = 'CHANGE_NAME',
+ ADD_MEDICATION = 'ADD_MEDICATION',
}
diff --git a/src/Root.tsx b/src/Root.tsx
index d8b9d82..36c0d0a 100644
--- a/src/Root.tsx
+++ b/src/Root.tsx
@@ -12,15 +12,18 @@ import {defaultNavigationOptions} from '~/Navigation'
import {Routes} from '~/Navigation/Routes'
import {Start} from '~/Start'
import {initiateStore, persistor} from '~/Store'
+import { AddMedication } from './AddMedication'
export type RootStackParamList = {
[Routes.START]: undefined
[Routes.CHANGE_NAME]: {name: string}
+ [Routes.ADD_MEDICATION]: {title: string}
}
const Stack = createStackNavigator()
export type RootNavigation = StackNavigationProp
export type ChangeNameRouteProp = RouteProp
+export type AddMedicationRouteProp = RouteProp
const RootStack: React.FC = () => {
return (
@@ -35,6 +38,11 @@ const RootStack: React.FC = () => {
component={ChangeName}
options={({route}) => ({
title: route.params.name,
+ ({
+ title: route.params.title
})}
/>
diff --git a/src/Start.tsx b/src/Start.tsx
index deed5be..ada2b41 100644
--- a/src/Start.tsx
+++ b/src/Start.tsx
@@ -23,7 +23,11 @@ const styles = StyleSheet.create({
alignItems: 'flex-start',
},
help: {
+ medications: {
marginHorizontal: 24,
+ flex: 1,
+ flexDirection: 'column',
+ },
},
})
@@ -47,6 +51,18 @@ export const Start: React.FC = ({navigation}) => {
Please have a look at src/Start.tsx to get started!
👩💻👨💻`}
+
+ {
+ navigation.setOptions({title: 'Add medication'})
+ navigation.navigate(Routes.ADD_MEDICATION, {title: 'Add medication'})
+ }}
+ />
+
+