feat: add color theme user setting definition

This commit is contained in:
steven
2023-09-05 23:48:32 +08:00
parent 7348f47ef8
commit b50e809125
16 changed files with 545 additions and 128 deletions

View File

@ -33,6 +33,8 @@ func (s *Store) UpsertUserSetting(ctx context.Context, upsert *storepb.UserSetti
valueString = string(valueBytes)
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_LOCALE {
valueString = upsert.GetLocale().String()
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_COLOR_THEME {
valueString = upsert.GetColorTheme().String()
} else {
return nil, errors.New("invalid user setting key")
}
@ -93,6 +95,10 @@ func (s *Store) ListUserSettings(ctx context.Context, find *FindUserSetting) ([]
userSetting.Value = &storepb.UserSetting_Locale{
Locale: convertUserSettingLocaleFromString(valueString),
}
} else if userSetting.Key == storepb.UserSettingKey_USER_SETTING_COLOR_THEME {
userSetting.Value = &storepb.UserSetting_ColorTheme{
ColorTheme: convertUserSettingColorThemeFromString(valueString),
}
} else {
return nil, errors.New("invalid user setting key")
}
@ -176,3 +182,14 @@ func convertUserSettingLocaleFromString(s string) storepb.LocaleUserSetting {
return storepb.LocaleUserSetting_LOCALE_USER_SETTING_UNSPECIFIED
}
}
func convertUserSettingColorThemeFromString(s string) storepb.ColorThemeUserSetting {
switch s {
case "COLOR_THEME_USER_SETTING_LIGHT":
return storepb.ColorThemeUserSetting_COLOR_THEME_USER_SETTING_LIGHT
case "COLOR_THEME_USER_SETTING_DARK":
return storepb.ColorThemeUserSetting_COLOR_THEME_USER_SETTING_DARK
default:
return storepb.ColorThemeUserSetting_COLOR_THEME_USER_SETTING_UNSPECIFIED
}
}