From a1dfc548198a1326e71f1dd70303a5d3441f7a39 Mon Sep 17 00:00:00 2001
From: Alan Pearce
Date: Fri, 21 Jun 2024 13:02:08 +0200
Subject: refactor: switch to templ for HTML templates
---
internal/components/page.templ | 91 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+)
create mode 100644 internal/components/page.templ
(limited to 'internal/components/page.templ')
diff --git a/internal/components/page.templ b/internal/components/page.templ
new file mode 100644
index 0000000..9b278e2
--- /dev/null
+++ b/internal/components/page.templ
@@ -0,0 +1,91 @@
+package components
+
+import (
+ "net/url"
+
+ "searchix/internal/config"
+ "searchix/frontend"
+)
+
+templ Page(tdata TemplateData) {
+
+
+
+
+
+ Searchix
+ for _, sheet := range tdata.Assets.Stylesheets {
+
+ }
+ @Unsafe(tdata.ExtraHeadHTML)
+ for _, source := range tdata.Sources {
+
+ }
+
+
+
+
+ { children... }
+
+
+
+
+}
+
+templ script(s *frontend.Asset) {
+
+}
+
+func Unsafe(html string) templ.Component {
+ return templ.ComponentFunc(func(_ context.Context, w io.Writer) (err error) {
+ _, err = io.WriteString(w, html)
+ return
+ })
+}
+
+func sourceNameAndType(source config.Source) string {
+ switch source.Importer {
+ case config.Options:
+ return source.Name + " " + source.Importer.String()
+ case config.Packages:
+ return source.Name
+ }
+ return ""
+}
+
+func joinPath(base string, parts ...string) templ.SafeURL {
+ u, err := url.JoinPath(base, parts...)
+ if err != nil {
+ panic(err)
+ }
+ return templ.SafeURL(u)
+}
+
+func joinPathQuery[T ~string](path T, query string) templ.SafeURL {
+ if query == "" {
+ return templ.SafeURL(path)
+ }
+ return templ.SafeURL(string(path) + "?query=" + url.QueryEscape(query))
+}
--
cgit 1.4.1