diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 089c956..05b84e6 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -10,11 +10,11 @@ on: workflow_dispatch: env: - FLUTTER_VERSION: 3.22.0 + FLUTTER_VERSION: 3.24.0 jobs: analyze: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: subosito/flutter-action@v2 @@ -24,7 +24,7 @@ jobs: - run: flutter analyze format: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: subosito/flutter-action@v2 @@ -33,7 +33,7 @@ jobs: - run: dart format --set-exit-if-changed . linux: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: subosito/flutter-action@v2 @@ -48,7 +48,7 @@ jobs: working-directory: example # pub: -# runs-on: ubuntu-22.04 +# runs-on: ubuntu-latest # steps: # - uses: actions/checkout@v3 # - uses: subosito/flutter-action@v2 @@ -58,7 +58,7 @@ jobs: # - run: flutter pub publish --dry-run # test: -# runs-on: ubuntu-22.04 +# runs-on: ubuntu-latest # steps: # - uses: actions/checkout@v3 # - uses: subosito/flutter-action@v2 @@ -67,7 +67,7 @@ jobs: # - run: flutter test web: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: subosito/flutter-action@v2 diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 9eb9b5b..f7e621b 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -6,7 +6,7 @@ on: - main env: - FLUTTER_VERSION: 3.22.0 + FLUTTER_VERSION: 3.24.0 jobs: publish: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..b96ebf8 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,18 @@ +name: Release + +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + release: + permissions: + contents: write + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: googleapis/release-please-action@v4 + with: + release-type: dart \ No newline at end of file diff --git a/example/macos/Runner/AppDelegate.swift b/example/macos/Runner/AppDelegate.swift index d53ef64..8e02df2 100644 --- a/example/macos/Runner/AppDelegate.swift +++ b/example/macos/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import Cocoa import FlutterMacOS -@NSApplicationMain +@main class AppDelegate: FlutterAppDelegate { override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { return true diff --git a/example/pubspec.lock b/example/pubspec.lock index 152d7ef..31cdea9 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -71,18 +71,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -111,18 +111,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" path: dependency: transitive description: @@ -187,10 +187,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" vector_math: dependency: transitive description: @@ -203,10 +203,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.4" sdks: dart: ">=3.3.0 <4.0.0" - flutter: ">=3.22.0" + flutter: ">=3.24.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index f62360b..7868582 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.1.0 environment: sdk: ">=3.0.0 <4.0.0" - flutter: ">=3.16.0" + flutter: ">=3.24.0" dependencies: flutter: diff --git a/lib/src/theme.dart b/lib/src/theme.dart index 5127949..de24cd5 100644 --- a/lib/src/theme.dart +++ b/lib/src/theme.dart @@ -12,7 +12,9 @@ const _lightBase = Colors.white; final _darkBase = Colors.black.scale(lightness: 0.09); final _darkMenuBase = Colors.black.scale(lightness: 0.07); const _kContainerRadius = 10.0; -final _kButtonHeight = isDesktop ? 42.0 : 48.0; +const kDesktopButtonHeight = 42.0; +const kMobileButtonHeight = 48.0; +final _kButtonHeight = isDesktop ? kDesktopButtonHeight : kMobileButtonHeight; final _kButtonRadius = _kButtonHeight / 2; const _kMenuRadius = 8.0; const _kInputDecorationRadius = 6.0; @@ -48,7 +50,8 @@ ThemeData _phoenixTheme({ borderRadius: BorderRadius.circular(buttonRadius ?? _kButtonRadius), ); - final buttonSize = Size(1, buttonHeight ?? _kButtonHeight); + final buttonSize = + Size(buttonHeight ?? _kButtonHeight, buttonHeight ?? _kButtonHeight); return ThemeData( colorScheme: colorScheme, @@ -87,6 +90,10 @@ ThemeData _phoenixTheme({ buttonShape: buttonShape, buttonSize: buttonSize, ), + iconButtonTheme: _iconButtonTheme( + colorScheme: colorScheme, + buttonSize: buttonSize, + ), navigationRailTheme: _naviRailTheme(colorScheme), navigationBarTheme: _naviBarTheme(colorScheme), appBarTheme: _appBarTheme(colorScheme), @@ -424,6 +431,32 @@ TextButtonThemeData _textButtonThemeData({ ); } +IconButtonThemeData _iconButtonTheme({ + required ColorScheme colorScheme, + required Size buttonSize, +}) { + return IconButtonThemeData( + style: IconButton.styleFrom( + minimumSize: buttonSize, + padding: buttonSize.height < kMobileButtonHeight ? EdgeInsets.zero : null, + visualDensity: buttonSize.height < kMobileButtonHeight + ? VisualDensity.compact + : null, + ).copyWith( + iconColor: WidgetStateProperty.resolveWith( + (s) => s.contains(WidgetState.disabled) + ? colorScheme.onSurface.withOpacity(0.7) + : colorScheme.onSurface, + ), + backgroundColor: WidgetStateProperty.resolveWith( + (s) => s.contains(WidgetState.selected) + ? colorScheme.onSurface.withOpacity(0.1) + : Colors.transparent, + ), + ), + ); +} + NavigationRailThemeData _naviRailTheme(ColorScheme colorScheme) { return NavigationRailThemeData( indicatorColor: _indicatorColor(colorScheme), diff --git a/pubspec.yaml b/pubspec.yaml index 3304db2..07c6be2 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ version: 0.0.1 environment: sdk: ">=3.0.0 <4.0.0" - flutter: ">=3.22.0" + flutter: ">=3.24.0" dependencies: flutter: @@ -15,4 +15,3 @@ dev_dependencies: sdk: flutter flutter_lints: ^3.0.0 -flutter: