@@ -23,10 +23,13 @@ export function ColorPicker({ username, onColorChange }: ColorPickerProps) {
2323 useEffect ( ( ) => {
2424 const loadUserColor = async ( ) => {
2525 try {
26+ console . log ( `Loading accent color for ${ username } ` ) ;
2627 const userColor = await getUserAccentColor ( username ) ;
28+ console . log ( `Loaded accent color: ${ userColor } ` ) ;
2729 setAccentColor ( userColor ) ;
2830 setCustomColor ( userColor ) ;
2931 } catch ( error ) {
32+ console . error ( 'Error loading user color:' , error ) ;
3033 // Keep default color on error
3134 } finally {
3235 setIsLoading ( false ) ;
@@ -35,19 +38,36 @@ export function ColorPicker({ username, onColorChange }: ColorPickerProps) {
3538 loadUserColor ( ) ;
3639 } , [ username , setAccentColor ] ) ;
3740
38- // Keep customColor in sync with accentColor
41+ // Keep customColor in sync with accentColor but don't override if it was just changed
3942 useEffect ( ( ) => {
40- setCustomColor ( accentColor ) ;
41- } , [ accentColor ] ) ;
43+ if ( ! isSaving ) {
44+ setCustomColor ( accentColor ) ;
45+ }
46+ } , [ accentColor , isSaving ] ) ;
4247
4348 const handleColorSelect = async ( color : string ) => {
49+ console . log ( `Selected color: ${ color } ` ) ;
4450 // Apply color immediately for instant feedback
4551 setAccentColor ( color ) ;
52+ setCustomColor ( color ) ;
4653 onColorChange ?.( color ) ;
4754
4855 setIsSaving ( true ) ;
4956 try {
5057 await updateUserAccentColor ( username , color ) ;
58+ console . log ( `Successfully saved accent color: ${ color } ` ) ;
59+ } catch ( error ) {
60+ safeLogError ( 'Error saving accent color:' , error ) ;
61+ // Revert color back to previous if save failed
62+ const previousColor = await getUserAccentColor ( username ) ;
63+ setAccentColor ( previousColor ) ;
64+ setCustomColor ( previousColor ) ;
65+ onColorChange ?.( previousColor ) ;
66+ alert ( t ( 'colorSaveError' ) ) ;
67+ } finally {
68+ setIsSaving ( false ) ;
69+ }
70+ } ;
5171 } catch ( error ) {
5272 safeLogError ( 'Error saving accent color:' , error ) ;
5373 // Revert color back to previous if save failed
@@ -61,10 +81,12 @@ export function ColorPicker({ username, onColorChange }: ColorPickerProps) {
6181 } ;
6282
6383 const handleCustomColorChange = ( color : string ) => {
84+ console . log ( `Custom color input changed to: ${ color } ` ) ;
6485 setCustomColor ( color ) ;
6586 } ;
6687
6788 const handleCustomColorApply = ( ) => {
89+ console . log ( `Applying custom color: ${ customColor } ` ) ;
6890 handleColorSelect ( customColor ) ;
6991 } ;
7092
0 commit comments