From c2d7455f65ab5544c52b6b330a7a020fb69aea07 Mon Sep 17 00:00:00 2001 From: gahusb Date: Thu, 11 Jun 2026 02:44:36 +0900 Subject: [PATCH] =?UTF-8?q?refactor(design):=20=EB=85=B8=EC=B6=9C=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=9E=94=EC=97=AC=20=EA=B8=80?= =?UTF-8?q?=EB=9E=98=EC=8A=A4=C2=B7=EB=8B=A4=ED=81=AC=20=EC=8A=A4=ED=83=80?= =?UTF-8?q?=EC=9D=BC=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - layout.tsx: GlassFilter 렌더·import 제거 (LiquidGlass.tsx 파일은 숨김 페이지용으로 유지) - payment/success,fail: #04102b 다크 헤더 → jsm-navy 토큰, h2 색상 jsm-ink 토큰으로 교체 - legal/terms,privacy,refund: h1 text-[#04102b] → jsm-ink CSS 변수 - portfolio/[token]: bg-slate-950 + 다크 radial-gradient → jsm-bg/surface/navy 라이트 테마 - quote/[token]: #0a0f1e/#0f172a 전체 다크 테마 → jsm-* 라이트 토큰 기반으로 전면 교체 (print CSS·수락/거절 로직 무수정) Co-Authored-By: Claude Sonnet 4.6 --- app/layout.tsx | 2 - app/legal/privacy/page.tsx | 2 +- app/legal/refund/page.tsx | 2 +- app/legal/terms/page.tsx | 2 +- app/payment/fail/page.tsx | 6 +- app/payment/success/page.tsx | 6 +- app/portfolio/[token]/page.tsx | 67 +++++----- app/quote/[token]/page.tsx | 216 ++++++++++++++++----------------- 8 files changed, 155 insertions(+), 148 deletions(-) diff --git a/app/layout.tsx b/app/layout.tsx index 973bf9d..230edd4 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -3,7 +3,6 @@ import Script from "next/script"; import "pretendard/dist/web/variable/pretendardvariable-dynamic-subset.css"; import "./globals.css"; import DashboardShell from "./components/DashboardShell"; -import { GlassFilter } from "./components/LiquidGlass"; export const metadata: Metadata = { title: { @@ -144,7 +143,6 @@ export default function RootLayout({ - {children} diff --git a/app/legal/privacy/page.tsx b/app/legal/privacy/page.tsx index 7b3b84b..868a898 100644 --- a/app/legal/privacy/page.tsx +++ b/app/legal/privacy/page.tsx @@ -8,7 +8,7 @@ export const metadata: Metadata = { export default function PrivacyPage() { return (
-

개인정보처리방침

+

개인정보처리방침

diff --git a/app/legal/refund/page.tsx b/app/legal/refund/page.tsx index 3b319e3..3b7cb4b 100644 --- a/app/legal/refund/page.tsx +++ b/app/legal/refund/page.tsx @@ -8,7 +8,7 @@ export const metadata: Metadata = { export default function RefundPage() { return (

-

환불 정책

+

환불 정책

diff --git a/app/legal/terms/page.tsx b/app/legal/terms/page.tsx index daf0343..8c15a1c 100644 --- a/app/legal/terms/page.tsx +++ b/app/legal/terms/page.tsx @@ -8,7 +8,7 @@ export const metadata: Metadata = { export default function TermsPage() { return (

-

이용약관

+

이용약관

diff --git a/app/payment/fail/page.tsx b/app/payment/fail/page.tsx index b47ef19..a417324 100644 --- a/app/payment/fail/page.tsx +++ b/app/payment/fail/page.tsx @@ -19,7 +19,7 @@ function FailContent() {
{code === 'USER_CANCEL' || code === 'PAY_PROCESS_CANCELED' ? '결제 취소' : '결제 실패'}
-

+

{code === 'USER_CANCEL' || code === 'PAY_PROCESS_CANCELED' ? '결제를 취소하셨습니다' : '결제에 실패했습니다'}

{message}

@@ -45,9 +45,9 @@ export default function PaymentFailPage() { return (
-
+
-
+
쟁승메이드 결제 diff --git a/app/payment/success/page.tsx b/app/payment/success/page.tsx index 12f062a..c747a14 100644 --- a/app/payment/success/page.tsx +++ b/app/payment/success/page.tsx @@ -18,7 +18,7 @@ function SuccessContent() {
결제 완료
-

결제가 완료되었습니다!

+

결제가 완료되었습니다!

{paymentId && (

주문번호: {paymentId}

)} @@ -47,9 +47,9 @@ export default function PaymentSuccessPage() { return (
-
+
-
+
쟁승메이드 결제 diff --git a/app/portfolio/[token]/page.tsx b/app/portfolio/[token]/page.tsx index a7245fa..062c0b4 100644 --- a/app/portfolio/[token]/page.tsx +++ b/app/portfolio/[token]/page.tsx @@ -23,69 +23,78 @@ export default async function PortfolioGateway({ params }: Props) { const expires = new Date(payload.exp).toLocaleDateString('ko-KR'); return ( -
-
+
+ {/* 헤더 배너 — jsm-navy 사용 (푸터/다크 섹션 전용 토큰) */} +
+
+
+ 쟁 +
+ 쟁승메이드 + + Private · {payload.memo || 'Confidential'} + +
+
+ +
-
- - - Private Portfolio · {payload.memo || 'Confidential'} +
+ + + 개인 공유 포트폴리오
-

+

박재오
- - 외주 개발 포트폴리오 - + 외주 개발 포트폴리오

-

+

현직 실무 엔지니어 · 계약서 우선 · 납기 패널티 보장 · 소스코드 100% 인도. - 본 페이지는 {expires}까지 유효한 개별 공유 링크입니다. +

+

+ 이 링크는 {expires}까지 유효합니다

-

+

Freelance

-

외주 개발 · 전체 소개

-

+

외주 개발 · 전체 소개

+

계약 프로세스, 납기 패널티, 포트폴리오 사례, 견적 문의.

- + 자세히 보기 → -

+

Website

-

홈페이지·쇼핑몰 제작

-

+

홈페이지·쇼핑몰 제작

+

Next.js 기반 반응형 웹, SEO 기본, 3개월 유지보수 포함.

- + 자세히 보기 →
-
+
© 쟁승메이드 · 010-3907-1392 · bgg8988@gmail.com
diff --git a/app/quote/[token]/page.tsx b/app/quote/[token]/page.tsx index 1b38d01..0935845 100644 --- a/app/quote/[token]/page.tsx +++ b/app/quote/[token]/page.tsx @@ -20,8 +20,8 @@ interface Quote { } const CATEGORY_COLORS: Record = { - 기획: '#60a5fa', 디자인: '#f472b6', 개발: '#34d399', 인프라: '#fb923c', - 유지보수: '#a78bfa', 기타: '#94a3b8', + 기획: '#2563eb', 디자인: '#db2777', 개발: '#059669', 인프라: '#ea580c', + 유지보수: '#7c3aed', 기타: '#64748b', }; export default function QuotePage() { @@ -100,10 +100,10 @@ export default function QuotePage() { if (loading) { return ( -
+
-
-

견적서를 불러오는 중...

+
+

견적서를 불러오는 중...

@@ -112,29 +112,29 @@ export default function QuotePage() { if (notFound || !quote) { return ( -
+
🔍
-

견적서를 찾을 수 없습니다

-

링크가 만료되었거나 잘못된 주소입니다

+

견적서를 찾을 수 없습니다

+

링크가 만료되었거나 잘못된 주소입니다

); } if (submitted) { return ( -
+
🎉
-

견적을 수락해 주셨습니다!

-

+

견적을 수락해 주셨습니다!

+

담당자가 확인 후 빠른 시일 내에 연락드리겠습니다.
선택하신 내용을 기반으로 계약을 진행합니다.

-
-
최종 견적 금액
-
{grandTotal.toLocaleString()}원
+
+
최종 견적 금액
+
{grandTotal.toLocaleString()}원
{maintenanceTotal > 0 && ( -
+ 유지보수 {maintenanceTotal.toLocaleString()}원/월
+
+ 유지보수 {maintenanceTotal.toLocaleString()}원/월
)}
@@ -149,13 +149,12 @@ export default function QuotePage() { ].filter((t) => t.show !== false); return ( -
+
{/* 헤더 */} -
+
{/* 브랜드 */}
-
+
쟁승메이드
-
jaengseung-made.com
+
jaengseung-made.com
- + 공식 견적서