Compare commits

..

2 Commits

Author SHA1 Message Date
Hazel Noack
27adda431f specifically included otonoko pharmaceuticals 2025-07-10 14:11:34 +02:00
Hazel Noack
da4e11f654 added ships to 2025-07-10 13:49:16 +02:00
3 changed files with 25 additions and 21 deletions

View File

@ -1,7 +1,6 @@
package diyhrt
import (
"fmt"
"slices"
)
@ -10,33 +9,39 @@ type StoreFilter struct{
IncludeIds []int
ExcludeIds []int
ShipsTo []string
}
func (f StoreFilter) Filter (stores []Store) []Store {
result := make([]Store, 0)
if len(f.IncludeIds) > 0 {
for _, s := range stores {
if f.Limit > 0 && len(result) >= f.Limit {
break
}
if len(f.IncludeIds) > 0 {
if slices.Contains(f.IncludeIds, s.Id) {
result = append(result, s)
}
continue
}
}
if slices.Contains(f.ExcludeIds, s.Id) {
continue
for _, s := range stores {
if f.Limit > 0 && len(result) >= f.Limit {
break
}
if slices.Contains(f.ExcludeIds, s.Id) || slices.Contains(f.IncludeIds, s.Id) {
continue
}
result = append(result, s)
}
fmt.Println(len(result))
return result
}

View File

@ -1,6 +1,9 @@
package rendering
import (
"maps"
"slices"
"gitea.elara.ws/Hazel/transfem-startpage/internal/diyhrt"
)
@ -39,22 +42,18 @@ func DefaultRenderingConfig() RenderingConfig {
StoreFilter: diyhrt.StoreFilter{
Limit: 4,
IncludeIds: []int{7},
},
}
}
func (rc *RenderingConfig) LoadDiyHrt(listings []diyhrt.Listing) {
existingStores := make(map[int]struct{})
stores := make([]diyhrt.Store, 0)
existingStores := make(map[int]diyhrt.Store)
for _, listing := range listings {
if _, ok := existingStores[listing.Store.Id]; ok {
continue
}
stores = append(stores, listing.Store)
existingStores[listing.Store.Id] = listing.Store
}
rc.Listings = listings
rc.Stores = rc.StoreFilter.Filter(stores)
rc.Stores = rc.StoreFilter.Filter(slices.Collect(maps.Values(existingStores)))
}

View File

@ -1 +1 @@
exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1
exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1