diff --git a/public/favicon.svg b/public/favicon.svg
new file mode 100644
index 0000000..0688442
--- /dev/null
+++ b/public/favicon.svg
@@ -0,0 +1,37 @@
+
\ No newline at end of file
diff --git a/src/app/brand/[id]/page.tsx b/src/app/brand/[id]/page.tsx
index d467e53..ffe16d3 100644
--- a/src/app/brand/[id]/page.tsx
+++ b/src/app/brand/[id]/page.tsx
@@ -22,6 +22,7 @@ import { useInfiniteBrandProductsData } from '../hooks/useInfiniteBrandData'
import { IProduct } from '@/types/landing.types'
import { Product } from '../types/Types'
import { useSearchParams, useParams } from 'next/navigation'
+import { SHOP_CONFIG } from '@/config/const'
const BrandPage: NextPage = () => {
const [showMobileFilters, setShowMobileFilters] = useState(false)
@@ -103,8 +104,16 @@ const BrandPage: NextPage = () => {
market_status: defaultVariant?.market_status || 'active',
price: price,
stock: defaultVariant?.stock || 0,
+ postingTime: defaultVariant?.postingTime || 0,
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 => ({
...variant,
@@ -128,7 +137,7 @@ const BrandPage: NextPage = () => {
- فروشگاه آناهیتا
+ {SHOP_CONFIG.fullName}
{data?.pages?.[0]?.results.brand && (
<>
diff --git a/src/app/brand/components/BrandProductsCarousel.tsx b/src/app/brand/components/BrandProductsCarousel.tsx
index 81eb6c5..572d9ec 100644
--- a/src/app/brand/components/BrandProductsCarousel.tsx
+++ b/src/app/brand/components/BrandProductsCarousel.tsx
@@ -86,8 +86,16 @@ const BrandProductsCarousel: FC = ({ products, brandName }) => {
market_status: defaultVariant?.market_status || 'active',
price: price,
stock: defaultVariant?.stock || 0,
+ postingTime: defaultVariant?.postingTime || 0,
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 => ({
...variant,
diff --git a/src/app/brand/components/ProductGrid.tsx b/src/app/brand/components/ProductGrid.tsx
index 79a2fc2..ca34cce 100644
--- a/src/app/brand/components/ProductGrid.tsx
+++ b/src/app/brand/components/ProductGrid.tsx
@@ -82,8 +82,16 @@ const ProductGrid: FC = ({ products, isLoading = false }) => {
market_status: defaultVariant?.market_status || 'active',
price: price,
stock: defaultVariant?.stock || 0,
+ postingTime: defaultVariant?.postingTime || 0,
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 => ({
...variant,
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index f91834f..4801fa3 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -8,10 +8,14 @@ import ToastContainer from "@/components/Toast";
import MobileBottomMenu from "@/components/MobileBottomMenu";
import { ReactQueryDevtools } from '@tanstack/react-query-devtools'
import { viewport } from './viewport'
+import { SHOP_CONFIG } from "@/config/const";
export const metadata: Metadata = {
- title: "Create Next App",
- description: "Generated by create next app",
+ title: `${SHOP_CONFIG.fullName} | ${SHOP_CONFIG.englishName}`,
+ description: SHOP_CONFIG.description,
+ icons: {
+ icon: '/favicon.svg',
+ },
};
export { viewport };
@@ -22,7 +26,7 @@ export default function RootLayout({
children: React.ReactNode;
}>) {
return (
-
+
{children}
diff --git a/src/app/profile/favorite/page.tsx b/src/app/profile/favorite/page.tsx
index 11bcfaf..0973147 100644
--- a/src/app/profile/favorite/page.tsx
+++ b/src/app/profile/favorite/page.tsx
@@ -39,8 +39,18 @@ const FavoritePage: NextPage = () => {
market_status: item.variant.market_status,
price: item.variant.price,
stock: item.variant.stock,
+ postingTime: item.variant.postingTime,
isFreeShip: item.variant.isFreeShip,
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: [{
_id: item.variant._id,
diff --git a/src/config/const.ts b/src/config/const.ts
index f9f4998..e5f82ca 100644
--- a/src/config/const.ts
+++ b/src/config/const.ts
@@ -9,4 +9,6 @@ export const PRIMARY_COLOR = "#DA2129";
export const SHOP_CONFIG = {
name: "فجر مرکزی", // نام فروشگاه - میتوان آن را تغییر داد
fullName: "تابلو فجر مرکزی", // نام کامل فروشگاه
+ englishName: "Tablo Fajr Center", // نام کامل فروشگاه به زبان انگلیسی
+ description: "فروشگاه آنلاین تابلو فجر مرکزی", // توضیحات فروشگاه
};