@@ -27,6 +27,7 @@ import Modal from './Modal';
2727import { repository } from '../services/repository' ;
2828import ToggleSwitch from './ToggleSwitch' ;
2929import SettingRow from './SettingRow' ;
30+ import ColorPicker from './ColorPicker' ;
3031import SettingsTreeEditor from './SettingsTreeEditor' ;
3132import { useLogger } from '../hooks/useLogger' ;
3233import KeyboardShortcutsSection from './KeyboardShortcutsSection' ;
@@ -804,12 +805,10 @@ const AppearanceSettingsSection: React.FC<Pick<SectionProps, 'settings' | 'setCu
804805 return (
805806 < div key = { `${ mode } -${ token } ` } className = "space-y-3 rounded-lg border border-border-color bg-secondary/60 p-3" >
806807 < div className = "flex items-center gap-3" >
807- < input
808- type = "color"
809- value = { colorPickerValue }
810- onChange = { ( event ) => handleColorOverrideChange ( mode , token , event . target . value ) }
811- className = "h-10 w-12 cursor-pointer rounded-md border border-border-color bg-background"
812- aria-label = { `${ THEME_MODE_LABELS [ mode ] } ${ COLOR_TOKEN_METADATA [ token ] . label } color` }
808+ < ColorPicker
809+ color = { colorPickerValue }
810+ onChange = { ( next ) => handleColorOverrideChange ( mode , token , next ) }
811+ ariaLabel = { `${ THEME_MODE_LABELS [ mode ] } ${ COLOR_TOKEN_METADATA [ token ] . label } color` }
813812 />
814813 < div >
815814 < h4 className = "text-sm font-semibold text-text-main" > { COLOR_TOKEN_METADATA [ token ] . label } </ h4 >
@@ -1117,12 +1116,11 @@ const AppearanceSettingsSection: React.FC<Pick<SectionProps, 'settings' | 'setCu
11171116 >
11181117 < div className = "space-y-2" >
11191118 < div className = "flex flex-wrap items-center gap-3" >
1120- < input
1119+ < ColorPicker
11211120 id = "editorActiveLineHighlightColor"
1122- type = "color"
1123- value = { highlightColorPickerValueLight }
1124- onChange = { ( event ) => setCurrentSettings ( ( prev ) => ( { ...prev , editorActiveLineHighlightColor : event . target . value } ) ) }
1125- className = "h-10 w-14 rounded-md border border-border-color bg-background cursor-pointer"
1121+ color = { highlightColorPickerValueLight }
1122+ onChange = { ( next ) => setCurrentSettings ( ( prev ) => ( { ...prev , editorActiveLineHighlightColor : next } ) ) }
1123+ ariaLabel = "Select active line highlight color for light theme"
11261124 />
11271125 < span className = "font-mono text-xs text-text-secondary break-all" >
11281126 { highlightColorDisplayLight }
@@ -1155,12 +1153,11 @@ const AppearanceSettingsSection: React.FC<Pick<SectionProps, 'settings' | 'setCu
11551153 >
11561154 < div className = "space-y-2" >
11571155 < div className = "flex flex-wrap items-center gap-3" >
1158- < input
1156+ < ColorPicker
11591157 id = "editorActiveLineHighlightColorDark"
1160- type = "color"
1161- value = { highlightColorPickerValueDark }
1162- onChange = { ( event ) => setCurrentSettings ( ( prev ) => ( { ...prev , editorActiveLineHighlightColorDark : event . target . value } ) ) }
1163- className = "h-10 w-14 rounded-md border border-border-color bg-background cursor-pointer"
1158+ color = { highlightColorPickerValueDark }
1159+ onChange = { ( next ) => setCurrentSettings ( ( prev ) => ( { ...prev , editorActiveLineHighlightColorDark : next } ) ) }
1160+ ariaLabel = "Select active line highlight color for dark theme"
11641161 />
11651162 < span className = "font-mono text-xs text-text-secondary break-all" >
11661163 { highlightColorDisplayDark }
@@ -1192,12 +1189,11 @@ const AppearanceSettingsSection: React.FC<Pick<SectionProps, 'settings' | 'setCu
11921189 htmlFor = "markdownCodeBlockBackgroundLight"
11931190 >
11941191 < div className = "flex items-center gap-3" >
1195- < input
1192+ < ColorPicker
11961193 id = "markdownCodeBlockBackgroundLight"
1197- type = "color"
1198- value = { lightCodeBlockBackground }
1199- onChange = { ( event ) => setCurrentSettings ( ( prev ) => ( { ...prev , markdownCodeBlockBackgroundLight : event . target . value } ) ) }
1200- className = "h-10 w-14 rounded-md border border-border-color bg-background cursor-pointer"
1194+ color = { lightCodeBlockBackground }
1195+ onChange = { ( next ) => setCurrentSettings ( ( prev ) => ( { ...prev , markdownCodeBlockBackgroundLight : next } ) ) }
1196+ ariaLabel = "Select code block background color for light theme"
12011197 />
12021198 < span className = "font-mono text-xs text-text-secondary" >
12031199 { lightCodeBlockBackground . toUpperCase ( ) }
@@ -1218,12 +1214,11 @@ const AppearanceSettingsSection: React.FC<Pick<SectionProps, 'settings' | 'setCu
12181214 htmlFor = "markdownCodeBlockBackgroundDark"
12191215 >
12201216 < div className = "flex items-center gap-3" >
1221- < input
1217+ < ColorPicker
12221218 id = "markdownCodeBlockBackgroundDark"
1223- type = "color"
1224- value = { darkCodeBlockBackground }
1225- onChange = { ( event ) => setCurrentSettings ( ( prev ) => ( { ...prev , markdownCodeBlockBackgroundDark : event . target . value } ) ) }
1226- className = "h-10 w-14 rounded-md border border-border-color bg-background cursor-pointer"
1219+ color = { darkCodeBlockBackground }
1220+ onChange = { ( next ) => setCurrentSettings ( ( prev ) => ( { ...prev , markdownCodeBlockBackgroundDark : next } ) ) }
1221+ ariaLabel = "Select code block background color for dark theme"
12271222 />
12281223 < span className = "font-mono text-xs text-text-secondary" >
12291224 { darkCodeBlockBackground . toUpperCase ( ) }
0 commit comments