This commit is contained in:
sion
2026-04-21 08:09:45 +08:00
parent 0066615054
commit 5264043c21
1831 changed files with 15376 additions and 39973 deletions

View File

@@ -1,9 +1,10 @@
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'app_color_scheme.dart';
import 'app_spacing.dart';
import 'app_theme_extension.dart';
const String _kFontFamily = 'Inter';
/// "The Kinetic Vault" & "The Ethereal Terminal" 主題配置
class AppTheme {
AppTheme._();
@@ -19,6 +20,7 @@ class AppTheme {
scaffoldBackgroundColor: AppColorScheme.darkBackground,
primaryColor: AppColorScheme.darkPrimary,
colorScheme: AppColorScheme.darkMaterial,
fontFamily: _kFontFamily,
extensions: <ThemeExtension<dynamic>>[
AppThemeColors.dark(),
],
@@ -30,7 +32,7 @@ class AppTheme {
elevation: 0,
scrolledUnderElevation: 0,
centerTitle: true,
titleTextStyle: GoogleFonts.inter(
titleTextStyle: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w600,
color: AppColorScheme.darkOnSurface,
@@ -84,7 +86,7 @@ class AppTheme {
borderRadius: BorderRadius.circular(AppRadius.lg),
),
elevation: 0,
textStyle: GoogleFonts.inter(
textStyle: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
),
@@ -125,6 +127,7 @@ class AppTheme {
scaffoldBackgroundColor: AppColorScheme.lightBackground,
primaryColor: AppColorScheme.lightPrimary,
colorScheme: AppColorScheme.lightMaterial,
fontFamily: _kFontFamily,
extensions: <ThemeExtension<dynamic>>[
AppThemeColors.light(),
],
@@ -136,7 +139,7 @@ class AppTheme {
elevation: 0,
scrolledUnderElevation: 0,
centerTitle: true,
titleTextStyle: GoogleFonts.inter(
titleTextStyle: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
color: AppColorScheme.lightOnSurface,
@@ -190,7 +193,7 @@ class AppTheme {
borderRadius: BorderRadius.circular(AppRadius.lg),
),
elevation: 0,
textStyle: GoogleFonts.inter(
textStyle: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
),
@@ -234,7 +237,8 @@ class AppTextStyles {
// ============================================
/// D1 - 總資產/餘額 (28px w700) — Pencil $hero-value
static TextStyle displayLarge(BuildContext context) => GoogleFonts.inter(
static TextStyle displayLarge(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 28,
fontWeight: FontWeight.w700,
color: Theme.of(context).colorScheme.onSurface,
@@ -243,7 +247,8 @@ class AppTextStyles {
);
/// D2 - 精選價格 (24px w700) — Pencil 行情卡片價格
static TextStyle displayMedium(BuildContext context) => GoogleFonts.inter(
static TextStyle displayMedium(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 24,
fontWeight: FontWeight.w700,
color: Theme.of(context).colorScheme.onSurface,
@@ -251,7 +256,8 @@ class AppTextStyles {
);
/// D3 - 頁面標題 (22px w700) — Pencil 頁面大標題
static TextStyle displaySmall(BuildContext context) => GoogleFonts.inter(
static TextStyle displaySmall(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 22,
fontWeight: FontWeight.w700,
color: Theme.of(context).colorScheme.onSurface,
@@ -263,7 +269,8 @@ class AppTextStyles {
// ============================================
/// 區塊/導航標題 (16px w600) — Pencil $section-title
static TextStyle headlineLarge(BuildContext context) => GoogleFonts.inter(
static TextStyle headlineLarge(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 16,
fontWeight: FontWeight.w600,
color: Theme.of(context).colorScheme.onSurface,
@@ -271,7 +278,8 @@ class AppTextStyles {
);
/// 卡片標題/價格/標籤頁 (14px w600) — Pencil $card-title
static TextStyle headlineMedium(BuildContext context) => GoogleFonts.inter(
static TextStyle headlineMedium(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 14,
fontWeight: FontWeight.w600,
color: Theme.of(context).colorScheme.onSurface,
@@ -279,7 +287,8 @@ class AppTextStyles {
);
/// 副標題/持倉價值 (13px w500)
static TextStyle headlineSmall(BuildContext context) => GoogleFonts.inter(
static TextStyle headlineSmall(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 13,
fontWeight: FontWeight.w500,
color: Theme.of(context).colorScheme.onSurface,
@@ -291,7 +300,8 @@ class AppTextStyles {
// ============================================
/// 主要正文 (13px w400)
static TextStyle bodyLarge(BuildContext context) => GoogleFonts.inter(
static TextStyle bodyLarge(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 13,
fontWeight: FontWeight.w400,
color: Theme.of(context).colorScheme.onSurface,
@@ -299,7 +309,8 @@ class AppTextStyles {
);
/// 次要正文/副標題 (12px w400) — Pencil $subtitle
static TextStyle bodyMedium(BuildContext context) => GoogleFonts.inter(
static TextStyle bodyMedium(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 12,
fontWeight: FontWeight.w400,
color: Theme.of(context).colorScheme.onSurface,
@@ -307,7 +318,8 @@ class AppTextStyles {
);
/// 輔助文字/幣種全名 (11px w400) — Pencil $small-text
static TextStyle bodySmall(BuildContext context) => GoogleFonts.inter(
static TextStyle bodySmall(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 11,
fontWeight: FontWeight.w400,
color: Theme.of(context).colorScheme.onSurfaceVariant,
@@ -319,7 +331,8 @@ class AppTextStyles {
// ============================================
/// 按鈕/標籤頁標籤 (12px w500) — Pencil $tab-label
static TextStyle labelLarge(BuildContext context) => GoogleFonts.inter(
static TextStyle labelLarge(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 12,
fontWeight: FontWeight.w500,
color: Theme.of(context).colorScheme.onSurface,
@@ -327,7 +340,8 @@ class AppTextStyles {
);
/// 漲跌幅標籤 (11px w500) — Pencil $change-badge
static TextStyle labelMedium(BuildContext context) => GoogleFonts.inter(
static TextStyle labelMedium(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 11,
fontWeight: FontWeight.w500,
color: Theme.of(context).colorScheme.onSurfaceVariant,
@@ -335,7 +349,8 @@ class AppTextStyles {
);
/// 漲跌幅標籤-粗 (11px w600) — Pencil $change-badge-bold
static TextStyle labelSmall(BuildContext context) => GoogleFonts.inter(
static TextStyle labelSmall(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 11,
fontWeight: FontWeight.w600,
color: Theme.of(context).colorScheme.onSurfaceVariant,
@@ -347,7 +362,8 @@ class AppTextStyles {
// ============================================
/// 大號數字 (22px w700) - 總資產、餘額
static TextStyle numberLarge(BuildContext context) => GoogleFonts.inter(
static TextStyle numberLarge(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 22,
fontWeight: FontWeight.w700,
color: Theme.of(context).colorScheme.onSurface,
@@ -357,7 +373,8 @@ class AppTextStyles {
);
/// 中號數字 (14px w600) - 價格、金額
static TextStyle numberMedium(BuildContext context) => GoogleFonts.inter(
static TextStyle numberMedium(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 14,
fontWeight: FontWeight.w600,
color: Theme.of(context).colorScheme.onSurface,
@@ -366,7 +383,8 @@ class AppTextStyles {
);
/// 小號數字 (12px w500) - 漲跌幅、數量
static TextStyle numberSmall(BuildContext context) => GoogleFonts.inter(
static TextStyle numberSmall(BuildContext context) => TextStyle(
fontFamily: _kFontFamily,
fontSize: 12,
fontWeight: FontWeight.w500,
color: Theme.of(context).colorScheme.onSurface,