fix build + add logo and name

This commit is contained in:
hamid zarghami
2025-10-16 12:34:10 +03:30
parent 225329f342
commit afe3b703c4
7 changed files with 85 additions and 7 deletions
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 72 KiB

+11 -2
View File
@@ -22,6 +22,7 @@ import { useInfiniteBrandProductsData } from '../hooks/useInfiniteBrandData'
import { IProduct } from '@/types/landing.types' import { IProduct } from '@/types/landing.types'
import { Product } from '../types/Types' import { Product } from '../types/Types'
import { useSearchParams, useParams } from 'next/navigation' import { useSearchParams, useParams } from 'next/navigation'
import { SHOP_CONFIG } from '@/config/const'
const BrandPage: NextPage = () => { const BrandPage: NextPage = () => {
const [showMobileFilters, setShowMobileFilters] = useState(false) const [showMobileFilters, setShowMobileFilters] = useState(false)
@@ -103,8 +104,16 @@ const BrandPage: NextPage = () => {
market_status: defaultVariant?.market_status || 'active', market_status: defaultVariant?.market_status || 'active',
price: price, price: price,
stock: defaultVariant?.stock || 0, stock: defaultVariant?.stock || 0,
postingTime: defaultVariant?.postingTime || 0,
isFreeShip: defaultVariant?.isFreeShip || false, isFreeShip: defaultVariant?.isFreeShip || false,
isWholeSale: defaultVariant?.isWholeSale || false isWholeSale: defaultVariant?.isWholeSale || false,
shop: defaultVariant?.shop || { _id: '', shopName: '', shopDescription: '', logo: '' },
shipmentMethod: (defaultVariant?.shipmentMethod || []).map(method => ({
...method,
deliveryType: method.deliveryType as "Standard" | "SameDay" | "Express"
})),
warranty: defaultVariant?.warranty || { _id: 0, duration: '', logoUrl: '', name: '' },
meterage: defaultVariant?.meterage ? [defaultVariant.meterage] : []
}, },
variants: (product.variants || []).map(variant => ({ variants: (product.variants || []).map(variant => ({
...variant, ...variant,
@@ -128,7 +137,7 @@ const BrandPage: NextPage = () => {
<Breadcrumb aria-label="breadcrumb"> <Breadcrumb aria-label="breadcrumb">
<BreadcrumbList className="text-sm text-muted-foreground"> <BreadcrumbList className="text-sm text-muted-foreground">
<BreadcrumbItem> <BreadcrumbItem>
<BreadcrumbLink href="/">فروشگاه آناهیتا</BreadcrumbLink> <BreadcrumbLink href="/">{SHOP_CONFIG.fullName}</BreadcrumbLink>
</BreadcrumbItem> </BreadcrumbItem>
{data?.pages?.[0]?.results.brand && ( {data?.pages?.[0]?.results.brand && (
<> <>
@@ -86,8 +86,16 @@ const BrandProductsCarousel: FC<Props> = ({ products, brandName }) => {
market_status: defaultVariant?.market_status || 'active', market_status: defaultVariant?.market_status || 'active',
price: price, price: price,
stock: defaultVariant?.stock || 0, stock: defaultVariant?.stock || 0,
postingTime: defaultVariant?.postingTime || 0,
isFreeShip: defaultVariant?.isFreeShip || false, isFreeShip: defaultVariant?.isFreeShip || false,
isWholeSale: defaultVariant?.isWholeSale || false isWholeSale: defaultVariant?.isWholeSale || false,
shop: defaultVariant?.shop || { _id: '', shopName: '', shopDescription: '', logo: '' },
shipmentMethod: defaultVariant?.shipmentMethod?.map(method => ({
...method,
deliveryType: method.deliveryType as "Standard" | "SameDay" | "Express"
})) || [],
warranty: defaultVariant?.warranty || { _id: 0, duration: '', logoUrl: '', name: '' },
meterage: defaultVariant?.meterage ? [defaultVariant.meterage] : []
}, },
variants: (product.variants || []).map(variant => ({ variants: (product.variants || []).map(variant => ({
...variant, ...variant,
+9 -1
View File
@@ -82,8 +82,16 @@ const ProductGrid: FC<Props> = ({ products, isLoading = false }) => {
market_status: defaultVariant?.market_status || 'active', market_status: defaultVariant?.market_status || 'active',
price: price, price: price,
stock: defaultVariant?.stock || 0, stock: defaultVariant?.stock || 0,
postingTime: defaultVariant?.postingTime || 0,
isFreeShip: defaultVariant?.isFreeShip || false, isFreeShip: defaultVariant?.isFreeShip || false,
isWholeSale: defaultVariant?.isWholeSale || false isWholeSale: defaultVariant?.isWholeSale || false,
shop: defaultVariant?.shop || { _id: '', shopName: '', shopDescription: '', logo: '' },
shipmentMethod: defaultVariant?.shipmentMethod?.map(method => ({
...method,
deliveryType: method.deliveryType as "Standard" | "SameDay" | "Express"
})) || [],
warranty: defaultVariant?.warranty || { _id: 0, duration: '', logoUrl: '', name: '' },
meterage: defaultVariant?.meterage ? [defaultVariant.meterage] : []
}, },
variants: (product.variants || []).map(variant => ({ variants: (product.variants || []).map(variant => ({
...variant, ...variant,
+7 -3
View File
@@ -8,10 +8,14 @@ import ToastContainer from "@/components/Toast";
import MobileBottomMenu from "@/components/MobileBottomMenu"; import MobileBottomMenu from "@/components/MobileBottomMenu";
import { ReactQueryDevtools } from '@tanstack/react-query-devtools' import { ReactQueryDevtools } from '@tanstack/react-query-devtools'
import { viewport } from './viewport' import { viewport } from './viewport'
import { SHOP_CONFIG } from "@/config/const";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Create Next App", title: `${SHOP_CONFIG.fullName} | ${SHOP_CONFIG.englishName}`,
description: "Generated by create next app", description: SHOP_CONFIG.description,
icons: {
icon: '/favicon.svg',
},
}; };
export { viewport }; export { viewport };
@@ -22,7 +26,7 @@ export default function RootLayout({
children: React.ReactNode; children: React.ReactNode;
}>) { }>) {
return ( return (
<html lang="en"> <html lang="fa" dir="rtl">
<body> <body>
<QueryProvider> <QueryProvider>
{children} {children}
+10
View File
@@ -39,8 +39,18 @@ const FavoritePage: NextPage = () => {
market_status: item.variant.market_status, market_status: item.variant.market_status,
price: item.variant.price, price: item.variant.price,
stock: item.variant.stock, stock: item.variant.stock,
postingTime: item.variant.postingTime,
isFreeShip: item.variant.isFreeShip, isFreeShip: item.variant.isFreeShip,
isWholeSale: item.variant.isWholeSale, isWholeSale: item.variant.isWholeSale,
shop: {
_id: item.variant.shop._id,
shopName: item.variant.shop.shopName,
shopDescription: item.variant.shop.shopDescription,
logo: item.variant.shop.logo,
},
shipmentMethod: [],
warranty: item.variant.warranty,
meterage: item.variant.meterage ? [{ _id: 0, value: item.variant.meterage.toString() }] : [],
}, },
variants: [{ variants: [{
_id: item.variant._id, _id: item.variant._id,
+2
View File
@@ -9,4 +9,6 @@ export const PRIMARY_COLOR = "#DA2129";
export const SHOP_CONFIG = { export const SHOP_CONFIG = {
name: "فجر مرکزی", // نام فروشگاه - می‌توان آن را تغییر داد name: "فجر مرکزی", // نام فروشگاه - می‌توان آن را تغییر داد
fullName: "تابلو فجر مرکزی", // نام کامل فروشگاه fullName: "تابلو فجر مرکزی", // نام کامل فروشگاه
englishName: "Tablo Fajr Center", // نام کامل فروشگاه به زبان انگلیسی
description: "فروشگاه آنلاین تابلو فجر مرکزی", // توضیحات فروشگاه
}; };