diff --git a/src/views/ChoreEdit/ChoreEdit.jsx b/src/views/ChoreEdit/ChoreEdit.jsx
index a0c5fd4..958ab08 100644
--- a/src/views/ChoreEdit/ChoreEdit.jsx
+++ b/src/views/ChoreEdit/ChoreEdit.jsx
@@ -113,8 +113,8 @@ const ChoreEdit = () => {
if (assignedTo < 0) {
errors.assignedTo = 'Assigned to is required'
}
- if (frequencyType === 'interval' && frequency < 1) {
- errors.frequency = 'Frequency is required'
+ if (frequencyType === 'interval' && !frequency > 0) {
+ errors.frequency = `Invalid frequency, the ${frequencyMetadata.unit} should be > 0`
}
if (
frequencyType === 'days_of_the_week' &&
diff --git a/src/views/ChoreEdit/RepeatSection.jsx b/src/views/ChoreEdit/RepeatSection.jsx
index 94d16c8..f9a578c 100644
--- a/src/views/ChoreEdit/RepeatSection.jsx
+++ b/src/views/ChoreEdit/RepeatSection.jsx
@@ -1,5 +1,6 @@
import {
Box,
+ Button,
Card,
Checkbox,
Chip,
@@ -53,6 +54,30 @@ const MONTH_WITH_NO_31_DAYS = [
'september',
'november',
]
+const MONTHS = [
+ 'january',
+ 'february',
+ 'march',
+ 'april',
+ 'may',
+ 'june',
+ 'july',
+ 'august',
+ 'september',
+ 'october',
+ 'november',
+ 'december',
+]
+
+const DAYS = [
+ 'monday',
+ 'tuesday',
+ 'wednesday',
+ 'thursday',
+ 'friday',
+ 'saturday',
+ 'sunday',
+]
const RepeatOnSections = ({
frequencyType,
frequency,
@@ -99,12 +124,15 @@ const RepeatOnSections = ({
Every:
{
- if (e.target.value < 1) {
- e.target.value = 1
- }
onFrequencyUpdate(e.target.value)
}}
/>
@@ -142,19 +170,9 @@ const RepeatOnSections = ({
'--ListItem-radius': '20px',
}}
>
- {[
- 'monday',
- 'tuesday',
- 'wednesday',
- 'thursday',
- 'friday',
- 'saturday',
- 'sunday',
- ].map(item => (
+ {DAYS.map(item => (
{
const newDaysOfTheWeek = frequencyMetadata['days'] || []
@@ -180,6 +198,31 @@ const RepeatOnSections = ({
))}
+
{timePickerComponent}
@@ -207,35 +250,10 @@ const RepeatOnSections = ({
'--ListItem-radius': '20px',
}}
>
- {[
- 'january',
- 'february',
- 'march',
- 'april',
- 'may',
- 'june',
- 'july',
- 'august',
- 'september',
- 'october',
- 'november',
- 'december',
- ].map(item => (
+ {MONTHS.map(item => (
{
- // const newMonthsOfTheYear = {
- // ...monthsOfTheYear,
- // }
- // newMonthsOfTheYear[item] = !newMonthsOfTheYear[item]
- // onFrequencyMetadataUpdate({
- // months: newMonthsOfTheYear,
- // })
- // setMonthsOfTheYear(newMonthsOfTheYear)
- // }}
onClick={() => {
const newMonthsOfTheYear =
frequencyMetadata['months'] || []
@@ -263,6 +281,31 @@ const RepeatOnSections = ({
))}
+
{
}
const handleLabelFiltering = chipClicked => {
- console.log('chipClicked', chipClicked)
-
if (chipClicked.label) {
const label = chipClicked.label
const labelFiltered = [...chores].filter(chore =>
- chore.labelsV2.some(l => l.id === label.id),
+ chore.labelsV2.some(
+ l => l.id === label.id && l.created_by === label.created_by,
+ ),
)
- console.log('labelFiltered', labelFiltered)
setFilteredChores(labelFiltered)
setSelectedFilter('Label: ' + label.name)
} else if (chipClicked.priority) {
@@ -200,9 +199,7 @@ const MyChores = () => {
const fuse = new Fuse(
chores.map(c => ({
...c,
- raw_label: c.labelsV2
- .map(l => userLabels.find(x => x.id === l.id).name)
- .join(' '),
+ raw_label: c.labelsV2.map(c => c.name).join(' '),
})),
searchOptions,
)
@@ -287,7 +284,23 @@ const MyChores = () => {
}
- options={userLabels}
+ // TODO : this need simplification we want to display both user labels and chore labels
+ // that why we are merging them here.
+ // we also filter out the labels that user created as those will be part of user labels
+ options={[
+ ...userLabels,
+ ...chores
+ .map(c => c.labelsV2)
+ .flat()
+ .filter(l => l.created_by !== userProfile.id)
+ .map(l => {
+ // if user created it don't show it:
+ return {
+ ...l,
+ name: l.name + ' (Shared Label)',
+ }
+ }),
+ ]}
selectedItem={selectedFilter}
onItemSelect={selected => {
handleLabelFiltering({ label: selected })