feat: app 端 ui 设计完成
This commit is contained in:
59
wei_ai_app/lib/config/theme.dart
Normal file
59
wei_ai_app/lib/config/theme.dart
Normal file
@@ -0,0 +1,59 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
|
||||
class AppTheme {
|
||||
// Cyberpunk Color Palette
|
||||
static const Color neonBlue = Color(0xFF00F0FF);
|
||||
static const Color neonPurple = Color(0xFFBC13FE);
|
||||
static const Color neonGreen = Color(0xFF0AFF99);
|
||||
static const Color darkBg = Color(0xFF050510);
|
||||
static const Color darkSurface = Color(0xFF13132B);
|
||||
static const Color textPrimary = Color(0xFFE0E0FF);
|
||||
static const Color textSecondary = Color(0xFFA0A0C0);
|
||||
|
||||
static final ThemeData darkTheme = ThemeData(
|
||||
useMaterial3: true,
|
||||
brightness: Brightness.dark,
|
||||
scaffoldBackgroundColor: darkBg,
|
||||
|
||||
// Typography
|
||||
textTheme: GoogleFonts.outfitTextTheme(ThemeData.dark().textTheme).copyWith(
|
||||
displayLarge: const TextStyle(color: textPrimary, fontWeight: FontWeight.bold),
|
||||
displayMedium: const TextStyle(color: textPrimary, fontWeight: FontWeight.bold),
|
||||
bodyLarge: const TextStyle(color: textPrimary),
|
||||
bodyMedium: const TextStyle(color: textSecondary),
|
||||
),
|
||||
|
||||
// Color Scheme
|
||||
colorScheme: const ColorScheme.dark(
|
||||
primary: neonBlue,
|
||||
secondary: neonPurple,
|
||||
surface: darkBg, // Use darkBg as surface or stick to darkSurface? Let's use darkBg here as background replacement
|
||||
error: Color(0xFFFF2A6D),
|
||||
onPrimary: Colors.black,
|
||||
onSecondary: Colors.white,
|
||||
onSurface: textPrimary,
|
||||
),
|
||||
|
||||
// Component Themes
|
||||
appBarTheme: const AppBarTheme(
|
||||
backgroundColor: Colors.transparent,
|
||||
elevation: 0,
|
||||
centerTitle: true,
|
||||
titleTextStyle: TextStyle(fontSize: 18, fontWeight: FontWeight.bold, color: textPrimary),
|
||||
),
|
||||
|
||||
bottomNavigationBarTheme: const BottomNavigationBarThemeData(
|
||||
backgroundColor: darkSurface,
|
||||
selectedItemColor: neonBlue,
|
||||
unselectedItemColor: textSecondary,
|
||||
type: BottomNavigationBarType.fixed,
|
||||
showSelectedLabels: true,
|
||||
showUnselectedLabels: true,
|
||||
),
|
||||
|
||||
iconTheme: const IconThemeData(
|
||||
color: neonBlue,
|
||||
),
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user