Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
EmidWife-New
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
2023-24-005
EmidWife-New
Commits
828c667b
Commit
828c667b
authored
May 18, 2024
by
Malsha Jayakody
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changes in UI
parent
37f2f0b4
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
729 additions
and
423 deletions
+729
-423
src/assets/games/motherAndMidWife.jpg
src/assets/games/motherAndMidWife.jpg
+0
-0
src/assets/games/wellBeing.jpg
src/assets/games/wellBeing.jpg
+0
-0
src/constants/imgs.js
src/constants/imgs.js
+2
-0
src/constants/routes.js
src/constants/routes.js
+1
-1
src/navigations/GameNavigator.js
src/navigations/GameNavigator.js
+5
-0
src/screens/home/game/MainDetailsForm.js
src/screens/home/game/MainDetailsForm.js
+104
-28
src/screens/home/game/MainDetailsFormInSinhala.js
src/screens/home/game/MainDetailsFormInSinhala.js
+105
-24
src/screens/home/game/MentalWellBeingTypes.js
src/screens/home/game/MentalWellBeingTypes.js
+115
-0
src/screens/home/game/QuestionsInEnglish.js
src/screens/home/game/QuestionsInEnglish.js
+181
-170
src/screens/home/game/QuestionsInShinhala.js
src/screens/home/game/QuestionsInShinhala.js
+181
-170
src/screens/home/game/QuizOptions.js
src/screens/home/game/QuizOptions.js
+22
-22
src/screens/home/game/QuizScore.js
src/screens/home/game/QuizScore.js
+5
-4
src/screens/home/game/WelcomeGame.js
src/screens/home/game/WelcomeGame.js
+8
-4
No files found.
src/assets/games/motherAndMidWife.jpg
0 → 100644
View file @
828c667b
111 KB
src/assets/games/wellBeing.jpg
0 → 100644
View file @
828c667b
120 KB
src/constants/imgs.js
View file @
828c667b
...
@@ -64,4 +64,6 @@ export default {
...
@@ -64,4 +64,6 @@ export default {
game_img_44
:
require
(
'
../assets/games/game02Backgroundnew.jpeg
'
),
game_img_44
:
require
(
'
../assets/games/game02Backgroundnew.jpeg
'
),
game_img_45
:
require
(
'
../assets/games/game02Backgroundnew02.jpeg
'
),
game_img_45
:
require
(
'
../assets/games/game02Backgroundnew02.jpeg
'
),
home_page
:
require
(
'
../assets/home_page.png
'
),
home_page
:
require
(
'
../assets/home_page.png
'
),
well_being
:
require
(
'
../assets/games/wellBeing.jpg
'
),
motherWithMidWife
:
require
(
'
../assets/games/motherAndMidWife.jpg
'
),
};
};
src/constants/routes.js
View file @
828c667b
...
@@ -83,6 +83,6 @@ export default {
...
@@ -83,6 +83,6 @@ export default {
Game02ProgressLevel04
:
'
Game02ProgressLevel04
'
,
Game02ProgressLevel04
:
'
Game02ProgressLevel04
'
,
Game02ProgressLevel05
:
'
Game02ProgressLevel05
'
,
Game02ProgressLevel05
:
'
Game02ProgressLevel05
'
,
Game02ProgressLevel06
:
'
Game02ProgressLevel06
'
,
Game02ProgressLevel06
:
'
Game02ProgressLevel06
'
,
MentalWellBeingTypes
:
'
MentalWellBeingTypes
'
,
};
};
src/navigations/GameNavigator.js
View file @
828c667b
...
@@ -41,6 +41,7 @@ import Game02ProgressLevel03 from '../screens/home/game/game02/progress/Level03'
...
@@ -41,6 +41,7 @@ import Game02ProgressLevel03 from '../screens/home/game/game02/progress/Level03'
import
Game02ProgressLevel04
from
'
../screens/home/game/game02/progress/Level04
'
;
import
Game02ProgressLevel04
from
'
../screens/home/game/game02/progress/Level04
'
;
import
Game02ProgressLevel05
from
'
../screens/home/game/game02/progress/Level05
'
;
import
Game02ProgressLevel05
from
'
../screens/home/game/game02/progress/Level05
'
;
import
Game02ProgressLevel06
from
'
../screens/home/game/game02/progress/Level06
'
;
import
Game02ProgressLevel06
from
'
../screens/home/game/game02/progress/Level06
'
;
import
MentalWellBeingTypes
from
'
../screens/home/game/MentalWellBeingTypes
'
;
const
Stack
=
createStackNavigator
();
const
Stack
=
createStackNavigator
();
function
GameNavigator
()
{
function
GameNavigator
()
{
...
@@ -113,6 +114,10 @@ function GameNavigator() {
...
@@ -113,6 +114,10 @@ function GameNavigator() {
name
=
{
ROUTES
.
MainDetailsFormInSinhala
}
name
=
{
ROUTES
.
MainDetailsFormInSinhala
}
component
=
{
MainDetailsFormInSinhala
}
component
=
{
MainDetailsFormInSinhala
}
/
>
/
>
<
Stack
.
Screen
name
=
{
ROUTES
.
MentalWellBeingTypes
}
component
=
{
MentalWellBeingTypes
}
/
>
<
Stack
.
Screen
name
=
{
ROUTES
.
GameLevelPage
}
component
=
{
GameLevelPage
}
/
>
<
Stack
.
Screen
name
=
{
ROUTES
.
GameLevelPage
}
component
=
{
GameLevelPage
}
/
>
<
Stack
.
Screen
name
=
{
ROUTES
.
Level01
}
component
=
{
Level01
}
/
>
<
Stack
.
Screen
name
=
{
ROUTES
.
Level01
}
component
=
{
Level01
}
/
>
<
Stack
.
Screen
name
=
{
ROUTES
.
Level02
}
component
=
{
Level02
}
/
>
<
Stack
.
Screen
name
=
{
ROUTES
.
Level02
}
component
=
{
Level02
}
/
>
...
...
src/screens/home/game/MainDetailsForm.js
View file @
828c667b
...
@@ -17,6 +17,27 @@ const MainDetailsForm = ({navigation}) => {
...
@@ -17,6 +17,27 @@ const MainDetailsForm = ({navigation}) => {
const
[
age
,
setAge
]
=
useState
(
''
);
const
[
age
,
setAge
]
=
useState
(
''
);
const
[
previousChildBirthExperiences
,
setPreviousChildBirthExperiences
]
=
const
[
previousChildBirthExperiences
,
setPreviousChildBirthExperiences
]
=
useState
(
''
);
useState
(
''
);
const
[
ageError
,
setAgeError
]
=
useState
(
''
);
const
[
childBirthError
,
setChildBirthError
]
=
useState
(
''
);
const
handleValidation
=
()
=>
{
let
valid
=
true
;
if
(
age
.
trim
()
===
''
)
{
setAgeError
(
'
Age is required
'
);
valid
=
false
;
}
else
{
setAgeError
(
''
);
}
if
(
previousChildBirthExperiences
.
trim
()
===
''
)
{
setChildBirthError
(
'
Number of previous child births is required
'
);
valid
=
false
;
}
else
{
setChildBirthError
(
''
);
}
return
valid
;
};
const
maritalStatusOptions
=
[
const
maritalStatusOptions
=
[
{
{
...
@@ -62,9 +83,28 @@ const MainDetailsForm = ({navigation}) => {
...
@@ -62,9 +83,28 @@ const MainDetailsForm = ({navigation}) => {
setFamilyBackground
(
key
);
setFamilyBackground
(
key
);
};
};
const
handleNext
=
()
=>
{
if
(
handleValidation
())
{
navigation
.
navigate
(
ROUTES
.
GAME_QUIZ_IN_ENGLISH
,
{
formData
:
{
age
:
age
,
marital_status_divorced
:
maritalStatus
===
'
divorced
'
?
1
:
0
,
marital_status_married
:
maritalStatus
===
'
married
'
?
1
:
0
,
marital_status_single
:
maritalStatus
===
'
single
'
?
1
:
0
,
family_background_bad
:
familyBackground
===
'
bad
'
?
1
:
0
,
family_background_good
:
familyBackground
===
'
good
'
?
1
:
0
,
family_background_normal
:
familyBackground
===
'
normal
'
?
1
:
0
,
previous_child_birth_experiences
:
previousChildBirthExperiences
,
},
});
}
};
return
(
return
(
<>
<>
<
ScrollView
style
=
{
styles
.
container
}
>
<
ScrollView
style
=
{
styles
.
scrollContainer
}
contentContainerStyle
=
{
styles
.
contentContainer
}
>
<
LinearGradient
<
LinearGradient
style
=
{{
style
=
{{
flex
:
1
,
flex
:
1
,
...
@@ -84,7 +124,7 @@ const MainDetailsForm = ({navigation}) => {
...
@@ -84,7 +124,7 @@ const MainDetailsForm = ({navigation}) => {
color
:
COLORS
.
black
,
color
:
COLORS
.
black
,
fontSize
:
20
,
fontSize
:
20
,
fontWeight
:
'
bold
'
,
fontWeight
:
'
bold
'
,
marginTop
:
4
0
,
marginTop
:
2
0
,
marginBottom
:
40
,
marginBottom
:
40
,
justifyContent
:
'
center
'
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
alignItems
:
'
center
'
,
...
@@ -99,7 +139,7 @@ const MainDetailsForm = ({navigation}) => {
...
@@ -99,7 +139,7 @@ const MainDetailsForm = ({navigation}) => {
style
=
{{
style
=
{{
fontSize
:
15
,
fontSize
:
15
,
fontWeight
:
'
bold
'
,
fontWeight
:
'
bold
'
,
marginTop
:
20
,
marginTop
:
1
,
marginBottom
:
20
,
marginBottom
:
20
,
color
:
COLORS
.
black
,
color
:
COLORS
.
black
,
}}
>
}}
>
...
@@ -123,10 +163,16 @@ const MainDetailsForm = ({navigation}) => {
...
@@ -123,10 +163,16 @@ const MainDetailsForm = ({navigation}) => {
color
:
COLORS
.
black
,
color
:
COLORS
.
black
,
elevation
:
17
,
elevation
:
17
,
}}
}}
onChangeText
=
{
text
=>
setAge
(
text
)}
// Use setAge for the age field
onChangeText
=
{
text
=>
{
setAge
(
text
);
if
(
text
.
trim
()
!==
''
)
{
setAgeError
(
''
);
}
}}
keyboardType
=
"
numeric
"
// Set keyboardType appropriately
keyboardType
=
"
numeric
"
// Set keyboardType appropriately
value
=
{
age
}
value
=
{
age
}
/
>
/
>
{
!!
ageError
&&
<
Text
style
=
{
styles
.
errorText
}
>
{
ageError
}
<
/Text>
}
<
/View
>
<
/View
>
<
View
style
=
{{
marginTop
:
15
}}
>
<
View
style
=
{{
marginTop
:
15
}}
>
<
Text
<
Text
...
@@ -165,7 +211,8 @@ const MainDetailsForm = ({navigation}) => {
...
@@ -165,7 +211,8 @@ const MainDetailsForm = ({navigation}) => {
marginBottom
:
20
,
marginBottom
:
20
,
color
:
COLORS
.
black
,
color
:
COLORS
.
black
,
}}
>
}}
>
Current
Situation
of
Family
Background
:
Current
Situation
of
Family
Background
(
Financial
/
Economic
/
Partner
'
s Supportness):
</Text>
</Text>
<View style={styles.radioContainer}>
<View style={styles.radioContainer}>
{familyBackgroundOptions.map(item => (
{familyBackgroundOptions.map(item => (
...
@@ -213,41 +260,63 @@ const MainDetailsForm = ({navigation}) => {
...
@@ -213,41 +260,63 @@ const MainDetailsForm = ({navigation}) => {
elevation: 17,
elevation: 17,
}}
}}
keyboardType="number-pad"
keyboardType="number-pad"
onChangeText
=
{
text
=>
setPreviousChildBirthExperiences
(
text
)}
// Use setAge for the age field // Set keyboardType appropriately
onChangeText={text => {
setPreviousChildBirthExperiences(text);
if (text.trim() !==
''
) {
setChildBirthError(
''
);
}
}}
value={previousChildBirthExperiences}
value={previousChildBirthExperiences}
/>
/>
{!!childBirthError && (
<Text style={styles.errorText}>{childBirthError}</Text>
)}
</View>
<View style={{marginTop: 15}}>
<Text
semi
style={{
fontSize: 15,
fontWeight:
'
bold
'
,
marginTop: 20,
marginBottom: 20,
color: COLORS.black,
}}>
Experience of Previous Child Birth:
</Text>
<TextInput
style={{
backgroundColor:
'
#
ffffff
'
,
borderRadius: 15,
height: 48,
marginBottom: 10,
marginTop: 10,
shadowColor:
'
#
000
'
,
shadowOffset: {
width: 0,
height: 8,
},
shadowOpacity: 0.46,
shadowRadius: 11.14,
fontSize: 13,
color: COLORS.black,
elevation: 17,
}}
/>
</View>
</View>
<View style={{marginTop: 55}}>
<View style={{marginTop: 55}}>
<TouchableOpacity
<TouchableOpacity
style={{
style={{
backgroundColor: COLORS.pastal_blue,
backgroundColor: COLORS.pastal_blue,
height: 50,
height: 50,
marginBottom
:
2
0
,
marginBottom:
5
0,
justifyContent:
'
center
'
,
justifyContent:
'
center
'
,
alignItems:
'
center
'
,
alignItems:
'
center
'
,
elevation: 10,
elevation: 10,
borderRadius: 14,
borderRadius: 14,
width:
'
100
%
'
,
width:
'
100
%
'
,
}}
}}
onPress
=
{()
=>
onPress={handleNext}>
navigation
.
navigate
(
ROUTES
.
GAME_QUIZ_IN_ENGLISH
,
{
formData
:
{
age
:
age
,
marital_status_divorced
:
maritalStatus
===
'
divorced
'
?
1
:
0
,
marital_status_married
:
maritalStatus
===
'
married
'
?
1
:
0
,
marital_status_single
:
maritalStatus
===
'
single
'
?
1
:
0
,
family_background_bad
:
familyBackground
===
'
bad
'
?
1
:
0
,
family_background_good
:
familyBackground
===
'
good
'
?
1
:
0
,
family_background_normal
:
familyBackground
===
'
normal
'
?
1
:
0
,
previous_child_birth_experiences
:
previousChildBirthExperiences
,
},
})
}
>
<Text
<Text
bold
bold
medium
medium
...
@@ -269,6 +338,12 @@ const MainDetailsForm = ({navigation}) => {
...
@@ -269,6 +338,12 @@ const MainDetailsForm = ({navigation}) => {
};
};
const styles = StyleSheet.create({
const styles = StyleSheet.create({
scrollContainer: {
flexGrow: 1,
},
contentContainer: {
paddingBottom: 40, // Adds padding at the bottom
},
brandViewText: {
brandViewText: {
color:
'
#
FFFFFF
'
,
color:
'
#
FFFFFF
'
,
fontSize: 40,
fontSize: 40,
...
@@ -278,8 +353,6 @@ const styles = StyleSheet.create({
...
@@ -278,8 +353,6 @@ const styles = StyleSheet.create({
flex: 1,
flex: 1,
height: 860,
height: 860,
backgroundColor: COLORS.purple,
backgroundColor: COLORS.purple,
// borderTopStartRadius: 30,
// borderTopEndRadius: 30,
},
},
radioContainer: {
radioContainer: {
flexDirection:
'
row
'
,
flexDirection:
'
row
'
,
...
@@ -314,6 +387,9 @@ const styles = StyleSheet.create({
...
@@ -314,6 +387,9 @@ const styles = StyleSheet.create({
container: {
container: {
flex: 1,
flex: 1,
},
},
errorText: {
color:
'
red
'
,
},
});
});
export default MainDetailsForm;
export default MainDetailsForm;
src/screens/home/game/MainDetailsFormInSinhala.js
View file @
828c667b
...
@@ -17,6 +17,27 @@ const MainDetailsFormInSinhala = ({navigation}) => {
...
@@ -17,6 +17,27 @@ const MainDetailsFormInSinhala = ({navigation}) => {
const
[
age
,
setAge
]
=
useState
(
''
);
const
[
age
,
setAge
]
=
useState
(
''
);
const
[
previousChildBirthExperiences
,
setPreviousChildBirthExperiences
]
=
const
[
previousChildBirthExperiences
,
setPreviousChildBirthExperiences
]
=
useState
(
''
);
useState
(
''
);
const
[
ageError
,
setAgeError
]
=
useState
(
''
);
const
[
childBirthError
,
setChildBirthError
]
=
useState
(
''
);
const
handleValidation
=
()
=>
{
let
valid
=
true
;
if
(
age
.
trim
()
===
''
)
{
setAgeError
(
'
වයස අනිවාර්ය වේ
'
);
valid
=
false
;
}
else
{
setAgeError
(
''
);
}
if
(
previousChildBirthExperiences
.
trim
()
===
''
)
{
setChildBirthError
(
'
පෙර දරු උපත් සංඛ්යාව අනිවාර්ය වේ.
'
);
valid
=
false
;
}
else
{
setChildBirthError
(
''
);
}
return
valid
;
};
const
maritalStatusOptions
=
[
const
maritalStatusOptions
=
[
{
{
...
@@ -62,9 +83,28 @@ const MainDetailsFormInSinhala = ({navigation}) => {
...
@@ -62,9 +83,28 @@ const MainDetailsFormInSinhala = ({navigation}) => {
setFamilyBackground
(
key
);
setFamilyBackground
(
key
);
};
};
const
handleNext
=
()
=>
{
if
(
handleValidation
())
{
navigation
.
navigate
(
ROUTES
.
GAME_QUIZ_IN_SINHALA
,
{
formData
:
{
age
:
age
,
marital_status_divorced
:
maritalStatus
===
'
divorced
'
?
1
:
0
,
marital_status_married
:
maritalStatus
===
'
married
'
?
1
:
0
,
marital_status_single
:
maritalStatus
===
'
single
'
?
1
:
0
,
family_background_bad
:
familyBackground
===
'
bad
'
?
1
:
0
,
family_background_good
:
familyBackground
===
'
good
'
?
1
:
0
,
family_background_normal
:
familyBackground
===
'
normal
'
?
1
:
0
,
previous_child_birth_experiences
:
previousChildBirthExperiences
,
},
});
}
};
return
(
return
(
<>
<>
<
ScrollView
style
=
{
styles
.
container
}
>
<
ScrollView
style
=
{
styles
.
scrollContainer
}
contentContainerStyle
=
{
styles
.
contentContainer
}
>
<
LinearGradient
<
LinearGradient
style
=
{{
style
=
{{
flex
:
1
,
flex
:
1
,
...
@@ -123,11 +163,17 @@ const MainDetailsFormInSinhala = ({navigation}) => {
...
@@ -123,11 +163,17 @@ const MainDetailsFormInSinhala = ({navigation}) => {
color
:
COLORS
.
black
,
color
:
COLORS
.
black
,
elevation
:
17
,
elevation
:
17
,
}}
}}
onChangeText
=
{
text
=>
setAge
(
text
)}
// Use setAge for the age field
onChangeText
=
{
text
=>
{
setAge
(
text
);
if
(
text
.
trim
()
!==
''
)
{
setAgeError
(
''
);
}
}}
keyboardType
=
"
numeric
"
// Set keyboardType appropriately
keyboardType
=
"
numeric
"
// Set keyboardType appropriately
value
=
{
age
}
value
=
{
age
}
required
required
/>
/>
{
!!
ageError
&&
<
Text
style
=
{
styles
.
errorText
}
>
{
ageError
}
<
/Text>
}
<
/View
>
<
/View
>
<
View
style
=
{{
marginTop
:
15
}}
>
<
View
style
=
{{
marginTop
:
15
}}
>
<
Text
<
Text
...
@@ -166,7 +212,8 @@ const MainDetailsFormInSinhala = ({navigation}) => {
...
@@ -166,7 +212,8 @@ const MainDetailsFormInSinhala = ({navigation}) => {
marginBottom
:
20
,
marginBottom
:
20
,
color
:
COLORS
.
black
,
color
:
COLORS
.
black
,
}}
>
}}
>
වත්මන්
පවුල්
පසුබිම්
තත්ත්වය
:
වත්මන්
පවුල්
පසුබිම්
තත්ත්වය
(
මූල්යමය
/
ආර්ථිකමය
/
හවුල්කරුගේ
සහාය
):
<
/Text
>
<
/Text
>
<
View
style
=
{
styles
.
radioContainer
}
>
<
View
style
=
{
styles
.
radioContainer
}
>
{
familyBackgroundOptions
.
map
(
item
=>
(
{
familyBackgroundOptions
.
map
(
item
=>
(
...
@@ -214,41 +261,66 @@ const MainDetailsFormInSinhala = ({navigation}) => {
...
@@ -214,41 +261,66 @@ const MainDetailsFormInSinhala = ({navigation}) => {
elevation
:
17
,
elevation
:
17
,
}}
}}
keyboardType
=
"
number-pad
"
keyboardType
=
"
number-pad
"
onChangeText
=
{
text
=>
setPreviousChildBirthExperiences
(
text
)}
// Use setAge for the age field // Set keyboardType appropriately
onChangeText
=
{
text
=>
{
setPreviousChildBirthExperiences
(
text
);
if
(
text
.
trim
()
!==
''
)
{
setChildBirthError
(
''
);
}
}}
value
=
{
previousChildBirthExperiences
}
value
=
{
previousChildBirthExperiences
}
/
>
/
>
{
!!
childBirthError
&&
(
<
Text
style
=
{
styles
.
errorText
}
>
{
childBirthError
}
<
/Text
>
)}
<
/View
>
<
View
style
=
{{
marginTop
:
15
}}
>
<
Text
semi
style
=
{{
fontSize
:
15
,
fontWeight
:
'
bold
'
,
marginTop
:
20
,
marginBottom
:
20
,
color
:
COLORS
.
black
,
}}
>
පෙර
දරු
උපත
පිළිබඳ
අත්දැකීම්
:
<
/Text
>
<
TextInput
style
=
{{
backgroundColor
:
'
#ffffff
'
,
borderRadius
:
15
,
height
:
48
,
marginBottom
:
10
,
marginTop
:
10
,
shadowColor
:
'
#000
'
,
shadowOffset
:
{
width
:
0
,
height
:
8
,
},
shadowOpacity
:
0.46
,
shadowRadius
:
11.14
,
fontSize
:
13
,
color
:
COLORS
.
black
,
elevation
:
17
,
}}
// keyboardType="number-pad"
// onChangeText={text => setPreviousChildBirthExperiences(text)} // Use setAge for the age field // Set keyboardType appropriately
// value={previousChildBirthExperiences}
/
>
<
/View
>
<
/View
>
<
View
style
=
{{
marginTop
:
35
}}
>
<
View
style
=
{{
marginTop
:
35
}}
>
<
TouchableOpacity
<
TouchableOpacity
style
=
{{
style
=
{{
backgroundColor
:
COLORS
.
pastal_blue
,
backgroundColor
:
COLORS
.
pastal_blue
,
height
:
50
,
height
:
50
,
marginBottom
:
1
0
,
marginBottom
:
5
0
,
justifyContent
:
'
center
'
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
alignItems
:
'
center
'
,
elevation
:
10
,
elevation
:
10
,
borderRadius
:
14
,
borderRadius
:
14
,
width
:
'
100%
'
,
width
:
'
100%
'
,
}}
}}
onPress
=
{()
=>
onPress
=
{
handleNext
}
>
navigation
.
navigate
(
ROUTES
.
GAME_QUIZ_IN_SINHALA
,
{
formData
:
{
age
:
age
,
marital_status_divorced
:
maritalStatus
===
'
divorced
'
?
1
:
0
,
marital_status_married
:
maritalStatus
===
'
married
'
?
1
:
0
,
marital_status_single
:
maritalStatus
===
'
single
'
?
1
:
0
,
family_background_bad
:
familyBackground
===
'
bad
'
?
1
:
0
,
family_background_good
:
familyBackground
===
'
good
'
?
1
:
0
,
family_background_normal
:
familyBackground
===
'
normal
'
?
1
:
0
,
previous_child_birth_experiences
:
previousChildBirthExperiences
,
},
})
}
>
<
Text
<
Text
bold
bold
medium
medium
...
@@ -269,6 +341,12 @@ const MainDetailsFormInSinhala = ({navigation}) => {
...
@@ -269,6 +341,12 @@ const MainDetailsFormInSinhala = ({navigation}) => {
};
};
const
styles
=
StyleSheet
.
create
({
const
styles
=
StyleSheet
.
create
({
scrollContainer
:
{
flexGrow
:
1
,
},
contentContainer
:
{
paddingBottom
:
40
,
// Adds padding at the bottom
},
brandViewText
:
{
brandViewText
:
{
color
:
'
#FFFFFF
'
,
color
:
'
#FFFFFF
'
,
fontSize
:
40
,
fontSize
:
40
,
...
@@ -312,6 +390,9 @@ const styles = StyleSheet.create({
...
@@ -312,6 +390,9 @@ const styles = StyleSheet.create({
container
:
{
container
:
{
flex
:
1
,
flex
:
1
,
},
},
errorText
:
{
color
:
'
red
'
,
},
});
});
export
default
MainDetailsFormInSinhala
;
export
default
MainDetailsFormInSinhala
;
src/screens/home/game/MentalWellBeingTypes.js
0 → 100644
View file @
828c667b
/* eslint-disable react-native/no-inline-styles */
import
React
from
'
react
'
;
import
{
ImageBackground
,
Text
,
View
,
StyleSheet
,
TouchableOpacity
,
}
from
'
react-native
'
;
import
{
COLORS
,
IMGS
,
ROUTES
}
from
'
../../../constants
'
;
const
MentalWellBeingTypes
=
({
navigation
,
route
})
=>
{
const
{
predictedGameLevel
}
=
route
.
params
;
return
(
<>
<
View
style
=
{
styles
.
bottomView
}
>
<
View
style
=
{{
padding
:
25
}}
>
<
View
style
=
{{
marginTop
:
40
}}
>
<
TouchableOpacity
style
=
{{
backgroundColor
:
'
#260B8C
'
,
height
:
400
,
marginBottom
:
20
,
alignItems
:
'
center
'
,
marginHorizontal
:
10
,
borderRadius
:
24
,
width
:
350
,
}}
>
<
View
style
=
{
styles
.
container
}
>
<
View
style
=
{
styles
.
imageContainer
}
>
<
ImageBackground
source
=
{
IMGS
.
well_being
}
style
=
{
styles
.
backgroundImage
}
resizeMode
=
"
cover
"
><
/ImageBackground
>
<
/View
>
<
View
style
=
{
styles
.
box
}
><
/View
>
<
Text
bold
medium
style
=
{{
color
:
'
black
'
,
fontSize
:
16
,
marginTop
:
-
50
,
// marginLeft: 20,
fontWeight
:
'
bold
'
,
textAlign
:
'
center
'
,
}}
>
Playing
games
can
contribute
to
making
you
happy
,
perhaps
even
without
therapy
.
<
/Text
>
<
/View
>
<
/TouchableOpacity
>
<
TouchableOpacity
style
=
{
styles
.
button
}
onPress
=
{()
=>
{
navigation
.
navigate
(
ROUTES
.
GameLevelPage
,
{
predictedGameLevel
,
});
}}
>
<
Text
bold
medium
center
style
=
{
styles
.
buttonText
}
>
Check
Your
Gaming
Level
<
/Text
>
<
/TouchableOpacity
>
<
/View
>
<
/View
>
<
/View
>
<
/
>
);
};
const
styles
=
StyleSheet
.
create
({
brandViewText
:
{
color
:
'
#FFFFFF
'
,
fontSize
:
40
,
},
bottomView
:
{
flex
:
1.5
,
backgroundColor
:
COLORS
.
blue
,
},
backgroundImage
:
{
flex
:
1
,
width
:
350
,
height
:
400
,
borderRadius
:
50
,
},
imageContainer
:
{
borderRadius
:
24
,
overflow
:
'
hidden
'
,
width
:
'
100%
'
,
height
:
'
100%
'
,
},
box
:
{
backgroundColor
:
'
white
'
,
height
:
70
,
marginTop
:
-
38
,
opacity
:
0.5
,
},
button
:
{
backgroundColor
:
COLORS
.
dark
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
borderRadius
:
14
,
width
:
350
,
height
:
50
,
marginTop
:
190
,
},
buttonText
:
{
color
:
'
white
'
,
fontWeight
:
'
bold
'
,
fontSize
:
17
,
},
});
export
default
MentalWellBeingTypes
;
src/screens/home/game/QuestionsInEnglish.js
View file @
828c667b
...
@@ -6,6 +6,7 @@ import {
...
@@ -6,6 +6,7 @@ import {
TouchableOpacity
,
TouchableOpacity
,
Text
,
Text
,
ActivityIndicator
,
ActivityIndicator
,
ScrollView
,
}
from
'
react-native
'
;
}
from
'
react-native
'
;
import
axios
from
'
axios
'
;
import
axios
from
'
axios
'
;
import
{
useNavigation
}
from
'
@react-navigation/native
'
;
import
{
useNavigation
}
from
'
@react-navigation/native
'
;
...
@@ -94,6 +95,9 @@ const QuestionInEnglishPage = ({navigation, route}) => {
...
@@ -94,6 +95,9 @@ const QuestionInEnglishPage = ({navigation, route}) => {
<
ActivityIndicator
size
=
{
150
}
color
=
{
COLORS
.
dark_purple
}
/
>
<
ActivityIndicator
size
=
{
150
}
color
=
{
COLORS
.
dark_purple
}
/
>
<
/View
>
<
/View
>
)
:
(
)
:
(
<
ScrollView
style
=
{
styles
.
scrollContainer
}
contentContainerStyle
=
{
styles
.
contentContainer
}
>
<
LinearGradient
<
LinearGradient
style
=
{{
style
=
{{
flex
:
1
,
flex
:
1
,
...
@@ -201,7 +205,7 @@ const QuestionInEnglishPage = ({navigation, route}) => {
...
@@ -201,7 +205,7 @@ const QuestionInEnglishPage = ({navigation, route}) => {
flexDirection
:
'
row
'
,
flexDirection
:
'
row
'
,
justifyContent
:
'
space-between
'
,
justifyContent
:
'
space-between
'
,
marginTop
:
50
,
marginTop
:
50
,
marginBottom
:
3
0
,
marginBottom
:
10
0
,
}}
>
}}
>
{
!
isOnFirstQuestions
&&
(
{
!
isOnFirstQuestions
&&
(
<
TouchableOpacity
<
TouchableOpacity
...
@@ -283,6 +287,7 @@ const QuestionInEnglishPage = ({navigation, route}) => {
...
@@ -283,6 +287,7 @@ const QuestionInEnglishPage = ({navigation, route}) => {
)}
)}
<
/View
>
<
/View
>
<
/LinearGradient
>
<
/LinearGradient
>
<
/ScrollView
>
)}
)}
<
/
>
<
/
>
);
);
...
@@ -303,4 +308,10 @@ const styles = StyleSheet.create({
...
@@ -303,4 +308,10 @@ const styles = StyleSheet.create({
justifyContent
:
'
center
'
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
alignItems
:
'
center
'
,
},
},
scrollContainer
:
{
flexGrow
:
1
,
},
contentContainer
:
{
paddingBottom
:
40
,
// Adds padding at the bottom
},
});
});
src/screens/home/game/QuestionsInShinhala.js
View file @
828c667b
...
@@ -6,6 +6,7 @@ import {
...
@@ -6,6 +6,7 @@ import {
TouchableOpacity
,
TouchableOpacity
,
Text
,
Text
,
ActivityIndicator
,
ActivityIndicator
,
ScrollView
,
}
from
'
react-native
'
;
}
from
'
react-native
'
;
import
axios
from
'
axios
'
;
import
axios
from
'
axios
'
;
import
{
useNavigation
}
from
'
@react-navigation/native
'
;
import
{
useNavigation
}
from
'
@react-navigation/native
'
;
...
@@ -91,6 +92,9 @@ const QuestionInSinhalaPage = ({navigation, route}) => {
...
@@ -91,6 +92,9 @@ const QuestionInSinhalaPage = ({navigation, route}) => {
<
ActivityIndicator
size
=
{
150
}
color
=
{
COLORS
.
dark_purple
}
/
>
<
ActivityIndicator
size
=
{
150
}
color
=
{
COLORS
.
dark_purple
}
/
>
<
/View
>
<
/View
>
)
:
(
)
:
(
<
ScrollView
style
=
{
styles
.
scrollContainer
}
contentContainerStyle
=
{
styles
.
contentContainer
}
>
<
LinearGradient
<
LinearGradient
style
=
{{
style
=
{{
flex
:
1
,
flex
:
1
,
...
@@ -198,7 +202,7 @@ const QuestionInSinhalaPage = ({navigation, route}) => {
...
@@ -198,7 +202,7 @@ const QuestionInSinhalaPage = ({navigation, route}) => {
flexDirection
:
'
row
'
,
flexDirection
:
'
row
'
,
justifyContent
:
'
space-between
'
,
justifyContent
:
'
space-between
'
,
marginTop
:
50
,
marginTop
:
50
,
marginBottom
:
3
0
,
marginBottom
:
10
0
,
}}
>
}}
>
{
!
isOnFirstQuestions
&&
(
{
!
isOnFirstQuestions
&&
(
<
TouchableOpacity
<
TouchableOpacity
...
@@ -280,6 +284,7 @@ const QuestionInSinhalaPage = ({navigation, route}) => {
...
@@ -280,6 +284,7 @@ const QuestionInSinhalaPage = ({navigation, route}) => {
)}
)}
<
/View
>
<
/View
>
<
/LinearGradient
>
<
/LinearGradient
>
<
/ScrollView
>
)}
)}
<
/
>
<
/
>
);
);
...
@@ -302,4 +307,10 @@ const styles = StyleSheet.create({
...
@@ -302,4 +307,10 @@ const styles = StyleSheet.create({
justifyContent
:
'
center
'
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
alignItems
:
'
center
'
,
},
},
scrollContainer
:
{
flexGrow
:
1
,
},
contentContainer
:
{
paddingBottom
:
40
,
// Adds padding at the bottom
},
});
});
src/screens/home/game/QuizOptions.js
View file @
828c667b
/* eslint-disable react-native/no-inline-styles */
/* eslint-disable react-native/no-inline-styles */
/* eslint-disable react/self-closing-comp */
import
React
from
'
react
'
;
import
React
from
'
react
'
;
import
{
Text
,
Image
,
View
,
StyleSheet
,
TouchableOpacity
}
from
'
react-native
'
;
import
{
import
{
COLORS
,
ROUTES
}
from
'
../../../constants
'
;
Text
,
ImageBackground
,
View
,
StyleSheet
,
TouchableOpacity
,
}
from
'
react-native
'
;
import
{
COLORS
,
ROUTES
,
IMGS
}
from
'
../../../constants
'
;
const
QuizOptionsPage
=
({
navigation
})
=>
{
const
QuizOptionsPage
=
({
navigation
})
=>
{
return
(
return
(
...
@@ -12,13 +19,10 @@ const QuizOptionsPage = ({navigation}) => {
...
@@ -12,13 +19,10 @@ const QuizOptionsPage = ({navigation}) => {
justifyContent
:
'
center
'
,
justifyContent
:
'
center
'
,
alignItems
:
'
center
'
,
alignItems
:
'
center
'
,
}}
>
}}
>
<
Image
<
ImageBackground
source
=
{{
source
=
{
IMGS
.
motherWithMidWife
}
uri
:
'
https://www.cdc.gov/reproductivehealth/features/maternal-depression/images/feature-maternal-health-depression-2021.png?_=20351
'
,
style
=
{
styles
.
backgroundImage
}
}}
resizeMode
=
"
cover
"
><
/ImageBackground
>
style
=
{{
width
:
450
,
height
:
400
}}
resizeMode
=
"
contain
"
/>
<
/View
>
<
/View
>
<
View
style
=
{
styles
.
bottomView
}
>
<
View
style
=
{
styles
.
bottomView
}
>
<
View
style
=
{{
padding
:
25
}}
>
<
View
style
=
{{
padding
:
25
}}
>
...
@@ -32,7 +36,7 @@ const QuizOptionsPage = ({navigation}) => {
...
@@ -32,7 +36,7 @@ const QuizOptionsPage = ({navigation}) => {
color
:
COLORS
.
navyBlue
,
color
:
COLORS
.
navyBlue
,
fontSize
:
22
,
fontSize
:
22
,
fontWeight
:
'
bold
'
,
fontWeight
:
'
bold
'
,
marginBottom
:
2
5
,
marginBottom
:
2
0
,
fontFamily
:
'
monospace
'
,
fontFamily
:
'
monospace
'
,
textAlign
:
'
center
'
,
textAlign
:
'
center
'
,
}}
>
}}
>
...
@@ -55,16 +59,6 @@ const QuizOptionsPage = ({navigation}) => {
...
@@ -55,16 +59,6 @@ const QuizOptionsPage = ({navigation}) => {
}}
>
}}
>
Try
with
Us
&
Have
a
fun
Try
with
Us
&
Have
a
fun
<
/Text
>
<
/Text
>
<
Text
style
=
{{
color
:
'
black
'
,
fontSize
:
18
,
fontWeight
:
'
bold
'
,
fontFamily
:
'
monospace
'
,
textAlign
:
'
center
'
,
}}
>
Play
Games
&
Enjoy
your
time
<
/Text
>
<
/View
>
<
/View
>
<
View
<
View
style
=
{{
style
=
{{
...
@@ -76,7 +70,7 @@ const QuizOptionsPage = ({navigation}) => {
...
@@ -76,7 +70,7 @@ const QuizOptionsPage = ({navigation}) => {
color
:
'
black
'
,
color
:
'
black
'
,
fontSize
:
16
,
fontSize
:
16
,
fontWeight
:
'
bold
'
,
fontWeight
:
'
bold
'
,
marginTop
:
3
0
,
marginTop
:
2
0
,
textAlign
:
'
center
'
,
textAlign
:
'
center
'
,
fontFamily
:
'
monospace
'
,
fontFamily
:
'
monospace
'
,
}}
>
}}
>
...
@@ -93,7 +87,7 @@ const QuizOptionsPage = ({navigation}) => {
...
@@ -93,7 +87,7 @@ const QuizOptionsPage = ({navigation}) => {
color
:
'
black
'
,
color
:
'
black
'
,
fontSize
:
16
,
fontSize
:
16
,
fontWeight
:
'
bold
'
,
fontWeight
:
'
bold
'
,
marginTop
:
4
0
,
marginTop
:
3
0
,
textAlign
:
'
center
'
,
textAlign
:
'
center
'
,
fontFamily
:
'
monospace
'
,
fontFamily
:
'
monospace
'
,
}}
>
}}
>
...
@@ -160,6 +154,12 @@ const styles = StyleSheet.create({
...
@@ -160,6 +154,12 @@ const styles = StyleSheet.create({
flex
:
2
,
flex
:
2
,
backgroundColor
:
'
#FFC0D9
'
,
backgroundColor
:
'
#FFC0D9
'
,
},
},
backgroundImage
:
{
flex
:
1
,
width
:
350
,
height
:
400
,
borderRadius
:
50
,
},
});
});
export
default
QuizOptionsPage
;
export
default
QuizOptionsPage
;
src/screens/home/game/QuizScore.js
View file @
828c667b
...
@@ -64,7 +64,7 @@ const QuizScoreDisplayPage = ({route, navigation}) => {
...
@@ -64,7 +64,7 @@ const QuizScoreDisplayPage = ({route, navigation}) => {
response
.
data
.
prediction
.
match
(
/
\d
+/
)[
0
],
response
.
data
.
prediction
.
match
(
/
\d
+/
)[
0
],
10
,
10
,
);
);
navigation
.
navigate
(
ROUTES
.
GameLevelPage
,
{
predictedGameLevel
});
navigation
.
navigate
(
ROUTES
.
MentalWellBeingTypes
,
{
predictedGameLevel
});
}
else
{
}
else
{
console
.
error
(
'
API call failed with response:
'
,
response
.
data
);
console
.
error
(
'
API call failed with response:
'
,
response
.
data
);
}
}
...
@@ -85,7 +85,7 @@ const QuizScoreDisplayPage = ({route, navigation}) => {
...
@@ -85,7 +85,7 @@ const QuizScoreDisplayPage = ({route, navigation}) => {
style
=
{
styles
.
backgroundImage
}
style
=
{
styles
.
backgroundImage
}
resizeMode
=
"
cover
"
>
resizeMode
=
"
cover
"
>
<
View
style
=
{
styles
.
container
}
>
<
View
style
=
{
styles
.
container
}
>
<
Text
style
=
{
styles
.
mainText
}
>
Your
Depression
Level
<
/Text
>
<
Text
style
=
{
styles
.
mainText
}
>
Your
Mental
Well
-
Being
<
/Text
>
<
View
style
=
{
styles
.
mainCircle
}
>
<
View
style
=
{
styles
.
mainCircle
}
>
<
View
style
=
{
styles
.
circle
}
>
<
View
style
=
{
styles
.
circle
}
>
<
Text
style
=
{
styles
.
scoreText
}
>
<
Text
style
=
{
styles
.
scoreText
}
>
...
@@ -98,7 +98,7 @@ const QuizScoreDisplayPage = ({route, navigation}) => {
...
@@ -98,7 +98,7 @@ const QuizScoreDisplayPage = ({route, navigation}) => {
style
=
{
styles
.
button
}
style
=
{
styles
.
button
}
onPress
=
{
handleChooseGamePress
}
>
onPress
=
{
handleChooseGamePress
}
>
<
Text
bold
medium
center
style
=
{
styles
.
buttonText
}
>
<
Text
bold
medium
center
style
=
{
styles
.
buttonText
}
>
Check
Your
Gaming
Level
Let
'
s Improve Mental Well-Being
</Text>
</Text>
</TouchableOpacity>
</TouchableOpacity>
</View>
</View>
...
@@ -155,7 +155,7 @@ const styles = StyleSheet.create({
...
@@ -155,7 +155,7 @@ const styles = StyleSheet.create({
marginBottom: 30,
marginBottom: 30,
fontWeight:
'
bold
'
,
fontWeight:
'
bold
'
,
justifyContent:
'
center
'
,
justifyContent:
'
center
'
,
alignItems
:
'
center
'
,
textAlign
:
'
center
'
,
display:
'
flex
'
,
display:
'
flex
'
,
marginTop: 22,
marginTop: 22,
},
},
...
@@ -173,6 +173,7 @@ const styles = StyleSheet.create({
...
@@ -173,6 +173,7 @@ const styles = StyleSheet.create({
},
},
buttonText: {
buttonText: {
color:
'
white
'
,
color:
'
white
'
,
fontWeight:
'
bold
'
,
fontSize: 17,
fontSize: 17,
},
},
bottomContainer: {
bottomContainer: {
...
...
src/screens/home/game/WelcomeGame.js
View file @
828c667b
...
@@ -16,7 +16,7 @@ const WelcomePageGame = ({navigation}) => {
...
@@ -16,7 +16,7 @@ const WelcomePageGame = ({navigation}) => {
<
Image
<
Image
source
=
{
IMGS
.
game_img_1
}
source
=
{
IMGS
.
game_img_1
}
style
=
{{
style
=
{{
height
:
3
6
0
,
height
:
3
4
0
,
width
:
190
,
width
:
190
,
borderRadius
:
20
,
borderRadius
:
20
,
position
:
'
absolute
'
,
position
:
'
absolute
'
,
...
@@ -35,7 +35,7 @@ const WelcomePageGame = ({navigation}) => {
...
@@ -35,7 +35,7 @@ const WelcomePageGame = ({navigation}) => {
style
=
{{
style
=
{{
paddingHorizontal
:
22
,
paddingHorizontal
:
22
,
position
:
'
absolute
'
,
position
:
'
absolute
'
,
top
:
41
0
,
top
:
39
0
,
width
:
'
100%
'
,
width
:
'
100%
'
,
}}
>
}}
>
<
Text
<
Text
...
@@ -80,7 +80,7 @@ const WelcomePageGame = ({navigation}) => {
...
@@ -80,7 +80,7 @@ const WelcomePageGame = ({navigation}) => {
backgroundColor: COLORS.purple_new,
backgroundColor: COLORS.purple_new,
borderColor: COLORS.purple_new,
borderColor: COLORS.purple_new,
height: 50,
height: 50,
marginBottom:
5
0,
marginBottom:
7
0,
justifyContent:
'
center
'
,
justifyContent:
'
center
'
,
alignItems:
'
center
'
,
alignItems:
'
center
'
,
borderRadius: 14,
borderRadius: 14,
...
@@ -92,7 +92,11 @@ const WelcomePageGame = ({navigation}) => {
...
@@ -92,7 +92,11 @@ const WelcomePageGame = ({navigation}) => {
<Text
<Text
medium
medium
center
center
style={{color:
'
white
'
, fontSize: 24, fontWeight:
'
bold
'
}}>
style={{
color:
'
white
'
,
fontSize: 24,
fontWeight:
'
bold
'
,
}}>
Let Us Help You
Let Us Help You
</Text>
</Text>
</TouchableOpacity>
</TouchableOpacity>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment