From 0f5a5a96c4f4637117d63a25fead46aa1fcdb943 Mon Sep 17 00:00:00 2001 From: chpark Date: Thu, 30 Apr 2026 22:26:41 +0900 Subject: [PATCH] =?UTF-8?q?Revert=20"feat:=20=EC=82=AC=EC=9D=B4=ED=8A=B8?= =?UTF-8?q?=20=EC=A0=84=EB=A9=B4=20=EB=8B=A4=ED=81=AC=20=EB=A6=AC=EB=89=B4?= =?UTF-8?q?=EC=96=BC=20(invyone=20=EC=8A=A4=ED=83=80=EC=9D=BC=20=EB=A0=88?= =?UTF-8?q?=EC=9D=B8=EB=B3=B4=EC=9A=B0=20=EA=B7=B8=EB=9D=BC=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=EC=85=98)"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit eb28c6a719b678321b21b3cecd7823aa1b685ce0. --- apps/web/src/app/auth-buttons.tsx | 15 +- apps/web/src/app/globals.css | 594 ++---------------------- apps/web/src/app/layout.tsx | 126 ++--- apps/web/src/app/page.tsx | 733 +++++++++++------------------- 4 files changed, 369 insertions(+), 1099 deletions(-) diff --git a/apps/web/src/app/auth-buttons.tsx b/apps/web/src/app/auth-buttons.tsx index cdfab9d..b52dfa5 100644 --- a/apps/web/src/app/auth-buttons.tsx +++ b/apps/web/src/app/auth-buttons.tsx @@ -29,18 +29,13 @@ export function AuthButtons({ session }: AuthButtonsProps) {
로그인 회원가입 @@ -50,15 +45,15 @@ export function AuthButtons({ session }: AuthButtonsProps) { return (
- + {session.user.name} - + ({ROLE_LABELS[session.user.primaryRole] || session.user.primaryRole}) diff --git a/apps/web/src/app/globals.css b/apps/web/src/app/globals.css index 1d767e2..bdf0146 100644 --- a/apps/web/src/app/globals.css +++ b/apps/web/src/app/globals.css @@ -1,14 +1,9 @@ -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Noto+Sans+KR:wght@300;400;500;700;900&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500;700&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700;900&family=Playfair+Display:ital,wght@0,700;0,900;1,700&display=swap'); @import "tailwindcss"; @theme { - /* Typography */ - --font-body: 'Inter', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; - --font-display: 'Inter', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif; - --font-serif: 'Instrument Serif', Georgia, serif; - --font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace; - - /* Legacy warm palette — still referenced on sub-pages (blog, stores, about, etc.) */ + --font-display: 'Playfair Display', Georgia, serif; + --font-body: 'Noto Sans KR', sans-serif; --color-warm-50: #fefcf9; --color-warm-100: #fdf6ec; --color-warm-200: #f9e8cf; @@ -24,204 +19,58 @@ --color-ink-muted: #8a7e72; --color-sage-500: #6b8f71; --color-sage-600: #527a58; - - /* invyone-inspired dark foundation */ - --color-night-0: #05050f; - --color-night-1: #0a0a18; - --color-night-2: #10101f; - --color-night-3: #1a1a2e; - --color-night-4: #252540; - --color-night-5: #353848; - --color-cloud-0: #ffffff; - --color-cloud-1: rgba(255, 255, 255, 0.92); - --color-cloud-2: rgba(255, 255, 255, 0.68); - --color-cloud-3: rgba(255, 255, 255, 0.48); - --color-cloud-4: rgba(255, 255, 255, 0.28); - - /* Rainbow accent palette */ - --color-iris: #6366f1; - --color-iris-light: #818cf8; - --color-violet: #a855f7; - --color-violet-light: #c084fc; - --color-rose: #ec4899; - --color-rose-light: #f472b6; - --color-tangerine: #f97316; - --color-tangerine-light: #fb923c; - --color-azure: #60a5fa; - --color-lime: #22c55e; - --color-lime-light: #34d399; - --color-amber: #fbbf24; } -/* ----------------------------------------------------------------- - * Global body defaults - * ----------------------------------------------------------------- */ -html { - background: #05050f; -} -body { - background: #05050f; - color: rgba(255, 255, 255, 0.92); - font-feature-settings: "cv11", "ss01"; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - text-rendering: optimizeLegibility; -} - -::selection { - background: rgba(168, 85, 247, 0.35); - color: #ffffff; -} - -/* ----------------------------------------------------------------- - * Keyframes - * ----------------------------------------------------------------- */ +/* Staggered fade-in-up animation */ @keyframes fade-up { - from { opacity: 0; transform: translateY(32px); } - to { opacity: 1; transform: translateY(0); } + from { + opacity: 0; + transform: translateY(32px); + } + to { + opacity: 1; + transform: translateY(0); + } } + @keyframes fade-in { from { opacity: 0; } - to { opacity: 1; } + to { opacity: 1; } } + @keyframes slide-in-right { - from { opacity: 0; transform: translateX(24px); } - to { opacity: 1; transform: translateX(0); } + from { + opacity: 0; + transform: translateX(24px); + } + to { + opacity: 1; + transform: translateX(0); + } } + @keyframes mesh-float { 0%, 100% { transform: translate(0, 0) scale(1); } - 33% { transform: translate(40px, -30px) scale(1.08); } - 66% { transform: translate(-30px, 20px) scale(0.92); } -} -@keyframes shimmer { - 0% { background-position: 0% 50%; } - 100% { background-position: 200% 50%; } -} -@keyframes gradient-pan { - 0%, 100% { background-position: 0% 50%; } - 50% { background-position: 100% 50%; } -} -@keyframes pulse-glow { - 0%, 100% { opacity: 0.55; transform: scale(1); } - 50% { opacity: 0.95; transform: scale(1.07); } -} -@keyframes marquee { - 0% { transform: translateX(0); } - 100% { transform: translateX(-50%); } -} -@keyframes spin-slow { - from { transform: rotate(0deg); } - to { transform: rotate(360deg); } -} -@keyframes grid-drift { - 0% { background-position: 0 0; } - 100% { background-position: 48px 48px; } + 33% { transform: translate(30px, -20px) scale(1.05); } + 66% { transform: translate(-20px, 15px) scale(0.95); } } -/* Reveal-on-load with stagger */ -.reveal { opacity: 0; transform: translateY(24px); animation: fade-up 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards; } -.reveal.d1 { animation-delay: 0.08s; } -.reveal.d2 { animation-delay: 0.18s; } -.reveal.d3 { animation-delay: 0.28s; } -.reveal.d4 { animation-delay: 0.4s; } -.reveal.d5 { animation-delay: 0.55s; } -.reveal.d6 { animation-delay: 0.7s; } -.reveal.d7 { animation-delay: 0.85s; } - -.animate-fade-up { animation: fade-up 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards; opacity: 0; } -.animate-fade-in { animation: fade-in 0.7s ease forwards; opacity: 0; } -.animate-slide-right { animation: slide-in-right 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards; opacity: 0; } -.animate-spin-slow { animation: spin-slow 30s linear infinite; } - -/* ----------------------------------------------------------------- - * Gradient / text utilities - * ----------------------------------------------------------------- */ -.text-grad-primary { - background: linear-gradient(135deg, #6366f1 0%, #a855f7 40%, #ec4899 70%, #f97316 100%); - -webkit-background-clip: text; - background-clip: text; - -webkit-text-fill-color: transparent; - color: transparent; -} -.text-grad-subtle { - background: linear-gradient(120deg, #818cf8 0%, #c084fc 30%, #f472b6 60%, #fb923c 100%); - -webkit-background-clip: text; - background-clip: text; - -webkit-text-fill-color: transparent; - color: transparent; -} -.text-grad-rainbow { - background: linear-gradient(120deg, #60a5fa, #c084fc, #f472b6, #fb923c, #fbbf24, #34d399, #60a5fa); - background-size: 200% auto; - -webkit-background-clip: text; - background-clip: text; - -webkit-text-fill-color: transparent; - color: transparent; - animation: shimmer 8s linear infinite; -} -.text-grad-iris { - background: linear-gradient(135deg, #818cf8 0%, #6366f1 50%, #4f46e5 100%); - -webkit-background-clip: text; - background-clip: text; - -webkit-text-fill-color: transparent; - color: transparent; -} -.text-grad-rose { - background: linear-gradient(135deg, #f472b6 0%, #ec4899 50%, #db2777 100%); - -webkit-background-clip: text; - background-clip: text; - -webkit-text-fill-color: transparent; - color: transparent; -} -.text-grad-tangerine { - background: linear-gradient(135deg, #fbbf24 0%, #f97316 50%, #ea580c 100%); - -webkit-background-clip: text; - background-clip: text; - -webkit-text-fill-color: transparent; - color: transparent; +.animate-fade-up { + animation: fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards; + opacity: 0; } -/* ----------------------------------------------------------------- - * Backgrounds / patterns - * ----------------------------------------------------------------- */ -.bg-grid { - background-image: - linear-gradient(to right, rgba(255, 255, 255, 0.045) 1px, transparent 1px), - linear-gradient(to bottom, rgba(255, 255, 255, 0.045) 1px, transparent 1px); - background-size: 48px 48px; -} -.bg-grid-animated { - background-image: - linear-gradient(to right, rgba(255, 255, 255, 0.045) 1px, transparent 1px), - linear-gradient(to bottom, rgba(255, 255, 255, 0.045) 1px, transparent 1px); - background-size: 48px 48px; - animation: grid-drift 20s linear infinite; -} -.bg-dot { - background-image: radial-gradient(circle, rgba(255, 255, 255, 0.1) 1px, transparent 1px); - background-size: 24px 24px; -} -.bg-radial-fade { - background: radial-gradient(ellipse at center, transparent 0%, #05050f 75%); +.animate-fade-in { + animation: fade-in 0.6s ease forwards; + opacity: 0; } -/* Glow orbs */ -.orb { - position: absolute; - border-radius: 50%; - filter: blur(80px); - opacity: 0.55; - pointer-events: none; - animation: mesh-float 18s ease-in-out infinite, pulse-glow 9s ease-in-out infinite; +.animate-slide-right { + animation: slide-in-right 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards; + opacity: 0; } -.orb-iris { background: radial-gradient(circle, #6366f1 0%, transparent 70%); } -.orb-violet { background: radial-gradient(circle, #a855f7 0%, transparent 70%); } -.orb-rose { background: radial-gradient(circle, #ec4899 0%, transparent 70%); } -.orb-tangerine{ background: radial-gradient(circle, #f97316 0%, transparent 70%); } -.orb-azure { background: radial-gradient(circle, #60a5fa 0%, transparent 70%); } -.orb-lime { background: radial-gradient(circle, #34d399 0%, transparent 70%); } -/* Legacy mesh-blob preserved for other pages */ +/* Gradient mesh blobs */ .mesh-blob { position: absolute; border-radius: 50%; @@ -230,114 +79,16 @@ body { pointer-events: none; } -/* ----------------------------------------------------------------- - * Glass / gradient-border cards - * ----------------------------------------------------------------- */ -.glass-dark { - background: rgba(16, 16, 31, 0.6); - backdrop-filter: blur(20px); - -webkit-backdrop-filter: blur(20px); - border: 1px solid rgba(255, 255, 255, 0.08); -} -.glass-darker { - background: rgba(10, 10, 24, 0.72); - backdrop-filter: blur(24px); - -webkit-backdrop-filter: blur(24px); - border: 1px solid rgba(255, 255, 255, 0.06); -} - -.grad-border { - position: relative; - background: rgba(16, 16, 31, 0.65); - border-radius: 20px; - transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), - background 0.4s ease; -} -.grad-border::before { - content: ''; - position: absolute; - inset: 0; - padding: 1px; - border-radius: inherit; - background: linear-gradient(135deg, - rgba(99, 102, 241, 0.5) 0%, - rgba(168, 85, 247, 0.35) 35%, - rgba(236, 72, 153, 0.25) 65%, - rgba(249, 115, 22, 0.18) 100%); - -webkit-mask: - linear-gradient(#000 0 0) content-box, - linear-gradient(#000 0 0); - mask: - linear-gradient(#000 0 0) content-box, - linear-gradient(#000 0 0); - -webkit-mask-composite: xor; - mask-composite: exclude; - pointer-events: none; - transition: opacity 0.4s ease; -} -.grad-border:hover { - transform: translateY(-6px); - background: rgba(24, 24, 48, 0.8); -} -.grad-border:hover::before { - background: linear-gradient(135deg, - rgba(99, 102, 241, 0.9) 0%, - rgba(168, 85, 247, 0.75) 35%, - rgba(236, 72, 153, 0.6) 65%, - rgba(249, 115, 22, 0.45) 100%); -} - -/* ----------------------------------------------------------------- - * Buttons - * ----------------------------------------------------------------- */ -.btn-grad { - position: relative; - background: linear-gradient(135deg, #6366f1 0%, #a855f7 50%, #ec4899 100%); - color: white; - border-radius: 999px; - padding: 14px 28px; - font-weight: 600; - letter-spacing: -0.01em; - box-shadow: 0 10px 32px -8px rgba(168, 85, 247, 0.55), - 0 0 0 1px rgba(255, 255, 255, 0.08) inset; - transition: transform 0.25s ease, box-shadow 0.25s ease; -} -.btn-grad:hover { - transform: translateY(-2px); - box-shadow: 0 16px 40px -8px rgba(168, 85, 247, 0.7), - 0 0 0 1px rgba(255, 255, 255, 0.14) inset; -} -.btn-ghost { - background: rgba(255, 255, 255, 0.04); - color: rgba(255, 255, 255, 0.92); - border: 1px solid rgba(255, 255, 255, 0.14); - border-radius: 999px; - padding: 14px 28px; - font-weight: 600; - backdrop-filter: blur(10px); - transition: background 0.2s ease, border-color 0.2s ease, transform 0.25s ease; -} -.btn-ghost:hover { - background: rgba(255, 255, 255, 0.08); - border-color: rgba(255, 255, 255, 0.28); - transform: translateY(-2px); -} - -/* ----------------------------------------------------------------- - * Card lift (legacy + dark variant) - * ----------------------------------------------------------------- */ +/* Card hover lift */ .card-lift { - transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), - box-shadow 0.4s ease, - background 0.3s ease; + transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease; } .card-lift:hover { transform: translateY(-6px); + box-shadow: 0 20px 60px -12px rgba(26, 20, 16, 0.15); } -/* ----------------------------------------------------------------- - * Link underline (legacy) - * ----------------------------------------------------------------- */ +/* Link underline animation */ .link-underline { position: relative; display: inline-block; @@ -355,268 +106,3 @@ body { .link-underline:hover::after { width: 100%; } - -/* Gradient underline for dark theme */ -.link-grad { - position: relative; - display: inline-block; -} -.link-grad::after { - content: ''; - position: absolute; - left: 0; - bottom: -3px; - width: 0; - height: 2px; - background: linear-gradient(90deg, #6366f1, #a855f7, #ec4899, #f97316); - transition: width 0.35s cubic-bezier(0.22, 1, 0.36, 1); -} -.link-grad:hover::after { - width: 100%; -} - -/* ----------------------------------------------------------------- - * Marquee - * ----------------------------------------------------------------- */ -.marquee-track { - display: flex; - gap: 3rem; - animation: marquee 40s linear infinite; - white-space: nowrap; - width: max-content; -} -.marquee-mask { - -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%); - mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%); -} - -/* ----------------------------------------------------------------- - * Conic/orbit decorative ring - * ----------------------------------------------------------------- */ -.conic-ring { - background: conic-gradient( - from 0deg, - #6366f1 0deg, - #a855f7 90deg, - #ec4899 180deg, - #f97316 270deg, - #6366f1 360deg - ); - filter: blur(2px); -} - -/* Reduce motion preference */ -@media (prefers-reduced-motion: reduce) { - .reveal, - .animate-fade-up, - .animate-fade-in, - .animate-slide-right, - .animate-spin-slow, - .orb, - .mesh-blob, - .bg-grid-animated, - .text-grad-rainbow, - .marquee-track { - animation: none !important; - opacity: 1 !important; - transform: none !important; - } -} - -/* ================================================================= - * SITE-WIDE DARK THEME OVERRIDES - * Legacy pages (stores/blog/about/auth/faq/contact/admin/etc.) - * use warm-*/ink/white color classes. Remap them to dark equivalents - * here so every page inherits the new look without touching code. - * ================================================================= */ - -/* --- Page / section backgrounds (warm-50, warm-100) --- */ -.bg-warm-50 { background-color: #05050f !important; } -.bg-warm-50\/50 { background-color: rgba(5, 5, 15, 0.6) !important; } -.bg-warm-50\/60 { background-color: rgba(5, 5, 15, 0.7) !important; } -.bg-warm-50\/70 { background-color: rgba(5, 5, 15, 0.75) !important; } -.bg-warm-50\/80 { background-color: rgba(5, 5, 15, 0.8) !important; } - -.bg-warm-100 { background-color: #0a0a18 !important; } -.bg-warm-100\/40 { background-color: rgba(10, 10, 24, 0.45) !important; } -.bg-warm-100\/50 { background-color: rgba(10, 10, 24, 0.55) !important; } -.bg-warm-100\/60 { background-color: rgba(10, 10, 24, 0.65) !important; } -.bg-warm-100\/70 { background-color: rgba(10, 10, 24, 0.75) !important; } - -.bg-warm-200 { background-color: #10101f !important; } -.bg-warm-200\/50 { background-color: rgba(16, 16, 31, 0.6) !important; } - -/* --- Accent color tints (warm-400/500/600 → violet/iris/rose) --- */ -.bg-warm-400\/15 { background-color: rgba(192, 132, 252, 0.14) !important; } -.bg-warm-400\/30 { background-color: rgba(192, 132, 252, 0.28) !important; } -.bg-warm-400\/40 { background-color: rgba(192, 132, 252, 0.38) !important; } -.bg-warm-500 { background-color: #a855f7 !important; color: white !important; } -.bg-warm-500\/10 { background-color: rgba(168, 85, 247, 0.12) !important; } -.bg-warm-500\/15 { background-color: rgba(168, 85, 247, 0.18) !important; } -.bg-warm-500\/20 { background-color: rgba(168, 85, 247, 0.24) !important; } -.bg-warm-600 { background-color: #ec4899 !important; color: white !important; } -.bg-warm-600\/90 { background-color: rgba(236, 72, 153, 0.92) !important; color: white !important; } -.bg-warm-700 { background-color: #6366f1 !important; color: white !important; } -.bg-warm-800 { background-color: #0f0f22 !important; } -.bg-warm-900 { background-color: #050510 !important; } - -/* --- Ink (dark) backgrounds — now map to darkest navy --- */ -.bg-ink { background-color: #05050f !important; } -.bg-ink\/5 { background-color: rgba(255, 255, 255, 0.04) !important; } -.bg-ink\/10 { background-color: rgba(255, 255, 255, 0.07) !important; } -.bg-ink\/20 { background-color: rgba(255, 255, 255, 0.12) !important; } - -/* --- Sage (green) tints --- */ -.bg-sage-500 { background-color: #34d399 !important; color: #05050f !important; } -.bg-sage-500\/5 { background-color: rgba(52, 211, 153, 0.08) !important; } -.bg-sage-500\/10 { background-color: rgba(52, 211, 153, 0.14) !important; } -.bg-sage-500\/15 { background-color: rgba(52, 211, 153, 0.2) !important; } -.bg-sage-500\/90 { background-color: rgba(52, 211, 153, 0.88) !important; color: #05050f !important; } - -/* --- White backgrounds → dark glass cards --- */ -.bg-white { - background-color: rgba(16, 16, 31, 0.85) !important; - color: rgba(255, 255, 255, 0.92) !important; -} -.bg-white\/50 { - background-color: rgba(16, 16, 31, 0.55) !important; - backdrop-filter: blur(16px); - -webkit-backdrop-filter: blur(16px); -} -.bg-white\/60 { - background-color: rgba(16, 16, 31, 0.6) !important; - backdrop-filter: blur(18px); - -webkit-backdrop-filter: blur(18px); -} -.bg-white\/70 { - background-color: rgba(16, 16, 31, 0.65) !important; - backdrop-filter: blur(20px); - -webkit-backdrop-filter: blur(20px); -} -.bg-white\/80 { - background-color: rgba(16, 16, 31, 0.75) !important; - backdrop-filter: blur(22px); - -webkit-backdrop-filter: blur(22px); -} -.bg-white\/90 { - background-color: rgba(16, 16, 31, 0.85) !important; -} - -/* --- Text colors --- */ -.text-ink { color: #ffffff !important; } -.text-ink-light { color: rgba(255, 255, 255, 0.68) !important; } -.text-ink-muted { color: rgba(255, 255, 255, 0.45) !important; } -.text-warm-50 { color: #ffffff !important; } -.text-warm-100 { color: rgba(255, 255, 255, 0.9) !important; } -.text-warm-200 { color: rgba(255, 255, 255, 0.72) !important; } -.text-warm-400 { color: #c084fc !important; } -.text-warm-500 { color: #a855f7 !important; } -.text-warm-600 { color: #ec4899 !important; } -.text-warm-700 { color: #818cf8 !important; } -.text-warm-800 { color: #c084fc !important; } -.text-warm-900 { color: #ffffff !important; } -.text-sage-500 { color: #34d399 !important; } -.text-sage-600 { color: #10b981 !important; } - -/* --- Borders --- */ -.border-ink { border-color: rgba(255, 255, 255, 0.92) !important; } -.border-ink\/5 { border-color: rgba(255, 255, 255, 0.05) !important; } -.border-ink\/10 { border-color: rgba(255, 255, 255, 0.08) !important; } -.border-ink\/15 { border-color: rgba(255, 255, 255, 0.12) !important; } -.border-ink\/20 { border-color: rgba(255, 255, 255, 0.16) !important; } -.border-ink\/40 { border-color: rgba(255, 255, 255, 0.3) !important; } -.border-warm-200 { border-color: rgba(255, 255, 255, 0.1) !important; } -.border-warm-200\/30{ border-color: rgba(255, 255, 255, 0.12) !important; } -.border-warm-200\/60{ border-color: rgba(255, 255, 255, 0.2) !important; } -.border-warm-500 { border-color: #a855f7 !important; } - -/* --- Hover variants --- */ -.hover\:bg-warm-50:hover { background-color: rgba(255, 255, 255, 0.03) !important; } -.hover\:bg-warm-100:hover { background-color: rgba(255, 255, 255, 0.05) !important; } -.hover\:bg-warm-200:hover { background-color: rgba(255, 255, 255, 0.08) !important; } -.hover\:bg-warm-400:hover { background-color: #c084fc !important; } -.hover\:bg-warm-500:hover { background-color: #a855f7 !important; } -.hover\:bg-warm-600:hover { background-color: #ec4899 !important; } -.hover\:bg-warm-700:hover { background-color: #6366f1 !important; } -.hover\:bg-warm-800:hover { background-color: #10101f !important; } -.hover\:text-warm-600:hover { color: #ec4899 !important; } -.hover\:text-warm-700:hover { color: #818cf8 !important; } -.hover\:text-warm-800:hover { color: #c084fc !important; } -.hover\:border-ink\/40:hover{ border-color: rgba(255, 255, 255, 0.3) !important; } -.hover\:border-warm-200:hover { border-color: rgba(255, 255, 255, 0.2) !important; } - -/* --- Form inputs: dark theme by default --- */ -input[type="text"], -input[type="email"], -input[type="password"], -input[type="number"], -input[type="tel"], -input[type="url"], -input[type="search"], -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input:not([type]), -textarea, -select { - background-color: rgba(16, 16, 31, 0.6) !important; - border: 1px solid rgba(255, 255, 255, 0.1) !important; - color: #ffffff !important; - border-radius: 10px; - transition: border-color 0.2s ease, box-shadow 0.2s ease; -} -input::placeholder, -textarea::placeholder { - color: rgba(255, 255, 255, 0.35) !important; -} -input:focus, -textarea:focus, -select:focus { - border-color: #a855f7 !important; - box-shadow: 0 0 0 4px rgba(168, 85, 247, 0.18) !important; - outline: none !important; -} -/* Checkbox / radio — keep accent purple */ -input[type="checkbox"], -input[type="radio"] { - accent-color: #a855f7; -} -/* Option elements inside select */ -select option { - background-color: #10101f; - color: #ffffff; -} - -/* --- Blog article prose (if used) --- */ -.prose, -.prose-lg, -.prose-xl { - --tw-prose-body: rgba(255, 255, 255, 0.78); - --tw-prose-headings: #ffffff; - --tw-prose-lead: rgba(255, 255, 255, 0.72); - --tw-prose-links: #c084fc; - --tw-prose-bold: #ffffff; - --tw-prose-counters: rgba(255, 255, 255, 0.5); - --tw-prose-bullets: rgba(255, 255, 255, 0.35); - --tw-prose-hr: rgba(255, 255, 255, 0.1); - --tw-prose-quotes: rgba(255, 255, 255, 0.85); - --tw-prose-quote-borders: rgba(168, 85, 247, 0.5); - --tw-prose-captions: rgba(255, 255, 255, 0.5); - --tw-prose-code: #f472b6; - --tw-prose-pre-code: #e4e4e7; - --tw-prose-pre-bg: rgba(16, 16, 31, 0.75); - --tw-prose-th-borders: rgba(255, 255, 255, 0.15); - --tw-prose-td-borders: rgba(255, 255, 255, 0.08); -} - -/* --- Placeholder/disabled states --- */ -*:disabled { - opacity: 0.5; - cursor: not-allowed; -} - -/* --- Ensure html/body stay dark for non-home routes too --- */ -html, body { - background-color: #05050f; - color-scheme: dark; -} diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index 1805543..7b8f44e 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -65,54 +65,42 @@ const OPERATOR_ROLES = [ 'SUPER_ADMIN', ]; -const NAV_LINKS = [ - { href: '/stores', label: '매장 검색' }, - { href: '/stores/new', label: '매장 등록' }, - { href: '/matching', label: '매칭' }, - { href: '/subsidies', label: '지원금' }, - { href: '/vendors', label: '업체' }, - { href: '/blog', label: '블로그' }, - { href: '/faq', label: 'FAQ' }, -]; - async function Navigation() { const session = await auth(); const isOperator = session?.user && OPERATOR_ROLES.includes(session.user.primaryRole); return ( -