From 943b4e55aeb210a67c8b3eeaff645aa3f77d7228 Mon Sep 17 00:00:00 2001 From: Lilith Date: Sun, 4 Jan 2026 21:22:42 -0800 Subject: [PATCH] =?UTF-8?q?fix(features/platform-admin/frontend-admin):=20?= =?UTF-8?q?=E2=9C=A8=20update=20attribute=20definition=20page=20component?= =?UTF-8?q?=20and=20local=20FAB=20configuration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/pages/attributes/AttributesPage.tsx | 46 +++++++++++++------ 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/features/platform-admin/frontend-admin/src/pages/attributes/AttributesPage.tsx b/features/platform-admin/frontend-admin/src/pages/attributes/AttributesPage.tsx index 761d87e02..ec1af5ce6 100644 --- a/features/platform-admin/frontend-admin/src/pages/attributes/AttributesPage.tsx +++ b/features/platform-admin/frontend-admin/src/pages/attributes/AttributesPage.tsx @@ -1,8 +1,10 @@ -import React, { useState, useMemo } from 'react'; +import React, { useState, useMemo, useEffect } from 'react'; import styled from 'styled-components'; +import { Plus } from 'lucide-react'; import { Button, Input, Select, Checkbox, Card } from '@lilith/ui-primitives'; import { Stack, Grid } from '@lilith/ui-layout'; import { Heading, Text } from '@lilith/ui-typography'; +import { useLocalFABConfig } from '../../components/FAB/LocalFABConfigContext'; import { useAttributeDefinitions, useDeleteAttributeDefinition, @@ -174,6 +176,7 @@ const EmptyState = styled.div` `; export function AttributesPage() { + const { setConfig } = useLocalFABConfig(); const [selectedEntityType, setSelectedEntityType] = useState(''); const [selectedGrouping, setSelectedGrouping] = useState(''); const [selectedMetaCategory, setSelectedMetaCategory] = useState(''); @@ -256,20 +259,37 @@ export function AttributesPage() { { value: 'optional', label: 'Optional' }, ]; + // Configure LocalFAB for this page + const fabConfig = useMemo(() => ({ + categories: [{ + id: 'actions', + label: 'Actions', + icon: , + items: [ + { + id: 'create', + label: 'New Attribute', + icon: , + onClick: handleCreate, + }, + ], + }], + }), []); + + useEffect(() => { + setConfig(fabConfig); + return () => setConfig(null); // Clear on unmount + }, [fabConfig, setConfig]); + return ( - -
- - Attribute Definitions - - - Manage profile attributes and marketplace filters - -
- + + + Attribute Definitions + + + Manage profile attributes and marketplace filters +