import {
Button,
Input,
XStack,
YStack,
Dialog,
VisuallyHidden,
Separator,
} from '@junwon/aesthetics'
import { ArrowLeft, X } from '@tamagui/lucide-icons'
import { useState, useEffect, useRef } from 'react'
import { useSearch } from '@junwon/catalog-tech/hooks/useSearch'
interface SearchDialogProps {
open: boolean
onOpenChange: (open: boolean) => void
}
export const SearchInputDialog = ({ open, onOpenChange }: SearchDialogProps) => {
const searchInputLimit = 1000
const [searchQuery, setSearchQuery] = useState('')
const inputRef = useRef(null)
const { search } = useSearch()
useEffect(() => {
if (open) {
window.scrollTo(0, 0)
inputRef.current?.focus()
}
}, [open])
const handleSearch = () => {
search(searchQuery)
}
const handleSearchInput = (text: string) => {
if (text.length <= searchInputLimit) {
setSearchQuery(text)
}
}
return (
)
}
const BackButton = ({
onOpenChange,
setSearchQuery,
}: {
onOpenChange: (open: boolean) => void
setSearchQuery: (value: string) => void
}) => {
return (
)
}
const ClearButton = ({
searchQuery,
setSearchQuery,
}: {
searchQuery: string
setSearchQuery: (value: string) => void
}) => {
return (
)
}