Skip to content

Commit

Permalink
馃帹 Update dark theme colors
Browse files Browse the repository at this point in the history
  • Loading branch information
TheAlphamerc committed Jan 27, 2023
1 parent 7a20459 commit 6d5b239
Show file tree
Hide file tree
Showing 12 changed files with 198 additions and 172 deletions.
8 changes: 7 additions & 1 deletion CHANGELOG.md
@@ -1,10 +1,16 @@
## [1.0.3] - Next Release

### Changed

- Update dark theme colors

## [1.0.2] - 02 Jul 2022

- Make compatible with Flutter 3.0.0
- Add `applyButtonText` prop to change Apply button text in FilterListDelegate
- Add copyWith method in `FilterListDelegateThemeData` to copy theme data
- Add copyWith method in `FilterListThemeData` to copy theme data


## [1.0.1] - 18 Jan 2022

- 馃毃 Breaking change
Expand Down
44 changes: 8 additions & 36 deletions example/lib/main.dart
Expand Up @@ -8,9 +8,7 @@ class MyApp extends StatelessWidget {
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
theme: ThemeData(primarySwatch: Colors.blue),
debugShowCheckedModeBanner: false,
home: const MyHomePage(title: 'Filter list example'),
);
Expand Down Expand Up @@ -75,10 +73,7 @@ class _MyHomePageState extends State<MyHomePage> {
hideSelectedTextCount: true,
themeData: FilterListThemeData(
context,
backgroundColor: Colors.white,
choiceChipTheme: ChoiceChipThemeData(
backgroundColor: Colors.grey.shade200,
),
choiceChipTheme: ChoiceChipThemeData.light(context),
),
headlineText: 'Select Users',
height: 500,
Expand Down Expand Up @@ -136,7 +131,7 @@ class _MyHomePageState extends State<MyHomePage> {
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
TextButton(
FilledButton(
onPressed: () async {
final list = await Navigator.push(
context,
Expand All @@ -153,35 +148,15 @@ class _MyHomePageState extends State<MyHomePage> {
});
}
},
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all(Colors.blue),
),
child: const Text(
"Filter Page",
style: TextStyle(color: Colors.white),
),
child: const Text("Filter Page"),
),
TextButton(
FilledButton(
onPressed: _openFilterDialog,
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all(Colors.blue),
),
child: const Text(
"Filter Dialog",
style: TextStyle(color: Colors.white),
),
// color: Colors.blue,
child: const Text("Filter Dialog"),
),
TextButton(
FilledButton(
onPressed: openFilterDelegate,
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all(Colors.blue),
),
child: const Text(
"Filter Delegate",
style: TextStyle(color: Colors.white),
),
// color: Colors.blue,
child: const Text("Filter Delegate"),
),
],
),
Expand Down Expand Up @@ -220,9 +195,6 @@ class FilterPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Filter list Page"),
),
body: SafeArea(
child: FilterListWidget<User>(
themeData: FilterListThemeData(context),
Expand Down
86 changes: 56 additions & 30 deletions example/pubspec.lock
Expand Up @@ -5,49 +5,56 @@ packages:
dependency: transitive
description:
name: async
url: "https://pub.dartlang.org"
sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0
url: "https://pub.dev"
source: hosted
version: "2.9.0"
version: "2.10.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
url: "https://pub.dartlang.org"
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
version: "2.1.1"
characters:
dependency: transitive
description:
name: characters
url: "https://pub.dartlang.org"
sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c
url: "https://pub.dev"
source: hosted
version: "1.2.1"
clock:
dependency: transitive
description:
name: clock
url: "https://pub.dartlang.org"
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
url: "https://pub.dev"
source: hosted
version: "1.1.1"
collection:
dependency: transitive
description:
name: collection
url: "https://pub.dartlang.org"
sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0
url: "https://pub.dev"
source: hosted
version: "1.16.0"
version: "1.17.0"
cupertino_icons:
dependency: "direct main"
description:
name: cupertino_icons
url: "https://pub.dartlang.org"
sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be
url: "https://pub.dev"
source: hosted
version: "1.0.5"
fake_async:
dependency: transitive
description:
name: fake_async
url: "https://pub.dartlang.org"
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
url: "https://pub.dev"
source: hosted
version: "1.3.1"
filter_list:
Expand All @@ -67,32 +74,44 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
js:
dependency: transitive
description:
name: js
sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"
url: "https://pub.dev"
source: hosted
version: "0.6.5"
matcher:
dependency: transitive
description:
name: matcher
url: "https://pub.dartlang.org"
sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72"
url: "https://pub.dev"
source: hosted
version: "0.12.12"
version: "0.12.13"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.dartlang.org"
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
url: "https://pub.dev"
source: hosted
version: "0.1.5"
version: "0.2.0"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42"
url: "https://pub.dev"
source: hosted
version: "1.8.0"
path:
dependency: transitive
description:
name: path
url: "https://pub.dartlang.org"
sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b
url: "https://pub.dev"
source: hosted
version: "1.8.2"
sky_engine:
Expand All @@ -104,51 +123,58 @@ packages:
dependency: transitive
description:
name: source_span
url: "https://pub.dartlang.org"
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
url: "https://pub.dev"
source: hosted
version: "1.9.0"
version: "1.9.1"
stack_trace:
dependency: transitive
description:
name: stack_trace
url: "https://pub.dartlang.org"
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
url: "https://pub.dev"
source: hosted
version: "1.10.0"
version: "1.11.0"
stream_channel:
dependency: transitive
description:
name: stream_channel
url: "https://pub.dartlang.org"
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
version: "2.1.1"
string_scanner:
dependency: transitive
description:
name: string_scanner
url: "https://pub.dartlang.org"
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
url: "https://pub.dev"
source: hosted
version: "1.1.1"
version: "1.2.0"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
url: "https://pub.dev"
source: hosted
version: "1.2.1"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206
url: "https://pub.dev"
source: hosted
version: "0.4.12"
version: "0.4.16"
vector_math:
dependency: transitive
description:
name: vector_math
url: "https://pub.dartlang.org"
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
url: "https://pub.dev"
source: hosted
version: "2.1.2"
version: "2.1.4"
sdks:
dart: ">=2.17.0-0 <3.0.0"
dart: ">=2.18.0 <4.0.0"
flutter: ">=1.12.0"
6 changes: 2 additions & 4 deletions lib/src/filter_list_widget.dart
Expand Up @@ -189,15 +189,13 @@ class FilterListWidget<T extends Object> extends StatelessWidget {
},
onCloseWidgetPress: onCloseWidgetPress,
),
if (hideSelectedTextCount)
const SizedBox()
else
if (!hideSelectedTextCount)
Padding(
padding: const EdgeInsets.only(top: 5),
child: ChangeNotifierProvider<FilterState<T>>(
builder: (context, state, child) => Text(
'${state.selectedItemsCount} $selectedItemsText',
style: Theme.of(context).textTheme.caption,
style: Theme.of(context).textTheme.bodySmall,
),
),
),
Expand Down
49 changes: 27 additions & 22 deletions lib/src/theme/choice_chip_theme.dart
Expand Up @@ -62,10 +62,10 @@ class ChoiceChipTheme extends InheritedTheme {
class ChoiceChipThemeData with Diagnosticable {
/// Builds a [ChoiceChipThemeData].
const ChoiceChipThemeData({
this.selectedTextStyle = const TextStyle(color: Colors.white),
this.selectedTextStyle,
this.textStyle,
this.selectedBackgroundColor = const Color(0xFF649BEC),
this.backgroundColor = const Color(0xfff8f8f8),
this.selectedBackgroundColor,
this.backgroundColor,
this.visualDensity,
this.elevation,
this.side,
Expand All @@ -82,31 +82,36 @@ class ChoiceChipThemeData with Diagnosticable {
factory ChoiceChipThemeData.light(BuildContext context) =>
ChoiceChipThemeData(
selectedTextStyle:
TextStyle(color: Theme.of(context).colorScheme.onPrimary),
TextStyle(color: Theme.of(context).colorScheme.primary),
textStyle: const TextStyle(color: Colors.black),
visualDensity: VisualDensity.adaptivePlatformDensity,
elevation: 0,
padding: const EdgeInsets.all(4),
selectedBackgroundColor:
Theme.of(context).colorScheme.primaryContainer.withOpacity(.2),
);

factory ChoiceChipThemeData.dark() => ChoiceChipThemeData(
backgroundColor: const Color(0xff4a70a7),
side: const BorderSide(color: Color(0xff101e31)),
textStyle: const TextStyle(
color: Color(0xff101e31),
),
selectedTextStyle: const TextStyle(
color: Color(0xFFE4B057),
),
selectedSide: const BorderSide(color: Color(0xffFFBC00)),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
selectedShape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
selectedBackgroundColor: const Color(0xff3E77C8),
);
factory ChoiceChipThemeData.dark(BuildContext context) {
final theme = Theme.of(context);
final darkTheme = ThemeData.dark();
return ChoiceChipThemeData(
backgroundColor: const Color(0xff25272C),
side: BorderSide(color: theme.colorScheme.onSurface.withOpacity(0.12)),
textStyle: const TextStyle(color: Color(0xffb0b0c0)),
selectedTextStyle: TextStyle(color: darkTheme.colorScheme.primary),
selectedSide: BorderSide(
color: theme.colorScheme.primaryContainer,
),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
selectedShape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
selectedBackgroundColor:
Theme.of(context).colorScheme.primaryContainer.withOpacity(.2),
);
}

/// TextStyle for chip when selected.
final TextStyle? selectedTextStyle;
Expand Down

0 comments on commit 6d5b239

Please sign in to comment.