1+ import 'package:cookethflow/core/providers/supabase_provider.dart' ;
12import 'package:cookethflow/core/theme/colors.dart' ;
23import 'package:flutter/material.dart' ;
4+ import 'package:provider/provider.dart' ;
35
46class NodeColourPicker extends StatelessWidget {
57 final ValueChanged <Color > onColorSelected;
@@ -13,16 +15,14 @@ class NodeColourPicker extends StatelessWidget {
1315
1416 @override
1517 Widget build (BuildContext context) {
18+ final su = context.read <SupabaseService >();
1619 return Dialog (
17- insetPadding: const EdgeInsets .symmetric (
18- horizontal: 20 ,
19- vertical: 20 ,
20- ),
20+ insetPadding: const EdgeInsets .symmetric (horizontal: 20 , vertical: 20 ),
2121 child: Container (
2222 width: 320 , // Adjusted width as mode buttons are removed
2323 padding: const EdgeInsets .all (20 ),
2424 decoration: BoxDecoration (
25- color: Colors .white,
25+ color: su.isDark ? Color . fromRGBO ( 48 , 48 , 48 , 1 ) : Colors .white,
2626 borderRadius: BorderRadius .circular (12 ),
2727 border: Border .all (color: const Color (0xFFE0E0E0 ), width: 1 ),
2828 ),
@@ -34,18 +34,15 @@ class NodeColourPicker extends StatelessWidget {
3434 Row (
3535 mainAxisAlignment: MainAxisAlignment .spaceBetween,
3636 children: [
37- const Text (
37+ Text (
3838 'Change Color' ,
39- style: TextStyle (
40- fontSize: 18 ,
41- fontWeight: FontWeight .w600,
42- ),
39+ style: TextStyle (fontSize: 18 , fontWeight: FontWeight .w600, color: su.isDark? Colors .white: Colors .black),
4340 ),
4441 IconButton (
45- icon: const Icon (
42+ icon: Icon (
4643 Icons .close,
4744 size: 24 ,
48- color: Colors .black54,
45+ color: su.isDark ? Colors .white : Colors .black54,
4946 ),
5047 onPressed: () => Navigator .pop (context),
5148 padding: EdgeInsets .zero,
@@ -62,25 +59,29 @@ class NodeColourPicker extends StatelessWidget {
6259 Wrap (
6360 spacing: 12 , // Horizontal gap between color boxes
6461 runSpacing: 12 , // Vertical gap between rows
65- children: secondaryColors
66- .map ((color) => _buildColorBox (
67- color,
68- isSelected: initialColor? .value == color.value,
69- ))
70- .toList (),
62+ children:
63+ secondaryColors
64+ .map (
65+ (color) => _buildColorBox (
66+ color,
67+ isSelected: initialColor? .value == color.value,
68+ ),
69+ )
70+ .toList (),
7171 ),
7272 const SizedBox (height: 12 ),
7373 // Bottom row
7474 Wrap (
7575 spacing: 12 , // Horizontal gap between color boxes
7676 runSpacing: 12 ,
77- children: tertiaryColors.asMap ().entries.map ((entry) {
78- Color color = entry.value;
79- return _buildColorBox (
80- color,
81- isSelected: initialColor? .value == color.value,
82- );
83- }).toList (),
77+ children:
78+ tertiaryColors.asMap ().entries.map ((entry) {
79+ Color color = entry.value;
80+ return _buildColorBox (
81+ color,
82+ isSelected: initialColor? .value == color.value,
83+ );
84+ }).toList (),
8485 ),
8586 ],
8687 ),
@@ -90,10 +91,7 @@ class NodeColourPicker extends StatelessWidget {
9091 );
9192 }
9293
93- Widget _buildColorBox (
94- Color color, {
95- bool isSelected = false ,
96- }) {
94+ Widget _buildColorBox (Color color, {bool isSelected = false }) {
9795 return GestureDetector (
9896 onTap: () {
9997 onColorSelected (color);
@@ -104,14 +102,16 @@ class NodeColourPicker extends StatelessWidget {
104102 decoration: BoxDecoration (
105103 color: color,
106104 borderRadius: BorderRadius .circular (4 ), // Added border radius
107- border: isSelected
108- ? Border .all (
109- color: Colors .blue,
110- width: 2.5 ,
111- strokeAlign: BorderSide .strokeAlignOutside)
112- : Border .all (color: Colors .grey.shade300, width: 1 ),
105+ border:
106+ isSelected
107+ ? Border .all (
108+ color: Colors .blue,
109+ width: 2.5 ,
110+ strokeAlign: BorderSide .strokeAlignOutside,
111+ )
112+ : Border .all (color: Colors .grey.shade300, width: 1 ),
113113 ),
114114 ),
115115 );
116116 }
117- }
117+ }
0 commit comments