mirror of
https://github.com/Studio-Saelix/sencho.git
synced 2026-08-28 11:17:07 +00:00
feat(sidebar): inline label create, live sync, and kebab submenu parity (#706)
Portal-wrap DropdownMenuSubContent so the kebab Labels submenu renders outside the clipped dropdown container, matching ContextMenuSubContent and fixing the empty/broken kebab submenu. Thread onLabelsChanged from LabelsSection through SettingsModal to EditorLayout so label creates and deletes in Settings propagate to the sidebar menus without a page refresh. Add an inline "New label" form in both the kebab and context menu label submenus that creates and assigns a label in one interaction, removing the Settings round-trip from the label assignment flow.
This commit is contained in:
@@ -63,9 +63,10 @@ interface SettingsModalProps {
|
||||
isOpen: boolean;
|
||||
onClose: () => void;
|
||||
initialSection?: SectionId;
|
||||
onLabelsChanged?: () => void;
|
||||
}
|
||||
|
||||
export function SettingsModal({ isOpen, onClose, initialSection }: SettingsModalProps) {
|
||||
export function SettingsModal({ isOpen, onClose, initialSection, onLabelsChanged }: SettingsModalProps) {
|
||||
const { activeNode } = useNodes();
|
||||
const { isAdmin } = useAuth();
|
||||
const { license, isPaid } = useLicense();
|
||||
@@ -302,7 +303,7 @@ export function SettingsModal({ isOpen, onClose, initialSection }: SettingsModal
|
||||
case 'sso': return <SSOSection />;
|
||||
case 'api-tokens': return <ApiTokensSection />;
|
||||
case 'registries': return <RegistriesSection />;
|
||||
case 'labels': return <LabelsSection />;
|
||||
case 'labels': return <LabelsSection onLabelsChanged={onLabelsChanged} />;
|
||||
case 'system':
|
||||
return (
|
||||
<SystemSection
|
||||
|
||||
Reference in New Issue
Block a user