mirror of
https://github.com/usememos/memos.git
synced 2025-12-18 06:41:32 +08:00
fix update theme not saving
This commit is contained in:
parent
01d3f2f86c
commit
58d44da1e9
2 changed files with 18 additions and 19 deletions
|
|
@ -372,30 +372,27 @@ func (s *APIV1Service) UpdateUserSetting(ctx context.Context, request *v1pb.Upda
|
||||||
return nil, status.Errorf(codes.InvalidArgument, "invalid setting key: %v", err)
|
return nil, status.Errorf(codes.InvalidArgument, "invalid setting key: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// get existing user setting
|
|
||||||
existingUserSetting, err := s.Store.GetUserSetting(ctx, &store.FindUserSetting{
|
|
||||||
UserID: &userID,
|
|
||||||
Key: storeKey,
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if existingUserSetting == nil {
|
|
||||||
return nil, status.Errorf(codes.NotFound, "%s not found", storeKey.String())
|
|
||||||
}
|
|
||||||
|
|
||||||
// Only GENERAL settings are supported via UpdateUserSetting
|
// Only GENERAL settings are supported via UpdateUserSetting
|
||||||
// Other setting types have dedicated service methods
|
// Other setting types have dedicated service methods
|
||||||
if storeKey != storepb.UserSetting_GENERAL {
|
if storeKey != storepb.UserSetting_GENERAL {
|
||||||
return nil, status.Errorf(codes.InvalidArgument, "setting type %s should not be updated via UpdateUserSetting", storeKey.String())
|
return nil, status.Errorf(codes.InvalidArgument, "setting type %s should not be updated via UpdateUserSetting", storeKey.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
existingUserSetting, _ := s.Store.GetUserSetting(ctx, &store.FindUserSetting{
|
||||||
|
UserID: &userID,
|
||||||
|
Key: storeKey,
|
||||||
|
})
|
||||||
|
|
||||||
|
generalSetting := &storepb.GeneralUserSetting{}
|
||||||
|
if existingUserSetting != nil {
|
||||||
// Start with existing general setting values
|
// Start with existing general setting values
|
||||||
existingGeneral := existingUserSetting.GetGeneral()
|
generalSetting = existingUserSetting.GetGeneral()
|
||||||
|
}
|
||||||
|
|
||||||
updatedGeneral := &v1pb.UserSetting_GeneralSetting{
|
updatedGeneral := &v1pb.UserSetting_GeneralSetting{
|
||||||
MemoVisibility: existingGeneral.GetMemoVisibility(),
|
MemoVisibility: generalSetting.GetMemoVisibility(),
|
||||||
Locale: existingGeneral.GetLocale(),
|
Locale: generalSetting.GetLocale(),
|
||||||
Theme: existingGeneral.GetTheme(),
|
Theme: generalSetting.GetTheme(),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Apply updates for fields specified in the update mask
|
// Apply updates for fields specified in the update mask
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
import defaultDarkThemeContent from "../themes/default-dark.css?raw";
|
import defaultDarkThemeContent from "../themes/default-dark.css?raw";
|
||||||
|
import paperThemeContent from "../themes/paper.css?raw";
|
||||||
|
import whitewallThemeContent from "../themes/whitewall.css?raw";
|
||||||
|
|
||||||
const VALID_THEMES = ["default", "default-dark", "paper", "whitewall"] as const;
|
const VALID_THEMES = ["default", "default-dark", "paper", "whitewall"] as const;
|
||||||
type ValidTheme = (typeof VALID_THEMES)[number];
|
type ValidTheme = (typeof VALID_THEMES)[number];
|
||||||
|
|
@ -6,8 +8,8 @@ type ValidTheme = (typeof VALID_THEMES)[number];
|
||||||
const THEME_CONTENT: Record<ValidTheme, string | null> = {
|
const THEME_CONTENT: Record<ValidTheme, string | null> = {
|
||||||
default: null,
|
default: null,
|
||||||
"default-dark": defaultDarkThemeContent,
|
"default-dark": defaultDarkThemeContent,
|
||||||
paper: null,
|
paper: paperThemeContent,
|
||||||
whitewall: null,
|
whitewall: whitewallThemeContent,
|
||||||
};
|
};
|
||||||
|
|
||||||
const validateTheme = (theme: string): ValidTheme => {
|
const validateTheme = (theme: string): ValidTheme => {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue