From a397f0fcf68543cadecf2ad2a6f23dcfc213e3da Mon Sep 17 00:00:00 2001 From: vjrj <vjrj@comunes.org> Date: Sat, 27 Apr 2024 20:02:46 +0200 Subject: [PATCH] Theme upgrade --- assets/appainter_theme_dark.json | 1533 ++++++++++++++++++++ assets/appainter_theme_light.json | 1533 ++++++++++++++++++++ lib/config/theme.dart | 69 - lib/main.dart | 125 +- lib/ui/notification_controller_mobile.dart | 7 +- lib/ui/notification_controller_web.dart | 13 +- pubspec.lock | 24 + pubspec.yaml | 3 + test/widget_test.dart | 30 - 9 files changed, 3173 insertions(+), 164 deletions(-) create mode 100644 assets/appainter_theme_dark.json create mode 100644 assets/appainter_theme_light.json delete mode 100644 lib/config/theme.dart delete mode 100644 test/widget_test.dart diff --git a/assets/appainter_theme_dark.json b/assets/appainter_theme_dark.json new file mode 100644 index 00000000..55a9937e --- /dev/null +++ b/assets/appainter_theme_dark.json @@ -0,0 +1,1533 @@ +{ + "applyElevationOverlayColor": true, + "brightness": "dark", + "buttonTheme": { + "alignedDropdown": false, + "colorScheme": { + "background": "#ff1b1c18", + "brightness": "dark", + "error": "#ffffb4ab", + "errorContainer": "#ff93000a", + "inversePrimary": "#ff3c6a00", + "inverseSurface": "#ffe3e3db", + "onBackground": "#ffe3e3db", + "onError": "#ff690005", + "onErrorContainer": "#ffffb4ab", + "onInverseSurface": "#ff30312c", + "onPrimary": "#ff1d3700", + "onPrimaryContainer": "#ffc8ef9d", + "onSecondary": "#ff2a331f", + "onSecondaryContainer": "#ffdbe7c8", + "onSurface": "#ffe3e3db", + "onSurfaceVariant": "#ffc4c8ba", + "onTertiary": "#ff003735", + "onTertiaryContainer": "#ffbbece8", + "outline": "#ff8e9285", + "outlineVariant": "#ff44483d", + "primary": "#ff9dd761", + "primaryContainer": "#ff2c5000", + "scrim": "#ff000000", + "secondary": "#ffbfcbad", + "secondaryContainer": "#ff404a34", + "shadow": "#ff000000", + "surface": "#ff1b1c18", + "surfaceTint": "#ff9dd761", + "surfaceVariant": "#ff44483d", + "tertiary": "#ffa0cfcc", + "tertiaryContainer": "#ff1f4e4c" + }, + "height": 36, + "layoutBehavior": "padded", + "minWidth": 88, + "padding": { + "bottom": 0, + "left": 16, + "right": 16, + "top": 0 + }, + "shape": { + "borderRadius": { + "bottomLeft": { + "type": "elliptical", + "x": 2, + "y": 2 + }, + "bottomRight": { + "type": "elliptical", + "x": 2, + "y": 2 + }, + "topLeft": { + "type": "elliptical", + "x": 2, + "y": 2 + }, + "topRight": { + "type": "elliptical", + "x": 2, + "y": 2 + }, + "type": "only" + }, + "side": { + "color": "#ff000000", + "strokeAlign": -1, + "style": "none", + "width": 0 + }, + "type": "rounded" + }, + "textTheme": "normal" + }, + "canvasColor": "#ff1b1c18", + "cardColor": "#ff1b1c18", + "colorScheme": { + "background": "#ff1b1c18", + "brightness": "dark", + "error": "#ffffb4ab", + "errorContainer": "#ff93000a", + "inversePrimary": "#ff3c6a00", + "inverseSurface": "#ffe3e3db", + "onBackground": "#ffe3e3db", + "onError": "#ff690005", + "onErrorContainer": "#ffffb4ab", + "onInverseSurface": "#ff30312c", + "onPrimary": "#ff1d3700", + "onPrimaryContainer": "#ffc8ef9d", + "onSecondary": "#ff2a331f", + "onSecondaryContainer": "#ffdbe7c8", + "onSurface": "#ffe3e3db", + "onSurfaceVariant": "#ffc4c8ba", + "onTertiary": "#ff003735", + "onTertiaryContainer": "#ffbbece8", + "outline": "#ff8e9285", + "outlineVariant": "#ff44483d", + "primary": "#ff9dd761", + "primaryContainer": "#ff2c5000", + "scrim": "#ff000000", + "secondary": "#ffbfcbad", + "secondaryContainer": "#ff404a34", + "shadow": "#ff000000", + "surface": "#ff1b1c18", + "surfaceTint": "#ff9dd761", + "surfaceVariant": "#ff44483d", + "tertiary": "#ffa0cfcc", + "tertiaryContainer": "#ff1f4e4c" + }, + "dialogBackgroundColor": "#ff1b1c18", + "disabledColor": "#62ffffff", + "dividerColor": "#1fe3e3db", + "focusColor": "#1fffffff", + "highlightColor": "#40cccccc", + "hintColor": "#99ffffff", + "hoverColor": "#0affffff", + "iconTheme": { + "color": "#ffffffff" + }, + "indicatorColor": "#ffe3e3db", + "inputDecorationTheme": { + "alignLabelWithHint": false, + "filled": false, + "floatingLabelAlignment": "start", + "floatingLabelBehavior": "auto", + "isCollapsed": false, + "isDense": false + }, + "materialTapTargetSize": "shrinkWrap", + "platform": "linux", + "primaryColor": "#ff1b1c18", + "primaryColorDark": "#ff000000", + "primaryColorLight": "#ff9e9e9e", + "primaryIconTheme": { + "color": "#ffffffff" + }, + "primaryTextTheme": { + "bodyLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 16, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "bodyMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 14, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "bodySmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 12, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.4, + "textBaseline": "alphabetic" + }, + "displayLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 96, + "fontWeight": "w300", + "inherit": false, + "letterSpacing": -1.5, + "textBaseline": "alphabetic" + }, + "displayMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 60, + "fontWeight": "w300", + "inherit": false, + "letterSpacing": -0.5, + "textBaseline": "alphabetic" + }, + "displaySmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 48, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 40, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "headlineMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 34, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "headlineSmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 24, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "labelLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 14, + "fontWeight": "w500", + "inherit": false, + "letterSpacing": 1.25, + "textBaseline": "alphabetic" + }, + "labelMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 11, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 1.5, + "textBaseline": "alphabetic" + }, + "labelSmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 10, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 1.5, + "textBaseline": "alphabetic" + }, + "titleLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 20, + "fontWeight": "w500", + "inherit": false, + "letterSpacing": 0.15, + "textBaseline": "alphabetic" + }, + "titleMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 16, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.15, + "textBaseline": "alphabetic" + }, + "titleSmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 14, + "fontWeight": "w500", + "inherit": false, + "letterSpacing": 0.1, + "textBaseline": "alphabetic" + } + }, + "scaffoldBackgroundColor": "#ff1b1c18", + "secondaryHeaderColor": "#ff616161", + "shadowColor": "#ff000000", + "splashColor": "#40cccccc", + "splashFactory": "ripple", + "textTheme": { + "bodyLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 16, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "bodyMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 14, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "bodySmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 12, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.4, + "textBaseline": "alphabetic" + }, + "displayLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 96, + "fontWeight": "w300", + "inherit": false, + "letterSpacing": -1.5, + "textBaseline": "alphabetic" + }, + "displayMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 60, + "fontWeight": "w300", + "inherit": false, + "letterSpacing": -0.5, + "textBaseline": "alphabetic" + }, + "displaySmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 48, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 40, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "headlineMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 34, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "headlineSmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 24, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "labelLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 14, + "fontWeight": "w500", + "inherit": false, + "letterSpacing": 1.25, + "textBaseline": "alphabetic" + }, + "labelMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 11, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 1.5, + "textBaseline": "alphabetic" + }, + "labelSmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 10, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 1.5, + "textBaseline": "alphabetic" + }, + "titleLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 20, + "fontWeight": "w500", + "inherit": false, + "letterSpacing": 0.15, + "textBaseline": "alphabetic" + }, + "titleMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 16, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.15, + "textBaseline": "alphabetic" + }, + "titleSmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 14, + "fontWeight": "w500", + "inherit": false, + "letterSpacing": 0.1, + "textBaseline": "alphabetic" + } + }, + "typography": { + "black": { + "bodyLarge": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "bodyMedium": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "bodySmall": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "displayLarge": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "displayMedium": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "displaySmall": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "headlineLarge": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "headlineMedium": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "headlineSmall": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "labelLarge": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "labelMedium": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "labelSmall": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "titleLarge": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "titleMedium": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "titleSmall": { + "color": "#ff1b1c18", + "decoration": "none", + "decorationColor": "#ff1b1c18", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + } + }, + "dense": { + "bodyLarge": { + "fontSize": 16, + "fontWeight": "w400", + "height": 1.5, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "ideographic" + }, + "bodyMedium": { + "fontSize": 14, + "fontWeight": "w400", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.25, + "textBaseline": "ideographic" + }, + "bodySmall": { + "fontSize": 12, + "fontWeight": "w400", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.4, + "textBaseline": "ideographic" + }, + "displayLarge": { + "fontSize": 57, + "fontWeight": "w400", + "height": 1.12, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": -0.25, + "textBaseline": "ideographic" + }, + "displayMedium": { + "fontSize": 45, + "fontWeight": "w400", + "height": 1.16, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "ideographic" + }, + "displaySmall": { + "fontSize": 36, + "fontWeight": "w400", + "height": 1.22, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "ideographic" + }, + "headlineLarge": { + "fontSize": 32, + "fontWeight": "w400", + "height": 1.25, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "ideographic" + }, + "headlineMedium": { + "fontSize": 28, + "fontWeight": "w400", + "height": 1.29, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "ideographic" + }, + "headlineSmall": { + "fontSize": 24, + "fontWeight": "w400", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "ideographic" + }, + "labelLarge": { + "fontSize": 14, + "fontWeight": "w500", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.1, + "textBaseline": "ideographic" + }, + "labelMedium": { + "fontSize": 12, + "fontWeight": "w500", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "ideographic" + }, + "labelSmall": { + "fontSize": 11, + "fontWeight": "w500", + "height": 1.45, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "ideographic" + }, + "titleLarge": { + "fontSize": 22, + "fontWeight": "w400", + "height": 1.27, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "ideographic" + }, + "titleMedium": { + "fontSize": 16, + "fontWeight": "w500", + "height": 1.5, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.15, + "textBaseline": "ideographic" + }, + "titleSmall": { + "fontSize": 14, + "fontWeight": "w500", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.1, + "textBaseline": "ideographic" + } + }, + "englishLike": { + "bodyLarge": { + "fontSize": 16, + "fontWeight": "w400", + "height": 1.5, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "bodyMedium": { + "fontSize": 14, + "fontWeight": "w400", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "bodySmall": { + "fontSize": 12, + "fontWeight": "w400", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.4, + "textBaseline": "alphabetic" + }, + "displayLarge": { + "fontSize": 57, + "fontWeight": "w400", + "height": 1.12, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": -0.25, + "textBaseline": "alphabetic" + }, + "displayMedium": { + "fontSize": 45, + "fontWeight": "w400", + "height": 1.16, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "displaySmall": { + "fontSize": 36, + "fontWeight": "w400", + "height": 1.22, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineLarge": { + "fontSize": 32, + "fontWeight": "w400", + "height": 1.25, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineMedium": { + "fontSize": 28, + "fontWeight": "w400", + "height": 1.29, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineSmall": { + "fontSize": 24, + "fontWeight": "w400", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "labelLarge": { + "fontSize": 14, + "fontWeight": "w500", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.1, + "textBaseline": "alphabetic" + }, + "labelMedium": { + "fontSize": 12, + "fontWeight": "w500", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "labelSmall": { + "fontSize": 11, + "fontWeight": "w500", + "height": 1.45, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "titleLarge": { + "fontSize": 22, + "fontWeight": "w400", + "height": 1.27, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "titleMedium": { + "fontSize": 16, + "fontWeight": "w500", + "height": 1.5, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.15, + "textBaseline": "alphabetic" + }, + "titleSmall": { + "fontSize": 14, + "fontWeight": "w500", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.1, + "textBaseline": "alphabetic" + } + }, + "tall": { + "bodyLarge": { + "fontSize": 16, + "fontWeight": "w400", + "height": 1.5, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "bodyMedium": { + "fontSize": 14, + "fontWeight": "w400", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "bodySmall": { + "fontSize": 12, + "fontWeight": "w400", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.4, + "textBaseline": "alphabetic" + }, + "displayLarge": { + "fontSize": 57, + "fontWeight": "w400", + "height": 1.12, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": -0.25, + "textBaseline": "alphabetic" + }, + "displayMedium": { + "fontSize": 45, + "fontWeight": "w400", + "height": 1.16, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "displaySmall": { + "fontSize": 36, + "fontWeight": "w400", + "height": 1.22, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineLarge": { + "fontSize": 32, + "fontWeight": "w400", + "height": 1.25, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineMedium": { + "fontSize": 28, + "fontWeight": "w400", + "height": 1.29, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineSmall": { + "fontSize": 24, + "fontWeight": "w400", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "labelLarge": { + "fontSize": 14, + "fontWeight": "w500", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.1, + "textBaseline": "alphabetic" + }, + "labelMedium": { + "fontSize": 12, + "fontWeight": "w500", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "labelSmall": { + "fontSize": 11, + "fontWeight": "w500", + "height": 1.45, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "titleLarge": { + "fontSize": 22, + "fontWeight": "w400", + "height": 1.27, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "titleMedium": { + "fontSize": 16, + "fontWeight": "w500", + "height": 1.5, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.15, + "textBaseline": "alphabetic" + }, + "titleSmall": { + "fontSize": 14, + "fontWeight": "w500", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.1, + "textBaseline": "alphabetic" + } + }, + "white": { + "bodyLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "bodyMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "bodySmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "displayLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "displayMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "displaySmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "headlineLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "headlineMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "headlineSmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "labelLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "labelMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "labelSmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "titleLarge": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "titleMedium": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "titleSmall": { + "color": "#ffe3e3db", + "decoration": "none", + "decorationColor": "#ffe3e3db", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + } + } + }, + "unselectedWidgetColor": "#b3ffffff", + "useMaterial3": true, + "visualDensity": "compact" +} \ No newline at end of file diff --git a/assets/appainter_theme_light.json b/assets/appainter_theme_light.json new file mode 100644 index 00000000..9016281b --- /dev/null +++ b/assets/appainter_theme_light.json @@ -0,0 +1,1533 @@ +{ + "applyElevationOverlayColor": false, + "brightness": "light", + "buttonTheme": { + "alignedDropdown": false, + "colorScheme": { + "background": "#fffefcf4", + "brightness": "light", + "error": "#ffba1a1a", + "errorContainer": "#ffffdad6", + "inversePrimary": "#ffb8d166", + "inverseSurface": "#ff30312b", + "onBackground": "#ff1b1c17", + "onError": "#ffffffff", + "onErrorContainer": "#ff410002", + "onInverseSurface": "#fff3f1e9", + "onPrimary": "#ffffffff", + "onPrimaryContainer": "#ff171e00", + "onSecondary": "#ffffffff", + "onSecondaryContainer": "#ff191e08", + "onSurface": "#ff1b1c17", + "onSurfaceVariant": "#ff46483c", + "onTertiary": "#ffffffff", + "onTertiaryContainer": "#ff00201b", + "outline": "#ff77786b", + "outlineVariant": "#ffc7c8b8", + "primary": "#ff526600", + "primaryContainer": "#ffd7ec91", + "scrim": "#ff000000", + "secondary": "#ff5b6146", + "secondaryContainer": "#ffe0e6c4", + "shadow": "#ff000000", + "surface": "#fffefcf4", + "surfaceTint": "#ff526600", + "surfaceVariant": "#ffe3e4d3", + "tertiary": "#ff3a665e", + "tertiaryContainer": "#ffbcece1" + }, + "height": 36, + "layoutBehavior": "padded", + "minWidth": 88, + "padding": { + "bottom": 0, + "left": 16, + "right": 16, + "top": 0 + }, + "shape": { + "borderRadius": { + "bottomLeft": { + "type": "elliptical", + "x": 2, + "y": 2 + }, + "bottomRight": { + "type": "elliptical", + "x": 2, + "y": 2 + }, + "topLeft": { + "type": "elliptical", + "x": 2, + "y": 2 + }, + "topRight": { + "type": "elliptical", + "x": 2, + "y": 2 + }, + "type": "only" + }, + "side": { + "color": "#ff000000", + "strokeAlign": -1, + "style": "none", + "width": 0 + }, + "type": "rounded" + }, + "textTheme": "normal" + }, + "canvasColor": "#fffefcf4", + "cardColor": "#fffefcf4", + "colorScheme": { + "background": "#fffefcf4", + "brightness": "light", + "error": "#ffba1a1a", + "errorContainer": "#ffffdad6", + "inversePrimary": "#ffb8d166", + "inverseSurface": "#ff30312b", + "onBackground": "#ff1b1c17", + "onError": "#ffffffff", + "onErrorContainer": "#ff410002", + "onInverseSurface": "#fff3f1e9", + "onPrimary": "#ffffffff", + "onPrimaryContainer": "#ff171e00", + "onSecondary": "#ffffffff", + "onSecondaryContainer": "#ff191e08", + "onSurface": "#ff1b1c17", + "onSurfaceVariant": "#ff46483c", + "onTertiary": "#ffffffff", + "onTertiaryContainer": "#ff00201b", + "outline": "#ff77786b", + "outlineVariant": "#ffc7c8b8", + "primary": "#ff526600", + "primaryContainer": "#ffd7ec91", + "scrim": "#ff000000", + "secondary": "#ff5b6146", + "secondaryContainer": "#ffe0e6c4", + "shadow": "#ff000000", + "surface": "#fffefcf4", + "surfaceTint": "#ff526600", + "surfaceVariant": "#ffe3e4d3", + "tertiary": "#ff3a665e", + "tertiaryContainer": "#ffbcece1" + }, + "dialogBackgroundColor": "#fffefcf4", + "disabledColor": "#61000000", + "dividerColor": "#1f1b1c17", + "focusColor": "#1f000000", + "highlightColor": "#66bcbcbc", + "hintColor": "#99000000", + "hoverColor": "#0a000000", + "iconTheme": { + "color": "#dd000000" + }, + "indicatorColor": "#ffffffff", + "inputDecorationTheme": { + "alignLabelWithHint": false, + "filled": false, + "floatingLabelAlignment": "start", + "floatingLabelBehavior": "auto", + "isCollapsed": false, + "isDense": false + }, + "materialTapTargetSize": "shrinkWrap", + "platform": "linux", + "primaryColor": "#ff526600", + "primaryColorDark": "#ff1976d2", + "primaryColorLight": "#ffbbdefb", + "primaryIconTheme": { + "color": "#ffffffff" + }, + "primaryTextTheme": { + "bodyLarge": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 16, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "bodyMedium": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 14, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "bodySmall": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 12, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.4, + "textBaseline": "alphabetic" + }, + "displayLarge": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 96, + "fontWeight": "w300", + "inherit": false, + "letterSpacing": -1.5, + "textBaseline": "alphabetic" + }, + "displayMedium": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 60, + "fontWeight": "w300", + "inherit": false, + "letterSpacing": -0.5, + "textBaseline": "alphabetic" + }, + "displaySmall": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 48, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineLarge": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 40, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "headlineMedium": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 34, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "headlineSmall": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 24, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "labelLarge": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 14, + "fontWeight": "w500", + "inherit": false, + "letterSpacing": 1.25, + "textBaseline": "alphabetic" + }, + "labelMedium": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 11, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 1.5, + "textBaseline": "alphabetic" + }, + "labelSmall": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 10, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 1.5, + "textBaseline": "alphabetic" + }, + "titleLarge": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 20, + "fontWeight": "w500", + "inherit": false, + "letterSpacing": 0.15, + "textBaseline": "alphabetic" + }, + "titleMedium": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 16, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.15, + "textBaseline": "alphabetic" + }, + "titleSmall": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 14, + "fontWeight": "w500", + "inherit": false, + "letterSpacing": 0.1, + "textBaseline": "alphabetic" + } + }, + "scaffoldBackgroundColor": "#fffefcf4", + "secondaryHeaderColor": "#ffe3f2fd", + "shadowColor": "#ff000000", + "splashColor": "#66c8c8c8", + "splashFactory": "ripple", + "textTheme": { + "bodyLarge": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 16, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "bodyMedium": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 14, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "bodySmall": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 12, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.4, + "textBaseline": "alphabetic" + }, + "displayLarge": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 96, + "fontWeight": "w300", + "inherit": false, + "letterSpacing": -1.5, + "textBaseline": "alphabetic" + }, + "displayMedium": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 60, + "fontWeight": "w300", + "inherit": false, + "letterSpacing": -0.5, + "textBaseline": "alphabetic" + }, + "displaySmall": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 48, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineLarge": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 40, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "headlineMedium": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 34, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "headlineSmall": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 24, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "labelLarge": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 14, + "fontWeight": "w500", + "inherit": false, + "letterSpacing": 1.25, + "textBaseline": "alphabetic" + }, + "labelMedium": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 11, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 1.5, + "textBaseline": "alphabetic" + }, + "labelSmall": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 10, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 1.5, + "textBaseline": "alphabetic" + }, + "titleLarge": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 20, + "fontWeight": "w500", + "inherit": false, + "letterSpacing": 0.15, + "textBaseline": "alphabetic" + }, + "titleMedium": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 16, + "fontWeight": "w400", + "inherit": false, + "letterSpacing": 0.15, + "textBaseline": "alphabetic" + }, + "titleSmall": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "fontSize": 14, + "fontWeight": "w500", + "inherit": false, + "letterSpacing": 0.1, + "textBaseline": "alphabetic" + } + }, + "typography": { + "black": { + "bodyLarge": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "bodyMedium": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "bodySmall": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "displayLarge": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "displayMedium": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "displaySmall": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "headlineLarge": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "headlineMedium": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "headlineSmall": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "labelLarge": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "labelMedium": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "labelSmall": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "titleLarge": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "titleMedium": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "titleSmall": { + "color": "#ff1b1c17", + "decoration": "none", + "decorationColor": "#ff1b1c17", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + } + }, + "dense": { + "bodyLarge": { + "fontSize": 16, + "fontWeight": "w400", + "height": 1.5, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "ideographic" + }, + "bodyMedium": { + "fontSize": 14, + "fontWeight": "w400", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.25, + "textBaseline": "ideographic" + }, + "bodySmall": { + "fontSize": 12, + "fontWeight": "w400", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.4, + "textBaseline": "ideographic" + }, + "displayLarge": { + "fontSize": 57, + "fontWeight": "w400", + "height": 1.12, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": -0.25, + "textBaseline": "ideographic" + }, + "displayMedium": { + "fontSize": 45, + "fontWeight": "w400", + "height": 1.16, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "ideographic" + }, + "displaySmall": { + "fontSize": 36, + "fontWeight": "w400", + "height": 1.22, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "ideographic" + }, + "headlineLarge": { + "fontSize": 32, + "fontWeight": "w400", + "height": 1.25, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "ideographic" + }, + "headlineMedium": { + "fontSize": 28, + "fontWeight": "w400", + "height": 1.29, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "ideographic" + }, + "headlineSmall": { + "fontSize": 24, + "fontWeight": "w400", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "ideographic" + }, + "labelLarge": { + "fontSize": 14, + "fontWeight": "w500", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.1, + "textBaseline": "ideographic" + }, + "labelMedium": { + "fontSize": 12, + "fontWeight": "w500", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "ideographic" + }, + "labelSmall": { + "fontSize": 11, + "fontWeight": "w500", + "height": 1.45, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "ideographic" + }, + "titleLarge": { + "fontSize": 22, + "fontWeight": "w400", + "height": 1.27, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "ideographic" + }, + "titleMedium": { + "fontSize": 16, + "fontWeight": "w500", + "height": 1.5, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.15, + "textBaseline": "ideographic" + }, + "titleSmall": { + "fontSize": 14, + "fontWeight": "w500", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.1, + "textBaseline": "ideographic" + } + }, + "englishLike": { + "bodyLarge": { + "fontSize": 16, + "fontWeight": "w400", + "height": 1.5, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "bodyMedium": { + "fontSize": 14, + "fontWeight": "w400", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "bodySmall": { + "fontSize": 12, + "fontWeight": "w400", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.4, + "textBaseline": "alphabetic" + }, + "displayLarge": { + "fontSize": 57, + "fontWeight": "w400", + "height": 1.12, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": -0.25, + "textBaseline": "alphabetic" + }, + "displayMedium": { + "fontSize": 45, + "fontWeight": "w400", + "height": 1.16, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "displaySmall": { + "fontSize": 36, + "fontWeight": "w400", + "height": 1.22, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineLarge": { + "fontSize": 32, + "fontWeight": "w400", + "height": 1.25, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineMedium": { + "fontSize": 28, + "fontWeight": "w400", + "height": 1.29, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineSmall": { + "fontSize": 24, + "fontWeight": "w400", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "labelLarge": { + "fontSize": 14, + "fontWeight": "w500", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.1, + "textBaseline": "alphabetic" + }, + "labelMedium": { + "fontSize": 12, + "fontWeight": "w500", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "labelSmall": { + "fontSize": 11, + "fontWeight": "w500", + "height": 1.45, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "titleLarge": { + "fontSize": 22, + "fontWeight": "w400", + "height": 1.27, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "titleMedium": { + "fontSize": 16, + "fontWeight": "w500", + "height": 1.5, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.15, + "textBaseline": "alphabetic" + }, + "titleSmall": { + "fontSize": 14, + "fontWeight": "w500", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.1, + "textBaseline": "alphabetic" + } + }, + "tall": { + "bodyLarge": { + "fontSize": 16, + "fontWeight": "w400", + "height": 1.5, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "bodyMedium": { + "fontSize": 14, + "fontWeight": "w400", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.25, + "textBaseline": "alphabetic" + }, + "bodySmall": { + "fontSize": 12, + "fontWeight": "w400", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.4, + "textBaseline": "alphabetic" + }, + "displayLarge": { + "fontSize": 57, + "fontWeight": "w400", + "height": 1.12, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": -0.25, + "textBaseline": "alphabetic" + }, + "displayMedium": { + "fontSize": 45, + "fontWeight": "w400", + "height": 1.16, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "displaySmall": { + "fontSize": 36, + "fontWeight": "w400", + "height": 1.22, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineLarge": { + "fontSize": 32, + "fontWeight": "w400", + "height": 1.25, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineMedium": { + "fontSize": 28, + "fontWeight": "w400", + "height": 1.29, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "headlineSmall": { + "fontSize": 24, + "fontWeight": "w400", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "labelLarge": { + "fontSize": 14, + "fontWeight": "w500", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.1, + "textBaseline": "alphabetic" + }, + "labelMedium": { + "fontSize": 12, + "fontWeight": "w500", + "height": 1.33, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "labelSmall": { + "fontSize": 11, + "fontWeight": "w500", + "height": 1.45, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.5, + "textBaseline": "alphabetic" + }, + "titleLarge": { + "fontSize": 22, + "fontWeight": "w400", + "height": 1.27, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0, + "textBaseline": "alphabetic" + }, + "titleMedium": { + "fontSize": 16, + "fontWeight": "w500", + "height": 1.5, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.15, + "textBaseline": "alphabetic" + }, + "titleSmall": { + "fontSize": 14, + "fontWeight": "w500", + "height": 1.43, + "inherit": false, + "leadingDistribution": "even", + "letterSpacing": 0.1, + "textBaseline": "alphabetic" + } + }, + "white": { + "bodyLarge": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "bodyMedium": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "bodySmall": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "displayLarge": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "displayMedium": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "displaySmall": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "headlineLarge": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "headlineMedium": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "headlineSmall": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "labelLarge": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "labelMedium": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "labelSmall": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "titleLarge": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "titleMedium": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + }, + "titleSmall": { + "color": "#fffefcf4", + "decoration": "none", + "decorationColor": "#fffefcf4", + "fontFamily": "Roboto", + "fontFamilyFallback": [ + "Ubuntu", + "Cantarell", + "DejaVu Sans", + "Liberation Sans", + "Arial" + ], + "inherit": true + } + } + }, + "unselectedWidgetColor": "#8a000000", + "useMaterial3": true, + "visualDensity": "compact" +} \ No newline at end of file diff --git a/lib/config/theme.dart b/lib/config/theme.dart deleted file mode 100644 index aa29df27..00000000 --- a/lib/config/theme.dart +++ /dev/null @@ -1,69 +0,0 @@ -import 'package:flutter/material.dart'; - -const ColorScheme lightColorScheme = ColorScheme( - brightness: Brightness.light, - primary: Color(0xFF526600), - onPrimary: Color(0xFFFFFFFF), - primaryContainer: Color(0xFFD4ED7F), - onPrimaryContainer: Color(0xFF171E00), - secondary: Color(0xFF5B6146), - onSecondary: Color(0xFFFFFFFF), - secondaryContainer: Color(0xFFE0E6C4), - onSecondaryContainer: Color(0xFF191E08), - tertiary: Color(0xFF516600), - onTertiary: Color(0xFFFFFFFF), - tertiaryContainer: Color(0xFFC7F333), - onTertiaryContainer: Color(0xFF161E00), - error: Color(0xFFBA1A1A), - errorContainer: Color(0xFFFFDAD6), - onError: Color(0xFFFFFFFF), - onErrorContainer: Color(0xFF410002), - background: Color(0xFFFEFCF4), - onBackground: Color(0xFF1B1C17), - surface: Color(0xFFFEFCF4), - onSurface: Color(0xFF1B1C17), - surfaceVariant: Color(0xFFE3E4D3), - onSurfaceVariant: Color(0xFF46483C), - outline: Color(0xFF77786B), - onInverseSurface: Color(0xFFF3F1E9), - inverseSurface: Color(0xFF30312B), - inversePrimary: Color(0xFFB8D166), - shadow: Color(0xFF000000), - surfaceTint: Color(0xFF526600), - outlineVariant: Color(0xFFC7C8B8), - scrim: Color(0xFF000000), -); - -const ColorScheme darkColorScheme = ColorScheme( - brightness: Brightness.dark, - primary: Color(0xFFB8D166), - onPrimary: Color(0xFF293500), - primaryContainer: Color(0xFF3D4D00), - onPrimaryContainer: Color(0xFFD4ED7F), - secondary: Color(0xFFC4CAA9), - onSecondary: Color(0xFF2D331B), - secondaryContainer: Color(0xFF444930), - onSecondaryContainer: Color(0xFFE0E6C4), - tertiary: Color(0xFFACD605), - onTertiary: Color(0xFF283500), - tertiaryContainer: Color(0xFF3C4D00), - onTertiaryContainer: Color(0xFFC7F333), - error: Color(0xFFFFB4AB), - errorContainer: Color(0xFF93000A), - onError: Color(0xFF690005), - onErrorContainer: Color(0xFFFFDAD6), - background: Color(0xFF1B1C17), - onBackground: Color(0xFFE4E3DA), - surface: Color(0xFF1B1C17), - onSurface: Color(0xFFE4E3DA), - surfaceVariant: Color(0xFF46483C), - onSurfaceVariant: Color(0xFFC7C8B8), - outline: Color(0xFF909283), - onInverseSurface: Color(0xFF1B1C17), - inverseSurface: Color(0xFFE4E3DA), - inversePrimary: Color(0xFF526600), - shadow: Color(0xFF000000), - surfaceTint: Color(0xFFB8D166), - outlineVariant: Color(0xFF46483C), - scrim: Color(0xFF000000), -); diff --git a/lib/main.dart b/lib/main.dart index 0910ef22..083d4551 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:convert'; import 'dart:io'; import 'package:connectivity_wrapper/connectivity_wrapper.dart'; @@ -12,6 +13,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_displaymode/flutter_displaymode.dart'; import 'package:introduction_screen/introduction_screen.dart'; +import 'package:json_theme/json_theme.dart'; import 'package:l10n_esperanto/l10n_esperanto.dart'; import 'package:lehttp_overrides/lehttp_overrides.dart'; import 'package:once/once.dart'; @@ -26,7 +28,6 @@ import 'package:uni_links/uni_links.dart'; import 'package:workmanager/workmanager.dart'; import 'app_bloc_observer.dart'; -import 'config/theme.dart'; import 'custom_feedback_localization.dart'; import 'data/eo_timeago_support.dart'; import 'data/eu_timeago_support.dart'; @@ -62,6 +63,16 @@ const String fetchWalletsTransactionsTask = void main() async { await NotificationController.initializeLocalNotifications(); + final String themeDarkStr = + await rootBundle.loadString('assets/appainter_theme_dark.json'); + final dynamic themeDarkJson = jsonDecode(themeDarkStr); + final ThemeData themeDark = ThemeDecoder.decodeThemeData(themeDarkJson)!; + + final String themeLightStr = + await rootBundle.loadString('assets/appainter_theme_light.json'); + final dynamic themeLightJson = jsonDecode(themeLightStr); + final ThemeData themeLight = ThemeDecoder.decodeThemeData(themeLightJson)!; + // To resolve Let's Encrypt SSL certificate problems with Android 7.1.1 and below if (!kIsWeb && Platform.isAndroid) { HttpOverrides.global = LEHttpOverrides(); @@ -115,54 +126,57 @@ void main() async { DeviceOrientation.portraitDown ]).then((_) { runApp(ChangeNotifierProvider<SharedPreferencesHelper>( - create: (BuildContext context) => SharedPreferencesHelper(), - child: EasyLocalization( - path: 'assets/translations', - supportedLocales: const <Locale>[ - // Asturian is not supported in flutter - // More info: https://docs.flutter.dev/development/accessibility-and-localization/internationalization#adding-support-for-a-new-language - // Meantime we use this workaround: - // https://github.com/aissat/easy_localization/issues/220#issuecomment-846035493 - Locale('es', 'AST'), - Locale('ca'), - Locale('de'), - Locale('en'), - Locale('eo'), - Locale('es'), - Locale('eu'), - Locale('fr'), - Locale('gl'), - Locale('it'), - Locale('nl'), - Locale('pt'), - ], - fallbackLocale: const Locale('en'), - useFallbackTranslations: true, - child: MultiBlocProvider(providers: <BlocProvider<dynamic>>[ - BlocProvider<BottomNavCubit>( - create: (BuildContext context) => BottomNavCubit()), - BlocProvider<AppCubit>( - create: (BuildContext context) => AppCubit()), - BlocProvider<PaymentCubit>( - create: (BuildContext context) => PaymentCubit()), - BlocProvider<NodeListCubit>( - create: (BuildContext context) => NodeListCubit()), - BlocProvider<ContactsCubit>( - create: (BuildContext context) => ContactsCubit()), - BlocProvider<UtxoCubit>( - create: (BuildContext context) => UtxoCubit()), - // TODO(vjrj): Remove when clean the state of this after upgrades - BlocProvider<TransactionCubitRemove>( - create: (BuildContext context) => TransactionCubitRemove()), - BlocProvider<MultiWalletTransactionCubit>( - create: (BuildContext context) => - MultiWalletTransactionCubit()), - BlocProvider<ThemeCubit>( - create: (BuildContext context) => ThemeCubit()), - // Add other BlocProviders here if needed - ], child: const GinkgoApp()), - ), - )); + create: (BuildContext context) => SharedPreferencesHelper(), + child: EasyLocalization( + path: 'assets/translations', + supportedLocales: const <Locale>[ + // Asturian is not supported in flutter + // More info: https://docs.flutter.dev/development/accessibility-and-localization/internationalization#adding-support-for-a-new-language + // Meantime we use this workaround: + // https://github.com/aissat/easy_localization/issues/220#issuecomment-846035493 + Locale('es', 'AST'), + Locale('ca'), + Locale('de'), + Locale('en'), + Locale('eo'), + Locale('es'), + Locale('eu'), + Locale('fr'), + Locale('gl'), + Locale('it'), + Locale('nl'), + Locale('pt'), + ], + fallbackLocale: const Locale('en'), + useFallbackTranslations: true, + child: MultiBlocProvider( + providers: <BlocProvider<dynamic>>[ + BlocProvider<BottomNavCubit>( + create: (BuildContext context) => BottomNavCubit()), + BlocProvider<AppCubit>( + create: (BuildContext context) => AppCubit()), + BlocProvider<PaymentCubit>( + create: (BuildContext context) => PaymentCubit()), + BlocProvider<NodeListCubit>( + create: (BuildContext context) => NodeListCubit()), + BlocProvider<ContactsCubit>( + create: (BuildContext context) => ContactsCubit()), + BlocProvider<UtxoCubit>( + create: (BuildContext context) => UtxoCubit()), + // TODO(vjrj): Remove when clean the state of this after upgrades + BlocProvider<TransactionCubitRemove>( + create: (BuildContext context) => + TransactionCubitRemove()), + BlocProvider<MultiWalletTransactionCubit>( + create: (BuildContext context) => + MultiWalletTransactionCubit()), + BlocProvider<ThemeCubit>( + create: (BuildContext context) => ThemeCubit()), + // Add other BlocProviders here if needed + ], + child: + GinkgoApp(themeDark: themeDark, themeLight: themeLight)), + ))); }); if (inDevelopment) { // Only use sentry in production @@ -319,12 +333,16 @@ PageViewModel createPageViewModel( } class GinkgoApp extends StatefulWidget { - const GinkgoApp({super.key}); + const GinkgoApp( + {super.key, required this.themeLight, required this.themeDark}); // The navigator key is necessary to navigate using static methods static final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>(); + final ThemeData themeDark; + final ThemeData themeLight; + @override State<GinkgoApp> createState() => _GinkgoAppState(); } @@ -506,11 +524,8 @@ class _GinkgoAppState extends State<GinkgoApp> { child: MaterialApp( /// Localization is not available for the title. title: 'Äž1nkgo', - theme: ThemeData( - useMaterial3: true, colorScheme: lightColorScheme), - darkTheme: - ThemeData(useMaterial3: true, colorScheme: darkColorScheme), - + theme: widget.themeLight, + darkTheme: widget.themeDark, navigatorKey: GinkgoApp.navigatorKey, scaffoldMessengerKey: globalMessengerKey, diff --git a/lib/ui/notification_controller_mobile.dart b/lib/ui/notification_controller_mobile.dart index e4a661f2..274a5a88 100644 --- a/lib/ui/notification_controller_mobile.dart +++ b/lib/ui/notification_controller_mobile.dart @@ -3,7 +3,6 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import '../config/theme.dart'; import '../main.dart'; import 'logger.dart'; import 'ui_helpers.dart'; @@ -34,8 +33,8 @@ class NotificationController { groupAlertBehavior: GroupAlertBehavior.Children, importance: NotificationImportance.High, defaultPrivacy: NotificationPrivacy.Private, - defaultColor: lightColorScheme.primary, - ledColor: lightColorScheme.primary) + defaultColor: const Color(0xff526600), + ledColor: Colors.white) ], debug: true); @@ -127,7 +126,7 @@ class NotificationController { style: Theme.of(context) .textTheme .titleLarge - ?.copyWith(color: lightColorScheme.primary)), + ?.copyWith(color: Theme.of(context).primaryColor)), ), ], ); diff --git a/lib/ui/notification_controller_web.dart b/lib/ui/notification_controller_web.dart index 5edc6daa..348a1362 100644 --- a/lib/ui/notification_controller_web.dart +++ b/lib/ui/notification_controller_web.dart @@ -2,7 +2,6 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:universal_html/html.dart' as html; -import '../config/theme.dart'; import '../main.dart'; import 'ui_helpers.dart'; @@ -74,11 +73,13 @@ class NotificationController { userAuthorized = true; Navigator.of(ctx).pop(); }, - child: Text(tr('allow_notifications_btn'), - style: Theme.of(context) - .textTheme - .titleLarge - ?.copyWith(color: lightColorScheme.primary)), + child: Text( + tr('allow_notifications_btn'), + style: Theme.of(context) + .textTheme + .titleLarge + ?.copyWith(color: const Color(0xff526600)), + ), ), ], ); diff --git a/pubspec.lock b/pubspec.lock index 132485e5..38c03d24 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1021,6 +1021,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.1" + json_schema: + dependency: transitive + description: + name: json_schema + sha256: f1bcf81647c347f53281dca9c8ea3e2b7b4d0eee5b4d1e4cee3173a5c162f358 + url: "https://pub.dev" + source: hosted + version: "5.1.7" json_schema2: dependency: transitive description: @@ -1037,6 +1045,14 @@ packages: url: "https://pub.dev" source: hosted version: "6.7.1" + json_theme: + dependency: "direct main" + description: + name: json_theme + sha256: "40d524c455287ac019f5d1c370ddd76c5d61c6390b67de149ee0bdb33912c4a5" + url: "https://pub.dev" + source: hosted + version: "6.0.0" jsqr: dependency: "direct main" description: @@ -1469,6 +1485,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.2.1+11" + rfc_6901: + dependency: transitive + description: + name: rfc_6901 + sha256: df1bbfa3d023009598f19636d6114c6ac1e0b7bb7bf6a260f0e6e6ce91416820 + url: "https://pub.dev" + source: hosted + version: "0.2.0" ristretto255: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 8e9c69cc..ffd23444 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -104,6 +104,7 @@ dependencies: ferry: ^0.11.3-dev.0+1 gql_http_link: ^0.4.5 substrate_bip39: ^0.2.0 + json_theme: ^6.0.0 dev_dependencies: flutter_test: @@ -155,6 +156,8 @@ flutter: - assets/gva-tx.json - assets/img/animated-bell.gif - assets/img/pos.png + - assets/appainter_theme_dark.json + - assets/appainter_theme_light.json fonts: - family: Nunito diff --git a/test/widget_test.dart b/test/widget_test.dart deleted file mode 100644 index e4b8187c..00000000 --- a/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:ginkgo/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', skip: true, - (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const GinkgoApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -} -- GitLab