"use client"; import React from "react"; import { ChevronDown, Search } from "lucide-react"; import { SEARCH_SCOPE, SEARCH_LIMITS, DEFAULT_SEARCH_LIMIT, } from "@/lib/frontend/search/urlState"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Skeleton } from "@/components/ui/skeleton"; import { DropdownMenu, DropdownMenuContent, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; const SCOPE_LABELS = Object.freeze({ [SEARCH_SCOPE.SINGLE]: "Diese Niederlassung", [SEARCH_SCOPE.MULTI]: "Mehrere Niederlassungen", [SEARCH_SCOPE.ALL]: "Alle Niederlassungen", }); export default function SearchForm({ branch, qDraft, onQDraftChange, onSubmit, currentQuery, isSubmitting, isAdminDev, scope, onScopeChange, availableBranches, branchesStatus, selectedBranches, onToggleBranch, limit, onLimitChange, }) { const canSearch = typeof qDraft === "string" && qDraft.trim().length > 0; const scopeLabel = SCOPE_LABELS[scope] || "Unbekannt"; const normalizedLimit = Number.isInteger(limit) && SEARCH_LIMITS.includes(limit) ? limit : DEFAULT_SEARCH_LIMIT; return (
Niederlassungen auswählen
Wählen Sie eine oder mehrere Niederlassungen. Die Suche wird nach jeder Änderung aktualisiert.
{branchesStatus === "loading" ? (Niederlassungen konnten nicht geladen werden.
) : (