Files
imen_pishghaman/app/design/theme.ts
T
S. EsmaeiliandClaude Opus 4.6 e31ef5a21f feat: migrate landing from Next.js to Nuxt 4 (Vue 3)
Full 1:1 migration preserving all visuals, animations and behavior:
- Nuxt 4 + Vue 3 (script setup, TypeScript strict) with SSG output
- Tailwind CSS v4 with @tailwindcss/vite
- Ant Design Vue 4 (dark theme, RTL, Persian locale) for design system
- Pinia for state management (ui + contact stores)
- motion-v (framer-motion port) for all animations
- lucide-vue-next for icons
- SEO improvements: og:image, canonical fix, real 404 page, JSON-LD services
- JS bundle reduced from 302KB to 239KB gzip
- Docker/nginx deployment preserved (out/ -> nginx)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-06 16:28:05 +03:30

45 lines
1.3 KiB
TypeScript

import { theme } from "ant-design-vue";
import type { ThemeConfig } from "ant-design-vue/es/config-provider/context";
/**
* Design-system palette — mirrors the Tailwind `@theme` tokens in assets/css/main.css.
* Keep both in sync: Tailwind drives layout/sections, Ant Design drives form controls.
*/
export const palette = {
bg: "#0a0a0c",
panel: "#121216",
panel2: "#17171c",
ink: "#edede6",
muted: "#8e8e96",
accent: "#ff5a00",
accentSoft: "#ff7a2a",
hazard: "#ffb800",
line: "#232329",
success: "#34d399", // tailwind emerald-400
} as const;
export const antdTheme: ThemeConfig = {
algorithm: theme.darkAlgorithm,
token: {
colorPrimary: palette.accent,
colorInfo: palette.accent,
colorWarning: palette.hazard,
colorSuccess: palette.success,
colorBgBase: palette.bg,
colorBgContainer: palette.bg,
colorBgElevated: palette.panel,
colorBorder: palette.line,
colorBorderSecondary: palette.line,
colorText: palette.ink,
colorTextDescription: palette.muted,
colorTextPlaceholder: "rgba(142, 142, 150, 0.5)",
colorTextLightSolid: palette.bg,
fontFamily: "var(--font-sans)",
fontSize: 14,
borderRadius: 8,
controlOutlineWidth: 0,
motionDurationMid: "0.15s",
wireframe: false,
},
};