import { create } from 'zustand' import { addonsApi } from '../api/client' interface Addon { id: string name: string description?: string type: string icon: string enabled: boolean config?: Record fields?: Array<{ key: string label: string input_type: string placeholder?: string | null required: boolean secret: boolean settings_key?: string | null payload_key?: string | null sort_order: number }> } interface AddonState { addons: Addon[] loaded: boolean loadAddons: () => Promise isEnabled: (id: string) => boolean } export const useAddonStore = create((set, get) => ({ addons: [], loaded: false, loadAddons: async () => { try { const data = await addonsApi.enabled() set({ addons: data.addons || [], loaded: true }) } catch { set({ loaded: true }) } }, isEnabled: (id: string) => { if (id === 'memories') { return get().addons.some(a => a.type === 'photo_provider' && a.enabled) } return get().addons.some(a => a.id === id && a.enabled) }, }))