63 lines
2.1 KiB
Dart
63 lines
2.1 KiB
Dart
import 'package:flex_color_scheme/flex_color_scheme.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
/// FlexColorScheme 기반 라이트/다크 테마 설정
|
|
abstract final class AppTheme {
|
|
/// 라이트 테마
|
|
static ThemeData get light => FlexThemeData.light(
|
|
scheme: FlexScheme.indigo,
|
|
surfaceMode: FlexSurfaceMode.levelSurfacesLowScaffold,
|
|
blendLevel: 7,
|
|
subThemesData: const FlexSubThemesData(
|
|
blendOnLevel: 10,
|
|
blendOnColors: false,
|
|
useTextTheme: true,
|
|
useM2StyleDividerInM3: true,
|
|
alignedDropdown: true,
|
|
useInputDecoratorThemeInDialogs: true,
|
|
inputDecoratorBorderType: FlexInputBorderType.outline,
|
|
inputDecoratorRadius: 8,
|
|
chipRadius: 8,
|
|
cardRadius: 12,
|
|
dialogRadius: 16,
|
|
bottomSheetRadius: 16,
|
|
elevatedButtonRadius: 8,
|
|
outlinedButtonRadius: 8,
|
|
filledButtonRadius: 8,
|
|
textButtonRadius: 8,
|
|
fabRadius: 16,
|
|
),
|
|
visualDensity: FlexColorScheme.comfortablePlatformDensity,
|
|
useMaterial3: true,
|
|
fontFamily: 'Pretendard',
|
|
);
|
|
|
|
/// 다크 테마
|
|
static ThemeData get dark => FlexThemeData.dark(
|
|
scheme: FlexScheme.indigo,
|
|
surfaceMode: FlexSurfaceMode.levelSurfacesLowScaffold,
|
|
blendLevel: 13,
|
|
subThemesData: const FlexSubThemesData(
|
|
blendOnLevel: 20,
|
|
useTextTheme: true,
|
|
useM2StyleDividerInM3: true,
|
|
alignedDropdown: true,
|
|
useInputDecoratorThemeInDialogs: true,
|
|
inputDecoratorBorderType: FlexInputBorderType.outline,
|
|
inputDecoratorRadius: 8,
|
|
chipRadius: 8,
|
|
cardRadius: 12,
|
|
dialogRadius: 16,
|
|
bottomSheetRadius: 16,
|
|
elevatedButtonRadius: 8,
|
|
outlinedButtonRadius: 8,
|
|
filledButtonRadius: 8,
|
|
textButtonRadius: 8,
|
|
fabRadius: 16,
|
|
),
|
|
visualDensity: FlexColorScheme.comfortablePlatformDensity,
|
|
useMaterial3: true,
|
|
fontFamily: 'Pretendard',
|
|
);
|
|
}
|