"use client" import { OrgSettingsSection } from "@/components/admin/settings/org-settings-form" import { DeployLockedHint, useDeployFieldLocked } from "@/components/admin/settings/deploy-locked-hint" import { useOrgSettingsStore } from "@/lib/admin-settings/org-settings-store" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Switch } from "@/components/ui/switch" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" export function SearchSection() { const search = useOrgSettingsStore((s) => s.search) const setSearch = useOrgSettingsStore((s) => s.setSearch) const effective = useOrgSettingsStore((s) => s.meta?.effective.search) const brave = search.web_search.providers[0] const engineLocked = useDeployFieldLocked("search", "suite_engine") const meiliURLLocked = useDeployFieldLocked("search", "meilisearch_url") const meiliKeyLocked = useDeployFieldLocked("search", "meilisearch_api_key") const typesenseURLLocked = useDeployFieldLocked("search", "typesense_url") const typesenseKeyLocked = useDeployFieldLocked("search", "typesense_api_key") const suiteEngine = engineLocked ? ((effective?.suite_engine as typeof search.suite_engine) ?? search.suite_engine) : search.suite_engine const meiliURL = meiliURLLocked ? (effective?.meilisearch_url ?? search.meilisearch_url) : search.meilisearch_url const typesenseURL = typesenseURLLocked ? (effective?.typesense_url ?? search.typesense_url) : search.typesense_url return ( Recherche suite Moteur d'indexation pour la recherche globale (variables SEARCH_ENGINE côté serveur). {engineLocked ? : null}
{suiteEngine === "meilisearch" ? (
setSearch({ meilisearch_url: e.target.value })} />
setSearch({ meilisearch_api_key: e.target.value })} placeholder={meiliKeyLocked ? "Défini via MEILISEARCH_API_KEY" : undefined} />
) : null} {suiteEngine === "typesense" ? (
setSearch({ typesense_url: e.target.value })} />
setSearch({ typesense_api_key: e.target.value })} placeholder={typesenseKeyLocked ? "Défini via TYPESENSE_API_KEY" : undefined} />
) : null}
Recherche web (Brave) Utilisée pour l'enrichissement IA des contacts.
setSearch({ web_search: { default_provider_id: "brave-default", providers: [ { id: "brave-default", name: "Brave Search", type: "brave", api_key: e.target.value, }, ], }, }) } />
) }