-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.dart
More file actions
73 lines (69 loc) · 2.41 KB
/
Copy pathapp.dart
File metadata and controls
73 lines (69 loc) · 2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'screens/main_scaffold.dart';
class LiberatedBeatsApp extends StatelessWidget {
const LiberatedBeatsApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Liberated Beats',
debugShowCheckedModeBanner: false,
theme: _buildTheme(),
home: const MainScaffold(),
);
}
ThemeData _buildTheme() {
final base = ThemeData.dark(useMaterial3: true);
return base.copyWith(
colorScheme: const ColorScheme.dark(
primary: Color(0xFF1ED760),
onPrimary: Colors.black,
secondary: Color(0xFF282828),
onSecondary: Colors.white,
surface: Color(0xFF121212),
onSurface: Colors.white,
surfaceContainerHighest: Color(0xFF282828),
outline: Color(0x1AFFFFFF),
),
scaffoldBackgroundColor: const Color(0xFF121212),
navigationBarTheme: NavigationBarThemeData(
backgroundColor: Colors.black,
indicatorColor: const Color(0xFF1ED760).withValues(alpha: 0.18),
labelTextStyle: WidgetStateProperty.resolveWith((states) {
final selected = states.contains(WidgetState.selected);
return GoogleFonts.plusJakartaSans(
fontSize: 10,
fontWeight: selected ? FontWeight.w700 : FontWeight.w500,
color: selected ? const Color(0xFF1ED760) : const Color(0xFFA7A7A7),
);
}),
iconTheme: WidgetStateProperty.resolveWith((states) {
final selected = states.contains(WidgetState.selected);
return IconThemeData(
size: 24,
color: selected ? const Color(0xFF1ED760) : const Color(0xFFA7A7A7),
);
}),
surfaceTintColor: Colors.transparent,
elevation: 0,
),
textTheme: GoogleFonts.plusJakartaSansTextTheme(base.textTheme).apply(
bodyColor: Colors.white,
displayColor: Colors.white,
),
switchTheme: SwitchThemeData(
thumbColor: const WidgetStatePropertyAll(Colors.white),
trackColor: WidgetStateProperty.resolveWith(
(states) => states.contains(WidgetState.selected)
? const Color(0xFF1ED760)
: const Color(0xFF3E3E3E),
),
),
dividerTheme: const DividerThemeData(
color: Color(0x1AFFFFFF),
thickness: 1,
space: 0,
),
);
}
}