"use client" import { useEffect, useState } from "react" import { OrgSettingsSection } from "@/components/admin/settings/org-settings-form" import { SettingsCard, SettingsField, SettingsToggleRow, } from "@/components/settings/settings-kit" import { AutomationTabMasonry } from "@/components/gmail/settings/automation/automation-tab-masonry" import { AgendaVideoProviderSelectLabel } from "@/components/agenda/agenda-video-provider-select-label" import { useOrgSettingsStore } from "@/lib/admin-settings/org-settings-store" import { AGENDA_VIDEO_PROVIDER_LABELS, AGENDA_VIDEO_PROVIDERS, type AgendaVideoProvider, } from "@/lib/agenda/agenda-settings-types" import { Input } from "@/components/ui/input" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select" import { ULTICAL_APP_NAME } from "@/lib/suite/page-metadata" const THEME_OPTIONS: { id: MailThemeMode; label: string }[] = [ { id: "light", label: "Clair" }, { id: "dark", label: "Sombre" }, { id: "system", label: "Système" }, ] export function AgendaSection() { const agenda = useOrgSettingsStore((s) => s.agenda) const setAgenda = useOrgSettingsStore((s) => s.setAgenda) const [draft, setDraft] = useState(agenda) useEffect(() => { setDraft(agenda) }, [agenda]) const updateApiKey = (provider: AgendaVideoProvider, value: string) => { setDraft((prev) => ({ ...prev, video_provider_api_keys: { ...prev.video_provider_api_keys, [provider]: value, }, })) } return ( setAgenda(draft)} > setDraft((p) => ({ ...p, enforce_org_theme: v }))} /> setDraft((p) => ({ ...p, enforce_org_video_provider: v }))} /> {(["zoom", "google_meet", "teams", "jitsi"] as AgendaVideoProvider[]).map( (provider) => ( updateApiKey(provider, e.target.value)} /> ), )} ) }