From b27b8436d11c09f05c4dd7980bb023cb03706708 Mon Sep 17 00:00:00 2001 From: "@jcarymuhammedow" Date: Sat, 7 Feb 2026 16:06:33 +0500 Subject: [PATCH] changed some color and fix some styles --- app/[locale]/cart/page.tsx | 1 + app/[locale]/category/[slug]/page.tsx | 4 +- app/[locale]/collections/[slug]/page.tsx | 4 +- app/[locale]/info/page.tsx | 124 +++++++++ app/[locale]/layout.tsx | 60 ++--- app/[locale]/orders/page.tsx | 4 +- app/[locale]/page.tsx | 2 +- app/[locale]/search/page.tsx | 23 ++ app/favicon.ico | Bin 15086 -> 182071 bytes components/layout/Footer.tsx | 138 ++++++++++ components/layout/Header.tsx | 4 +- components/layout/MobileBar.tsx | 214 +++++++++------- components/layout/ui/ActionButtons.tsx | 2 +- components/layout/ui/SearchBar.tsx | 118 ++------- features/cart/components/CartItemCard.tsx | 35 ++- features/cart/components/OrderSummary.tsx | 4 +- .../components/CategoryFiltersSheet.tsx | 32 ++- .../components/CollectionFiltersSheet.tsx | 34 ++- .../favorites/components/EmptyFavorites.tsx | 10 +- features/home/components/Carousel.tsx | 4 + features/home/components/ProductCard.tsx | 14 +- features/orders/components/EmptyOrders.tsx | 10 +- features/orders/components/OrderPage.tsx | 179 +++++++------ .../products/components/ProductInfoCard.tsx | 2 +- .../components/ProductPurchaseCard.tsx | 2 +- .../components/ProductReviewsSection.tsx | 2 +- .../components/RelatedProductsSection.tsx | 2 +- .../search/components/SearchPageClient.tsx | 237 ++++++++++++++++++ features/search/hooks/useSearch.ts | 55 +++- i18n/messages/ru.json | 16 +- i18n/messages/tm.json | 15 +- lib/types/api.ts | 16 +- public/logo.jpeg | Bin 0 -> 27083 bytes public/logo.png | Bin 0 -> 63149 bytes 34 files changed, 999 insertions(+), 368 deletions(-) create mode 100644 app/[locale]/info/page.tsx create mode 100644 app/[locale]/search/page.tsx create mode 100644 components/layout/Footer.tsx create mode 100644 features/search/components/SearchPageClient.tsx create mode 100644 public/logo.jpeg create mode 100644 public/logo.png diff --git a/app/[locale]/cart/page.tsx b/app/[locale]/cart/page.tsx index 57609ae..4a3e8d3 100644 --- a/app/[locale]/cart/page.tsx +++ b/app/[locale]/cart/page.tsx @@ -202,6 +202,7 @@ export default function CartPage() { ...item, quantity: quantity, price: price, + description: item.product.description, total: total, seller: seller, price_formatted: `${item.product.price_amount} TMT`, diff --git a/app/[locale]/category/[slug]/page.tsx b/app/[locale]/category/[slug]/page.tsx index ce96469..30acb78 100644 --- a/app/[locale]/category/[slug]/page.tsx +++ b/app/[locale]/category/[slug]/page.tsx @@ -8,12 +8,12 @@ export const revalidate = 600; // ISR: Revalidate every 10 minutes const CATEGORY_META = { tm: { - suffix: " | Post shop", + suffix: " | SmartElectronics", description: "Kategoriýa boýunça harytlary gözläň", ogLocale: "tk_TM", }, ru: { - suffix: " | Post shop", + suffix: " | SmartElectronics", description: "Просмотр товаров в данной категории", ogLocale: "ru_RU", }, diff --git a/app/[locale]/collections/[slug]/page.tsx b/app/[locale]/collections/[slug]/page.tsx index 309e4f8..dc7bd2f 100644 --- a/app/[locale]/collections/[slug]/page.tsx +++ b/app/[locale]/collections/[slug]/page.tsx @@ -8,12 +8,12 @@ export const revalidate = 600; // ISR: 10 minutes const META = { tm: { - titleSuffix: " | Post shop", + titleSuffix: " | SmartElectronics", description: (name: string) => `${name} kolleksiýasyndaky harytlary gözläň`, ogLocale: "tk_TM", }, ru: { - titleSuffix: " | Post shop", + titleSuffix: " | SmartElectronics", description: (name: string) => `Просмотр товаров из коллекции «${name}»`, ogLocale: "ru_RU", }, diff --git a/app/[locale]/info/page.tsx b/app/[locale]/info/page.tsx new file mode 100644 index 0000000..20a39d5 --- /dev/null +++ b/app/[locale]/info/page.tsx @@ -0,0 +1,124 @@ +"use client"; + +import { useTranslations } from "next-intl"; +import { + Instagram, + Phone, + Mail, + MessageSquare, + ChevronLeft, +} from "lucide-react"; +import Image from "next/image"; +import Link from "next/link"; +import { useRouter } from "next/navigation"; +import Logo from "@/public/logo.png"; +import { Button } from "@/components/ui/button"; + +export default function InfoPage() { + const t = useTranslations("common"); + const router = useRouter(); + + const contactItems = [ + { + icon: , + label: t("phone"), + value: "+993 65 123456", + href: "tel:+99365123456", + color: "bg-blue-50 text-blue-600", + }, + { + icon: , + label: t("instagram"), + value: "@smartelectronics", + href: "https://instagram.com/smartelectronics", + color: "bg-pink-50 text-pink-600", + }, + { + icon: , + label: t("email"), + value: "info@smartelectronics.com", + href: "mailto:info@smartelectronics.com", + color: "bg-gray-50 text-gray-600", + }, + { + icon: , + label: t("imo"), + value: "+993 65 123456", + href: null, + color: "bg-emerald-50 text-emerald-600", + }, + ]; + + return ( +
+ {/* +
+ +

{t("info")}

+
*/} + +
+ {/* Logo Section */} +
+
+ Logo +
+

+ SmartElectronics - yerli we daşary ýurt harytlarynyň onlaýn marketi. +

+
+ + {/* Contact Grid */} +
+

+ {t("contact_us")} +

+ + {contactItems.map((item, index) => { + const Content = ( +
+
+ {item.icon} +
+
+ + {item.label} + + + {item.value} + +
+
+ ); + + if (item.href) { + return ( + + {Content} + + ); + } + + return
{Content}
; + })} +
+
+
+ ); +} diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx index e63f00c..cb261de 100644 --- a/app/[locale]/layout.tsx +++ b/app/[locale]/layout.tsx @@ -1,61 +1,65 @@ -import type React from "react" -import type { Metadata } from "next" -import { Geist, Geist_Mono } from "next/font/google" -import { notFound } from "next/navigation" -import { NextIntlClientProvider } from "next-intl" -import "./globals.css" -import Header from "@/components/layout/Header" -import MobileBottomNav from "@/components/layout/MobileBar" -import { Toaster } from "@/components/ui/sonner" -import { Providers } from "@/context/Provider" -import AuthWrapper from "@/context/AuthWrapper" +import type React from "react"; +import type { Metadata } from "next"; +import { Geist, Geist_Mono } from "next/font/google"; +import { notFound } from "next/navigation"; +import { NextIntlClientProvider } from "next-intl"; +import "./globals.css"; +import Header from "@/components/layout/Header"; +import MobileBottomNav from "@/components/layout/MobileBar"; +import Footer from "@/components/layout/Footer"; +import { Toaster } from "@/components/ui/sonner"; +import { Providers } from "@/context/Provider"; +import AuthWrapper from "@/context/AuthWrapper"; const geistSans = Geist({ variable: "--font-geist-sans", subsets: ["latin"], -}) +}); const geistMono = Geist_Mono({ variable: "--font-geist-mono", subsets: ["latin"], -}) +}); export const metadata: Metadata = { - title: "Postshop", + title: "SmartElectronics", description: "E-commerce platform", -} +}; type Props = { - children: React.ReactNode - params: Promise<{ locale: string }> -} + children: React.ReactNode; + params: Promise<{ locale: string }>; +}; -const locales = ["ru", "tm"] +const locales = ["ru", "tm"]; export function generateStaticParams() { - return locales.map((locale) => ({ locale })) + return locales.map((locale) => ({ locale })); } export default async function RootLayout({ children, params }: Props) { - const { locale } = await params + const { locale } = await params; - if (!locales.includes(locale)) notFound() + if (!locales.includes(locale)) notFound(); - let messages + let messages; try { - messages = (await import(`../../i18n/messages/${locale}.json`)).default + messages = (await import(`../../i18n/messages/${locale}.json`)).default; } catch { - messages = {} + messages = {}; } return ( - +
{children} +
@@ -63,5 +67,5 @@ export default async function RootLayout({ children, params }: Props) { - ) -} \ No newline at end of file + ); +} diff --git a/app/[locale]/orders/page.tsx b/app/[locale]/orders/page.tsx index eb5a770..4dcf97a 100644 --- a/app/[locale]/orders/page.tsx +++ b/app/[locale]/orders/page.tsx @@ -3,11 +3,11 @@ import OrdersPageClient from "../../../features/orders/components/OrderPage"; const metadataContent = { tm: { - title: "Meniň Sargytlarym | Post shop", + title: "Meniň Sargytlarym | SmartElectronics", description: "Sargytlaryňyzy görüň", }, ru: { - title: "Мои Заказы | Пост-магазин", + title: "Мои Заказы | SmartElectronics", description: "Просмотр истории заказов", }, } as const; diff --git a/app/[locale]/page.tsx b/app/[locale]/page.tsx index 79419c5..b98d1c6 100644 --- a/app/[locale]/page.tsx +++ b/app/[locale]/page.tsx @@ -7,7 +7,7 @@ const META = { description: "Качественные товары с быстрой доставкой по всей стране", }, tm: { - title: "Post shop - Iň gowy harytlar, amatly bahada", + title: "SmartElectronics - Iň gowy harytlar, amatly bahada", description: "Ýokary hilli harytlar. Elektronika, eşik, arassaçylyk, sport, kosmetika", }, diff --git a/app/[locale]/search/page.tsx b/app/[locale]/search/page.tsx new file mode 100644 index 0000000..c55c867 --- /dev/null +++ b/app/[locale]/search/page.tsx @@ -0,0 +1,23 @@ +import type { Metadata } from "next"; +import SearchPageClient from "@/features/search/components/SearchPageClient"; + +type Props = { + params: Promise<{ locale: string }>; + searchParams: Promise<{ q?: string }>; +}; + +export async function generateMetadata({ + searchParams, +}: Props): Promise { + const { q } = await searchParams; + return { + title: q ? `Search: ${q} | SmartElectronics` : "Search | SmartElectronics", + }; +} + +export default async function SearchPage(props: Props) { + const params = await props.params; + const searchParams = await props.searchParams; + + return ; +} diff --git a/app/favicon.ico b/app/favicon.ico index 17789e2408773b61638ca2ceb339731ac16e0bd9..4f8a4005b2cb6bd7070610e5530f5e0873e3bfd7 100644 GIT binary patch literal 182071 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 I6o>uzA78ovT>t<8 literal 15086 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 +
+ +
+ Logo +
+ +
+ {/* Logo and Tagline */} +
+

+ SmartElectronics - yerli we daşary ýurt harytlarynyň onlaýn + marketi. +

+
    +
  • + + {t("about_us")} + +
  • +
  • + + {t("contact_us")} + +
  • +
+
+ + {/* Quick Links / Contact Info */} +
+

+ {t("contact_us")} +

+
+ + +
+
+ + {/* Placeholder for other sections if needed */} +
+
+
+ +
+

+ © {new Date().getFullYear()} SmartElectronics. All rights reserved. +

+
+ + Terms + + + Privacy + +
+
+
+
+ ); +} diff --git a/components/layout/Header.tsx b/components/layout/Header.tsx index 0216724..5364655 100644 --- a/components/layout/Header.tsx +++ b/components/layout/Header.tsx @@ -6,7 +6,7 @@ import Link from "next/link"; import Image from "next/image"; import { X, Search } from "lucide-react"; import { Button } from "@/components/ui/button"; -import Logo from "@/public/logo.webp"; +import Logo from "@/public/logo.png"; import CategoryMenu from "./ui/CategoryMenu"; import SearchBar from "./ui/SearchBar"; import AuthDialog from "./ui/AuthDialog"; @@ -62,7 +62,7 @@ export default function Header({ locale = "ru" }: HeaderProps) { href="/" className="shrink-0 transition-opacity hover:opacity-80" > -
+
Logo>( + new Set(), + ); + const [touchStart, setTouchStart] = useState(null); const t = useTranslations(); - const { isAuthenticated, isLoading: authLoading } = useAuthStatus(); + const handleTouchStart = (e: React.TouchEvent) => { + setTouchStart(e.targetTouches[0].clientX); + }; + + const handleTouchEnd = (e: React.TouchEvent) => { + if (touchStart === null) return; + const touchEnd = e.changedTouches[0].clientX; + const distance = touchStart - touchEnd; + + // Side is left, so swiping left (negative delta or positive distance) closes it + if (distance > 50) { + setIsCategoryOpen(false); + } + setTouchStart(null); + }; + + const toggleCategory = (categoryId: number) => { + setExpandedCategories((prev) => { + const newSet = new Set(prev); + if (newSet.has(categoryId)) { + newSet.delete(categoryId); + } else { + newSet.add(categoryId); + } + return newSet; + }); + }; const { data: categories = [] } = useCategories(); @@ -56,25 +83,6 @@ export default function MobileBottomNav({ setIsClient(true); }, []); - const handleProfileClick = (e: React.MouseEvent) => { - e.preventDefault(); - e.stopPropagation(); - - if (authLoading) { - return; - } - - if (isAuthenticated) { - router.push(`/${locale}/me`); - } else { - if (onLoginClick) { - onLoginClick(); - } else { - setIsLoginOpen(true); - } - } - }; - const handleNavigation = (path: string) => (e: React.MouseEvent) => { e.preventDefault(); router.push(path); @@ -85,40 +93,39 @@ export default function MobileBottomNav({ return ( <> {/* Mobile Bottom Navigation */} -
+
{/* Catalog Button */} {/* Favorites Button */} @@ -127,59 +134,52 @@ export default function MobileBottomNav({ - {/* Cart Button - OPTIMIZED */} + {/* Cart Button */} - {/* Profile/Login Button */} + {/* Info Button */}
@@ -187,46 +187,80 @@ export default function MobileBottomNav({ {/* Category Sheet/Drawer */} - - - {t("common.catalog")} + + + + {t("common.catalog")} + - +
{categories.map((category) => ( -
- setIsCategoryOpen(false)} - className="flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 transition-colors font-semibold" - > - {category.name} - +
+
+ setIsCategoryOpen(false)} + className="flex-1 flex items-center gap-2 px-3 py-2 rounded-xl hover:bg-gray-100 transition-all font-bold text-gray-900 hover:text-gray-700" + > + {category.name} + + + {/* Toggle button if has children */} + {category.children && category.children.length > 0 && ( + + )} +
{/* Subcategories */} - {category.children && category.children.length > 0 && ( -
- {category.children.map((child: any) => ( - setIsCategoryOpen(false)} - className="block px-3 py-2 text-sm text-gray-600 hover:text-primary hover:bg-gray-50 rounded-lg transition-colors" - > - {child.name} - - ))} -
- )} + {category.children && + category.children.length > 0 && + expandedCategories.has(category.id) && ( +
+ {category.children.map((child: any) => ( + setIsCategoryOpen(false)} + className="block px-3 py-1.5 text-sm text-gray-600 hover:text-gray-900 hover:bg-gray-50 rounded-lg transition-all font-medium" + > + {child.name} + + ))} +
+ )}
))}
- - {/* Local Auth Dialog */} - setIsLoginOpen(false)} /> ); } diff --git a/components/layout/ui/ActionButtons.tsx b/components/layout/ui/ActionButtons.tsx index 0f08451..26dd97f 100644 --- a/components/layout/ui/ActionButtons.tsx +++ b/components/layout/ui/ActionButtons.tsx @@ -117,7 +117,7 @@ function ActionButton({ - ))} -
-
- ); - }; - if (isMobile) { return ( @@ -132,22 +61,22 @@ export default function SearchBar({ {searchPlaceholder} -
+
handleSearch(e.target.value)} + onKeyDown={handleKeyDown} className="h-12 rounded-lg pl-12 pr-10 border-gray-200 focus:border-gray-900 focus-visible:border-gray-900 focus-visible:ring-0 transition-colors" autoFocus /> - - {isLoading && ( - - )} +
-
@@ -157,7 +86,6 @@ export default function SearchBar({ return (
@@ -166,21 +94,19 @@ export default function SearchBar({ placeholder={searchPlaceholder} value={searchValue} onChange={(e) => handleSearch(e.target.value)} + onKeyDown={handleKeyDown} className="border w-full rounded-lg h-11 border-gray-900 bg-white pl-12 pr-4 focus-visible:ring-2 focus-visible:ring-gray-300 transition-all" />
- {isLoading && ( - - )}
-
); } diff --git a/features/cart/components/CartItemCard.tsx b/features/cart/components/CartItemCard.tsx index ae31295..5b60cbc 100644 --- a/features/cart/components/CartItemCard.tsx +++ b/features/cart/components/CartItemCard.tsx @@ -277,11 +277,11 @@ export default function CartItemCard({ item, onUpdate }: CartItemCardProps) { return ( <> - -
+ +
{/* Product Image & Info */} -
-
+
+
{item.product.name}
-
+
+

{item.product.name}

- {/*

- {item.seller?.name || "Store"} -

*/} + {/*
175 + ? item.product.description.substring(0, 175) + "..." + : item.product.description || "", + }} + /> */} {/* {availableStock <= 5 && (
@@ -312,15 +326,14 @@ export default function CartItemCard({ item, onUpdate }: CartItemCardProps) { size="sm" onClick={handleDelete} disabled={isRemoving} - className="w-fit cursor-pointer p-0 h-auto hover:bg-transparent text-gray-600 hover:text-red-500 transition-colors group" + className="w-fit cursor-pointer pt-1 h-auto hover:bg-transparent text-gray-600 hover:text-red-500 transition-colors group" >
-
{/* Price & Quantity */} -
+

{t("unit_price")}{" "} diff --git a/features/cart/components/OrderSummary.tsx b/features/cart/components/OrderSummary.tsx index e33e257..dc38b10 100644 --- a/features/cart/components/OrderSummary.tsx +++ b/features/cart/components/OrderSummary.tsx @@ -133,7 +133,7 @@ export default function OrderSummary({ }; return ( - + {/* Customer Information */}

@@ -150,7 +150,7 @@ export default function OrderSummary({ onChange={(e) => onNameChange(e.target.value)} placeholder={t("name")} className={`rounded-[10px] h-12 border-2 transition-colors ${ - showValidation && name.trim() === "" + showValidation && name.trim() === "" ? "border-red-500" : "border-gray-200 focus:border-gray-900" }`} diff --git a/features/category/components/CategoryFiltersSheet.tsx b/features/category/components/CategoryFiltersSheet.tsx index 3357234..b5df344 100644 --- a/features/category/components/CategoryFiltersSheet.tsx +++ b/features/category/components/CategoryFiltersSheet.tsx @@ -8,6 +8,7 @@ import { SheetTrigger, } from "@/components/ui/sheet"; import { ScrollArea } from "@/components/ui/scroll-area"; +import { useState } from "react"; interface CategoryFiltersSheetProps { isOpen: boolean; @@ -24,6 +25,24 @@ export default function CategoryFiltersSheet({ closeLabel, children, }: CategoryFiltersSheetProps) { + const [touchStart, setTouchStart] = useState(null); + + const handleTouchStart = (e: React.TouchEvent) => { + setTouchStart(e.targetTouches[0].clientX); + }; + + const handleTouchEnd = (e: React.TouchEvent) => { + if (touchStart === null) return; + const touchEnd = e.changedTouches[0].clientX; + const distance = touchStart - touchEnd; + + // Side is left, so swiping left (positive distance) closes it + if (distance > 50) { + onOpenChange(false); + } + setTouchStart(null); + }; + return ( @@ -35,7 +54,12 @@ export default function CategoryFiltersSheet({ - + {filterLabel} - - {children} - + {children} ); -} \ No newline at end of file +} diff --git a/features/collections/components/CollectionFiltersSheet.tsx b/features/collections/components/CollectionFiltersSheet.tsx index dfef7d1..bbda0ff 100644 --- a/features/collections/components/CollectionFiltersSheet.tsx +++ b/features/collections/components/CollectionFiltersSheet.tsx @@ -8,6 +8,7 @@ import { SheetTrigger, } from "@/components/ui/sheet"; import { ScrollArea } from "@/components/ui/scroll-area"; +import { useState } from "react"; interface CollectionFiltersSheetProps { isOpen: boolean; @@ -24,18 +25,41 @@ export default function CollectionFiltersSheet({ closeLabel, children, }: CollectionFiltersSheetProps) { + const [touchStart, setTouchStart] = useState(null); + + const handleTouchStart = (e: React.TouchEvent) => { + setTouchStart(e.targetTouches[0].clientX); + }; + + const handleTouchEnd = (e: React.TouchEvent) => { + if (touchStart === null) return; + const touchEnd = e.changedTouches[0].clientX; + const distance = touchStart - touchEnd; + + // Side is left, so swiping left (positive distance) closes it + if (distance > 50) { + onOpenChange(false); + } + setTouchStart(null); + }; + return ( - + {filterLabel} - - {children} - + {children} ); -} \ No newline at end of file +} diff --git a/features/favorites/components/EmptyFavorites.tsx b/features/favorites/components/EmptyFavorites.tsx index c2e25db..b05c205 100644 --- a/features/favorites/components/EmptyFavorites.tsx +++ b/features/favorites/components/EmptyFavorites.tsx @@ -8,21 +8,21 @@ export default function EmptyFavorites() { const router=useRouter(); return (
-
+
- +

{t("favorites_empty")}

-

+

{t("favorites_empty_message")}

-
diff --git a/features/home/components/Carousel.tsx b/features/home/components/Carousel.tsx index 6bd2e44..f4a544b 100644 --- a/features/home/components/Carousel.tsx +++ b/features/home/components/Carousel.tsx @@ -27,6 +27,10 @@ export default function HeroCarousel({ items }: { items: CarouselItem[] }) { className=" [&_.swiper-button-next]:text-white! [&_.swiper-button-prev]:text-white! + [&_.swiper-button-next]:hidden! + [&_.swiper-button-prev]:hidden! + md:[&_.swiper-button-next]:flex! + md:[&_.swiper-button-prev]:flex! [&_.swiper-pagination-bullet]:bg-white! [&_.swiper-pagination-bullet-active]:bg-white! " diff --git a/features/home/components/ProductCard.tsx b/features/home/components/ProductCard.tsx index daea185..3b1241f 100644 --- a/features/home/components/ProductCard.tsx +++ b/features/home/components/ProductCard.tsx @@ -294,12 +294,12 @@ export default function ProductCard({ <> handleNavClick(e, () => api?.scrollPrev())} /> handleNavClick(e, () => api?.scrollNext())} /> @@ -382,7 +382,7 @@ export default function ProductCard({ -
+
{isSyncing && (
@@ -447,7 +447,7 @@ export default function ProductCard({ size="icon" onClick={(e) => handleQuantityChange(e, 1)} disabled={isSyncing} - className="rounded-[10px] h-9 w-9 border-2 border-gray-900 bg-gray-900 hover:bg-gray-800 transition-all duration-200 disabled:opacity-30" + className="rounded-[10px] cursor-pointer h-7 md:h-9 w-7 md:w-9 border-2 border-gray-900 bg-gray-900 hover:bg-gray-800 transition-all duration-200 disabled:opacity-30" > diff --git a/features/orders/components/EmptyOrders.tsx b/features/orders/components/EmptyOrders.tsx index 96d3b8a..9c0beef 100644 --- a/features/orders/components/EmptyOrders.tsx +++ b/features/orders/components/EmptyOrders.tsx @@ -8,21 +8,21 @@ export default function EmptyOrders() { const router=useRouter(); return (
-
+
- +

{t("orders_empty")}

-

+

{t("orders_empty_message")}

-
diff --git a/features/orders/components/OrderPage.tsx b/features/orders/components/OrderPage.tsx index 47ca7a5..266b7cb 100644 --- a/features/orders/components/OrderPage.tsx +++ b/features/orders/components/OrderPage.tsx @@ -88,7 +88,7 @@ export default function OrdersPageClient({ locale }: OrdersPageClientProps) { return ( {status} @@ -100,7 +100,10 @@ export default function OrdersPageClient({ locale }: OrdersPageClientProps) { lowerStatus.includes("işlenýär") ) { return ( - + {status} ); @@ -110,24 +113,36 @@ export default function OrdersPageClient({ locale }: OrdersPageClientProps) { lowerStatus.includes("shipped") || lowerStatus.includes("iberildi") ) { - return {status}; + return ( + + {status} + + ); } if ( lowerStatus.includes("доставлен") || lowerStatus.includes("delivered") || lowerStatus.includes("eltildi") ) { - return {status}; + return ( + + {status} + + ); } if ( lowerStatus.includes("отменен") || lowerStatus.includes("cancelled") || lowerStatus.includes("ýatyryldy") ) { - return {status}; + return ( + + {status} + + ); } - return {status}; + return {status}; }, []); const isActiveOrder = useCallback((status: string) => { @@ -147,11 +162,11 @@ export default function OrdersPageClient({ locale }: OrdersPageClientProps) { const activeOrders = useMemo( () => orders?.filter((o) => isActiveOrder(o.status)) || [], - [orders, isActiveOrder] + [orders, isActiveOrder], ); const completedOrders = useMemo( () => orders?.filter((o) => !isActiveOrder(o.status)) || [], - [orders, isActiveOrder] + [orders, isActiveOrder], ); const calculateTotal = useCallback((order: Order) => { @@ -163,38 +178,39 @@ export default function OrdersPageClient({ locale }: OrdersPageClientProps) { if (isLoading) { return (
-

+

{t("my_orders")}

{/* Tabs Skeleton */}
- - + +
{/* Order Cards Skeleton */}
{Array.from({ length: 3 }).map((_, i) => ( - +
- {/* Left side - Order info */}
- - + +
- {/* Right side - Status and price */}
- +
@@ -215,17 +231,23 @@ export default function OrdersPageClient({ locale }: OrdersPageClientProps) { } return ( -
-

+
+

{t("my_orders")}

- - + + {t("active_orders")} ({activeOrders.length}) - + {t("completed_orders")} ({completedOrders.length}) @@ -233,7 +255,9 @@ export default function OrdersPageClient({ locale }: OrdersPageClientProps) { {activeOrders.length === 0 ? (
-

{t("no_active_orders")}

+

+ {t("no_active_orders")} +

) : (
@@ -258,7 +282,7 @@ export default function OrdersPageClient({ locale }: OrdersPageClientProps) { {completedOrders.length === 0 ? (
-

+

{t("no_completed_orders")}

@@ -284,27 +308,28 @@ export default function OrdersPageClient({ locale }: OrdersPageClientProps) { - + - + {t("cancel_order")} #{orderToCancel?.id} - {t("cancel_confirmation")} + + {t("cancel_confirmation")} + - + @@ -342,21 +367,23 @@ function CompactOrderCard({ const itemCount = order.orderItems.length; return ( - + {/* Compact Header - Always Visible */}
- +
+ +
-

+

{t("order_number")} {order.id}

-

+

{itemCount} {itemCount === 1 ? t("product") : t("products")}

@@ -367,83 +394,80 @@ function CompactOrderCard({
{getStatusBadge(order.status)}
-

+

{total.toFixed(2)} TMT

- {isExpanded ? ( - - ) : ( - - )} +
+ {isExpanded ? ( + + ) : ( + + )} +
{/* Expandable Details */} {isExpanded && ( -
+
{/* Order Info Grid */}
- {/*
- -
-

- {t("delivery_date")} -

-

- {new Date(order.delivery_at).toLocaleDateString()} •{" "} - {order.delivery_time} -

-
-
*/} -
- +
+ +
-

+

{t("address")}

-

+

{order.customer_address}

- +
+ +
-

+

{t("payment_method")}

-

{order.payment_type}

+

+ {order.payment_type} +

- +
+ +
-

+

{t("shipping_method")}

-

{order.shipping_method}

+

+ {order.shipping_method} +

{/* Products List */}
-

- {t("products")}: -

+

{t("products")}:

{order.orderItems.map((item, index) => (
-
+
-

+

{item.product.name}

-

+

{item.quantity} × {item.unit_price_amount} TMT

-

+

{( parseFloat(item.unit_price_amount) * item.quantity ).toFixed(2)}{" "} @@ -475,25 +499,24 @@ function CompactOrderCard({

{/* Footer with Total and Actions */} -
+
- + {t("total_price")}: - + {total.toFixed(2)} TMT
{showCancelButton && ( diff --git a/features/products/components/ProductInfoCard.tsx b/features/products/components/ProductInfoCard.tsx index b2ada22..fc61499 100644 --- a/features/products/components/ProductInfoCard.tsx +++ b/features/products/components/ProductInfoCard.tsx @@ -35,7 +35,7 @@ export function ProductInfoCard({ return (
{/* Main Info Card */} - +

{name} diff --git a/features/products/components/ProductPurchaseCard.tsx b/features/products/components/ProductPurchaseCard.tsx index 1b55715..1564c08 100644 --- a/features/products/components/ProductPurchaseCard.tsx +++ b/features/products/components/ProductPurchaseCard.tsx @@ -42,7 +42,7 @@ export function ProductPurchaseCard({ return (
- + {/* Price Section */}
diff --git a/features/products/components/ProductReviewsSection.tsx b/features/products/components/ProductReviewsSection.tsx index ab7f150..836dc2b 100644 --- a/features/products/components/ProductReviewsSection.tsx +++ b/features/products/components/ProductReviewsSection.tsx @@ -45,7 +45,7 @@ export function ProductReviewsSection({ const t= useTranslations(); return ( - +

{t("customer_reviews")}

diff --git a/features/products/components/RelatedProductsSection.tsx b/features/products/components/RelatedProductsSection.tsx index 553c642..489b154 100644 --- a/features/products/components/RelatedProductsSection.tsx +++ b/features/products/components/RelatedProductsSection.tsx @@ -34,7 +34,7 @@ export function RelatedProductsSection({ if (!products || products.length === 0) return null; return ( -
+

{t("related_products")}

{products.slice(0, 4).map((product) => { diff --git a/features/search/components/SearchPageClient.tsx b/features/search/components/SearchPageClient.tsx new file mode 100644 index 0000000..0d6ba07 --- /dev/null +++ b/features/search/components/SearchPageClient.tsx @@ -0,0 +1,237 @@ +"use client"; + +import { useEffect, useState, useMemo, useCallback } from "react"; +import { ScrollArea } from "@/components/ui/scroll-area"; +import { Skeleton } from "@/components/ui/skeleton"; +import { useTranslations } from "next-intl"; +import type { Product } from "@/lib/types/api"; +import { useFilteredSearchProducts } from "@/features/search/hooks/useSearch"; +import { useCategoryFilters } from "@/features/category/hooks/useCategories"; +import CategoryFilters from "@/features/category/components/CategoryFilters"; +import CategoryProductsGrid from "@/features/category/components/CategoryProductsGrid"; +import CategoryFiltersSheet from "@/features/category/components/CategoryFiltersSheet"; +import ErrorPage from "@/components/ErrorPage"; + +interface SearchPageClientProps { + params: { locale: string }; + searchParams: { q?: string }; +} + +export default function SearchPageClient({ + params, + searchParams, +}: SearchPageClientProps) { + const q = searchParams.q || ""; + const t = useTranslations(); + const [isSheetOpen, setIsSheetOpen] = useState(false); + + // State management + const [currentPage, setCurrentPage] = useState(1); + const [allProducts, setAllProducts] = useState([]); + const [priceSort, setPriceSort] = useState< + "none" | "lowToHigh" | "highToLow" + >("none"); + const [priceRange, setPriceRange] = useState<[number, number]>([0, 100000]); + const [selectedBrands, setSelectedBrands] = useState>(new Set()); + const [selectedFilterCategories, setSelectedFilterCategories] = useState< + Set + >(new Set()); + + // Fetch filters (we use generic filters for search page) + const { + data: filtersData, + isLoading: filtersLoading, + isError: filtersError, + } = useCategoryFilters(undefined); + + // Build filter params + const filterParams = useMemo(() => { + const params: any = { + page: currentPage, + limit: 12, + }; + + if (selectedBrands.size > 0) { + params.brands = Array.from(selectedBrands); + } + + if (selectedFilterCategories.size > 0) { + params.categories = Array.from(selectedFilterCategories); + } + + params.min_price = priceRange[0]; + params.max_price = priceRange[1]; + + return params; + }, [currentPage, selectedBrands, selectedFilterCategories, priceRange]); + + // Fetch filtered search products + const { + data: productsData, + isFetching, + isError: productsError, + } = useFilteredSearchProducts(q, filterParams); + + // Reset on search term change + useEffect(() => { + setAllProducts([]); + setCurrentPage(1); + setSelectedBrands(new Set()); + setSelectedFilterCategories(new Set()); + setPriceRange([0, 100000]); + setPriceSort("none"); + }, [q]); + + // Update products list + useEffect(() => { + if (productsData?.data) { + setAllProducts((prev) => { + if (currentPage === 1) { + return productsData.data; + } + + const existingIds = new Set(prev.map((p) => p.id)); + const newProducts = productsData.data.filter( + (p: Product) => !existingIds.has(p.id), + ); + + if (newProducts.length === 0) { + return prev; + } + + return [...prev, ...newProducts]; + }); + } + }, [productsData?.data, currentPage]); + + const hasMore = useMemo(() => { + if (!productsData?.pagination) return false; + if (productsData.pagination.next_page_url) return true; + if ( + productsData.pagination.current_page && + productsData.pagination.last_page + ) { + return ( + productsData.pagination.current_page < productsData.pagination.last_page + ); + } + return productsData.pagination.hasMorePages ?? false; + }, [productsData?.pagination]); + + const loadMoreData = useCallback(() => { + if (!hasMore || isFetching) return; + setCurrentPage((prev) => prev + 1); + }, [hasMore, isFetching]); + + const sortedProducts = useMemo(() => { + const products = [...allProducts]; + if (priceSort === "lowToHigh") { + return products.sort( + (a, b) => + parseFloat(a.price_amount || "0") - parseFloat(b.price_amount || "0"), + ); + } + if (priceSort === "highToLow") { + return products.sort( + (a, b) => + parseFloat(b.price_amount || "0") - parseFloat(a.price_amount || "0"), + ); + } + return products; + }, [allProducts, priceSort]); + + // Filter handlers + const handleBrandToggle = useCallback((brandId: number) => { + setSelectedBrands((prev) => { + const newSet = new Set(prev); + newSet.has(brandId) ? newSet.delete(brandId) : newSet.add(brandId); + return newSet; + }); + setCurrentPage(1); + setAllProducts([]); + }, []); + + const handleCategoryToggle = useCallback((categoryId: number) => { + setSelectedFilterCategories((prev) => { + const newSet = new Set(prev); + newSet.has(categoryId) + ? newSet.delete(categoryId) + : newSet.add(categoryId); + return newSet; + }); + setCurrentPage(1); + setAllProducts([]); + }, []); + + const handlePriceChange = useCallback((values: number[]) => { + setPriceRange([values[0], values[1]]); + setCurrentPage(1); + setAllProducts([]); + }, []); + + const handlePriceSortChange = useCallback( + (sortType: "none" | "lowToHigh" | "highToLow") => { + setPriceSort(sortType); + }, + [], + ); + + const resetFilters = useCallback(() => { + setSelectedBrands(new Set()); + setSelectedFilterCategories(new Set()); + setPriceRange([0, 100000]); + setPriceSort("none"); + setCurrentPage(1); + setAllProducts([]); + }, []); + + const filterTranslations = useMemo( + () => ({ + category: t("category"), + brands: t("brands"), + sort: t("sort"), + default: t("default"), + price_low_to_high: t("price_low_to_high"), + price_high_to_low: t("price_high_to_low"), + price: t("price"), + price_from: t("price_from"), + price_to: t("price_to"), + reset: t("reset"), + }), + [t], + ); + + if (productsError) { + return ; + } + + return ( +
+
+

+ {t("search_results")}: "{q}" +

+

+ {productsData?.pagination?.total || allProducts.length}{" "} + {t("products_found")} +

+
+ +
+ {/* Products Grid */} +
+ +
+
+
+ ); +} diff --git a/features/search/hooks/useSearch.ts b/features/search/hooks/useSearch.ts index d6ada1e..0877e54 100644 --- a/features/search/hooks/useSearch.ts +++ b/features/search/hooks/useSearch.ts @@ -1,6 +1,11 @@ import { useQuery } from "@tanstack/react-query"; import { apiClient } from "@/lib/api"; import type { SearchResponse, SearchParams } from "../types"; +import type { + Product, + PaginatedResponse, + ProductFilters, +} from "@/lib/types/api"; export function useSearchProducts(params: SearchParams) { const { q, barcode } = params; @@ -10,14 +15,14 @@ export function useSearchProducts(params: SearchParams) { queryFn: async () => { if (barcode) { const response = await apiClient.get( - `/search-product-barcode?barcode=${barcode}` + `/search-product-barcode?barcode=${barcode}`, ); return response.data; } if (q) { const response = await apiClient.get( - `/search-product?q=${encodeURIComponent(q)}` + `/search-product?q=${encodeURIComponent(q)}`, ); return response.data; } @@ -27,4 +32,48 @@ export function useSearchProducts(params: SearchParams) { enabled: !!(q && q.length > 0) || !!barcode, staleTime: 1000 * 60 * 5, }); -} \ No newline at end of file +} + +export function useFilteredSearchProducts( + q: string, + filters: ProductFilters, + options?: { enabled?: boolean }, +) { + return useQuery({ + queryKey: ["search-filtered", q, filters], + queryFn: async () => { + const params: Record = { + q, + page: filters.page || 1, + per_page: filters.limit || 12, + }; + + if (filters.brands && filters.brands.length > 0) { + params.brands = filters.brands.join(","); + } + + if (filters.categories && filters.categories.length > 0) { + params.categories = filters.categories.join(","); + } + + if (filters.min_price !== undefined) { + params.min_price = filters.min_price; + } + + if (filters.max_price !== undefined) { + params.max_price = filters.max_price; + } + + const response = await apiClient.get>( + "/search-product", + { params }, + ); + + return { + data: response.data.data || [], + pagination: response.data.pagination || {}, + }; + }, + enabled: options?.enabled !== false && !!q, + }); +} diff --git a/i18n/messages/ru.json b/i18n/messages/ru.json index c5e360e..4678e2a 100644 --- a/i18n/messages/ru.json +++ b/i18n/messages/ru.json @@ -17,7 +17,13 @@ "enterPhone": "Введите свой номер телефона", "weWillSendCode": "Мы вышлем вам код", "loading": "Загрузка...", - "all_collections_loaded": "Все коллекции загружены" + "all_collections_loaded": "Все коллекции загружены", + "info": "Инфо", + "instagram": "Instagram", + "email": "Email", + "imo": "IMO", + "contact_us": "Свяжитесь с нами", + "about_us": "О нас" }, "category": "Категория", "checkout": "Оформить заказ", @@ -189,8 +195,8 @@ "enter_email": "Введите email", "uploadPatent": "Загрузить патент", "outOfStock": "Нет в наличии", - "requiredField": "Обязательное поле", - "fileRequired": "Файл загрузить" + "requiredField": "Обязательное поле", + "fileRequired": "Файл загрузить", + "search_results": "Результаты поиска", + "products_found": "товаров найдено" } - - diff --git a/i18n/messages/tm.json b/i18n/messages/tm.json index 0f9174f..b79eceb 100644 --- a/i18n/messages/tm.json +++ b/i18n/messages/tm.json @@ -17,7 +17,13 @@ "enterPhone": "Telefon belgisini giriziň", "weWillSendCode": "Biz size kod ugradarys", "loading": "Ýüklenýär...", - "all_collections_loaded": "Bütüň koleksiyonlar ýüklendi" + "all_collections_loaded": "Bütüň koleksiyonlar ýüklendi", + "info": "Maglumat", + "instagram": "Instagram", + "email": "Email", + "imo": "IMO", + "contact_us": "Biziň bilen habarlaşyň", + "about_us": "Biz barada" }, "category": "Bölümler", "checkout": "Sargyt et", @@ -76,7 +82,6 @@ "yes": "Hawa", "cart_empty": "Siziň söwda sebediňiz boş", "add_to_cart": "Sebede goş", - "go_to_cart": "Sebede geçmek", "products": "Azyk harytlary", "become_seller": "Satyjy bolmak", @@ -174,7 +179,7 @@ "submitting": "Ugradylýar...", "submit_review": "Teswiri ugrat", "characters": "simbol", - "related_products": "Meňzeş harytlar", + "related_products": "Meňzeş harytlara", "cart_empty_message": "Entek sebediňize haryt goşmadyňyz. Söwda etmäge başlaň!!!", "start_shopping": "Söwda etmäge başla!", "favorites_empty": "Siziň saýlanan harytlaryňyz ýok", @@ -191,5 +196,7 @@ "uploadPatent": "Patent goş", "outOfStock": "Ammarda ýok", "requiredField": "Zerur maglumat", - "fileRequired": "Fayl goş" + "fileRequired": "Fayl goş", + "search_results": "Gözleg netijeleri", + "products_found": "haryt tapyldy" } diff --git a/lib/types/api.ts b/lib/types/api.ts index 026f49e..408c578 100644 --- a/lib/types/api.ts +++ b/lib/types/api.ts @@ -9,13 +9,12 @@ export interface ProductMedia { images_720x720: string; images_800x800: string; images_1200x1200: string; - } export interface Carousel { - title: string - image: string - url?: string | null + title: string; + image: string; + url?: string | null; thumbnail: string; link: string; } @@ -27,7 +26,6 @@ export interface Review { created_at: string; } - export type DeliveryType = "SELECTED_DELIVERY" | "PICK_UP"; export interface PaymentType { @@ -105,8 +103,7 @@ export interface Category { image: string; parent_id?: number | null; children?: Category[]; - media:ProductMedia[]; - + media: ProductMedia[]; } // Collection Types @@ -132,6 +129,7 @@ export interface CartProduct { stock: number; image?: string; images?: string[]; + description?: string; } export interface CartItem { @@ -150,6 +148,7 @@ export interface CartItem { sub_total_formatted: string; total_formatted: string; discount_formatted: string; + description?: string; } export interface CartResponse { @@ -512,7 +511,6 @@ export interface FiltersResponse { }; } - export interface ProductFilters { brands?: number[]; categories?: number[]; @@ -520,5 +518,5 @@ export interface ProductFilters { max_price?: number; page?: number; limit?: number; - collection_id?: number; + collection_id?: number; } diff --git a/public/logo.jpeg b/public/logo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..51d2106b12188de396dcedcb0b2b19b0a406a972 GIT binary patch literal 27083 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 L?*HcZ>EmAjWF$c8 literal 0 HcmV?d00001 diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d6603d0410357e972a7eaf14a81d85036d470d51 GIT binary patch literal 63149 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 CuAWl> literal 0 HcmV?d00001