67 | Please fill your email and password to login 68 |
69 |120 | Don't have an account? 121 |
122 | 126 | Register 127 | 128 |73 | Create an account and start using... 74 |
75 |134 | I have read and agree to the 135 |
136 | 140 | Terms & Conditions 141 | 142 |146 | Have an account? 147 |
148 | 152 | Login 153 | 154 |18 | The page you are looking for might have been removed, had its 19 | name changed, or is temporarily unavailable. 20 |
21 |Explore Today's Featured Picks!
72 |89 | {item.products?.edges.length} items 90 |
91 |29 | {item.description} 30 |
31 | )} 32 |13 | {`${new Intl.NumberFormat(undefined, { 14 | style: "currency", 15 | currency: currencyCode, 16 | currencyDisplay: "narrowSymbol", 17 | }).format(parseFloat(amount))}`} 18 | 21 | {currencyCode} 22 | 23 |
24 | ); 25 | 26 | export default Price; 27 | -------------------------------------------------------------------------------- /src/layouts/components/SearchBar.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { createUrl } from "@/lib/utils"; 4 | import { useRouter, useSearchParams } from "next/navigation"; 5 | import { useEffect, useState } from "react"; 6 | import { IoClose, IoSearch } from "react-icons/io5"; 7 | 8 | const SearchBar = () => { 9 | const router = useRouter(); 10 | const searchParams = useSearchParams(); 11 | const [isInputEditing, setInputEditing] = useState(false); 12 | const [inputValue, setInputValue] = useState(""); 13 | 14 | useEffect(() => { 15 | const inputField = document.getElementById( 16 | "searchInput", 17 | ) as HTMLInputElement; 18 | if (isInputEditing || searchParams.get("q")) { 19 | inputField.focus(); 20 | } 21 | }, [searchParams, isInputEditing]); 22 | 23 | const handleChange = (e: React.ChangeEvent128 | {currencySymbol} 129 | {minValue} {maxPriceData?.currencyCode || currencyCode} 130 |
131 |132 | {currencySymbol} 133 | {maxValue} {maxPriceData?.currencyCode || currencyCode} 134 |
135 |{humanize(type)}
79 |