Skip to content

Commit 86a1472

Browse files
committed
feat: use bbcode web colors
1 parent 8a1640e commit 86a1472

File tree

3 files changed

+15
-112
lines changed

3 files changed

+15
-112
lines changed

example/pubspec.lock

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,13 @@ packages:
7373
url: "https://pub.dev"
7474
source: hosted
7575
version: "1.0.2"
76+
dart_bbcode_web_colors:
77+
dependency: transitive
78+
description:
79+
path: "../../../../dart_bbcode_web_colors"
80+
relative: true
81+
source: path
82+
version: "1.0.0"
7683
dart_quill_delta:
7784
dependency: transitive
7885
description:

lib/src/common/utils/color.dart

Lines changed: 6 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1+
import 'package:dart_bbcode_web_colors/dart_bbcode_web_colors.dart';
12
import 'package:flutter/material.dart';
23

34
import '../../editor/widgets/default_styles.dart';
45

5-
Color stringToColor(String? s,
6-
[Color? originalColor, DefaultStyles? defaultStyles]) {
6+
Color stringToColor(String? s, [Color? originalColor, DefaultStyles? defaultStyles]) {
77
final palette = defaultStyles?.palette;
88
if (s != null && palette != null) {
99
final maybeColor = palette[s];
@@ -12,119 +12,13 @@ Color stringToColor(String? s,
1212
}
1313
}
1414

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);
12418
}
12519

12620
// TODO: take care of "color": "inherit"
127-
if (s.startsWith('inherit')) {
21+
if (s == null || s.startsWith('inherit')) {
12822
return originalColor ?? Colors.black;
12923
}
13024

pubspec.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ dependencies:
4141
meta: ^1.7.0
4242
html: ^0.15.0
4343
intl: '>=0.19.0 <0.21.0'
44+
dart_bbcode_web_colors:
45+
path: ../../../dart_bbcode_web_colors
4446

4547
flutter_colorpicker: ^1.1.0
4648

0 commit comments

Comments
 (0)