diff options
author | Mo Tarbin <mhed.t91@gmail.com> | 2024-09-06 01:22:55 -0400 |
---|---|---|
committer | Mo Tarbin <mhed.t91@gmail.com> | 2024-09-06 01:22:55 -0400 |
commit | 2d2cf6d378d92aac31b3b09506bc6310466a0b07 (patch) | |
tree | a06c0135171256e9f28512dc840976615e802675 /src/views/Chores/ChoreCard.jsx | |
parent | c35801d00fef528a87d226ed9e48cd3ba7856c50 (diff) | |
parent | 240633177cc646e6662f27e1334b5e83d962170d (diff) | |
download | donetick-frontend-2d2cf6d378d92aac31b3b09506bc6310466a0b07.tar.gz donetick-frontend-2d2cf6d378d92aac31b3b09506bc6310466a0b07.tar.bz2 donetick-frontend-2d2cf6d378d92aac31b3b09506bc6310466a0b07.zip |
- Add Cookie Permission component
- Add Filter button instead of chips in mychores view
- show except days instead of showing evenything when days.length>4
Diffstat (limited to '')
-rw-r--r-- | src/views/Chores/ChoreCard.jsx | 49 |
1 files changed, 39 insertions, 10 deletions
diff --git a/src/views/Chores/ChoreCard.jsx b/src/views/Chores/ChoreCard.jsx index 97e407a..29ee933 100644 --- a/src/views/Chores/ChoreCard.jsx +++ b/src/views/Chores/ChoreCard.jsx @@ -3,7 +3,6 @@ import { Check, Delete, Edit, - HowToReg, KeyboardDoubleArrowUp, LocalOffer, ManageSearch, @@ -39,7 +38,11 @@ import moment from 'moment' import React, { useEffect } from 'react' import { useNavigate } from 'react-router-dom' import { API_URL } from '../../Config' -import { MarkChoreComplete, SkipChore } from '../../utils/Fetcher' +import { + MarkChoreComplete, + SkipChore, + UpdateChoreAssignee, +} from '../../utils/Fetcher' import { Fetch } from '../../utils/TokenManager' import ConfirmationModal from '../Modals/Inputs/ConfirmationModal' import DateModal from '../Modals/Inputs/DateModal' @@ -219,7 +222,14 @@ const ChoreCard = ({ }) } const handleAssigneChange = assigneeId => { - // TODO: Implement assignee change + UpdateChoreAssignee(chore.id, assigneeId).then(response => { + if (response.ok) { + response.json().then(data => { + const newChore = data.res + onChoreUpdate(newChore, 'assigned') + }) + } + }) } const handleCompleteWithNote = note => { Fetch(`${API_URL}/chores/${chore.id}/do`, { @@ -305,8 +315,28 @@ const ChoreCard = ({ return 'Yearly' } else if (chore.frequencyType === 'days_of_the_week') { let days = JSON.parse(chore.frequencyMetadata).days - days = days.map(d => moment().day(d).format('ddd')) - return days.join(', ') + if (days.length > 4) { + const allDays = [ + 'Sunday', + 'Monday', + 'Tuesday', + 'Wednesday', + 'Thursday', + 'Friday', + 'Saturday', + ] + const selectedDays = days.map(d => moment().day(d).format('dddd')) + const notSelectedDay = allDays.filter( + day => !selectedDays.includes(day), + ) + const notSelectedShortdays = notSelectedDay.map(d => + moment().day(d).format('ddd'), + ) + return `Daily except ${notSelectedShortdays.join(', ')}` + } else { + days = days.map(d => moment().day(d).format('ddd')) + return days.join(', ') + } } else if (chore.frequencyType === 'day_of_the_month') { let freqData = JSON.parse(chore.frequencyMetadata) const months = freqData.months.map(m => moment().month(m).format('MMM')) @@ -547,10 +577,6 @@ const ChoreCard = ({ <RecordVoiceOver /> Delegate to someone else </MenuItem> - <MenuItem> - <HowToReg /> - Complete as someone else - </MenuItem> <Divider /> <MenuItem onClick={() => { @@ -620,10 +646,13 @@ const ChoreCard = ({ options={performers} displayKey='displayName' title={`Delegate to someone else`} + placeholder={'Select a performer'} onClose={() => { setIsChangeAssigneeModalOpen(false) }} - onSave={handleAssigneChange} + onSave={selected => { + handleAssigneChange(selected.id) + }} /> <ConfirmationModal config={confirmModelConfig} /> <TextModal |