about summary refs log tree commit diff stats
path: root/frontend
diff options
context:
space:
mode:
authorAlan Pearce2024-05-07 17:33:06 +0200
committerAlan Pearce2024-05-07 17:36:06 +0200
commitc15b142b18dcdc7f5ab6d5f1afca8ae1696692cc (patch)
tree6bda157426a7eb79e3299839eeb43230db99f206 /frontend
parent6c8c36b2c34bc375859230ddc13c5071274f60b4 (diff)
downloadsearchix-c15b142b18dcdc7f5ab6d5f1afca8ae1696692cc.tar.lz
searchix-c15b142b18dcdc7f5ab6d5f1afca8ae1696692cc.tar.zst
searchix-c15b142b18dcdc7f5ab6d5f1afca8ae1696692cc.zip
feat: search one set of options
Diffstat (limited to 'frontend')
-rw-r--r--frontend/static/search.js7
-rw-r--r--frontend/static/style.css4
-rw-r--r--frontend/templates/blocks/options.gotmpl98
3 files changed, 60 insertions, 49 deletions
diff --git a/frontend/static/search.js b/frontend/static/search.js
index 0388942..f034fe1 100644
--- a/frontend/static/search.js
+++ b/frontend/static/search.js
@@ -38,14 +38,14 @@ search.addEventListener("submit", function (ev) {
       fetch: "true",
     },
   })
-    .then(function (res) {
+    .then(async function (res) {
       state.url = url.toJSON();
       state.opened = [];
-      history.pushState(state, null, url);
       if (res.ok) {
+        history.pushState(state, null, url);
         return res.text();
       } else {
-        throw new Error(res.statusText);
+        throw new Error(`${res.status} ${res.statusText}: ${await res.text()}`);
       }
     })
     .then(function (html) {
@@ -54,6 +54,7 @@ search.addEventListener("submit", function (ev) {
       addToggleEventListeners();
     })
     .catch(function (error) {
+      results.innerText = error.message;
       console.error("fetch failed", error);
     });
   ev.preventDefault();
diff --git a/frontend/static/style.css b/frontend/static/style.css
index 45cff6a..fd096b0 100644
--- a/frontend/static/style.css
+++ b/frontend/static/style.css
@@ -21,6 +21,10 @@ dd {
   margin-inline-start: 1rem;
 }
 
+dd > p {
+  margin: unset;
+}
+
 dl {
   display: grid;
   align-items: baseline;
diff --git a/frontend/templates/blocks/options.gotmpl b/frontend/templates/blocks/options.gotmpl
index f89a83d..2f9d88a 100644
--- a/frontend/templates/blocks/options.gotmpl
+++ b/frontend/templates/blocks/options.gotmpl
@@ -1,53 +1,59 @@
 {{ template "results" . }}
 {{ define "results" }}
-  {{- range .Results }}
-    <details id="{{ .Option }}">
-      <summary>
-        {{ .Option }}
-      </summary>
-      <p>
-        {{ markdown .Description }}
-      </p>
-      <dl>
-        {{- with .Type }}
-          <dt>Type</dt>
-          <dd><code>{{ . }}</code></dd>
-        {{- end }}
-        {{- with .Default }}
-          <dt>Default</dt>
-          <dd>
-            {{- if .Markdown }}
-              {{ .Markdown }}
-            {{- else }}
-              <pre><code>{{ .Text }}</code></pre>
+  {{- with .Results }}
+    {{- range .Results }}
+      <details id="{{ .Option }}">
+        <summary>
+          {{ .Option }}
+        </summary>
+        <p>
+          {{ markdown .Description }}
+        </p>
+        <dl>
+          {{- with .Type }}
+            <dt>Type</dt>
+            <dd><code>{{ . }}</code></dd>
+          {{- end }}
+          {{- with .Default }}
+            {{- if or .Text .Markdown }}
+              <dt>Default</dt>
+              <dd>
+                {{- if .Markdown }}
+                  {{ markdown .Markdown }}
+                {{- else }}
+                  <pre><code>{{ .Text }}</code></pre>
+                {{- end }}
+              </dd>
+            {{- end }}
+          {{- end }}
+          {{- with .Example }}
+            {{- if or .Text .Markdown }}
+              <dt>Example</dt>
+              <dd>
+                {{- if .Markdown }}
+                  {{ markdown .Markdown }}
+                {{- else }}
+                  <pre><code>{{ .Text }}</code></pre>
+                {{- end }}
+              </dd>
             {{- end }}
-          </dd>
-        {{- end }}
-        {{- with .Example }}
-          {{- if or .Text .Markdown }}
-            <dt>Example</dt>
-            <dd>
-              {{- if .Markdown }}
-                {{ .Markdown }}
-              {{- else }}
-                <pre><code>{{ .Text }}</code></pre>
-              {{- end }}
-            </dd>
           {{- end }}
-        {{- end }}
-        {{- with .RelatedPackages }}
-          <dt>Related Packages</dt>
-          <dd>{{ . }}</dd>
-        {{- end }}
-        {{- with .Declarations }}
-          <dt>Declared</dt>
-          {{- range . }}
-            <dd>
-              <a href="{{ .URL }}">{{ .Name }}</a>
-            </dd>
+          {{- with .RelatedPackages }}
+            <dt>Related Packages</dt>
+            <dd>{{ . }}</dd>
+          {{- end }}
+          {{- with .Declarations }}
+            <dt>Declared</dt>
+            {{- range . }}
+              <dd>
+                <a href="{{ .URL }}">{{ .Name }}</a>
+              </dd>
+            {{- end }}
           {{- end }}
-        {{- end }}
-      </dl>
-    </details>
+        </dl>
+      </details>
+    {{- else }}
+      Nothing found
+    {{- end }}
   {{- end }}
 {{ end }}