import React, { lazy } from 'react';
import {
    IconHome,
    IconBlog,
    IconLotto,
    IconStock,
    IconBuilding,
    IconTravel,
    IconMusic,
    IconLab,
    IconTodo,
    IconInsta,
    IconPortfolio,
} from './components/Icons';

const Home = lazy(() => import('./pages/home/Home'));
const Blog = lazy(() => import('./pages/blog/Blog'));
const Lotto = lazy(() => import('./pages/lotto/Lotto'));
const Evolver = lazy(() => import('./pages/lotto/Evolver'));
const Travel = lazy(() => import('./pages/travel/Travel'));
const Stock = lazy(() => import('./pages/stock/Stock'));
const StockTrade = lazy(() => import('./pages/stock/StockTrade'));
const Screener = lazy(() => import('./pages/stock/screener/Screener'));
const Subscription = lazy(() => import('./pages/subscription/Subscription'));
const EffectLab = lazy(() => import('./pages/effect-lab/EffectLab'));
const SwordStream = lazy(() => import('./pages/effect-lab/SwordStream'));
const DayCalc = lazy(() => import('./pages/effect-lab/DayCalc'));
const Todo = lazy(() => import('./pages/todo/Todo'));
const MusicStudio = lazy(() => import('./pages/music/MusicStudio'));
const InstaCards = lazy(() => import('./pages/insta/InstaCards'));
const Portfolio = lazy(() => import('./pages/portfolio/Portfolio'));

export const navLinks = [
    {
        id: 'home',
        label: 'Home',
        path: '/',
        subtitle: 'PERSONAL ARCHIVE',
        description: '첫 인상과 최신 업데이트를 모아둔 허브',
        icon: <IconHome />,
        accent: '#f7a8a5',
    },
    {
        id: 'portfolio',
        label: 'Portfolio',
        path: '/portfolio',
        subtitle: 'RESUME',
        description: '개인 포트폴리오 — 프로필, 이력, 프로젝트 쇼케이스',
        icon: <IconPortfolio />,
        accent: '#06b6d4',
    },
    {
        id: 'blog',
        label: 'Blog',
        path: '/blog',
        subtitle: 'JOURNAL',
        description: '생각과 기록, 코드 스니펫을 모으는 공간',
        icon: <IconBlog />,
        accent: '#c084fc',
    },
    {
        id: 'travel',
        label: 'Travel',
        path: '/travel',
        subtitle: 'VISUAL DIARY',
        description: '여행에서 담은 색과 장면을 전시하는 갤러리',
        icon: <IconTravel />,
        accent: '#fb923c',
    },
    {
        id: 'lotto',
        label: 'Lotto',
        path: '/lotto',
        subtitle: 'PLAYGROUND',
        description: '숫자를 뽑고 통계를 확인하는 실험실',
        icon: <IconLotto />,
        accent: '#34d399',
    },
    {
        id: 'stock',
        label: 'Stock',
        path: '/stock',
        subtitle: '마켓 랩',
        description: '아침 시장 흐름을 확인하는 주식 연구실',
        icon: <IconStock />,
        accent: '#60a5fa',
    },
    {
        id: 'music',
        label: 'Music',
        path: '/music',
        subtitle: 'SONIC FORGE',
        description: 'AI로 세상에 하나뿐인 음악을 만드는 스튜디오',
        icon: <IconMusic />,
        accent: '#f5a623',
    },
    {
        id: 'realestate',
        label: 'Realestate',
        path: '/realestate',
        subtitle: '부동산',
        description: '청약 공고 자동 수집, 매칭, 프로필 기반 자격 분석',
        icon: <IconBuilding />,
        accent: '#f43f5e',
    },
    {
        id: 'insta',
        label: 'Insta',
        path: '/insta',
        subtitle: 'CARD FEED',
        description: '뉴스에서 키워드 발굴 → AI 카드 10장 자동 생성 → 인스타 업로드',
        icon: <IconInsta />,
        accent: '#ec4899',
    },
    {
        id: 'todo',
        label: 'Todo',
        path: '/todo',
        subtitle: 'TASK BOARD',
        description: '할 일을 관리하는 태스크 보드',
        icon: <IconTodo />,
        accent: '#f472b6',
    },
    {
        id: 'agent-office',
        label: 'Agent Office',
        path: '/agent-office',
        subtitle: 'AI LAB',
        description: 'AI 에이전트 사무실',
        icon: <span style={{fontSize:'1.2em'}}>🏢</span>,
        accent: '#8b5cf6',
    },
    {
        id: 'lab',
        label: 'Lab',
        path: '/lab',
        subtitle: 'STREAM',
        description: '실험적인 UI/UX 효과를 테스트하는 공간',
        icon: <IconLab />,
        accent: '#fbbf24',
    },
];

export const appRoutes = [
    {
        index: true,
        element: <Home />,
    },
    {
        path: 'blog',
        element: <Blog />,
    },
    {
        path: 'lotto',
        element: <Lotto />,
    },
    {
        path: 'lotto/evolver',
        element: <Evolver />,
    },
    {
        path: 'stock',
        element: <Stock />,
    },
    {
        path: 'stock/trade',
        element: <StockTrade />,
    },
    {
        path: 'stock/screener',
        element: <Screener />,
    },
    {
        path: 'realestate',
        element: <Subscription />,
    },
    {
        path: 'travel',
        element: <Travel />,
    },
    {
        path: 'lab',
        element: <EffectLab />,
    },
    {
        path: 'lab/sword-stream',
        element: <SwordStream />,
    },
    {
        path: 'lab/day-calc',
        element: <DayCalc />,
    },
    {
        path: 'music',
        element: <MusicStudio />,
    },
    {
        path: 'insta',
        element: <InstaCards />,
    },
    {
        path: 'todo',
        element: <Todo />,
    },
    {
        path: 'portfolio',
        element: <Portfolio />,
    },
    {
        path: 'agent-office',
        lazy: () => import('./pages/agent-office/AgentOffice'),
    },
];
