From 66d3bc6c7b3b726e189dddc0ee821e812237b404 Mon Sep 17 00:00:00 2001 From: Mo Tarbin Date: Tue, 14 Jul 2026 12:59:47 -0400 Subject: [PATCH] fix: add ability to create label in label picker --- src/views/components/BaseOptionPicker.jsx | 4 ++ src/views/components/LabelsPickerField.jsx | 83 ++++++++++++++-------- 2 files changed, 59 insertions(+), 28 deletions(-) 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={() =>