properly organize custom colors

This commit is contained in:
Fabian Freund
2026-01-01 09:07:53 +01:00
parent 7a85176fb2
commit d448087122
14 changed files with 63 additions and 34 deletions
@@ -27,6 +27,7 @@ import 'package:graphview/GraphView.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:nullability/nullability.dart';
import 'package:skeletonizer/skeletonizer.dart';
import 'package:weblibre/core/design/app_colors.dart';
import 'package:weblibre/core/routing/routes.dart';
import 'package:weblibre/features/geckoview/domain/controllers/bottom_sheet.dart';
import 'package:weblibre/features/geckoview/domain/providers/selected_tab.dart';
@@ -82,7 +83,7 @@ class TabTreeDialog extends HookConsumerWidget {
return Dialog.fullscreen(
child: Scaffold(
appBar: AppBar(
backgroundColor: const Color(0x44000000),
backgroundColor: AppColors.dialogOverlay,
elevation: 0,
leading: const CloseButton(),
),
@@ -23,6 +23,7 @@ import 'package:flutter_material_design_icons/flutter_material_design_icons.dart
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:skeletonizer/skeletonizer.dart';
import 'package:text_scroll/text_scroll.dart';
import 'package:weblibre/core/design/app_colors.dart';
import 'package:weblibre/features/geckoview/domain/providers/tab_state.dart';
import 'package:weblibre/features/geckoview/features/browser/presentation/widgets/tab_icon.dart';
import 'package:weblibre/presentation/widgets/uri_breadcrumb.dart';
@@ -109,7 +110,7 @@ class AppBarTitle extends HookConsumerWidget {
if (tabState.isPrivate) ...[
const Icon(
MdiIcons.dominoMask,
color: Color(0xFF8000D7),
color: AppColors.privateTabPurple,
size: 14,
),
const SizedBox(width: 4),
@@ -25,6 +25,7 @@ import 'package:flutter_material_design_icons/flutter_material_design_icons.dart
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:weblibre/core/design/app_colors.dart';
import 'package:weblibre/core/routing/routes.dart';
import 'package:weblibre/features/geckoview/domain/controllers/bottom_sheet.dart';
import 'package:weblibre/features/geckoview/domain/entities/states/readerable.dart';
@@ -475,7 +476,7 @@ class QuickTabSwitcher extends HookConsumerWidget {
padding: EdgeInsets.only(left: 8.0),
child: Icon(
MdiIcons.dominoMask,
color: Color(0xFF8000D7),
color: AppColors.privateTabPurple,
size: 20,
),
),
@@ -777,7 +778,7 @@ class NavigationMenuButton extends HookConsumerWidget {
return Badge(
isLabelVisible: torConnected,
backgroundColor: const Color(0xFF68B030),
backgroundColor: AppColors.torActiveGreen,
child: child,
);
},
@@ -24,6 +24,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:nullability/nullability.dart';
import 'package:weblibre/core/design/app_colors.dart';
import 'package:weblibre/features/geckoview/domain/entities/states/tab.dart';
import 'package:weblibre/features/geckoview/domain/providers/tab_state.dart';
import 'package:weblibre/features/geckoview/domain/repositories/tab.dart';
@@ -61,7 +62,7 @@ class GridTabItemContainer extends StatelessWidget {
),
child: Material(
color: isPrivate
? const Color(0xFF25003E)
? AppColors.privateTabBackground
: colorScheme.surfaceContainerHighest,
borderRadius: const BorderRadius.all(Radius.circular(14.0)),
child: child,
@@ -193,7 +194,7 @@ class GridTabPreview extends HookConsumerWidget {
top: -4,
child: Icon(
MdiIcons.dominoMask,
color: Color(0xFF8000D7),
color: AppColors.privateTabPurple,
),
),
],
@@ -271,7 +272,7 @@ class ListTabPreview extends HookConsumerWidget {
return Container(
decoration: BoxDecoration(
color: tabState.isPrivate ? const Color(0xFF25003E) : null,
color: tabState.isPrivate ? AppColors.privateTabBackground : null,
border: isActive ? Border.all(color: colorScheme.primary) : null,
borderRadius: const BorderRadius.all(Radius.circular(4.0)),
),
@@ -304,7 +305,7 @@ class ListTabPreview extends HookConsumerWidget {
if (tabState.isPrivate) ...[
const Icon(
MdiIcons.dominoMask,
color: Color(0xFF8000D7),
color: AppColors.privateTabPurple,
size: 14,
),
const SizedBox(width: 4),
@@ -22,6 +22,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:weblibre/core/design/app_colors.dart';
import 'package:weblibre/core/routing/routes.dart';
import 'package:weblibre/features/bangs/data/models/bang_data.dart';
import 'package:weblibre/features/bangs/domain/providers/bangs.dart';
@@ -172,14 +173,12 @@ class SearchScreen extends HookConsumerWidget {
style: switch (selectedTabType.value) {
TabType.regular => null,
TabType.private => SegmentedButton.styleFrom(
selectedBackgroundColor: const Color(0x648000D7),
selectedBackgroundColor: AppColors.privateSelectionOverlay,
),
TabType.child =>
(currentTabTabType == TabType.private)
? SegmentedButton.styleFrom(
selectedBackgroundColor: const Color(
0x648000D7,
),
selectedBackgroundColor: AppColors.privateSelectionOverlay,
)
: null,
},
@@ -132,7 +132,7 @@ class _MaterialPickerState extends State<MaterialPicker> {
setState(() => _currentColorType = colors);
},
child: Container(
color: const Color(0x00000000),
color: Colors.transparent,
padding: isPortrait
? const EdgeInsets.fromLTRB(0, 7, 0, 7)
: const EdgeInsets.fromLTRB(7, 0, 7, 0),
@@ -217,7 +217,7 @@ class _MaterialPickerState extends State<MaterialPicker> {
widget.onColorChanged(color);
},
child: Container(
color: const Color(0x00000000),
color: Colors.transparent,
margin: isPortrait
? const EdgeInsets.only(right: 10)
: const EdgeInsets.only(bottom: 10),
@@ -118,7 +118,7 @@ List<Map<Color, String>> shadingTypes(List<Color> colors) {
].map((int shade) => {colorType[shade]!: shade.toString()}).toList(),
);
} else {
result.add({const Color(0x00000000): ''});
result.add({Colors.transparent: ''});
}
}