diff --git a/src/utils/Chores.jsx b/src/utils/Chores.jsx
index 74e5226..257e031 100644
--- a/src/utils/Chores.jsx
+++ b/src/utils/Chores.jsx
@@ -332,6 +332,9 @@ export const ChoreFilters = userId => ({
assigned_to_me: chore => {
return chore.assignedTo && chore.assignedTo === userId
},
+ available_for_me: chore => {
+ return chore.assignedTo === null || chore.assignedTo === userId
+ },
assigned_to_others: chore => {
return chore.assignedTo && chore.assignedTo !== userId
},
diff --git a/src/views/Chores/SortAndGrouping.jsx b/src/views/Chores/SortAndGrouping.jsx
index f11f8af..bf653ca 100644
--- a/src/views/Chores/SortAndGrouping.jsx
+++ b/src/views/Chores/SortAndGrouping.jsx
@@ -85,7 +85,12 @@ const SortAndGrouping = ({
{ name: 'Labels', value: 'labels' },
]
- const filterItems = ['anyone', 'assigned_to_me', 'assigned_to_others']
+ const filterItems = [
+ 'anyone',
+ 'assigned_to_me',
+ 'available_for_me',
+ 'assigned_to_others',
+ ]
// Total selectable items: 4 (group by) + 3 (filters) + 1 (create custom filter) = 8
const totalItems = groupByItems.length + filterItems.length + 1
@@ -169,6 +174,65 @@ const SortAndGrouping = ({
}
}, [])
+ const MenuItem_QuickFilter = props => {
+ return (
+
+ )
+ }
+
return (
<>
{!label && (
@@ -359,162 +423,33 @@ const SortAndGrouping = ({
-
+ index={4}
+ filterKey='anyone'
+ label='Anyone'
+ />
-
+ index={5}
+ filterKey='assigned_to_me'
+ label='Assigned to me'
+ />
-
+
+ {
- setFilter('assigned_to_others')
- handleMenuClose()
- }}
- onMouseEnter={() => setIsKeyboardNavigating(false)}
- sx={{
- borderRadius: 'var(--joy-radius-sm)',
- backgroundColor:
- selectedFilter === 'assigned_to_others'
- ? 'var(--joy-palette-primary-softBg)'
- : selectedIndex === 6 && anchorEl && isKeyboardNavigating
- ? 'var(--joy-palette-neutral-softHoverBg)'
- : 'transparent',
- '&:hover': {
- backgroundColor:
- selectedFilter === 'assigned_to_others'
- ? 'var(--joy-palette-primary-softBg)'
- : 'var(--joy-palette-neutral-softHoverBg)',
- },
- }}
- >
-
-
-
-
-
-
- Assigned to others
-
-
-
-
+ index={7}
+ filterKey='assigned_to_others'
+ label='Assigned to others'
+ />
@@ -528,7 +463,7 @@ const SortAndGrouping = ({
sx={{
borderRadius: 'var(--joy-radius-sm)',
backgroundColor:
- selectedIndex === 7 && anchorEl && isKeyboardNavigating
+ selectedIndex === 8 && anchorEl && isKeyboardNavigating
? 'var(--joy-palette-success-softHoverBg)'
: 'transparent',
'&:hover': {