From 62151cf913987f23ae0e3392ffe5f089ac0174ba Mon Sep 17 00:00:00 2001 From: Kefas Satrio Bangkit Solideantyo Date: Mon, 17 May 2021 14:27:39 +0700 Subject: [PATCH 1/7] [CHORES] change chat and diet report icon --- assets/images/chat.png | Bin 676 -> 0 bytes assets/images/diet_report.png | Bin 430 -> 0 bytes assets/images/diet_report.svg | 4 ---- assets/images/index.ts | 3 --- .../components/ChatButton/index.tsx | 6 +++--- .../components/ChatButton/styles.ts | 5 +---- .../components/DietReportButton/index.tsx | 6 +++--- .../components/DietReportButton/styles.ts | 5 +---- 8 files changed, 8 insertions(+), 21 deletions(-) delete mode 100644 assets/images/chat.png delete mode 100644 assets/images/diet_report.png delete mode 100644 assets/images/diet_report.svg diff --git a/assets/images/chat.png b/assets/images/chat.png deleted file mode 100644 index 1c1af4b99c51682604ded53c7999a999651aa793..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)3pjsK8j-58R5)+NZP;7!05yyop|kV`L$khk~UGT}pf7 z3|t|3+8vlrYY`9WS-#^8I%op~+QHW}%!{0dNQCa;CM8U4wd=x}9%|P|^n@XL$PL4X zrpuFdk9yEdeoI@UCLGbUFcz=_eb+5&rXnXjLf9jOg|)+pbO3w8_a%H^rA?t8@+;C2 zqxS%9F+rlkkKW6cd8#LZKIro9kzKF?DzGDtXmZx8CdYQDUtOP}7VQg?^c2$O9MK-i z3mBtfyP1LVIe-#=V#ZyFPbk+&g~%+Nnrx%*6l5IHvEui{o0sBzF(nSVfc7m58osB}1R@ATPI&wwN;O5kc?%|`j zO(;x{1(Lp&peduKrHNncAu6Cpnx1xrbR+_}KXo!;Ob>c*gZ?9}E&q?$)y8eI?9A5C(cMpM<5llZH>63ex#OX08 zH|{?r4oFfXgqk6n&}^=8KI3#>fr@x&zDkn7sX=tDO<)2yJ;}l(x@>xw#0%Jkjw|#i z2T*?=**E}d6d&j5qBn1y#Y29V*=YpKYp3%FsG86#(I``W z$lZxy-8q?;Kn_c~qpu?a!^VE@KZ&eBIcHB7$B+ufw=>`JHW>)C-Iri5Xz6>vk)xFN zfbAaJu10N(Ccg(9uUK|5esl84VqH=oWBSGOUdtW+3a51!_!rDudiLlt0gq>Q%3B)^ z%=k}m{Js=ETer$!^~%rDaS0Y2wnttsX&0$;exYG^c!z*hN5Ae_0j8tL6Vf;sA8qt7 zZkhJT(9^g@?9oObDgVgO%eaN@qh*P~xvx^p6P@3QpR;rjSo`h7#o~PzzbU%1oLv1R zNw%X`B~$lbP}FPdw?$hjt4y2EU-eZ^_Q=n97pLpoQ1U8MchVNIOUxg8ilSa_cHXJ0 z*tF%#)n_4r^-dG6T#oWdQn;7(imj`~>+`R7Pp - - - diff --git a/assets/images/index.ts b/assets/images/index.ts index 2d445b7..71c4378 100644 --- a/assets/images/index.ts +++ b/assets/images/index.ts @@ -5,6 +5,3 @@ export const default_nutritionist = require('./default_nutritionist.png'); export const googleLogo = require('./google_logo.png'); export const dietelaLogo = require('./dietela_logo.png'); - -export const diet_report = require('./diet_report.png'); -export const chat = require('./chat.png'); diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/ChatButton/index.tsx b/src/scenes/nutritionist/ClientListNutritionist/components/ChatButton/index.tsx index 62ca6f7..ed9d63f 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/ChatButton/index.tsx +++ b/src/scenes/nutritionist/ClientListNutritionist/components/ChatButton/index.tsx @@ -1,17 +1,17 @@ import React, { FC } from 'react'; -import { TouchableOpacity, Text, Image } from 'react-native'; -import { chat } from 'assets/images'; +import { TouchableOpacity, Text } from 'react-native'; import { styles } from './styles'; import { Props } from './types'; import { typographyStyles } from 'styles'; +import { Icon } from 'react-native-elements'; const ChatButton: FC = ({ onPress, testID }) => ( - + Chat ); diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/ChatButton/styles.ts b/src/scenes/nutritionist/ClientListNutritionist/components/ChatButton/styles.ts index 86c0c54..de89074 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/ChatButton/styles.ts +++ b/src/scenes/nutritionist/ClientListNutritionist/components/ChatButton/styles.ts @@ -15,9 +15,6 @@ export const styles = StyleSheet.create({ alignItems: 'center', }, img: { - width: 20, - height: 20, - marginRight: 10, - marginLeft: -5, + marginRight: 5, }, }); diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/index.tsx b/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/index.tsx index f5c8dde..a3efeaf 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/index.tsx +++ b/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/index.tsx @@ -1,17 +1,17 @@ import React, { FC } from 'react'; -import { TouchableOpacity, Text, Image } from 'react-native'; -import { diet_report } from 'assets/images'; +import { TouchableOpacity, Text } from 'react-native'; import { styles } from './styles'; import { Props } from './types'; import { typographyStyles } from 'styles'; +import { Icon } from 'react-native-elements'; const DietReportButton: FC = ({ onPress, testID }) => ( - + Diet Report diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/styles.ts b/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/styles.ts index b75846b..b35b24b 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/styles.ts +++ b/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/styles.ts @@ -13,9 +13,6 @@ export const styles = StyleSheet.create({ alignItems: 'center', }, img: { - width: 20, - height: 20, - marginRight: 10, - marginLeft: -5, + marginRight: 5, }, }); -- GitLab From d09b1bbd12ea93f32fcd67d8d08a6a44a6249c7b Mon Sep 17 00:00:00 2001 From: Kefas Satrio Bangkit Solideantyo Date: Mon, 17 May 2021 15:22:39 +0700 Subject: [PATCH 2/7] [RED] add test for diet profile button --- .../DietProfileButton/index.test.tsx | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.test.tsx diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.test.tsx b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.test.tsx new file mode 100644 index 0000000..b4e2af3 --- /dev/null +++ b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.test.tsx @@ -0,0 +1,32 @@ +import React from 'react'; +import { render, fireEvent } from '@testing-library/react-native'; + +import DietProfileButton from '.'; + +describe('DietProfileButton', () => { + it('renders correctly when active', () => { + render( console.log('cool')} />); + }); + + it('renders correctly when disabled', () => { + render( console.log('cool')} disabled />); + }); + + it('renders correctly when given a testID', () => { + render( + console.log('cool')} testID="button" />, + ); + }); + + it('executes onPress callback when button is pressed', async () => { + let isPressed = false; + + const { getByText } = render( + (isPressed = true)} testID="button" />, + ); + + const button = getByText(/profil diet/i); + fireEvent.press(button); + expect(isPressed).toBeTruthy(); + }); +}); -- GitLab From 9bc8c395e1543088aa6ebdbbe1fed99630b207ad Mon Sep 17 00:00:00 2001 From: Kefas Satrio Bangkit Solideantyo Date: Mon, 17 May 2021 15:23:09 +0700 Subject: [PATCH 3/7] [GREEN] add diet profile button --- .../ClientCardNutritionist/index.tsx | 11 +++++----- .../ClientCardNutritionist/styles.ts | 3 --- .../components/DietProfileButton/index.tsx | 21 +++++++++++++++++++ .../components/DietProfileButton/styles.ts | 20 ++++++++++++++++++ .../components/DietProfileButton/types.ts | 6 ++++++ .../DietReportButton/index.test.tsx | 2 +- .../components/DietReportButton/index.tsx | 2 +- 7 files changed, 55 insertions(+), 10 deletions(-) create mode 100644 src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.tsx create mode 100644 src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/styles.ts create mode 100644 src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/types.ts diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/index.tsx b/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/index.tsx index 6485a13..0287b2f 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/index.tsx +++ b/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/index.tsx @@ -7,6 +7,7 @@ import { typographyStyles } from 'styles'; import { styles } from './styles'; import { Props } from './types'; import DietReportButton from '../DietReportButton'; +import DietProfileButton from '../DietProfileButton'; import ChatButton from '../ChatButton'; const ClientCardNutritionist: FC = ({ @@ -18,11 +19,7 @@ const ClientCardNutritionist: FC = ({ return ( {clientName} @@ -30,6 +27,10 @@ const ClientCardNutritionist: FC = ({ onPress={onPressClientDietReport} testID="dietReportButton" /> + ); diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/styles.ts b/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/styles.ts index 9a14e2b..2b582c3 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/styles.ts +++ b/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/styles.ts @@ -5,9 +5,6 @@ export const styles = StyleSheet.create({ spacing: { marginBottom: 14, }, - clickableText: { - textDecorationLine: 'underline', - }, cardContainer: { alignSelf: 'stretch', padding: 20, diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.tsx b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.tsx new file mode 100644 index 0000000..417cb58 --- /dev/null +++ b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.tsx @@ -0,0 +1,21 @@ +import React, { FC } from 'react'; +import { TouchableOpacity, Text } from 'react-native'; + +import { styles } from './styles'; +import { Props } from './types'; +import { typographyStyles } from 'styles'; +import { Icon } from 'react-native-elements'; + +const DietProfileButton: FC = ({ onPress, testID }) => ( + + + + Profil Diet + + +); + +export default DietProfileButton; diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/styles.ts b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/styles.ts new file mode 100644 index 0000000..de89074 --- /dev/null +++ b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/styles.ts @@ -0,0 +1,20 @@ +import { StyleSheet } from 'react-native'; +import { colors } from 'styles'; + +export const styles = StyleSheet.create({ + titleStyle: { color: colors.textBlack, textTransform: 'capitalize' }, + containerStyle: { + marginTop: 12, + padding: 12, + overflow: 'hidden', + borderRadius: 4, + borderWidth: 1, + backgroundColor: undefined, + flexDirection: 'row', + justifyContent: 'center', + alignItems: 'center', + }, + img: { + marginRight: 5, + }, +}); diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/types.ts b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/types.ts new file mode 100644 index 0000000..dde5e0a --- /dev/null +++ b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/types.ts @@ -0,0 +1,6 @@ +export interface Props { + onPress: () => void; + loading?: boolean; + disabled?: true; + testID?: string; +} diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/index.test.tsx b/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/index.test.tsx index 4c3dbea..d985fb5 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/index.test.tsx +++ b/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/index.test.tsx @@ -25,7 +25,7 @@ describe('DietReportButton', () => { (isPressed = true)} testID="button" />, ); - const button = getByText(/diet report/i); + const button = getByText(/laporan diet/i); fireEvent.press(button); expect(isPressed).toBeTruthy(); }); diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/index.tsx b/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/index.tsx index a3efeaf..ecb371c 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/index.tsx +++ b/src/scenes/nutritionist/ClientListNutritionist/components/DietReportButton/index.tsx @@ -13,7 +13,7 @@ const DietReportButton: FC = ({ onPress, testID }) => ( style={styles.containerStyle}> - Diet Report + Laporan Diet ); -- GitLab From 4081947ed85d0fe1c4ddb85718e30132a65e1abf Mon Sep 17 00:00:00 2001 From: Kefas Satrio Bangkit Solideantyo Date: Mon, 17 May 2021 15:37:14 +0700 Subject: [PATCH 4/7] [REFACTOR] add EmptyDataPage to index.ts --- src/components/core/index.ts | 1 + src/scenes/questionnaire/ReadOnlyDietProfile/index.tsx | 8 ++++++-- .../questionnaire/ReadOnlyDietRecommendation/index.tsx | 3 +-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/components/core/index.ts b/src/components/core/index.ts index a587993..fc2790f 100644 --- a/src/components/core/index.ts +++ b/src/components/core/index.ts @@ -8,3 +8,4 @@ export { default as ResultCard } from './ResultCard'; export { default as Statistic } from './Statistic'; export { default as Toast } from 'react-native-toast-message'; export { default as WizardContainer } from './WizardContainer'; +export { default as EmptyDataPage } from './EmptyDataPage'; diff --git a/src/scenes/questionnaire/ReadOnlyDietProfile/index.tsx b/src/scenes/questionnaire/ReadOnlyDietProfile/index.tsx index cc8b361..cb269e0 100644 --- a/src/scenes/questionnaire/ReadOnlyDietProfile/index.tsx +++ b/src/scenes/questionnaire/ReadOnlyDietProfile/index.tsx @@ -5,13 +5,17 @@ import { layoutStyles } from 'styles'; import { useRoute } from '@react-navigation/native'; import React from 'react'; import { DietProfilePage } from './components'; -import { CarouselPagination, BigButton, Loader } from 'components/core'; +import { + CarouselPagination, + BigButton, + Loader, + EmptyDataPage, +} from 'components/core'; import Carousel from 'react-native-snap-carousel'; import { pages } from './pages'; import { useApi } from 'hooks'; import { retrieveDietQuestionnaireByIdApi } from 'services/dietQuestionnaire'; import { DietQuestionnaireResponse } from 'services/dietQuestionnaire/models'; -import EmptyDataPage from 'components/core/EmptyDataPage'; interface QuestionnaireID { id: number; diff --git a/src/scenes/questionnaire/ReadOnlyDietRecommendation/index.tsx b/src/scenes/questionnaire/ReadOnlyDietRecommendation/index.tsx index 6ea645d..f56a0e1 100644 --- a/src/scenes/questionnaire/ReadOnlyDietRecommendation/index.tsx +++ b/src/scenes/questionnaire/ReadOnlyDietRecommendation/index.tsx @@ -3,14 +3,13 @@ import { ScrollView, View } from 'react-native'; import { Text, Button } from 'react-native-elements'; import { WebView } from 'react-native-webview'; -import { InfoCard, Loader } from 'components/core'; +import { InfoCard, Loader, EmptyDataPage } from 'components/core'; import { layoutStyles } from 'styles'; import { useDownloadFiles } from 'hooks'; import { getAbsoluteUrl } from 'utils/format'; import { styles } from './styles'; import { Props } from './types'; -import EmptyDataPage from 'components/core/EmptyDataPage'; const ReadOnlyDietRecommendation: FC = ({ children, data }) => { const { download, pdfViewUrl, fileName } = useDownloadFiles( -- GitLab From fca3bcb1ab62506a7f35c8af8588fb48f5745564 Mon Sep 17 00:00:00 2001 From: Kefas Satrio Bangkit Solideantyo Date: Mon, 17 May 2021 16:33:17 +0700 Subject: [PATCH 5/7] [CHORES] change icon for diet profile button --- .../components/DietProfileButton/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.tsx b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.tsx index 417cb58..2c6a128 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.tsx +++ b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.tsx @@ -11,7 +11,7 @@ const DietProfileButton: FC = ({ onPress, testID }) => ( onPress={onPress} testID={testID} style={styles.containerStyle}> - + Profil Diet -- GitLab From 85b36a0c18666c8f0f643cafda87e4f4d50911f2 Mon Sep 17 00:00:00 2001 From: Kefas Satrio Bangkit Solideantyo Date: Mon, 17 May 2021 16:37:14 +0700 Subject: [PATCH 6/7] [CHORES] change profil diet to profil --- .../components/DietProfileButton/index.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.tsx b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.tsx index 2c6a128..34488e9 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.tsx +++ b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.tsx @@ -12,9 +12,7 @@ const DietProfileButton: FC = ({ onPress, testID }) => ( testID={testID} style={styles.containerStyle}> - - Profil Diet - + Profil ); -- GitLab From c65d233243f18178ae4e4ccee38dbe624f22388c Mon Sep 17 00:00:00 2001 From: Kefas Satrio Bangkit Solideantyo Date: Mon, 17 May 2021 18:51:19 +0700 Subject: [PATCH 7/7] [REFACTOR] fix failing test and change client list buttons styling --- .../components/ChatButton/styles.ts | 1 + .../components/ClientCardNutritionist/index.tsx | 12 +++++++----- .../components/ClientCardNutritionist/styles.ts | 5 +++++ .../components/DietProfileButton/index.test.tsx | 2 +- .../components/DietProfileButton/styles.ts | 1 + 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/ChatButton/styles.ts b/src/scenes/nutritionist/ClientListNutritionist/components/ChatButton/styles.ts index de89074..a90ee3e 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/ChatButton/styles.ts +++ b/src/scenes/nutritionist/ClientListNutritionist/components/ChatButton/styles.ts @@ -13,6 +13,7 @@ export const styles = StyleSheet.create({ flexDirection: 'row', justifyContent: 'center', alignItems: 'center', + width: 160, }, img: { marginRight: 5, diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/index.tsx b/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/index.tsx index 0287b2f..39d62f3 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/index.tsx +++ b/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/index.tsx @@ -27,11 +27,13 @@ const ClientCardNutritionist: FC = ({ onPress={onPressClientDietReport} testID="dietReportButton" /> - - + + + + ); }; diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/styles.ts b/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/styles.ts index 2b582c3..09e4d9d 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/styles.ts +++ b/src/scenes/nutritionist/ClientListNutritionist/components/ClientCardNutritionist/styles.ts @@ -12,4 +12,9 @@ export const styles = StyleSheet.create({ borderRadius: 10, backgroundColor: colors.lightYellow, }, + buttonsContainer: { + flexDirection: 'row', + alignSelf: 'stretch', + justifyContent: 'space-between', + }, }); diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.test.tsx b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.test.tsx index b4e2af3..2b8f38a 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.test.tsx +++ b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/index.test.tsx @@ -25,7 +25,7 @@ describe('DietProfileButton', () => { (isPressed = true)} testID="button" />, ); - const button = getByText(/profil diet/i); + const button = getByText(/profil/i); fireEvent.press(button); expect(isPressed).toBeTruthy(); }); diff --git a/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/styles.ts b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/styles.ts index de89074..a90ee3e 100644 --- a/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/styles.ts +++ b/src/scenes/nutritionist/ClientListNutritionist/components/DietProfileButton/styles.ts @@ -13,6 +13,7 @@ export const styles = StyleSheet.create({ flexDirection: 'row', justifyContent: 'center', alignItems: 'center', + width: 160, }, img: { marginRight: 5, -- GitLab