import type { AppRegistryMeta } from 'officerdev'; import { Inbox, Mail, MessageSquare } from 'lucide-react'; import { EmailList } from './EmailList'; import { EmailReader } from './EmailReader'; import { EmailChatPanel, EmailChatPanelHeader } from './EmailChatPanel'; // `panels.ts`, not `.tsx` — discovery checks for that exact name and refuses the plugin by name if it is // missing, so the JSX lives in EmailChatPanel.tsx and this file stays a declaration. // // No component re-exports: the shell mounts these by key, and there is no way to export a component from a // plugin. `availableOnPanel: false` throughout, because PluginScreen renders the workspace `locked` — these // are not swappable, and offering them in a picker would be a lie. export const appRegistryMetas: AppRegistryMeta[] = [ { key: 'email-list', name: 'Mail', icon: Inbox, component: EmailList, availableOnPanel: false }, { key: 'email-reader', name: 'Message', icon: Mail, component: EmailReader, availableOnPanel: false }, { key: 'email-chat', name: 'Email chat', icon: MessageSquare, component: EmailChatPanel, // The conversation picker, scoped to this mailbox's own directory. header: EmailChatPanelHeader, availableOnPanel: false, }, ];