diff --git a/src/app/[name]/layout.tsx b/src/app/[name]/layout.tsx index 4142e57..6705ef5 100644 --- a/src/app/[name]/layout.tsx +++ b/src/app/[name]/layout.tsx @@ -4,6 +4,7 @@ import type { Metadata, Viewport } from 'next' import { getRestaurant } from './lib/getRestaurant' import { notFound } from 'next/navigation' import CartChecker from '@/components/CartChecker' +import ActiveChecker from '@/components/ActiveChecker' export const dynamic = 'force-dynamic' export const revalidate = 0 @@ -23,12 +24,12 @@ export async function generateMetadata({ const logo = restaurant.logo const defaultIcon = "/icons/web-app-manifest-192x192.png" - + // استفاده از API route برای تبدیل لوگو به مربع let iconUrl = defaultIcon let icon192Url = defaultIcon let icon512Url = "/icons/web-app-manifest-512x512.png" - + if (logo && logo.trim() !== "") { iconUrl = `/${name}/api/logo?url=${encodeURIComponent(logo)}&size=192` icon192Url = `/${name}/api/logo?url=${encodeURIComponent(logo)}&size=192` @@ -99,6 +100,7 @@ export default async function Layout({ return <> {children} + } catch (error) { if (error instanceof Error && error.message === 'RESTAURANT_NOT_FOUND') { diff --git a/src/components/ActiveChecker.tsx b/src/components/ActiveChecker.tsx new file mode 100644 index 0000000..c2140b7 --- /dev/null +++ b/src/components/ActiveChecker.tsx @@ -0,0 +1,29 @@ +'use client' +import { useGetAbout } from '@/app/[name]/(Main)/about/hooks/useAboutData' +import React, { useEffect } from 'react' + +const ActiveChecker = () => { + + const { data } = useGetAbout() + + useEffect(() => { + + if (data?.data && !data?.data?.isActive) { + document.body.style.overflow = 'hidden' + } else { + document.body.style.overflow = 'auto' + + } + + }, [data?.data]) + + + if (data?.data && !data?.data?.isActive) + return ( +
+
رستوران غیرفعال است.
+
+ ) +} + +export default ActiveChecker \ No newline at end of file