diff --git a/admin-compliance/app/sdk/catalog-manager/page.tsx b/admin-compliance/app/sdk/catalog-manager/page.tsx new file mode 100644 index 0000000..6d2f46d --- /dev/null +++ b/admin-compliance/app/sdk/catalog-manager/page.tsx @@ -0,0 +1,7 @@ +'use client' + +import CatalogManagerContent from '@/components/catalog-manager/CatalogManagerContent' + +export default function CatalogManagerPage() { + return +} diff --git a/admin-compliance/components/sdk/Sidebar/SDKSidebar.tsx b/admin-compliance/components/sdk/Sidebar/SDKSidebar.tsx index 2ceb81b..d8dd61e 100644 --- a/admin-compliance/components/sdk/Sidebar/SDKSidebar.tsx +++ b/admin-compliance/components/sdk/Sidebar/SDKSidebar.tsx @@ -590,6 +590,18 @@ export function SDKSidebar({ collapsed = false, onCollapsedChange }: SDKSidebarP isActive={pathname === '/sdk/architecture'} collapsed={collapsed} /> + + + + } + label="Kataloge" + isActive={pathname === '/sdk/catalog-manager'} + collapsed={collapsed} + /> + e.id === entryId ? { ...e, data: { ...e.data, ...data }, updatedAt: new Date().toISOString() } : e + ), + }, + }) + } + + case 'DELETE_CUSTOM_CATALOG_ENTRY': { + const { catalogId, entryId } = action.payload + const items = state.customCatalogs[catalogId] || [] + return updateState({ + customCatalogs: { + ...state.customCatalogs, + [catalogId]: items.filter(e => e.id !== entryId), + }, + }) + } + case 'RESET_STATE': return { ...initialState, lastModified: new Date() } diff --git a/admin-compliance/lib/sdk/types.ts b/admin-compliance/lib/sdk/types.ts index e517d53..1b78322 100644 --- a/admin-compliance/lib/sdk/types.ts +++ b/admin-compliance/lib/sdk/types.ts @@ -5,6 +5,8 @@ * checkpoint system, and all compliance-related data structures. */ +import type { CustomCatalogs, CatalogId, CustomCatalogEntry } from './catalog-manager/types' + // ============================================================================= // ENUMS // ============================================================================= @@ -1536,6 +1538,9 @@ export interface SDKState { securityIssues: SecurityIssue[] securityBacklog: BacklogItem[] + // Catalog Manager + customCatalogs: CustomCatalogs + // UI State commandBarHistory: CommandHistory[] recentSearches: string[] @@ -1621,6 +1626,9 @@ export type SDKAction = | { type: 'UPDATE_BACKLOG_ITEM'; payload: { id: string; data: Partial } } | { type: 'ADD_COMMAND_HISTORY'; payload: CommandHistory } | { type: 'SET_PREFERENCES'; payload: Partial } + | { type: 'ADD_CUSTOM_CATALOG_ENTRY'; payload: CustomCatalogEntry } + | { type: 'UPDATE_CUSTOM_CATALOG_ENTRY'; payload: { catalogId: CatalogId; entryId: string; data: Record } } + | { type: 'DELETE_CUSTOM_CATALOG_ENTRY'; payload: { catalogId: CatalogId; entryId: string } } | { type: 'RESET_STATE' } // =============================================================================