"use client"; import { MultiSitesSelector, formatMultiSitesSelectorLabel } from "@app/components/multi-site-selector"; import { SitesSelector } from "@app/components/site-selector"; import type { Selectedsite } from "@app/components/site-selector"; import { Button } from "@app/components/ui/button"; import { FormControl, FormField, FormItem, FormLabel, FormMessage } from "@app/components/ui/form"; import { cn } from "@app/lib/cn"; import { Popover, PopoverContent, PopoverTrigger } from "@app/components/ui/popover"; import { ChevronsUpDown } from "lucide-react"; import { useTranslations } from "next-intl"; import type { Control, FieldPath, FieldValues } from "react-hook-form"; import { PrivateResourceMultiSiteRoutingHelp } from "@app/components/PrivateResourceMultiSiteRoutingHelp"; type PrivateResourceSitesFieldProps = { control: Control; orgId: string; selectedSites: Selectedsite[]; onSelectedSitesChange: (sites: Selectedsite[]) => void; siteIdsFieldName?: FieldPath; singleSite?: boolean; }; export function PrivateResourceSitesField({ control, orgId, selectedSites, onSelectedSitesChange, siteIdsFieldName = "siteIds" as FieldPath, singleSite = false }: PrivateResourceSitesFieldProps) { const t = useTranslations(); return ( ( {t("sites")} {singleSite ? ( { onSelectedSitesChange([site]); field.onChange([site.siteId]); }} /> ) : ( { onSelectedSitesChange(sites); field.onChange( sites.map((s) => s.siteId) ); }} /> )} {!singleSite && selectedSites.length > 1 ? ( ) : null} )} /> ); }