@jescon-technologies/react-native-ui-kit 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/index.d.ts +2 -66
  2. package/index.js +1 -66
  3. package/package.json +1 -1
  4. package/src/Alerts/AAlert.js +0 -137
  5. package/src/Alerts/AAlertIOS.js +0 -97
  6. package/src/Alerts/ABlink.js +0 -40
  7. package/src/Common/Icons.js +0 -49
  8. package/src/Common/NetworkServiceCall.js +0 -265
  9. package/src/CommonStyle/CommonTheme.js +0 -11
  10. package/src/CommonStyle/ComponentFunctions.js +0 -632
  11. package/src/CommonStyle/PopupStyle.js +0 -146
  12. package/src/CommonStyle/commonStyle.js +0 -93
  13. package/src/CommonStyle/componentStyle.js +0 -545
  14. package/src/CommonStyle/optionListStyles.js +0 -175
  15. package/src/Components/ByProductPage.js +0 -200
  16. package/src/Components/CDropDownListNew.js +0 -153
  17. package/src/Components/CSupplierList.js +0 -88
  18. package/src/Components/CVerificationCard.js +0 -2822
  19. package/src/Components/CustomButton.js +0 -67
  20. package/src/Components/CustomCard.js +0 -127
  21. package/src/Components/CustomTextInput.js +0 -47
  22. package/src/Components/EquipmentPage.js +0 -313
  23. package/src/Components/FilterInput.Copy.js +0 -723
  24. package/src/Components/FilterInput.js +0 -569
  25. package/src/Components/HSubHeading.js +0 -68
  26. package/src/Components/HeaderCard.js +0 -40
  27. package/src/Components/MoreOptionsScreen.js +0 -251
  28. package/src/Components/NonSwipableProductCard.js +0 -226
  29. package/src/Components/NonSwipableSupplierCard.js +0 -348
  30. package/src/Components/ProductCard.js +0 -1336
  31. package/src/Components/QualityProductCard.js +0 -1059
  32. package/src/Components/RateProductCard.js +0 -1452
  33. package/src/Components/RawMaterial.js +0 -261
  34. package/src/Components/SDropDownEdited.js +0 -549
  35. package/src/Components/SDropDownNew.js +0 -529
  36. package/src/Components/SHelpDescription.js +0 -147
  37. package/src/Components/STextInputNew.js +0 -510
  38. package/src/Components/SearchProductCard.js +0 -470
  39. package/src/Components/StageByProduct.js +0 -199
  40. package/src/Components/SupplierCard.js +0 -243
  41. package/src/Components/SupplierInvoiceCard.js +0 -405
  42. package/src/Components/SwipableSupplierCard.js +0 -136
  43. package/src/Components/TagTemplate.js +0 -74
  44. package/src/Components/WrappedComponent.js +0 -25
  45. package/src/Custom/CBooking.js +0 -944
  46. package/src/Custom/CBookingPostpone.js +0 -1822
  47. package/src/Custom/CCalendar.js +0 -560
  48. package/src/Custom/CCard.js +0 -880
  49. package/src/Custom/CDetailCard.js +0 -205
  50. package/src/Custom/CHelpImage.js +0 -52
  51. package/src/Custom/CReport.js +0 -569
  52. package/src/Custom/CScrollView.js +0 -73
  53. package/src/Custom/CSignature.js +0 -112
  54. package/src/Custom/CSliderMenu.js +0 -339
  55. package/src/Custom/CSupplierCard.js +0 -99
  56. package/src/Custom/CTemplateCard.js +0 -438
  57. package/src/Custom/CTokenAllocation.js +0 -1402
  58. package/src/Custom/CTokenListOverlay.js +0 -122
  59. package/src/Custom/CWardStatus.js +0 -444
  60. package/src/Custom/Charts/CBarChart.js +0 -218
  61. package/src/Custom/Charts/CDashBoardList.js +0 -133
  62. package/src/Custom/Charts/CDashBoardTable.js +0 -172
  63. package/src/Custom/Charts/CLineChart.js +0 -193
  64. package/src/Custom/Charts/CPieChart.js +0 -186
  65. package/src/Custom/Loader.js +0 -182
  66. package/src/Custom/OUserView.js +0 -1121
  67. package/src/Custom/PreviewDosage.js +0 -115
  68. package/src/Custom/SearchLoader.js +0 -32
  69. package/src/Custom/TableComponent/CActivityTable.js +0 -707
  70. package/src/Custom/TableComponent/CMoreButtonTable.js +0 -197
  71. package/src/Custom/TableComponent/CTable.js +0 -185
  72. package/src/Custom/TableComponent/CTextBody.js +0 -40
  73. package/src/Custom/TableComponent/CTextHeader.js +0 -17
  74. package/src/Custom/TableComponent/PreviewPrescriptionNew.js +0 -1011
  75. package/src/Custom/TableComponent/SDropdownTable.js +0 -491
  76. package/src/Custom/TableComponent/TagTable.js +0 -1200
  77. package/src/CustomComponents/CAddColumn.js +0 -140
  78. package/src/CustomComponents/CAssessmentDelete.js +0 -307
  79. package/src/CustomComponents/CAwesomeButton.js +0 -83
  80. package/src/CustomComponents/CAwesomeMoreButton.js +0 -54
  81. package/src/CustomComponents/CBackHandler.js +0 -273
  82. package/src/CustomComponents/CCalendar.js +0 -243
  83. package/src/CustomComponents/CCommentOverlay.js +0 -202
  84. package/src/CustomComponents/CComments.js +0 -162
  85. package/src/CustomComponents/CContainerView.js +0 -24
  86. package/src/CustomComponents/CCustomTextInput.js +0 -336
  87. package/src/CustomComponents/CDetailView.js +0 -40
  88. package/src/CustomComponents/CDropDownList.js +0 -153
  89. package/src/CustomComponents/CDropdownSelect.js +0 -555
  90. package/src/CustomComponents/CFooterView.js +0 -42
  91. package/src/CustomComponents/CImagePickerSave.js +0 -316
  92. package/src/CustomComponents/CModalOverlay.js +0 -91
  93. package/src/CustomComponents/CNetworkStatus.js +0 -327
  94. package/src/CustomComponents/CNotesInstructions.js +0 -1000
  95. package/src/CustomComponents/COverlay.js +0 -81
  96. package/src/CustomComponents/CRemarks.js +0 -176
  97. package/src/CustomComponents/CRowAdd.js +0 -143
  98. package/src/CustomComponents/CSummaryDropDown.js +0 -327
  99. package/src/CustomComponents/CText.js +0 -9
  100. package/src/CustomComponents/CVectorIcon.js +0 -34
  101. package/src/CustomComponents/HtmlContentViewer.js +0 -65
  102. package/src/CustomComponents/PdfContentViewer.js +0 -90
  103. package/src/CustomComponents/SDropDownDosage.js +0 -1087
  104. package/src/CustomComponents/SwipableProductCard.js +0 -246
  105. package/src/CustomComponents/SwipableProductImageCard.js +0 -254
  106. package/src/CustomComponents/WorkOrderDetails.js +0 -1216
  107. package/src/CustomComponents/WorkOrderDetailsPage.js +0 -1213
  108. package/src/HOC/ConfirmOverlay.js +0 -192
  109. package/src/HOC/HHeading.js +0 -70
  110. package/src/HOC/HMoreButton.js +0 -88
  111. package/src/HOC/HNatureHeading.js +0 -402
  112. package/src/HOC/HOCIcons.js +0 -80
  113. package/src/HOC/HOverlayCentered.js +0 -140
  114. package/src/HOC/HShadowButton.js +0 -45
  115. package/src/HOC/HShadowCountButton.js +0 -82
  116. package/src/HOC/OptionOverlay.js +0 -48
  117. package/src/Json/Chart.json +0 -818
  118. package/src/Json/Consultation.json +0 -622
  119. package/src/Json/CreditBill.json +0 -490
  120. package/src/Json/Dropdown.json +0 -216
  121. package/src/Json/DropdownConsultation.json +0 -228
  122. package/src/Json/DynamicReports.json +0 -623
  123. package/src/Json/Footer.json +0 -79
  124. package/src/Media/AudioScreen.js +0 -342
  125. package/src/Media/BarcodeScan.js +0 -145
  126. package/src/Media/CAudioPlay.js +0 -228
  127. package/src/Media/CCaptureImageWithoutEdit.js +0 -330
  128. package/src/Media/CImageGallery.js +0 -289
  129. package/src/Media/CImageZoom.js +0 -82
  130. package/src/Media/CSingleImage.js +0 -391
  131. package/src/Media/CSketchCanvas.js +0 -76
  132. package/src/Media/CVideoPlay.js +0 -31
  133. package/src/Media/DocumentScreen.js +0 -362
  134. package/src/Media/DrawingScreen.js +0 -578
  135. package/src/Media/ImageScreen.js +0 -309
  136. package/src/Media/RecordAudio.js +0 -250
  137. package/src/Media/RecordVideo.js +0 -223
  138. package/src/Media/VideoScreen.js +0 -378
  139. package/src/Navigation/PageNavigation.js +0 -224
  140. package/src/Navigation/useFocusEffect.js +0 -2
  141. package/src/Navigation/useFocusEffect.native.js +0 -1
  142. package/src/Navigation/useFocusEffect.web.js +0 -1
  143. package/src/Navigation/useIsFocused.js +0 -1
  144. package/src/Navigation/useIsFocused.native.js +0 -1
  145. package/src/Navigation/useIsFocused.web.js +0 -1
  146. package/src/Navigation/useNavigation.js +0 -2
  147. package/src/Navigation/useNavigation.native.js +0 -1
  148. package/src/Navigation/useNavigation.web.js +0 -1
  149. package/src/Screens/CMedications.js +0 -528
  150. package/src/Screens/CWebViewGallery.js +0 -203
  151. package/src/Screens/ChartScan.js +0 -279
  152. package/src/Screens/ChartScreenNew.js +0 -1579
  153. package/src/Screens/Consultation.js +0 -1500
  154. package/src/Screens/Dashboard.js +0 -778
  155. package/src/Screens/FileExplorer.js +0 -288
  156. package/src/Screens/Footer.js +0 -340
  157. package/src/Screens/ForgotPassword.js +0 -288
  158. package/src/Screens/HeaderBlock.js +0 -353
  159. package/src/Screens/Login.js +0 -328
  160. package/src/Screens/Notification.js +0 -149
  161. package/src/Screens/OcrScreen.js +0 -20
  162. package/src/Screens/PdfPreview.js +0 -507
  163. package/src/Screens/RegistrationDetails.js +0 -467
  164. package/src/Screens/SearchScreen.js +0 -582
  165. package/src/Screens/Splash.js +0 -788
  166. package/src/Screens/SwipeLeftView.js +0 -1867
  167. package/src/StaticComponents/SAlphabet.js +0 -47
  168. package/src/StaticComponents/SCheckBox.js +0 -42
  169. package/src/StaticComponents/SDatePicker.js +0 -208
  170. package/src/StaticComponents/SDatePickerLabel.js +0 -253
  171. package/src/StaticComponents/SDatePickerNew.js +0 -258
  172. package/src/StaticComponents/SDateTimePickerNew.js +0 -381
  173. package/src/StaticComponents/SDropDownGenerate.js +0 -450
  174. package/src/StaticComponents/SDropDownHoc.js +0 -636
  175. package/src/StaticComponents/SDropDownIcon.js +0 -500
  176. package/src/StaticComponents/SMenuBox.js +0 -131
  177. package/src/StaticComponents/SOverlay.js +0 -177
  178. package/src/StaticComponents/SOverlayTextInput.js +0 -109
  179. package/src/StaticComponents/SSearch.js +0 -438
  180. package/src/StaticComponents/SSearchBar.js +0 -53
  181. package/src/StaticComponents/SSpeedDial.js +0 -303
  182. package/src/StaticComponents/STextInput.js +0 -289
  183. package/src/StaticComponents/STextInputProps.js +0 -36
  184. package/src/StaticComponents/STimePicker.js +0 -171
  185. package/src/StaticComponents/STimingDropDownNew.js +0 -1585
  186. package/src/StaticComponents/STimingSwitch.js +0 -34
  187. package/src/layout/CContainerView.js +0 -21
  188. package/src/layout/CDetailView.js +0 -81
  189. package/src/layout/HeaderBlock.js +0 -353
  190. package/src/layout/INVLoginLayout.js +0 -657
  191. package/src/layout/Loader.js +0 -176
@@ -1,288 +0,0 @@
1
- import React, { useState, useEffect, useContext } from 'react'
2
- import { View, Text, StatusBar, Dimensions, ImageBackground, TouchableOpacity, TouchableHighlight, Image } from 'react-native'
3
- import { TextInput } from 'react-native-paper'
4
- import Icons from '../Common/Icons'
5
- import { normalize } from '../CommonStyle/componentStyle'
6
- import { getLoading, notifyMessage, ValueCheck } from '../CommonStyle/ComponentFunctions'
7
- import NetworkServiceCall from '../Common/NetworkServiceCall'
8
- import { APIURL } from '../../../../../src/Common/apiConstants'
9
- import Loader from '../Custom/Loader'
10
- import { Global } from '../../../../../src/Common/Global'
11
- import axios from 'axios'
12
- import { useNavigation } from '../Navigation/useNavigation';
13
-
14
-
15
- const image = { uri: 'https://t4.ftcdn.net/jpg/05/19/65/81/360_F_519658132_FkvYwAjuJ8q67PGQUgYLrumVymaJtlZj.jpg' };
16
- export default function ForgotPassword({ }) {
17
- const Navigation = useNavigation()
18
- const [stage, setStage] = useState(1)
19
- const [text, setText] = useState('')
20
- const [msg, setMsg] = useState('')
21
- const [isLoading, setIsLoading] = useState(false);
22
- const [password, setPassword] = useState({
23
- "oldpass": "",
24
- "newpass": "",
25
- "confirmpass": ""
26
- })
27
-
28
- useEffect(() => {
29
- setPassword({
30
- "newpass": "",
31
- "confirmpass": ""
32
- })
33
- setMsg("")
34
- }, [stage])
35
-
36
- function actionJWT() {
37
- if ((password.oldpass && text)) {
38
-
39
- let buttonapi = APIURL + "auth/authenticate"
40
- var PostArr = {
41
- "username": text,
42
- "password": password.oldpass,
43
- }
44
- console.log("FORGOT PASSWORD", JSON.stringify(buttonapi))
45
- console.log("OUT", JSON.stringify(PostArr))
46
- axios.post(buttonapi, PostArr)
47
- .then(function (response) {
48
- if (response.status == 200) {
49
- console.log('success', response.data)
50
- Global.JWTToken = response.data
51
- }
52
- else {
53
- notifyMessage("Please check old password", 2)
54
- }
55
- })
56
- .catch(function (error) {
57
- notifyMessage("Error", 3)
58
- })
59
- }
60
- }
61
-
62
-
63
- const [isPasswordSecure, setIsPasswordSecure] = useState(true);
64
- const [isPasswordSecureTwo, setIsPasswordSecureTwo] = useState(true);
65
- return (
66
- <View style={{ flex: 1, marginTop: StatusBar.currentHeight, backgroundColor: "#fff" }}>
67
- <StatusBar translucent backgroundColor="transparent" barStyle={'dark-content'} />
68
- <ImageBackground source={image} resizeMode="cover"
69
- style={{ flex: 1 }}>
70
- <View style={{ height: normalize(50) }}>
71
- <TouchableOpacity
72
- hitSlop={{ left: 10, right: 10, top: 10, bottom: 10 }}
73
- style={{ left: 30, top: 10 }}
74
- onPress={() => stage == 1 ? Navigation.goBack() : setStage(stage - 1)}>
75
- <Icons.FontAwesome5 name={"arrow-left"} color={"black"} size={normalize(20)} />
76
- </TouchableOpacity>
77
- </View>
78
-
79
- {stage == 1 ?
80
- <View style={{ flex: 1, alignItems: 'center' }}>
81
- <Icons.FontAwesome5 name={"lock"} color={"black"} size={normalize(50)} />
82
- <Text style={{ fontWeight: 'bold', fontSize: normalize(25) }}>CHANGE</Text>
83
- <Text style={{ fontWeight: 'bold', fontSize: normalize(25) }}>PASSWORD</Text>
84
- <Text style={{ textAlign: 'center', paddingVertical: normalize(10) }}>Provide your account's userid for which you want to reset password.</Text>
85
-
86
- <TextInput
87
- value={text}
88
- keyboardType={'numeric'}
89
- onChangeText={text => setText(text)}
90
- label="Enter User ID"
91
- autoFocus={true}
92
- left={<TextInput.Icon icon="clock-time-five-outline" iconColor={"purple"}
93
- style={{}} />}
94
- mode="outlined"
95
- style={{ width: Dimensions.get('screen').width * 0.9 }}
96
- />
97
-
98
- <TouchableHighlight
99
- underlayColor={'lightblue'}
100
- onPress={() => ValueCheck(text) ? setStage(2) : notifyMessage("Please enter required details", 3)}
101
- style={{
102
- width: Dimensions.get('screen').width * 0.9, justifyContent: 'center',
103
- height: normalize(40), backgroundColor: '#FADF00', marginTop: normalize(10), alignItems: 'center'
104
- }}>
105
- <Text style={{ fontWeight: 'bold' }}>NEXT</Text>
106
- </TouchableHighlight>
107
- </View> : null}
108
-
109
- {stage == 2 ?
110
- <View style={{ flex: 1, alignItems: 'center' }}>
111
- <Icons.MaterialCommunityIcons name={"credit-card-lock-outline"} color={"black"} size={normalize(50)} />
112
- <Text style={{ fontWeight: 'bold', fontSize: normalize(25) }}>NEW</Text>
113
- <Text style={{ fontWeight: 'bold', fontSize: normalize(25) }}>CREDENTIALS</Text>
114
- <Text style={{ textAlign: 'center', fontSize: normalize(13) }}>Set your new password , by confirming old password</Text>
115
-
116
- <View style={{ marginTop: normalize(10) }}>
117
- <TextInput
118
- autoFocus={true}
119
- value={password.oldpass}
120
- secureTextEntry={isPasswordSecure}
121
- onChangeText={text => setPassword({ ...password, "oldpass": text })}
122
- label="Old Password"
123
- onEndEditing={() => actionJWT()}
124
- left={<TextInput.Icon icon="lock" iconColor={"purple"}
125
- style={{}} />}
126
- right={<TextInput.Icon icon={isPasswordSecure ? "eye-off" : "eye"} iconColor={"purple"}
127
- onPress={() => { isPasswordSecure ? setIsPasswordSecure(false) : setIsPasswordSecure(true) }} />}
128
- mode="outlined"
129
- style={{ width: Dimensions.get('screen').width * 0.9 }}
130
- />
131
- </View>
132
-
133
- <View style={{ marginTop: normalize(15) }}>
134
- <Text style={{ alignSelf: 'flex-end', fontWeight: 'bold', color: msg == "Easy" ? 'red' : 'darkblue' }}>{msg}</Text>
135
- <TextInput
136
- value={password.newpass}
137
- secureTextEntry={isPasswordSecure}
138
- onChangeText={text => setPassword({ ...password, "newpass": text })}
139
- onEndEditing={() => checkPasswordStrength(password.newpass)}
140
- label="New Password"
141
- left={<TextInput.Icon icon="lock" iconColor={"purple"}
142
- style={{}} />}
143
- right={<TextInput.Icon icon={isPasswordSecure ? "eye-off" : "eye"} iconColor={"purple"}
144
- onPress={() => { isPasswordSecure ? setIsPasswordSecure(false) : setIsPasswordSecure(true) }} />}
145
- mode="outlined"
146
- style={{ width: Dimensions.get('screen').width * 0.9 }}
147
- />
148
- </View>
149
-
150
- <TextInput
151
- value={password.confirmpass}
152
- secureTextEntry={isPasswordSecureTwo}
153
- onChangeText={text => setPassword({ ...password, "confirmpass": text })}
154
- label="Confirm Password"
155
- left={<TextInput.Icon icon="lock" iconColor={"purple"}
156
- style={{}} />}
157
- right={<TextInput.Icon icon={isPasswordSecureTwo ? "eye-off" : "eye"} iconColor={"purple"}
158
- onPress={() => { isPasswordSecureTwo ? setIsPasswordSecureTwo(false) : setIsPasswordSecureTwo(true) }} />}
159
- mode="outlined"
160
- style={{ width: Dimensions.get('screen').width * 0.9, marginTop: normalize(20) }}
161
- />
162
-
163
- <TouchableHighlight
164
- underlayColor={'lightblue'}
165
- onPress={() => getUpdate()}
166
- style={{
167
- width: Dimensions.get('screen').width * 0.9, justifyContent: 'center',
168
- height: normalize(40), backgroundColor: '#FADF00', marginTop: normalize(10), alignItems: 'center'
169
- }}>
170
- <Text style={{ fontWeight: 'bold' }}>UPDATE</Text>
171
- </TouchableHighlight>
172
- </View> : null}
173
-
174
- {stage == 3 ?
175
- <View style={{ flex: 1, backgroundColor: "#fff", alignItems: 'center' }}>
176
-
177
- <Icons.EvilIcons name={"check"} color={"green"} size={normalize(100)} />
178
- <Text style={{ fontWeight: 'bold', fontSize: normalize(20), color: "green" }}>Password Updated</Text>
179
- <Text style={{ textAlign: 'center', fontSize: normalize(14), color: "black", paddingVertical: normalize(5) }}>Your password changed successfully ! Use your new password to log in</Text>
180
-
181
- <TouchableHighlight
182
- underlayColor={'lightblue'}
183
- onPress={() => { setStage(1), Navigation.goBack() }}
184
- style={{
185
- width: Dimensions.get('screen').width * 0.9, justifyContent: 'center',
186
- height: normalize(40), backgroundColor: '#FADF00', marginTop: normalize(10), alignItems: 'center'
187
- }}>
188
- <Text style={{ fontWeight: 'bold' }}>LOGIN</Text>
189
- </TouchableHighlight>
190
- </View>
191
- : null}
192
- </ImageBackground>
193
-
194
- {isLoading ?
195
- <Loader displaytext={true} />
196
- : null}
197
- </View>
198
- )
199
-
200
- function getUpdate() {
201
- if (password.newpass != ""
202
- && password.confirmpass != "") {
203
- if (password.newpass == password.confirmpass) {
204
-
205
- var ReqJson = {
206
- "groups": {
207
- "procedurename": "suuserforgetpassword1",
208
- "userid": text,
209
- ...password
210
- }
211
- }
212
- console.log("Add Component>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", JSON.stringify(ReqJson))
213
- let buttonapi = APIURL + 'commontemplatesave/RnCommonTemplateSave';
214
- console.log("**************************************", JSON.stringify(buttonapi))
215
- setIsLoading(true)
216
- NetworkServiceCall('post', buttonapi, ReqJson, Global.JWTToken).then(function (response) {
217
- console.log("REPOSNEEEEEEE", JSON.stringify(response))
218
- if (response.httpstatus == 200
219
- && response.data != undefined && response.data != null
220
- && response.data.code != undefined && response.data.code > 0) {
221
- notifyMessage('Password Updated !!!', 1);
222
- setStage(3)
223
- console.log("Password Updated !!!", password.newpass)
224
- setIsLoading(false);
225
-
226
- } else {
227
- notifyMessage('Password Not Updated !!! Please check old password', 2);
228
- setIsLoading(false);
229
- }
230
- })
231
-
232
- getLoading(v => setIsLoading(false))
233
-
234
- } else {
235
- notifyMessage("Oops...Passwords does not match each other", 4)
236
- }
237
- } else {
238
- notifyMessage("Please fill out passwords", 3)
239
- }
240
- }
241
-
242
- function checkPasswordStrength(password) {
243
- // Initialize variables
244
- var strength = 0;
245
- var tips = "";
246
-
247
- // Check password length
248
- if (password.length < 8) {
249
- tips += "Make the password longer. ";
250
- } else {
251
- strength += 1;
252
- }
253
-
254
- // Check for mixed case
255
- if (password.match(/[a-z]/) && password.match(/[A-Z]/)) {
256
- strength += 1;
257
- } else {
258
- tips += "Use both lowercase and uppercase letters. ";
259
- }
260
-
261
- // Check for numbers
262
- if (password.match(/\d/)) {
263
- strength += 1;
264
- } else {
265
- tips += "Include at least one number. ";
266
- }
267
-
268
- // Check for special characters
269
- if (password.match(/[^a-zA-Z\d]/)) {
270
- strength += 1;
271
- } else {
272
- tips += "Include at least one special character. ";
273
- }
274
-
275
-
276
-
277
- // Return results
278
- if (strength < 2) {
279
- return setMsg("Easy", notifyMessage(tips, 5));
280
- } else if (strength === 2) {
281
- return setMsg("Medium Difficulty", notifyMessage(tips, 5));
282
- } else if (strength === 3) {
283
- return setMsg("Difficult", notifyMessage(tips, 5));
284
- } else {
285
- return setMsg("Extremely difficult");
286
- }
287
- }
288
- }
@@ -1,353 +0,0 @@
1
- import React, { useContext, useEffect, useState } from 'react';
2
- import {
3
- StyleSheet,
4
- Text,
5
- View,
6
- StatusBar,
7
- Image,
8
- TouchableOpacity,
9
- Alert,
10
- Modal,
11
- Dimensions,
12
- ScrollView
13
- } from 'react-native';
14
- import Ionicons from 'react-native-vector-icons/Ionicons';
15
- import Feather from 'react-native-vector-icons/Feather';
16
- import { Global } from '../../../../../src/Common/Global';
17
- import CSliderMenu from '../Custom/CSliderMenu';
18
- import { normalize } from '../CommonStyle/componentStyle';
19
- import NotificationContext from '../../../../../src/Handlers/NoticationsContext';
20
- import moment from 'moment';
21
- import { ValueCheck, isNUQZ } from '../CommonStyle/ComponentFunctions';
22
- import ABlink from '../Alerts/ABlink';
23
- import COverlay from '../CustomComponents/COverlay';
24
- import OUserView from '../Custom/OUserView';
25
- import CBackHandler from '../CustomComponents/CBackHandler';
26
- // import InsureResponseComponentContext from '../../../../../src/Handlers/insureResponseComponentContext';
27
- import CNetworkStatus from '../CustomComponents/CNetworkStatus';
28
- import { useNavigation } from '../Navigation/useNavigation';
29
-
30
- const HeaderBlock = (props) => {
31
- // const { responseJSON, setResponseJSON } = useContext(InsureResponseComponentContext);
32
- const [isShowSlidermenu, setIsShowSlidermenu] = useState(false);
33
- const [backHandler, setBackHandler] = useState(false);
34
- const [backHandlerLogOut, setBackHandlerLogOut] = useState(false);
35
- const [refresh, setRefresh] = useState(0);
36
- const [overlay, setOverlay] = useState(false);
37
- const [jsonoverlay, setJsonOverlay] = useState(false);
38
- const navigation = useNavigation()
39
-
40
- const OverlayHOCComponent = COverlay(OUserView);
41
-
42
- const NoticationData = React.useContext(NotificationContext);
43
-
44
- const result = NoticationData.filter(obj => obj.status === true);
45
-
46
- const styles = StyleSheet.create({
47
- container: {
48
- display: 'flex',
49
- backgroundColor: Global.AppTheme.primary_color,
50
- justifyContent: 'center',
51
- paddingLeft: normalize(3),
52
- marginTop: StatusBar.currentHeight,
53
- },
54
- headerContent: {
55
- flexDirection: 'row',
56
- alignItems: 'center',
57
- marginBottom: normalize(6),
58
- paddingBottom: normalize(0),
59
- },
60
- backButton: {
61
- flexDirection: 'row',
62
- alignItems: 'center',
63
- borderWidth: 0,
64
- },
65
- logoContainer: {
66
- width: normalize(100),
67
- height: normalize(40),
68
- },
69
- betaContainer: {
70
- position: 'absolute',
71
- bottom: normalize(-4),
72
- right: normalize(-70),
73
- },
74
- betaText: {
75
- color: '#ffffff',
76
- fontSize: normalize(20),
77
- letterSpacing: 5,
78
- fontWeight: 'bold',
79
- textShadowColor: '#000000',
80
- textShadowOffset: { width: 0.5, height: 0.5 },
81
- textShadowRadius: 0.5,
82
- },
83
- versionText: {
84
- color: 'white',
85
- fontSize: normalize(8),
86
- },
87
- userInfoButton: {
88
- flexDirection: 'row',
89
- borderWidth: 0,
90
- flex: 1,
91
- justifyContent: 'flex-start',
92
- },
93
- userInfoContainer: {
94
- borderWidth: 0,
95
- },
96
- userNameText: {
97
- fontWeight: 'bold',
98
- fontSize: normalize(13),
99
- marginLeft: 5,
100
- color: 'white',
101
- },
102
- departmentText: {
103
- fontFamily: Global.fontNormal,
104
- fontSize: normalize(11),
105
- marginLeft: 5,
106
- color: 'white',
107
- },
108
- rightIconsContainer: {
109
- flexDirection: 'row',
110
- alignItems: 'center',
111
- justifyContent: 'flex-end',
112
- borderWidth: 0,
113
- },
114
- notificationButton: {
115
- marginRight: normalize(5),
116
- },
117
- notificationBadge: {
118
- position: 'absolute',
119
- right: normalize(-5),
120
- top: normalize(-8),
121
- backgroundColor: 'white',
122
- alignItems: 'center',
123
- borderRadius: 20,
124
- width: normalize(15),
125
- },
126
- notificationCount: {
127
- fontSize: normalize(7),
128
- fontWeight: 'bold',
129
- },
130
- menuButton: {
131
- alignItems: 'center',
132
- justifyContent: 'center',
133
- },
134
- loginTimeText: {
135
- fontSize: normalize(9),
136
- marginLeft: 0,
137
- color: 'white',
138
- },
139
- jsonModalContainer: {
140
- backgroundColor: 'white',
141
- borderWidth: 1,
142
- height: Dimensions.get('screen').height * 0.9,
143
- alignSelf: 'center',
144
- width: Dimensions.get('screen').width * 0.9,
145
- },
146
- closeButton: {
147
- textAlign: 'right',
148
- fontWeight: 'bold',
149
- color: 'black',
150
- },
151
- jsonText: {
152
- fontSize: normalize(10),
153
- color: 'black',
154
- fontFamily: 'Courier New',
155
- },
156
- });
157
-
158
- const OnPressGoBack = () => {
159
- if (props.callback) {
160
- props.callback(true);
161
- } else {
162
- if (ValueCheck(props.backhandler)) {
163
- if (ValueCheck(props.consultation) && Global.EditStatus == 1) {
164
- setBackHandler(true);
165
- } else {
166
- navigation.goBack(); // 👈 works
167
- }
168
- } else {
169
- navigation.goBack(); // 👈 works
170
- }
171
- }
172
- };
173
-
174
- const renderJsonModal = () => (
175
- <Modal
176
- onRequestClose={() => setJsonOverlay(false)}
177
- style={{
178
- height: Dimensions.get('screen').height,
179
- width: Dimensions.get('screen').width,
180
- backgroundColor: 'transparent',
181
- justifyContent: 'center',
182
- alignItems: 'center',
183
- }}
184
- transparent={true}
185
- >
186
- <View style={styles.jsonModalContainer}>
187
- <TouchableOpacity onPress={() => setJsonOverlay(false)}>
188
- <Text style={styles.closeButton}>Close</Text>
189
- </TouchableOpacity>
190
- <ScrollView>
191
- {/* <Text selectable={true} style={styles.jsonText}>
192
- {JSON.stringify(responseJSON, null, 2)}
193
- </Text> */}
194
- </ScrollView>
195
- </View>
196
- </Modal>
197
- );
198
-
199
- const renderBetaVersion = () => (
200
- <View style={styles.betaContainer}>
201
- <ABlink duration={500}>
202
- <View style={{ justifyContent: 'center', alignItems: 'center' }}>
203
- <Text style={styles.betaText}>BETA TESTING</Text>
204
- <Text style={styles.versionText}>
205
- {Global.version ? `V ${Global.version}` : null}
206
- </Text>
207
- </View>
208
- </ABlink>
209
- </View>
210
- );
211
-
212
- const renderUserInfo = () => (
213
- <TouchableOpacity
214
- onPress={() => props.webview != undefined ? null : setOverlay(true)}
215
- style={styles.userInfoButton}
216
- >
217
- <View style={styles.userInfoContainer}>
218
- <Text
219
- adjustsFontSizeToFit
220
- numberOfLines={2}
221
- style={styles.userNameText}
222
- >
223
- {props.webview != undefined ? "" : Global.userData && Global.userData.department != undefined && Global.userData.department != "" ? Global.userData.username : ''}
224
- </Text>
225
- {Global.userData && Global.userData.department != undefined && Global.userData.department != "" && props.webview == undefined ? (
226
- <Text
227
- adjustsFontSizeToFit
228
- style={styles.departmentText}
229
- >
230
- {Global.userData.department}
231
- </Text>
232
- ) : null}
233
- </View>
234
- </TouchableOpacity>
235
- );
236
-
237
- const renderRightIcons = () => (
238
- <View style={styles.rightIconsContainer}>
239
- <CNetworkStatus />
240
- <TouchableOpacity
241
- onPress={() => navigation.navigate('Notifications')}
242
- style={styles.notificationButton}
243
- >
244
- <View style={styles.notificationBadge}>
245
- <ABlink>
246
- <Text
247
- numberOfLines={1}
248
- adjustsFontSizeToFit
249
- style={[
250
- styles.notificationCount,
251
- { color: result.length > 0 ? "red" : 'black' }
252
- ]}
253
- >
254
- {result.length}
255
- </Text>
256
- </ABlink>
257
- </View>
258
- <Ionicons name={'notifications-outline'} color="white" size={normalize(15)} />
259
- </TouchableOpacity>
260
- <View style={{ paddingLeft: normalize(2) }}>
261
- <TouchableOpacity
262
- onPress={() => setIsShowSlidermenu(true)}
263
- style={styles.menuButton}
264
- >
265
- <Feather name={'menu'} color="white" size={normalize(25)} />
266
- <View>
267
- {Global.LoginTime != undefined ? (
268
- <Text style={styles.loginTimeText}>
269
- {(moment.duration(moment().diff(Global.LoginTime)).asMinutes()).toFixed(0) + " Min."}
270
- </Text>
271
- ) : null}
272
- </View>
273
- </TouchableOpacity>
274
- </View>
275
- </View>
276
- );
277
-
278
- return (
279
- <View style={[styles.container, props.style]} key={refresh}>
280
- <StatusBar
281
- translucent
282
- backgroundColor={Global.AppTheme.primary_color}
283
- barStyle="light-content"
284
- />
285
-
286
- {jsonoverlay && renderJsonModal()}
287
-
288
- <View style={styles.headerContent}>
289
- <TouchableOpacity
290
- style={styles.backButton}
291
- onPress={OnPressGoBack}
292
- >
293
- <Ionicons
294
- name={'chevron-back'}
295
- color='white'
296
- size={normalize(25)}
297
- />
298
- <View style={styles.logoContainer}>
299
- {Global.betaversion ? (
300
- <View style={styles.logoContainer} />
301
- ) : (
302
- <Image
303
- style={{
304
- width: normalize(100),
305
- height: normalize(40),
306
- resizeMode: 'contain',
307
- borderRadius: 8,
308
- }}
309
- source={{ uri: Global?.HospitalData?.hospitallogo3 ? Global.HospitalData.hospitallogo3 : null }}
310
- />
311
- )}
312
- </View>
313
- {Global.betaversion && renderBetaVersion()}
314
- </TouchableOpacity>
315
-
316
- {renderUserInfo()}
317
-
318
- {props.webview != undefined ? null : renderRightIcons()}
319
- </View>
320
-
321
- {overlay && (
322
- <OverlayHOCComponent
323
- visibility={val => (val == undefined ? null : setOverlay(val))}
324
- />
325
- )}
326
- {isShowSlidermenu && (
327
- <CSliderMenu
328
- navigation={navigation.navigate}
329
- isShow={isShowSlidermenu}
330
- visibility={(val) => (val == undefined ? null : setIsShowSlidermenu(val))}
331
- />
332
- )}
333
-
334
- {backHandler && (
335
- <CBackHandler
336
- type={5}
337
- callBack={(val) => (val == undefined ? null : (setBackHandler(val), navigation.goBack()))}
338
- close={(val) => (val == undefined ? null : setBackHandler(val))}
339
- />
340
- )}
341
-
342
- {backHandlerLogOut && (
343
- <CBackHandler
344
- type={6}
345
- callBack={(val) => (val == undefined ? null : (setBackHandlerLogOut(val), navigation.goBack()))}
346
- close={(val) => (val == undefined ? null : setBackHandlerLogOut(val))}
347
- />
348
- )}
349
- </View>
350
- );
351
- };
352
-
353
- export default HeaderBlock;