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) => void; value: MWQuery; } export function SearchBarInput(props: SearchBarProps) { const [dropdownOpen, setDropdownOpen] = useState(false); function setSearch(value: string) { props.onChange({ ...props.value, searchQuery: value, }); } function setType(type: string) { props.onChange({ ...props.value, type: type as MWMediaType, }); } return (
setSearch(val)} value={props.value.searchQuery} className="placeholder-denim-700 w-full flex-1 bg-transparent text-white 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"}
); }