Improve ChoreCard.jsx logic for day_of_the_month frequency type
This commit is contained in:
parent
e1615d2c33
commit
2ad8dddf5b
2 changed files with 34 additions and 6 deletions
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "donetick",
|
"name": "donetick",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.1.77",
|
"version": "0.1.78",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"lint-staged": {
|
"lint-staged": {
|
||||||
"*.{js,jsx,ts,tsx}": [
|
"*.{js,jsx,ts,tsx}": [
|
||||||
|
|
|
@ -346,11 +346,39 @@ const ChoreCard = ({
|
||||||
return days.join(', ')
|
return days.join(', ')
|
||||||
}
|
}
|
||||||
} else if (chore.frequencyType === 'day_of_the_month') {
|
} else if (chore.frequencyType === 'day_of_the_month') {
|
||||||
|
let months = JSON.parse(chore.frequencyMetadata).months
|
||||||
|
if (months.length > 6) {
|
||||||
|
const allMonths = [
|
||||||
|
'January',
|
||||||
|
'February',
|
||||||
|
'March',
|
||||||
|
'April',
|
||||||
|
'May',
|
||||||
|
'June',
|
||||||
|
'July',
|
||||||
|
'August',
|
||||||
|
'September',
|
||||||
|
'October',
|
||||||
|
'November',
|
||||||
|
'December',
|
||||||
|
]
|
||||||
|
const selectedMonths = months.map(m => moment().month(m).format('MMMM'))
|
||||||
|
const notSelectedMonth = allMonths.filter(
|
||||||
|
month => !selectedMonths.includes(month),
|
||||||
|
)
|
||||||
|
const notSelectedShortMonths = notSelectedMonth.map(m =>
|
||||||
|
moment().month(m).format('MMM'),
|
||||||
|
)
|
||||||
|
return `${chore.frequency}${dayOfMonthSuffix(
|
||||||
|
chore.frequency,
|
||||||
|
)} except ${notSelectedShortMonths.join(', ')}`
|
||||||
|
} else {
|
||||||
let freqData = JSON.parse(chore.frequencyMetadata)
|
let freqData = JSON.parse(chore.frequencyMetadata)
|
||||||
const months = freqData.months.map(m => moment().month(m).format('MMM'))
|
const months = freqData.months.map(m => moment().month(m).format('MMM'))
|
||||||
return `${chore.frequency}${dayOfMonthSuffix(
|
return `${chore.frequency}${dayOfMonthSuffix(
|
||||||
chore.frequency,
|
chore.frequency,
|
||||||
)} of ${months.join(', ')}`
|
)} of ${months.join(', ')}`
|
||||||
|
}
|
||||||
} else if (chore.frequencyType === 'interval') {
|
} else if (chore.frequencyType === 'interval') {
|
||||||
return `Every ${chore.frequency} ${
|
return `Every ${chore.frequency} ${
|
||||||
JSON.parse(chore.frequencyMetadata).unit
|
JSON.parse(chore.frequencyMetadata).unit
|
||||||
|
|
Loading…
Add table
Reference in a new issue