import type { Metadata } from 'next'; import { notFound } from 'next/navigation'; import Link from 'next/link'; import { verifyPortfolioTokenNode } from '@/lib/admin-auth'; export const metadata: Metadata = { title: '박재오 — 외주 개발 포트폴리오', description: '현직 실무 엔지니어 박재오의 외주 포트폴리오.', robots: { index: false, follow: false }, }; export const dynamic = 'force-dynamic'; interface Props { params: Promise<{ token: string }>; } export default async function PortfolioGateway({ params }: Props) { const { token } = await params; const payload = verifyPortfolioTokenNode(token); if (!payload) notFound(); const expires = new Date(payload.exp).toLocaleDateString('ko-KR'); return (
현직 실무 엔지니어 · 계약서 우선 · 납기 패널티 보장 · 소스코드 100% 인도.
이 링크는 {expires}까지 유효합니다
Freelance
계약 프로세스, 납기 패널티, 포트폴리오 사례, 견적 문의.
자세히 보기 →Website
Next.js 기반 반응형 웹, SEO 기본, 3개월 유지보수 포함.
자세히 보기 →