import { useState } from "react"; import { MWMediaType, MWQuery } from "@/providers"; import { DropdownButton } from "./buttons/DropdownButton"; import { Icons } from "./Icon"; import { TextInputControl } from "./text-inputs/TextInputControl"; export interface SearchBarProps { buttonText?: string; placeholder?: string; onChange: (value: MWQuery, force: boolean) => void; onUnFocus: () => void; value: MWQuery; } export function SearchBarInput(props: SearchBarProps) { const [dropdownOpen, setDropdownOpen] = useState(false); function setSearch(value: string) { props.onChange( { ...props.value, searchQuery: value, }, false ); } function setType(type: string) { props.onChange( { ...props.value, type: type as MWMediaType, }, true ); } return (
setSearch(val)} value={props.value.searchQuery} className="w-full flex-1 bg-transparent text-white placeholder-denim-700 focus:outline-none" placeholder={props.placeholder} /> setDropdownOpen(val)} selectedItem={props.value.type} setSelectedItem={(val) => setType(val)} options={[ { id: MWMediaType.MOVIE, name: "Movie", icon: Icons.FILM, }, { id: MWMediaType.SERIES, name: "Series", icon: Icons.CLAPPER_BOARD, }, // { // id: MWMediaType.ANIME, // name: "Anime", // icon: Icons.DRAGON, // }, ]} onClick={() => setDropdownOpen((old) => !old)} > {props.buttonText || "Search"}
); }