Files
EdgeAdmin/internal/web/actions/default/ui/theme.go
2023-03-15 15:35:11 +08:00

48 lines
1.0 KiB
Go

// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package ui
import (
"github.com/TeaOSLab/EdgeAdmin/internal/configloaders"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
)
type ThemeAction struct {
actionutils.ParentAction
}
func (this *ThemeAction) RunPost(params struct{}) {
theme := configloaders.FindAdminTheme(this.AdminId())
var themes = []string{"theme1", "theme2", "theme3", "theme4", "theme5", "theme6", "theme7"}
var nextTheme = "theme1"
if len(theme) == 0 {
nextTheme = "theme2"
} else {
for index, t := range themes {
if t == theme {
if index < len(themes)-1 {
nextTheme = themes[index+1]
break
}
}
}
}
_, err := this.RPC().AdminRPC().UpdateAdminTheme(this.AdminContext(), &pb.UpdateAdminThemeRequest{
AdminId: this.AdminId(),
Theme: nextTheme,
})
if err != nil {
this.ErrorPage(err)
return
}
configloaders.UpdateAdminTheme(this.AdminId(), nextTheme)
this.Data["theme"] = nextTheme
this.Success()
}