1
+ import 'package:dart_bbcode_web_colors/dart_bbcode_web_colors.dart' ;
1
2
import 'package:flutter/material.dart' ;
2
3
3
4
import '../../editor/widgets/default_styles.dart' ;
4
5
5
- Color stringToColor (String ? s,
6
- [Color ? originalColor, DefaultStyles ? defaultStyles]) {
6
+ Color stringToColor (String ? s, [Color ? originalColor, DefaultStyles ? defaultStyles]) {
7
7
final palette = defaultStyles? .palette;
8
8
if (s != null && palette != null ) {
9
9
final maybeColor = palette[s];
@@ -12,119 +12,13 @@ Color stringToColor(String? s,
12
12
}
13
13
}
14
14
15
- switch (s) {
16
- case 'transparent' :
17
- return Colors .transparent;
18
- case 'black' :
19
- return Colors .black;
20
- case 'black12' :
21
- return Colors .black12;
22
- case 'black26' :
23
- return Colors .black26;
24
- case 'black38' :
25
- return Colors .black38;
26
- case 'black45' :
27
- return Colors .black45;
28
- case 'black54' :
29
- return Colors .black54;
30
- case 'black87' :
31
- return Colors .black87;
32
- case 'white' :
33
- return Colors .white;
34
- case 'white10' :
35
- return Colors .white10;
36
- case 'white12' :
37
- return Colors .white12;
38
- case 'white24' :
39
- return Colors .white24;
40
- case 'white30' :
41
- return Colors .white30;
42
- case 'white38' :
43
- return Colors .white38;
44
- case 'white54' :
45
- return Colors .white54;
46
- case 'white60' :
47
- return Colors .white60;
48
- case 'white70' :
49
- return Colors .white70;
50
- case 'red' :
51
- return Colors .red;
52
- case 'redAccent' :
53
- return Colors .redAccent;
54
- case 'amber' :
55
- return Colors .amber;
56
- case 'amberAccent' :
57
- return Colors .amberAccent;
58
- case 'yellow' :
59
- return Colors .yellow;
60
- case 'yellowAccent' :
61
- return Colors .yellowAccent;
62
- case 'teal' :
63
- return Colors .teal;
64
- case 'tealAccent' :
65
- return Colors .tealAccent;
66
- case 'purple' :
67
- return Colors .purple;
68
- case 'purpleAccent' :
69
- return Colors .purpleAccent;
70
- case 'pink' :
71
- return Colors .pink;
72
- case 'pinkAccent' :
73
- return Colors .pinkAccent;
74
- case 'orange' :
75
- return Colors .orange;
76
- case 'orangeAccent' :
77
- return Colors .orangeAccent;
78
- case 'deepOrange' :
79
- return Colors .deepOrange;
80
- case 'deepOrangeAccent' :
81
- return Colors .deepOrangeAccent;
82
- case 'indigo' :
83
- return Colors .indigo;
84
- case 'indigoAccent' :
85
- return Colors .indigoAccent;
86
- case 'lime' :
87
- return Colors .lime;
88
- case 'limeAccent' :
89
- return Colors .limeAccent;
90
- case 'grey' :
91
- return Colors .grey;
92
- case 'blueGrey' :
93
- return Colors .blueGrey;
94
- case 'green' :
95
- return Colors .green;
96
- case 'greenAccent' :
97
- return Colors .greenAccent;
98
- case 'lightGreen' :
99
- return Colors .lightGreen;
100
- case 'lightGreenAccent' :
101
- return Colors .lightGreenAccent;
102
- case 'blue' :
103
- return Colors .blue;
104
- case 'blueAccent' :
105
- return Colors .blueAccent;
106
- case 'lightBlue' :
107
- return Colors .lightBlue;
108
- case 'lightBlueAccent' :
109
- return Colors .lightBlueAccent;
110
- case 'cyan' :
111
- return Colors .cyan;
112
- case 'cyanAccent' :
113
- return Colors .cyanAccent;
114
- case 'brown' :
115
- return Colors .brown;
116
- }
117
-
118
- if (s! .startsWith ('rgba' )) {
119
- s = s.substring (5 ); // trim left 'rgba('
120
- s = s.substring (0 , s.length - 1 ); // trim right ')'
121
- final arr = s.split (',' ).map ((e) => e.trim ()).toList ();
122
- return Color .fromRGBO (int .parse (arr[0 ]), int .parse (arr[1 ]),
123
- int .parse (arr[2 ]), double .parse (arr[3 ]));
15
+ final color = s.toColor ();
16
+ if (color != null ) {
17
+ return Color (color);
124
18
}
125
19
126
20
// TODO: take care of "color": "inherit"
127
- if (s.startsWith ('inherit' )) {
21
+ if (s == null || s .startsWith ('inherit' )) {
128
22
return originalColor ?? Colors .black;
129
23
}
130
24
0 commit comments