Skip to content

Commit 47b86ba

Browse files
Merge pull request #4 from allasca/main
Example change theme
2 parents 06ccadb + 724a3ef commit 47b86ba

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

example/lib/main_theme_mode.dart

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:june/june.dart';
3+
4+
void main() => runApp(const MyApp());
5+
6+
class MyApp extends StatelessWidget {
7+
const MyApp({super.key});
8+
9+
@override
10+
Widget build(BuildContext context) {
11+
return JuneBuilder(
12+
() => MyController(),
13+
builder: (c) => MaterialApp(
14+
theme: ThemeData(),
15+
darkTheme: ThemeData(brightness: Brightness.dark),
16+
themeMode: c.isDark ? ThemeMode.dark : ThemeMode.light,
17+
home: const HomeUi(),
18+
),
19+
);
20+
}
21+
}
22+
23+
class HomeUi extends StatelessWidget {
24+
const HomeUi({super.key});
25+
26+
@override
27+
Widget build(BuildContext context) {
28+
return Scaffold(
29+
body: Center(
30+
child: JuneBuilder(
31+
() => MyController(),
32+
builder: (c) => Switch(
33+
value: c.isDark,
34+
onChanged: (_) => c.changeThemeMode(),
35+
),
36+
),
37+
),
38+
);
39+
}
40+
}
41+
42+
class MyController extends JuneState {
43+
bool isDark = false;
44+
45+
void changeThemeMode() {
46+
isDark = !isDark;
47+
setState();
48+
}
49+
}

0 commit comments

Comments
 (0)