Skip to content

Commit 7c0a228

Browse files
committed
feat: add icon button theme, update flutter and CI
1 parent 61c5b11 commit 7c0a228

File tree

8 files changed

+77
-27
lines changed

8 files changed

+77
-27
lines changed

.github/workflows/ci.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ on:
1010
workflow_dispatch:
1111

1212
env:
13-
FLUTTER_VERSION: 3.22.0
13+
FLUTTER_VERSION: 3.24.0
1414

1515
jobs:
1616
analyze:
17-
runs-on: ubuntu-22.04
17+
runs-on: ubuntu-latest
1818
steps:
1919
- uses: actions/checkout@v3
2020
- uses: subosito/flutter-action@v2
@@ -24,7 +24,7 @@ jobs:
2424
- run: flutter analyze
2525

2626
format:
27-
runs-on: ubuntu-22.04
27+
runs-on: ubuntu-latest
2828
steps:
2929
- uses: actions/checkout@v3
3030
- uses: subosito/flutter-action@v2
@@ -33,7 +33,7 @@ jobs:
3333
- run: dart format --set-exit-if-changed .
3434

3535
linux:
36-
runs-on: ubuntu-22.04
36+
runs-on: ubuntu-latest
3737
steps:
3838
- uses: actions/checkout@v3
3939
- uses: subosito/flutter-action@v2
@@ -48,7 +48,7 @@ jobs:
4848
working-directory: example
4949

5050
# pub:
51-
# runs-on: ubuntu-22.04
51+
# runs-on: ubuntu-latest
5252
# steps:
5353
# - uses: actions/checkout@v3
5454
# - uses: subosito/flutter-action@v2
@@ -58,7 +58,7 @@ jobs:
5858
# - run: flutter pub publish --dry-run
5959

6060
# test:
61-
# runs-on: ubuntu-22.04
61+
# runs-on: ubuntu-latest
6262
# steps:
6363
# - uses: actions/checkout@v3
6464
# - uses: subosito/flutter-action@v2
@@ -67,7 +67,7 @@ jobs:
6767
# - run: flutter test
6868

6969
web:
70-
runs-on: ubuntu-22.04
70+
runs-on: ubuntu-latest
7171
steps:
7272
- uses: actions/checkout@v3
7373
- uses: subosito/flutter-action@v2

.github/workflows/publish.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
- main
77

88
env:
9-
FLUTTER_VERSION: 3.22.0
9+
FLUTTER_VERSION: 3.24.0
1010

1111
jobs:
1212
publish:

.github/workflows/release.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
jobs:
10+
release:
11+
permissions:
12+
contents: write
13+
pull-requests: write
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: googleapis/release-please-action@v4
17+
with:
18+
release-type: dart

example/macos/Runner/AppDelegate.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import Cocoa
22
import FlutterMacOS
33

4-
@NSApplicationMain
4+
@main
55
class AppDelegate: FlutterAppDelegate {
66
override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
77
return true

example/pubspec.lock

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -71,18 +71,18 @@ packages:
7171
dependency: transitive
7272
description:
7373
name: leak_tracker
74-
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
74+
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
7575
url: "https://pub.dev"
7676
source: hosted
77-
version: "10.0.4"
77+
version: "10.0.5"
7878
leak_tracker_flutter_testing:
7979
dependency: transitive
8080
description:
8181
name: leak_tracker_flutter_testing
82-
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
82+
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
8383
url: "https://pub.dev"
8484
source: hosted
85-
version: "3.0.3"
85+
version: "3.0.5"
8686
leak_tracker_testing:
8787
dependency: transitive
8888
description:
@@ -111,18 +111,18 @@ packages:
111111
dependency: transitive
112112
description:
113113
name: material_color_utilities
114-
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
114+
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
115115
url: "https://pub.dev"
116116
source: hosted
117-
version: "0.8.0"
117+
version: "0.11.1"
118118
meta:
119119
dependency: transitive
120120
description:
121121
name: meta
122-
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
122+
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
123123
url: "https://pub.dev"
124124
source: hosted
125-
version: "1.12.0"
125+
version: "1.15.0"
126126
path:
127127
dependency: transitive
128128
description:
@@ -187,10 +187,10 @@ packages:
187187
dependency: transitive
188188
description:
189189
name: test_api
190-
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
190+
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
191191
url: "https://pub.dev"
192192
source: hosted
193-
version: "0.7.0"
193+
version: "0.7.2"
194194
vector_math:
195195
dependency: transitive
196196
description:
@@ -203,10 +203,10 @@ packages:
203203
dependency: transitive
204204
description:
205205
name: vm_service
206-
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
206+
sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc
207207
url: "https://pub.dev"
208208
source: hosted
209-
version: "14.2.1"
209+
version: "14.2.4"
210210
sdks:
211211
dart: ">=3.3.0 <4.0.0"
212-
flutter: ">=3.22.0"
212+
flutter: ">=3.24.0"

example/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ version: 0.1.0
55

66
environment:
77
sdk: ">=3.0.0 <4.0.0"
8-
flutter: ">=3.16.0"
8+
flutter: ">=3.24.0"
99

1010
dependencies:
1111
flutter:

lib/src/theme.dart

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ const _lightBase = Colors.white;
1212
final _darkBase = Colors.black.scale(lightness: 0.09);
1313
final _darkMenuBase = Colors.black.scale(lightness: 0.07);
1414
const _kContainerRadius = 10.0;
15-
final _kButtonHeight = isDesktop ? 42.0 : 48.0;
15+
const kDesktopButtonHeight = 42.0;
16+
const kMobileButtonHeight = 48.0;
17+
final _kButtonHeight = isDesktop ? kDesktopButtonHeight : kMobileButtonHeight;
1618
final _kButtonRadius = _kButtonHeight / 2;
1719
const _kMenuRadius = 8.0;
1820
const _kInputDecorationRadius = 6.0;
@@ -48,7 +50,8 @@ ThemeData _phoenixTheme({
4850
borderRadius: BorderRadius.circular(buttonRadius ?? _kButtonRadius),
4951
);
5052

51-
final buttonSize = Size(1, buttonHeight ?? _kButtonHeight);
53+
final buttonSize =
54+
Size(buttonHeight ?? _kButtonHeight, buttonHeight ?? _kButtonHeight);
5255

5356
return ThemeData(
5457
colorScheme: colorScheme,
@@ -87,6 +90,10 @@ ThemeData _phoenixTheme({
8790
buttonShape: buttonShape,
8891
buttonSize: buttonSize,
8992
),
93+
iconButtonTheme: _iconButtonTheme(
94+
colorScheme: colorScheme,
95+
buttonSize: buttonSize,
96+
),
9097
navigationRailTheme: _naviRailTheme(colorScheme),
9198
navigationBarTheme: _naviBarTheme(colorScheme),
9299
appBarTheme: _appBarTheme(colorScheme),
@@ -424,6 +431,32 @@ TextButtonThemeData _textButtonThemeData({
424431
);
425432
}
426433

434+
IconButtonThemeData _iconButtonTheme({
435+
required ColorScheme colorScheme,
436+
required Size buttonSize,
437+
}) {
438+
return IconButtonThemeData(
439+
style: IconButton.styleFrom(
440+
minimumSize: buttonSize,
441+
padding: buttonSize.height < kMobileButtonHeight ? EdgeInsets.zero : null,
442+
visualDensity: buttonSize.height < kMobileButtonHeight
443+
? VisualDensity.compact
444+
: null,
445+
).copyWith(
446+
iconColor: WidgetStateProperty.resolveWith(
447+
(s) => s.contains(WidgetState.disabled)
448+
? colorScheme.onSurface.withOpacity(0.7)
449+
: colorScheme.onSurface,
450+
),
451+
backgroundColor: WidgetStateProperty.resolveWith(
452+
(s) => s.contains(WidgetState.selected)
453+
? colorScheme.onSurface.withOpacity(0.1)
454+
: Colors.transparent,
455+
),
456+
),
457+
);
458+
}
459+
427460
NavigationRailThemeData _naviRailTheme(ColorScheme colorScheme) {
428461
return NavigationRailThemeData(
429462
indicatorColor: _indicatorColor(colorScheme),

pubspec.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ version: 0.0.1
44

55
environment:
66
sdk: ">=3.0.0 <4.0.0"
7-
flutter: ">=3.22.0"
7+
flutter: ">=3.24.0"
88

99
dependencies:
1010
flutter:
@@ -15,4 +15,3 @@ dev_dependencies:
1515
sdk: flutter
1616
flutter_lints: ^3.0.0
1717

18-
flutter:

0 commit comments

Comments
 (0)