From b13ddd3841a70fd83e3a3bc3bb4cf164f65d373b Mon Sep 17 00:00:00 2001 From: gahusb Date: Thu, 11 Jun 2026 01:35:46 +0900 Subject: [PATCH] =?UTF-8?q?feat(visibility):=20=EC=82=AC=EC=A3=BC=C2=B7?= =?UTF-8?q?=EC=9D=8C=EC=95=85=C2=B7=EC=84=A4=EB=AC=B8=C2=B7=ED=8C=A8?= =?UTF-8?q?=ED=82=A4=EC=A7=80=20=EB=9D=BC=EC=9A=B0=ED=8A=B8=20=EC=88=A8?= =?UTF-8?q?=EA=B9=80=20=EA=B0=80=EB=93=9C=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/gyeol/layout.tsx | 5 ++++- app/music/layout.tsx | 5 ++++- app/packages/layout.tsx | 7 +++++-- app/work/saju/layout.tsx | 7 +++++-- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/gyeol/layout.tsx b/app/gyeol/layout.tsx index 12d040f..70ceb5c 100644 --- a/app/gyeol/layout.tsx +++ b/app/gyeol/layout.tsx @@ -1,4 +1,6 @@ +import { notFound } from 'next/navigation'; import type { Metadata } from 'next'; +import { isServiceVisible } from '@/lib/service-visibility'; export const metadata: Metadata = { title: 'CONTOUR — 나를 더 선명하게 이해하는 3분', @@ -22,7 +24,8 @@ export const metadata: Metadata = { }, }; -export default function GyeolLayout({ children }: { children: React.ReactNode }) { +export default async function GyeolLayout({ children }: { children: React.ReactNode }) { + if (!(await isServiceVisible('gyeol'))) notFound(); return (
{children}; } diff --git a/app/packages/layout.tsx b/app/packages/layout.tsx index 5b1e30c..22b86b5 100644 --- a/app/packages/layout.tsx +++ b/app/packages/layout.tsx @@ -1,4 +1,6 @@ +import { notFound } from 'next/navigation'; import type { Metadata } from 'next'; +import { isServiceVisible } from '@/lib/service-visibility'; export const metadata: Metadata = { title: 'SaaS 제품 · 월 구독 패키지', @@ -13,6 +15,7 @@ export const metadata: Metadata = { }, }; -export default function PackagesLayout({ children }: { children: React.ReactNode }) { - return children; +export default async function PackagesLayout({ children }: { children: React.ReactNode }) { + if (!(await isServiceVisible('packages'))) notFound(); + return <>{children}; } diff --git a/app/work/saju/layout.tsx b/app/work/saju/layout.tsx index 860fa23..11e1511 100644 --- a/app/work/saju/layout.tsx +++ b/app/work/saju/layout.tsx @@ -1,4 +1,6 @@ +import { notFound } from 'next/navigation'; import type { Metadata } from 'next'; +import { isServiceVisible } from '@/lib/service-visibility'; export const metadata: Metadata = { title: 'AI 사주 분석', @@ -22,6 +24,7 @@ export const metadata: Metadata = { }, }; -export default function SajuLayout({ children }: { children: React.ReactNode }) { - return children; +export default async function SajuLayout({ children }: { children: React.ReactNode }) { + if (!(await isServiceVisible('saju'))) notFound(); + return <>{children}; }