Skip to content

Commit ce3b47f

Browse files
committed
fix: use named colors first and fix color values
This commit synced color value with values from dart_bbcode_web_colors. Use named colors first if value is the one.
1 parent bd14ca4 commit ce3b47f

2 files changed

Lines changed: 48 additions & 41 deletions

File tree

lib/src/constants.dart

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -61,45 +61,45 @@ const defaultFontSizeMap = <String, String>{
6161
/// Used by TSDM.
6262
enum BBCodeEditorColor {
6363
black('黑色', 'Black', Color(0xFF000000)),
64-
sienna('赭色', 'Sienna', Color(0xFF804224)),
65-
darkOliveGreen('暗橄榄绿色', 'DarkOliveGreen', Color(0xFF445626)),
66-
darkGreen('暗绿色', 'DarkGreen', Color(0xFF005000)),
67-
darkSlateBlue('暗灰蓝色', 'DarkSlateBlue', Color(0xFF3a316f)),
68-
navy('海军色', 'Navy', Color(0xFF000066)),
69-
indigo('靛青色', 'Indigo', Color(0xFF3c0068)),
70-
darkSlateGray('墨绿色', 'DarkSlateGray', Color(0xFF263f3f)),
71-
darkRed('暗红色', 'DarkRed', Color(0xFF6f0000)),
72-
darkOrange('暗桔黄色', 'DarkOrange', Color(0xFFcc7000)),
73-
olive('橄榄色', 'Olive', Color(0xFF666600)),
74-
green('绿色', 'Green', Color(0xFF006600)),
75-
teal('水鸭色', 'Teal', Color(0xFF006666)),
76-
blue('蓝色', 'Blue', Color(0xFF0000cc)),
77-
slateGray('灰石色', 'SlateGray', Color(0xFF596673)),
78-
dimGray('暗灰色', 'DimGray', Color(0xFF4f5659)),
79-
red('红色', 'Red', Color(0xFFcc0000)),
80-
sandyBrown('沙褐色', 'SandyBrown', Color(0xFF8f470a)),
81-
yellowGreen('黄绿色', 'YellowGreen', Color(0xFF647b1e)),
82-
seaGreen('海绿色', 'SeaGreen', Color(0xFF256f46)),
83-
mediumTurquoise('间绿宝石', 'MediumTurquoise', Color(0xFF269793)),
84-
royalBlue('皇家蓝', 'RoyalBlue', Color(0xFF193a9e)),
85-
purple('紫色', 'Purple', Color(0xFF660066)),
86-
gray('灰色', 'Gray', Color(0xFF60686c)),
87-
magenta('红紫色', 'Magenta', Color(0xFFcc00cc)),
88-
orange('橙色', 'Orange', Color(0xFFcc8400)),
89-
yellow('黄色', 'Yellow', Color(0xFF999900)),
90-
lime('酸橙色', 'Lime', Color(0xFF33cc00)),
91-
cyan('青色', 'Cyan', Color(0xFF00cccc)),
92-
deepSkyBlue('深天蓝色', 'DeepSkyBlue', Color(0xFF0099cc)),
93-
darkOrchid('暗紫色', 'DarkOrchid', Color(0xFF7a28a3)),
94-
silver('银色', 'Silver', Color(0xFF3c4143)),
95-
pink('粉色', 'Pink', Color(0xFF590010)),
96-
wheat('浅黄色', 'Wheat', Color(0xFF5b3f0c)),
97-
lemonChiffon('柠檬绸色', 'LemonChiffon', Color(0xFF3d3700)),
98-
paleGreen('苍绿色', 'PaleGreen', Color(0xFF1f6f04)),
99-
paleTurquoise('苍宝石绿', 'PaleTurquoise', Color(0xFF135a5a)),
100-
lightBlue('亮蓝色', 'LightBlue', Color(0xFF1b4958)),
101-
plum('洋李色', 'Plum', Color(0xFF5f225f)),
102-
white('白色', 'White', Color(0xFF181a1b));
64+
sienna('赭色', 'Sienna', Color(0xFFA0522D)),
65+
darkOliveGreen('暗橄榄绿色', 'DarkOliveGreen', Color(0xFF556B2F)),
66+
darkGreen('暗绿色', 'DarkGreen', Color(0xFF006400)),
67+
darkSlateBlue('暗灰蓝色', 'DarkSlateBlue', Color(0xFF483D8B)),
68+
navy('海军色', 'Navy', Color(0xFF000080)),
69+
indigo('靛青色', 'Indigo', Color(0xFF4B0082)),
70+
darkSlateGray('墨绿色', 'DarkSlateGray', Color(0xFF2F4F4F)),
71+
darkRed('暗红色', 'DarkRed', Color(0xFF8B0000)),
72+
darkOrange('暗桔黄色', 'DarkOrange', Color(0xFFFF8C00)),
73+
olive('橄榄色', 'Olive', Color(0xFF808000)),
74+
green('绿色', 'Green', Color(0xFF008000)),
75+
teal('水鸭色', 'Teal', Color(0xFF008080)),
76+
blue('蓝色', 'Blue', Color(0xFF0000FF)),
77+
slateGray('灰石色', 'SlateGray', Color(0xFF708090)),
78+
dimGray('暗灰色', 'DimGray', Color(0xFF696969)),
79+
red('红色', 'Red', Color(0xFFFF0000)),
80+
sandyBrown('沙褐色', 'SandyBrown', Color(0xFFF4A460)),
81+
yellowGreen('黄绿色', 'YellowGreen', Color(0xFF9ACD32)),
82+
seaGreen('海绿色', 'SeaGreen', Color(0xFF2E8B57)),
83+
mediumTurquoise('间绿宝石', 'MediumTurquoise', Color(0xFF48D1CC)),
84+
royalBlue('皇家蓝', 'RoyalBlue', Color(0xFF4169E1)),
85+
purple('紫色', 'Purple', Color(0xFF800080)),
86+
gray('灰色', 'Gray', Color(0xFF808080)),
87+
magenta('红紫色', 'Magenta', Color(0xFFFF00FF)),
88+
orange('橙色', 'Orange', Color(0xFFFFA500)),
89+
yellow('黄色', 'Yellow', Color(0xFFFFFF00)),
90+
lime('酸橙色', 'Lime', Color(0xFF00FF00)),
91+
cyan('青色', 'Cyan', Color(0xFF00FFFF)),
92+
deepSkyBlue('深天蓝色', 'DeepSkyBlue', Color(0xFF00BFFF)),
93+
darkOrchid('暗紫色', 'DarkOrchid', Color(0xFF9932CC)),
94+
silver('银色', 'Silver', Color(0xFFC0C0C0)),
95+
pink('粉色', 'Pink', Color(0xFFFFC0CB)),
96+
wheat('浅黄色', 'Wheat', Color(0xFFF5DEB3)),
97+
lemonChiffon('柠檬绸色', 'LemonChiffon', Color(0xFFFFFACD)),
98+
paleGreen('苍绿色', 'PaleGreen', Color(0xFF98FB98)),
99+
paleTurquoise('苍宝石绿', 'PaleTurquoise', Color(0xFFAFEEEE)),
100+
lightBlue('亮蓝色', 'LightBlue', Color(0xFFADD8E6)),
101+
plum('洋李色', 'Plum', Color(0xFFDDA0DD)),
102+
white('白色', 'White', Color(0xFFFFFFFF));
103103

104104
/// Constructor.
105105
const BBCodeEditorColor(this.name, this.namedColor, this.color);

lib/src/utils.dart

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,15 @@ class ColorUtils {
2525

2626
/// Convert into bbcode recognized color.
2727
static String toBBCodeColor(String color, {bool useHex = true}) {
28-
final webColor = WebColors.fromString(color);
28+
// Try use named color first.
29+
final colorValue = int.tryParse(color.substring(1), radix: 16);
30+
final WebColors webColor;
31+
if (colorValue != null) {
32+
webColor = WebColors.values.firstWhereOrNull((e) => e.colorValue == colorValue) ?? WebColors.fromString(color);
33+
} else {
34+
webColor = WebColors.fromString(color);
35+
}
36+
2937
if (webColor.isValid) {
3038
return '${webColor.name[0].toUpperCase()}${webColor.name.substring(1)}';
3139
}
@@ -35,7 +43,6 @@ class ColorUtils {
3543
return color;
3644
}
3745

38-
final colorValue = int.tryParse(color.substring(2), radix: 16);
3946
if (colorValue == null) {
4047
return color;
4148
}

0 commit comments

Comments
 (0)