Skip to content

Commit

Permalink
fix: open edition at 7 days
Browse files Browse the repository at this point in the history
  • Loading branch information
tangimds committed Oct 28, 2021
1 parent 1b25231 commit c4e7636
Show file tree
Hide file tree
Showing 9 changed files with 110 additions and 67 deletions.
7 changes: 3 additions & 4 deletions src/scenes/diary/diary-item.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ import React, {useEffect, useState, useRef} from 'react';
import {StyleSheet, View, TouchableOpacity} from 'react-native';
import PatientStateItem from './patient-state-item';
import {displayedCategories} from '../../utils/constants';
import {isToday, isYesterday, parseISO} from 'date-fns';
import NoDataDiaryItem from './no-data-diary-item';
import Notes from './notes';
import localStorage from '../../utils/localStorage';
import Posology from './posology';
import Beck from './beck';
import {startAtFirstQuestion} from '../survey/survey-data';
import {getScoreWithState} from '../../utils';
import {canEdit} from './diary';

const DiaryItem = ({navigation, patientState, date}) => {
const [customs, setCustoms] = useState([]);
Expand All @@ -25,7 +25,7 @@ const DiaryItem = ({navigation, patientState, date}) => {
}, [patientState]);

const handleEdit = (tab) => {
if (!(isToday(parseISO(date)) || isYesterday(parseISO(date)))) return;
if (!canEdit(date)) return;
const currentSurvey = {
date,
answers: patientState,
Expand All @@ -50,8 +50,7 @@ const DiaryItem = ({navigation, patientState, date}) => {
}).length;

const handlePressItem = () => {
if (!(isToday(parseISO(date)) || isYesterday(parseISO(date))))
return navigation.navigate('too-late', {date});
if (!canEdit(date)) return navigation.navigate('too-late', {date});
startAtFirstQuestion(date, navigation);
};

Expand Down
9 changes: 8 additions & 1 deletion src/scenes/diary/diary.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import DiaryItem from './diary-item';
import ContributeItem from './contribute-item';
import Header from '../../components/Header';
import {colors} from '../../utils/colors';
import {format, parseISO, isToday, isYesterday} from 'date-fns';
import {format, parseISO, isToday, isYesterday, compareAsc} from 'date-fns';
import {fr} from 'date-fns/locale';
import {firstLetterUppercase} from '../../utils/string-util';
import {useContext} from 'react';
Expand All @@ -20,9 +20,16 @@ import localStorage from '../../utils/localStorage';
import NPS from '../../services/NPS/NPS';
import Bubble from '../../components/bubble';
import ArrowUpSvg from '../../../assets/svg/arrow-up.svg';
import {beforeToday} from '../../utils/date/helpers';

const LIMIT_PER_PAGE = __DEV__ ? 3 : 30;

export const canEdit = (d) => {
const limitDate = beforeToday(7);
const canEditBool = compareAsc(parseISO(d), limitDate) === 1;
return canEditBool;
};

const Diary = ({navigation}) => {
const [diaryData] = useContext(DiaryDataContext);
const [NPSvisible, setNPSvisible] = useState(false);
Expand Down
9 changes: 7 additions & 2 deletions src/scenes/diary/no-data-diary-item.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,16 @@ import React from 'react';
import {StyleSheet, View} from 'react-native';
import Text from '../../components/MyText';
import {colors} from '../../utils/colors';
import {canEdit} from './diary';

const NoDataDiaryItem = () => {
const NoDataDiaryItem = ({date}) => {
return (
<View style={styles.textContainer}>
<Text style={styles.noDataTitle}>Vous n'avez rien saisi ce jour-là</Text>
<Text style={styles.noDataTitle}>
{canEdit(date)
? "Vous n'avez rien saisi ce jour-là"
: 'Vous ne pouvez plus saisir votre questionnaire pour ce jour'}
</Text>
</View>
);
};
Expand Down
10 changes: 4 additions & 6 deletions src/scenes/diary/notes.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {StyleSheet, View, TouchableOpacity} from 'react-native';
import Text from '../../components/MyText';
import Icon from '../../components/Icon';
import NoNote from './no-notes';
import {isToday, isYesterday, parseISO} from 'date-fns';
import {canEdit} from './diary';

const Notes = ({notes, date, onPress}) => {
if (
Expand All @@ -14,7 +14,7 @@ const Notes = ({notes, date, onPress}) => {
!notes?.notesSymptoms &&
!notes?.notesToxic)
) {
if (isToday(parseISO(date)) || isYesterday(parseISO(date))) {
if (canEdit(date)) {
return <NoNote onPress={onPress} />;
} else {
return null;
Expand Down Expand Up @@ -46,21 +46,19 @@ const Notes = ({notes, date, onPress}) => {
}
};

const canEdit = isToday(parseISO(date)) || isYesterday(parseISO(date));

return (
<View>
<View style={styles.divider} />
<TouchableOpacity
style={[
styles.container,
canEdit && {
canEdit(date) && {
borderRadius: 10,
backgroundColor: 'rgba(31, 198, 213, 0.2)',
},
]}
onPress={onPress}
disabled={!canEdit}>
disabled={!canEdit(date)}>
<Icon
icon="NotesSvg"
color="#58C8D2"
Expand Down
8 changes: 3 additions & 5 deletions src/scenes/diary/posology.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import React from 'react';
import {StyleSheet, View, TouchableOpacity} from 'react-native';
import Text from '../../components/MyText';
import Icon from '../../components/Icon';
import {isToday, isYesterday, parseISO} from 'date-fns';
import {colors} from '../../utils/colors';
import {canEdit} from './diary';

const Posology = ({data, date, onPress}) => {
if (!data || data.length === 0) {
Expand All @@ -25,21 +25,19 @@ const Posology = ({data, date, onPress}) => {
});
};

const canEdit = isToday(parseISO(date)) || isYesterday(parseISO(date));

return (
<View>
<View style={styles.divider} />
<TouchableOpacity
style={[
styles.container,
canEdit && {
canEdit(date) && {
borderRadius: 10,
backgroundColor: 'rgba(31, 198, 213, 0.2)',
},
]}
onPress={onPress}
disabled={!canEdit}>
disabled={!canEdit(date)}>
<Icon
icon="DrugsSvg"
color="#58C8D2"
Expand Down
8 changes: 2 additions & 6 deletions src/scenes/survey/notes-screen.js
Original file line number Diff line number Diff line change
Expand Up @@ -89,19 +89,15 @@ const Notes = ({navigation, route}) => {
parseISO(route.params?.currentSurvey?.date),
);

const {question, yesterdayQuestion} = availableData.find(
({id}) => id === categories.NOTES,
);
const {question} = availableData.find(({id}) => id === categories.NOTES);

return (
<SafeAreaView style={styles.safe}>
<BackButton onPress={previousQuestion} />
<ScrollView
style={styles.container}
contentContainerStyle={styles.scrollContainer}>
<Text style={styles.question}>
{isSurveyDateYesterday ? yesterdayQuestion : question}
</Text>
<Text style={styles.question}>{question}</Text>
<Text style={styles.title}>
Que m'est-il arrivé aujourd'hui (disputes, examens, ...) ?
</Text>
Expand Down
28 changes: 7 additions & 21 deletions src/scenes/survey/survey-data.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,7 @@ export const getCustomAvailableData = async () => {
res.push(
{
id: `${custom}_FREQUENCE`,
question: `A quelle fréquence avez-vous eu "${custom}" aujourd’hui ?`,
yesterdayQuestion: `A quelle fréquence avez-vous eu "${custom}" hier ?`,
question: `A quelle fréquence avez-vous eu "${custom}" {{date}} ?`,
answers: [
frequence.NEVER,
frequence.SEVERAL_TIMES,
Expand All @@ -65,7 +64,6 @@ export const getCustomAvailableData = async () => {
{
id: `${custom}_INTENSITY`,
question: 'A quel point cela a-t-il été pénible ?',
yesterdayQuestion: 'A quel point cela a-t-il été pénible ?',
answers: [intensity.LIGHT, intensity.MIDDLE, intensity.HIGH],
dynamic: true,
custom: true,
Expand All @@ -85,8 +83,7 @@ export const availableData = [
},
{
id: categories.MOOD,
question: 'Comment a été votre humeur aujourd’hui ?',
yesterdayQuestion: 'Comment a été votre humeur hier ?',
question: 'Comment a été votre humeur {{date}} ?',
answers: [
categoryStates.VERY_GOOD,
categoryStates.GOOD,
Expand All @@ -102,8 +99,7 @@ export const availableData = [
},
{
id: categories.ANXIETY_FREQUENCE,
question: 'Combien de temps vous êtes-vous senti anxieux aujourd’hui ?',
yesterdayQuestion: 'Combien de temps vous êtes-vous senti anxieux hier ?',
question: 'Combien de temps vous êtes-vous senti anxieux {{date}} ?',
answers: [frequence.NEVER, frequence.SEVERAL_TIMES, frequence.MANY_TIMES],
explanation:
'L’anxiété est un état d’appréhension, d’inquiétude, de peur ou de tension, désagréable, qui peut être ou non associé à un facteur de stress.',
Expand All @@ -112,16 +108,14 @@ export const availableData = [
{
id: categories.ANXIETY_INTENSITY,
question: 'A quel point cela a-t-il été pénible ?',
yesterdayQuestion: 'A quel point cela a-t-il été pénible ?',
answers: [intensity.LIGHT, intensity.MIDDLE, intensity.HIGH],
explanation:
'L’anxiété est un état d’appréhension, d’inquiétude, de peur ou de tension, désagréable, qui peut être ou non associé à un facteur de stress.',
dynamic: true,
},
{
id: categories.BADTHOUGHTS_FREQUENCE,
question: 'Avez-vous eu des pensées parasites aujourd’hui ?',
yesterdayQuestion: 'Avez-vous eu des pensées parasites hier ?',
question: 'Avez-vous eu des pensées parasites {{date}} ?',
answers: [frequence.NEVER, frequence.SEVERAL_TIMES, frequence.MANY_TIMES],

explanation:
Expand All @@ -132,8 +126,6 @@ export const availableData = [
id: categories.BADTHOUGHTS_INTENSITY,
question:
'A quel point ces pensées parasites ont été désagréables/pénibles ?',
yesterdayQuestion:
'A quel point ces pensées parasites ont été désagréables/pénibles ?',
answers: [intensity.LIGHT, intensity.MIDDLE, intensity.HIGH],
explanation:
'Ce sont des pensées que l’on ne contrôle pas. Elles peuvent nous envahir sans que l’on ne puisse rien y faire, ou pas beaucoup. Elles peuvent être tristes, angoissantes, effrayantes, gênantes, absurdes … On n’arrive pas à s’en débarrasser et, parfois, on n’arrive pas à penser à autre chose. On peut finir par se sentir triste, en colère, avoir peur ou devenir méfiant, parfois au point de ne plus rien pouvoir faire.',
Expand All @@ -142,9 +134,7 @@ export const availableData = [
{
id: categories.SENSATIONS_FREQUENCE,
question:
'A quelle fréquence les sensations étranges ou les hallucinations ont été présentes aujourd’hui ?',
yesterdayQuestion:
'A quelle fréquence les sensations étranges ou les hallucinations ont été présentes hier ?',
'A quelle fréquence les sensations étranges ou les hallucinations ont été présentes {{date}} ?',
answers: [frequence.NEVER, frequence.SEVERAL_TIMES, frequence.MANY_TIMES],
explanation:
'Elles regroupent un ensemble de phénomènes qui se rattachent à nos 5 sens : la vue, l’ouïe, l’odorat, le toucher et le goût. \n' +
Expand All @@ -164,7 +154,6 @@ export const availableData = [
{
id: categories.SENSATIONS_INTENSITY,
question: 'A quel point leur présence a-t-elle été pénible ?',
yesterdayQuestion: 'A quel point leur présence a-t-elle été pénible ?',
answers: [intensity.LIGHT, intensity.MIDDLE, intensity.HIGH],
explanation:
'Elles regroupent un ensemble de phénomènes qui se rattachent à nos 5 sens : la vue, l’ouïe, l’odorat, le toucher et le goût. \n' +
Expand All @@ -183,9 +172,8 @@ export const availableData = [
},
{
id: categories.SLEEP,
question: 'Selon vous, quelle est la qualité générale de votre nuit ?',
yesterdayQuestion:
'Selon vous, quelle est la qualité générale de votre nuit d’hier ?',
question:
'Selon vous, quelle est la qualité générale de votre nuit {{date}}?',
answers: [
categoryStates.VERY_GOOD,
categoryStates.GOOD,
Expand All @@ -202,8 +190,6 @@ export const availableData = [
{
id: categories.NOTES,
question: 'Ajoutez un commentaire sur votre journée si vous le souhaitez',
yesterdayQuestion:
"Ajoutez un commentaire sur votre journée d'hier si vous le souhaitez",
},
];

Expand Down
Loading

0 comments on commit c4e7636

Please sign in to comment.