diff --git a/src/views/components/BaseOptionPicker.jsx b/src/views/components/BaseOptionPicker.jsx
index c176020..bac0434 100644
--- a/src/views/components/BaseOptionPicker.jsx
+++ b/src/views/components/BaseOptionPicker.jsx
@@ -23,6 +23,7 @@ const BaseOptionPicker = ({
getItemColor,
getTriggerText,
onClear,
+ menuFooter,
}) => {
const [isOpen, setIsOpen] = useState(false)
const buttonRef = useRef(null)
@@ -242,6 +243,9 @@ const BaseOptionPicker = ({
)
})}
+ {menuFooter && (
+ 0 ? 0.5 : 0 }}>{menuFooter}
+ )}
diff --git a/src/views/components/LabelsPickerField.jsx b/src/views/components/LabelsPickerField.jsx
index bf74602..ff27a4a 100644
--- a/src/views/components/LabelsPickerField.jsx
+++ b/src/views/components/LabelsPickerField.jsx
@@ -1,4 +1,7 @@
-import { Label } from '@mui/icons-material'
+import { Add, Label } from '@mui/icons-material'
+import { Button } from '@mui/joy'
+import { useState } from 'react'
+import LabelModal from '../Modals/Inputs/LabelModal'
import BaseOptionPicker from './BaseOptionPicker'
const LabelsPickerField = ({
@@ -8,6 +11,8 @@ const LabelsPickerField = ({
labels = [],
emptyDisplay = 'icon-text',
}) => {
+ const [createOpen, setCreateOpen] = useState(false)
+
const options = labels.map(label => ({
id: label.id,
name: label.name,
@@ -15,33 +20,55 @@ const LabelsPickerField = ({
}))
return (
- item.id}
- getItemLabel={item => item.name}
- getItemColor={item => item.color}
- renderTriggerIcon={() => }
- renderItemStart={({ item }) => (
-
- )}
- getTriggerText={({ selectedItems, isEmpty }) => {
- if (isEmpty) return 'Labels'
- if (selectedItems.length === 1) return selectedItems[0].name
- return `${selectedItems.length} labels`
- }}
- menuMinWidth={220}
- />
+ <>
+ item.id}
+ getItemLabel={item => item.name}
+ getItemColor={item => item.color}
+ renderTriggerIcon={() => }
+ renderItemStart={({ item }) => (
+
+ )}
+ getTriggerText={({ selectedItems, isEmpty }) => {
+ if (isEmpty) return 'Labels'
+ if (selectedItems.length === 1) return selectedItems[0].name
+ return `${selectedItems.length} labels`
+ }}
+ menuMinWidth={220}
+ menuFooter={
+ }
+ onClick={e => {
+ e.stopPropagation()
+ setCreateOpen(true)
+ }}
+ sx={{ width: '100%', justifyContent: 'flex-start' }}
+ >
+ Create label
+
+ }
+ />
+ setCreateOpen(false)}
+ label={null}
+ />
+ >
)
}