"use client"; import { Button } from "@workspace/ui/components/button"; import { Input } from "@workspace/ui/components/input"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@workspace/ui/components/select"; import { Combobox } from "@workspace/ui/composed/combobox"; import { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; export function UserSearchBar({ initialType, initialValue, onSearch, subscribes, }: { initialType: string; initialValue: string; onSearch: (type: string, value: string) => void; subscribes?: API.SubscribeItem[]; }) { const { t } = useTranslation("user"); const [searchType, setSearchType] = useState(initialType); const [searchValue, setSearchValue] = useState(initialValue); useEffect(() => { setSearchType(initialType); setSearchValue(initialValue); }, [initialType, initialValue]); return (
{searchType === "subscribe_id" ? ( { setSearchValue(value); onSearch("subscribe_id", value); }} options={subscribes?.map((item) => ({ label: item.name!, value: String(item.id!), }))} placeholder={t("subscription", "Subscription")} value={searchValue} /> ) : ( <> setSearchValue(e.target.value)} onKeyDown={(e) => e.key === "Enter" && onSearch(searchType, searchValue) } placeholder={t("searchInputPlaceholder", "Enter search term")} value={searchValue} /> {searchValue && ( )} )}
); }