- layout: radial 그라데이션 배경 + metadata (robots noindex) - page: step state + Q1~Q7 컴포넌트 조합 - 진입 시 localStorage 복구 + step 변경 시 저장 + 제출 시 clear - 최종 제출: completion_seconds, user_agent, referrer, utm_* 자동 수집 - 에러 토스트 표시 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
37 lines
1013 B
TypeScript
37 lines
1013 B
TypeScript
import type { Metadata } from 'next';
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'CONTOUR — 나를 더 선명하게 이해하는 3분',
|
|
description: '7 질문, 3분. 자기 이해·심리 영역 짧은 설문에 참여해주세요.',
|
|
openGraph: {
|
|
title: 'CONTOUR — 나를 더 선명하게 이해하는 3분',
|
|
description: '7 질문, 3분. 짧은 설문에 답해주세요.',
|
|
url: 'https://jaengseung-made.com/gyeol',
|
|
images: [
|
|
{
|
|
url: 'https://jaengseung-made.com/og-image.png',
|
|
width: 1200,
|
|
height: 630,
|
|
alt: 'CONTOUR',
|
|
},
|
|
],
|
|
},
|
|
robots: {
|
|
index: false,
|
|
follow: false,
|
|
},
|
|
};
|
|
|
|
export default function GyeolLayout({ children }: { children: React.ReactNode }) {
|
|
return (
|
|
<div
|
|
className="min-h-screen"
|
|
style={{
|
|
background: 'radial-gradient(ellipse at top, rgba(204,151,255,0.15) 0%, transparent 50%), linear-gradient(180deg, #060e20 0%, #000000 100%)',
|
|
}}
|
|
>
|
|
{children}
|
|
</div>
|
|
);
|
|
}
|