Files
hash-wallet/lib/themes/utils/theme_list.dart
T
c746b85a4b UI updates (#2368)
* Add Black theme

* Fix black theme

* Add WixMadefor Font

* feat: Enhance theme setup

This change:
- Adds support for custom themes
- Updates theme retrieval logic to ensure the right theme is used based on user preferences(especially for custom themes).

* Add black custom colors

* Add custom accent colors

* feat: Restructure custom colors handling for themes

* feat: Integrate new custom colors structure across various components - WIP

* feat: Integrate new custom colors structure across various components, black theme now ready for tests

* feat: Add new accent color themes and update theme selection UI

- Enhanced theme selection UI in display settings to support accent color choices.
- Updated theme handling logic to accommodate new accent color variants.

* Minor updates to display_settings_page.dart

* Update settings_theme_choice.dart

* Revert accidental change in display_settings_page.dart

* Revert WixMadeFor font, fix SVG colors for CakeImageWidget, and test some color changes

* Update Monero Orange

* fix: Remove unused custom colors

* Test outline

* Test spacing and colors

* Add padding

* Remove outline

* Add other accent colors

* Update display_settings_view_model.dart

* Update names and fix switch case

* Add outline and update dark_theme.dart colors

* Add gradient to option_tile.dart

* Update icons

* Update some colors

* Switch option_tile.dart to TextButton

* Add updated icons

* Fix icon resolution

* Cleanup old icons + Update pubspec_base.yaml

* Remove unused fonts

* Update more icons

* Update image paths

* Remove more icons + update some component colors

* Add back DAI icon

* Fix errors

* feat: Implement OLED mode for BlackTheme

* feat: Add OLED mode for BlackTheme and localizations

* feat: Implement OLED mode for Black Theme

* refactor: Remove unused theme parameters and set up easy access to toggleKnob custom colors

* fix: Cleanup UI and overflows

* feat: Persist black theme selection if OS theme mode while app is in system mode

* fix: OS theme change when app is in background restrict pin screen from proceed

* Fix theme picker sizing

* Update lib/src/screens/dashboard/desktop_widgets/desktop_wallet_selection_dropdown.dart

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>

* refactor: Enhance theme access by introducing ThemeX extension for easier retrieval of current theme and custom colors

* refactor: Remove currentTheme parameter from GradientBackground widget and adjust across affected widgets

* refactor: Remove currentTheme parameter from StandardSwitch and SettingsSwitcherCell, using ThemeX extension for theme access

* refactor: Remove currentTheme parameter from various widgets dependent on SettingsSwitcherCell and StandardxSwitcher, using ThemeX extension for theme access

* refactor: Remove currentTheme in bottomsheets and related widgets, switching to theme extension

* refactor: Remove constructor theme access in OptionTile and related widgets, switching to theme extension

* refactor: Switch bottomsheet related widgets to use theme extension instead of constructor access

* refactor: Migrate currentTheme access from constructor based to extension base

* refactor: Switch theme access from constructor base to extension base [skip ci]

* refactor: Migrate more widgets to use extension based theme access and clean up code

* refactor: Update theme access across multiple widgets to use the new theme extension

* refactor: Clean up theme access in various widgets, moving to extension-based theme usage

* refactor: Make theme picker preview responsive

* fix: Persist saved black theme accent when app is put in background and brought back

* remove unused variables [skip ci]

---------

Co-authored-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-10-10 16:00:39 +03:00

102 lines
2.8 KiB
Dart

import 'package:cake_wallet/themes/core/material_base_theme.dart';
import 'package:cake_wallet/themes/theme_classes/dark_theme.dart';
import 'package:cake_wallet/themes/theme_classes/light_theme.dart';
import 'package:cake_wallet/themes/theme_classes/black_theme.dart';
class ThemeList {
static final all = [
darkTheme,
lightTheme,
blackThemeCakePrimary,
blackThemeBCHGreen,
blackThemeBitcoinYellow,
blackThemeMoneroOrange,
blackThemeTronRed,
blackThemeFrostingPurple,
];
static final lightTheme = LightTheme();
static final darkTheme = DarkTheme();
static final blackThemeCakePrimary = BlackTheme(BlackThemeAccentColor.cakePrimary);
static final blackThemeCakePrimaryOled = BlackTheme(
BlackThemeAccentColor.cakePrimary,
isOled: true,
);
static final blackThemeBitcoinYellow = BlackTheme(BlackThemeAccentColor.bitcoinYellow);
static final blackThemeBitcoinYellowOled = BlackTheme(
BlackThemeAccentColor.bitcoinYellow,
isOled: true,
);
static final blackThemeMoneroOrange = BlackTheme(BlackThemeAccentColor.moneroOrange);
static final blackThemeMoneroOrangeOled = BlackTheme(
BlackThemeAccentColor.moneroOrange,
isOled: true,
);
static final blackThemeBCHGreen = BlackTheme(BlackThemeAccentColor.bchGreen);
static final blackThemeBCHGreenOled = BlackTheme(
BlackThemeAccentColor.bchGreen,
isOled: true,
);
static final blackThemeTronRed = BlackTheme(BlackThemeAccentColor.tronRed);
static final blackThemeTronRedOled = BlackTheme(
BlackThemeAccentColor.tronRed,
isOled: true,
);
static final blackThemeFrostingPurple = BlackTheme(BlackThemeAccentColor.frostingPurple);
static final blackThemeFrostingPurpleOled = BlackTheme(
BlackThemeAccentColor.frostingPurple,
isOled: true,
);
static MaterialThemeBase deserialize({required int raw}) {
switch (raw) {
case 0:
case 2:
case 4:
case 5:
case 7:
case 10:
case 11:
return lightTheme;
case 1:
case 3:
case 6:
case 8:
case 9:
return darkTheme;
case 12:
return blackThemeCakePrimary;
case 13:
return blackThemeBCHGreen;
case 14:
return blackThemeBitcoinYellow;
case 15:
return blackThemeMoneroOrange;
case 16:
return blackThemeTronRed;
case 17:
return blackThemeFrostingPurple;
case 112:
return blackThemeCakePrimaryOled;
case 113:
return blackThemeBCHGreenOled;
case 114:
return blackThemeBitcoinYellowOled;
case 115:
return blackThemeMoneroOrangeOled;
case 116:
return blackThemeTronRedOled;
case 117:
return blackThemeFrostingPurpleOled;
default:
return blackThemeCakePrimary;
}
}
}