From b29982bf419212be76f511fffa5c24b8e2552b4e Mon Sep 17 00:00:00 2001 From: Arthur Zamarin Date: Tue, 16 Apr 2024 22:32:08 +0300 Subject: arches: use TabbedLayout Signed-off-by: Arthur Zamarin --- pkg/app/handler/arches/changedVersions.templ | 112 +++++++++------------------ pkg/app/handler/arches/show.go | 9 +-- pkg/app/layout/page.templ | 5 +- pkg/models/userpreferences.go | 1 + 4 files changed, 45 insertions(+), 82 deletions(-) diff --git a/pkg/app/handler/arches/changedVersions.templ b/pkg/app/handler/arches/changedVersions.templ index 0ed5dfe..fb65fc3 100644 --- a/pkg/app/handler/arches/changedVersions.templ +++ b/pkg/app/handler/arches/changedVersions.templ @@ -1,85 +1,49 @@ package arches +import "net/http" +import "soko/pkg/app/layout" import "soko/pkg/app/utils" import "soko/pkg/models" -func activeClass(flag bool) string { - if flag { - return "nav-link active" - } - return "nav-link" -} - -templ archesHeader(currentArch string) { -
-
-
-
-
-
-

-
-
- - Architectures -
-
-

-
-
-
- -
-
-
-
-
-
-} - -templ changedVersions( - currentArch string, - name string, - feedName string, - versions []*models.Version, -) { - @archesHeader(currentArch) -
-
-
-
- if name == "Keyworded" { -

- Keyworded Packages - Newly Stable Packages -

- } else { -

- Keyworded Packages - Newly Stable Packages -

- } -
-
+templ changedVersions(currentArch string, feedName string, versions []*models.Version) { +
+
+
+ if feedName == "keyworded" { +

+ Keyworded Packages + Newly Stable Packages +

+ } else {

- + Keyworded Packages + Newly Stable Packages

-
-
-
  • - @utils.ChangedVersionsTable(versions) -
  • -
    + } +
    +
    +

    + +

    +
    +
    +
  • + @utils.ChangedVersionsTable(versions) +
  • } + +var tabs []layout.SubTab + +func init() { + tabs = make([]layout.SubTab, len(models.AllArches)) + for i, arch := range models.AllArches { + tabs[i] = layout.SubTab{Name: arch, Link: templ.URL("/arches/" + arch + "/keyworded")} + } +} + +func renderPage(w http.ResponseWriter, r *http.Request, arch string, content templ.Component) { + layout.TabbedLayout("Architectures", "arches", "Architectures", "fa fa-fw fa-server", "", tabs, arch, content).Render(r.Context(), w) +} diff --git a/pkg/app/handler/arches/show.go b/pkg/app/handler/arches/show.go index d202a9e..40fb048 100644 --- a/pkg/app/handler/arches/show.go +++ b/pkg/app/handler/arches/show.go @@ -3,7 +3,6 @@ package arches import ( "net/http" "soko/pkg/app/handler/feeds" - "soko/pkg/app/layout" "strings" ) @@ -14,9 +13,7 @@ func ShowStable(w http.ResponseWriter, r *http.Request) { http.NotFound(w, r) return } - layout.Layout("Architectures", "arches", changedVersions( - arch, "Newly Stable", "stable", stabilizedVersions, - )).Render(r.Context(), w) + renderPage(w, r, arch, changedVersions(arch, "stable", stabilizedVersions)) } func ShowStableFeed(w http.ResponseWriter, r *http.Request) { @@ -38,9 +35,7 @@ func ShowKeyworded(w http.ResponseWriter, r *http.Request) { http.NotFound(w, r) return } - layout.Layout("Architectures", "arches", changedVersions( - arch, "Keyworded", "keyworded", keywordedVersions, - )).Render(r.Context(), w) + renderPage(w, r, arch, changedVersions(arch, "keyworded", keywordedVersions)) } func ShowKeywordedFeed(w http.ResponseWriter, r *http.Request) { diff --git a/pkg/app/layout/page.templ b/pkg/app/layout/page.templ index 41cdb8d..ebfe060 100644 --- a/pkg/app/layout/page.templ +++ b/pkg/app/layout/page.templ @@ -162,7 +162,10 @@ templ tabbedHeader(subTitle string, icon string, description string, tabs []SubT