import { IconFolderExclamation, IconLoader2, IconX } from '@tabler/icons-react' import { Button } from '@/client/components/ui/button' import { cn } from '@/client/lib/cn' import { ComposerBannerShell } from './ComposerBanner' export type WorkspaceSkillUpdateAction = 'auto' | 'once' export type WorkspaceSkillUpdateBannerProps = { error: string | null pendingAction: WorkspaceSkillUpdateAction | null onUpdate: (action: WorkspaceSkillUpdateAction) => void onDismiss: () => void } export function WorkspaceSkillUpdateBanner({ error, pendingAction, onUpdate, onDismiss }: WorkspaceSkillUpdateBannerProps) { if (!error && pendingAction === 'auto') { return ( Updating moi skills… ) } const pending = pendingAction !== null return ( {error ? ( {`Update failed: ${error}`} ) : ( This workspace is using old moi skills )} onUpdate('auto')} disabled={pending} className="@xl:order-2" > {pendingAction === 'auto' && } {pendingAction === 'auto' ? 'Updating…' : 'Auto-update'} onUpdate('once')} disabled={pending} className="@xl:order-3" > {pendingAction === 'once' && } {pendingAction === 'once' ? 'Updating…' : 'Update once'} ) }