refactor and fix homepage override not correctly loaded

This commit is contained in:
yusing
2025-02-19 14:58:52 +08:00
parent 161cd84150
commit f0b04afa11
7 changed files with 19 additions and 27 deletions

View File

@@ -56,8 +56,8 @@ func (item *Item) IsEmpty() bool {
return item == nil || item.IsUnset || item.ItemConfig == nil
}
func (item *Item) GetOverride() *Item {
return overrideConfigInstance.GetOverride(item)
func (item *Item) ApplyOverride() *Item {
return overrideConfigInstance.ApplyOverride(item)
}
func (c *Categories) Clear() {

View File

@@ -31,6 +31,6 @@ func TestOverrideItem(t *testing.T) {
}
overrides := GetOverrideConfig()
overrides.OverrideItem(a.Alias, override)
overridden := a.GetOverride()
overridden := a.ApplyOverride()
ExpectDeepEqual(t, overridden.ItemConfig, override)
}

View File

@@ -64,24 +64,16 @@ func (c *OverrideConfig) OverrideItems(items map[string]*ItemConfig) {
}
}
func (c *OverrideConfig) GetOverride(item *Item) *Item {
func (c *OverrideConfig) ApplyOverride(item *Item) *Item {
c.mu.RLock()
defer c.mu.RUnlock()
itemOverride, hasOverride := c.ItemOverrides[item.Alias]
if hasOverride {
clone := *item
clone.ItemConfig = itemOverride
clone.IsUnset = false
item = &clone
item.ItemConfig = itemOverride
item.IsUnset = false
}
if show, ok := c.ItemVisibility[item.Alias]; ok {
if !hasOverride {
clone := *item
clone.Show = show
item = &clone
} else {
item.Show = show
}
item.Show = show
}
return item
}
@@ -92,7 +84,7 @@ func (c *OverrideConfig) SetCategoryOrder(key string, value int) {
c.CategoryOrder[key] = value
}
func (c *OverrideConfig) UnhideItems(keys ...string) {
func (c *OverrideConfig) UnhideItems(keys []string) {
c.mu.Lock()
defer c.mu.Unlock()
for _, key := range keys {
@@ -100,7 +92,7 @@ func (c *OverrideConfig) UnhideItems(keys ...string) {
}
}
func (c *OverrideConfig) HideItems(keys ...string) {
func (c *OverrideConfig) HideItems(keys []string) {
c.mu.Lock()
defer c.mu.Unlock()
for _, key := range keys {