@@ -30,12 +30,15 @@ class _CommentAppearanceSettingsPageState extends State<CommentAppearanceSetting
3030 /// When toggled on, comments will show a row of actions to perform
3131 bool showCommentButtonActions = false ;
3232
33- /// When toggled on, user intance is displayed alongside the display name/username
33+ /// When toggled on, user instance is displayed alongside the display name/username
3434 bool commentShowUserInstance = false ;
3535
3636 /// When toggled on, comment scores will be combined instead of having separate upvotes and downvotes
3737 bool combineCommentScores = false ;
3838
39+ /// When toggled on, usernames in comments will be colorized.
40+ bool commentUseColorizedUsername = false ;
41+
3942 /// Indicates the style of the nested comment indicator
4043 NestedCommentIndicatorStyle nestedIndicatorStyle = DEFAULT_NESTED_COMMENT_INDICATOR_STYLE ;
4144
@@ -56,6 +59,7 @@ class _CommentAppearanceSettingsPageState extends State<CommentAppearanceSetting
5659 showCommentButtonActions = prefs.getBool (LocalSettings .showCommentActionButtons.name) ?? false ;
5760 commentShowUserInstance = prefs.getBool (LocalSettings .commentShowUserInstance.name) ?? false ;
5861 combineCommentScores = prefs.getBool (LocalSettings .combineCommentScores.name) ?? false ;
62+ commentUseColorizedUsername = prefs.getBool (LocalSettings .commentUseColorizedUsername.name) ?? false ;
5963 nestedIndicatorStyle = NestedCommentIndicatorStyle .values.byName (prefs.getString (LocalSettings .nestedCommentIndicatorStyle.name) ?? DEFAULT_NESTED_COMMENT_INDICATOR_STYLE .name);
6064 nestedIndicatorColor = NestedCommentIndicatorColor .values.byName (prefs.getString (LocalSettings .nestedCommentIndicatorColor.name) ?? DEFAULT_NESTED_COMMENT_INDICATOR_COLOR .name);
6165 });
@@ -87,6 +91,9 @@ class _CommentAppearanceSettingsPageState extends State<CommentAppearanceSetting
8791 await prefs.setString (LocalSettings .nestedCommentIndicatorColor.name, value);
8892 setState (() => nestedIndicatorColor = NestedCommentIndicatorColor .values.byName (value ?? DEFAULT_NESTED_COMMENT_INDICATOR_COLOR .name));
8993 break ;
94+ case LocalSettings .commentUseColorizedUsername:
95+ await prefs.setBool (LocalSettings .commentUseColorizedUsername.name, value);
96+ setState (() => commentUseColorizedUsername = value);
9097 }
9198
9299 if (context.mounted) {
@@ -103,6 +110,7 @@ class _CommentAppearanceSettingsPageState extends State<CommentAppearanceSetting
103110 await prefs.remove (LocalSettings .nestedCommentIndicatorStyle.name);
104111 await prefs.remove (LocalSettings .nestedCommentIndicatorColor.name);
105112 await prefs.remove (LocalSettings .commentShowUserInstance.name);
113+ await prefs.remove (LocalSettings .commentUseColorizedUsername.name);
106114
107115 await initPreferences ();
108116
@@ -322,6 +330,18 @@ class _CommentAppearanceSettingsPageState extends State<CommentAppearanceSetting
322330 ),
323331 ),
324332 ),
333+ SliverToBoxAdapter (
334+ child: Padding (
335+ padding: const EdgeInsets .symmetric (horizontal: 16.0 ),
336+ child: ToggleOption (
337+ description: l10n.commentUseColorizedUsername,
338+ value: commentUseColorizedUsername,
339+ iconEnabled: Icons .brush_sharp,
340+ iconDisabled: Icons .brush_outlined,
341+ onToggle: (bool value) => setPreferences (LocalSettings .commentUseColorizedUsername, value),
342+ ),
343+ ),
344+ ),
325345 SliverToBoxAdapter (
326346 child: Padding (
327347 padding: const EdgeInsets .symmetric (horizontal: 16.0 ),
0 commit comments