import type { AppRegistryMeta } from 'officerdev'; import { Sparkles, GalleryHorizontalEnd, FolderOpen } from 'lucide-react'; import { Generate } from './Generate/Generate'; import { Gallery } from './Gallery/Gallery'; import { Collections } from './Collections/Collections'; // No component re-exports. `panels.ts` declares PANELS — the shell mounts them by key and there is no // way to export a component from a plugin. // // The three coordinate through the URL and one refresh channel, never through props: Gallery reads // `?selected=` for its lightbox AND `?collection=` for which images it is showing — the second // used to belong to the Collections panel, which rendered the detail inside the narrow list it was // selected from. Generate bumps `useAtelierRefresh` (officerdev/src/channels.ts) when a job finishes; // Gallery subscribes. See plugins/atelier/PLUGIN.md. // // `atelier-providers` was a fourth panel and is gone: providers are a dropdown at the top of Generate. // Removing a panel key rewrites saved layouts that name it — see dashboards/queries.ts — which the // install flow already handles by clearing this plugin's screen rows on install. export const appRegistryMetas: AppRegistryMeta[] = [ { key: 'atelier-collections', name: 'Collections', icon: FolderOpen, component: Collections, availableOnPanel: false }, { key: 'atelier-generate', name: 'Generate', icon: Sparkles, component: Generate, availableOnPanel: false }, { key: 'atelier-gallery', name: 'Gallery', icon: GalleryHorizontalEnd, component: Gallery, availableOnPanel: false }, ];