@using Microsoft.AspNetCore.Components.Web
@inject VersionInfo VersionInfo
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>백원숙 세무회계 - 관리자</title>
    <base href="/taxbaik/" />
    <link rel="icon" type="image/svg+xml" href="/taxbaik/favicon.svg" />
    <link rel="alternate icon" href="/taxbaik/favicon.ico" />
    <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&display=swap" rel="stylesheet" />
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
    <link href="_content/MudBlazor/MudBlazor.min.css" rel="stylesheet" />
    <script>
        window.taxbaikAdminBuildVersion = '@VersionInfo.Version';
        window.taxbaikAdminComponent = 'AdminApp';
        document.documentElement.classList.toggle(
            'admin-login-route',
            window.location.pathname.toLowerCase().endsWith('/admin/login'));
    </script>
    <link rel="stylesheet" href="css/admin.css" />
    <component type="typeof(HeadOutlet)" render-mode="InteractiveServer" />
</head>
<body>
    <div id="components-reconnect-modal" class="admin-reconnect-modal">
        <div class="admin-reconnect-card">
            <strong>연결 재설정 중...</strong>
            <span>새로운 버전으로 업데이트되었습니다.</span>
            <span style="font-size: 0.85rem; margin-top: 0.5rem; opacity: 0.8;">자동으로 페이지를 새로고침합니다. 잠시만 기다려주세요.</span>
        </div>
    </div>
    <div id="blazor-loading" class="blazor-loading-overlay">
        <div class="blazor-loading-spinner">
            <div class="spinner"></div>
            <p>로드 중...</p>
        </div>
    </div>
    <MudThemeProvider @bind-IsDarkMode="isDarkMode" Theme="mudTheme" />
    <Routes @rendermode="new InteractiveWebAssemblyRenderMode(prerender: true)" />
    <script src="_content/MudBlazor/MudBlazor.min.js"></script>
    <script src="js/admin-session.js"></script>
    <script src="_framework/blazor.web.js"></script>
    <script>window.taxbaikAdminSession?.initErrorLogging();</script>
    <script>window.taxbaikAdminSession?.bindLoginForm();</script>
    <script>window.taxbaikAdminSession?.watchReconnect();</script>
</body>
</html>

@code {
    private bool isDarkMode = false;
    private MudTheme mudTheme = new()
    {
        Palette = new PaletteLight()
        {
            Primary = "#1976D2",
            PrimaryContrastText = "#FFFFFF",
            Secondary = "#2D9F7E",
            SecondaryContrastText = "#FFFFFF",
            Tertiary = "#FF8A50",
            TertiaryContrastText = "#FFFFFF",
            Surface = "#F5F7FA",
            Background = "#FFFFFF",
            BackgroundGrey = "#F8F9FB",
            DrawerBackground = "#FFFFFF",
            DrawerText = "#424242",
            AppbarBackground = "#FFFFFF",
            AppbarText = "#424242",
            TextPrimary = "#1A1A1A",
            TextSecondary = "#64748B",
            TextDisabled = "#94A3B8",
            ActionDefault = "#1976D2",
            ActionDisabled = "#BDBDBD",
            Divider = "#E2E8F0",
            DividerLight = "#F1F5F9",
            Error = "#DC2626",
            ErrorContrastText = "#FFFFFF",
            Warning = "#F59E0B",
            WarningContrastText = "#FFFFFF",
            Info = "#06B6D4",
            InfoContrastText = "#FFFFFF",
            Success = "#16A34A",
            SuccessContrastText = "#FFFFFF",
        },
        LayoutProperties = new LayoutProperties()
        {
            DefaultBorderRadius = "6px"
        },
        Typography = new Typography()
        {
            Default = new Default()
            {
                FontSize = ".8125rem",
                FontWeight = 400,
                LineHeight = 1.5
            },
            H1 = new H1()
            {
                FontSize = "1.75rem",
                FontWeight = 600,
                LineHeight = 1.2
            },
            H2 = new H2()
            {
                FontSize = "1.5rem",
                FontWeight = 600,
                LineHeight = 1.3
            },
            H3 = new H3()
            {
                FontSize = "1.25rem",
                FontWeight = 600,
                LineHeight = 1.3
            },
            H4 = new H4()
            {
                FontSize = "1.1rem",
                FontWeight = 600,
                LineHeight = 1.4
            },
            H5 = new H5()
            {
                FontSize = "0.95rem",
                FontWeight = 500,
                LineHeight = 1.4
            },
            H6 = new H6()
            {
                FontSize = "0.85rem",
                FontWeight = 500,
                LineHeight = 1.5
            }
        }
    };
}
