forked from tangled.org/core
this repo has no description

appview: make banner more generic

we can always display this for an upgrade situation now.

Signed-off-by: oppiliappan <me@oppi.li>

oppi.li 665c097b e262afed

verified
Changed files
+51 -34
appview
pages
templates
layouts
spindles
state
+34 -19
appview/pages/templates/banner.html
···
{{ define "banner" }}
-
<div class="px-6 py-2">
-
The following services that you administer will have to be upgraded to be compatible with the latest version of Tangled:
-
{{ if .Registrations }}
-
<ul class="list-disc mx-12 my-2">
-
{{range .Registrations}}
-
<li>{{ .Domain }}</li>
-
{{ end }}
-
</ul>
-
Repositories hosted on these knots may not be accessible until upgraded.
-
{{ end }}
+
<div class="flex items-center justify-center mx-auto w-full bg-red-100 dark:bg-red-900 border border-red-200 dark:border-red-800 rounded-b drop-shadow-sm text-red-800 dark:text-red-200">
+
<details class="group p-2">
+
<summary class="list-none cursor-pointer">
+
<div class="flex gap-4 items-center">
+
<span class="group-open:hidden inline">{{ i "triangle-alert" "w-4 h-4" }}</span>
+
<span class="hidden group-open:inline">{{ i "x" "w-4 h-4" }}</span>
+
+
<span class="group-open:hidden inline">Some services that you administer require an update. Click to show more.</span>
+
<span class="hidden group-open:inline">Some services that you administer will have to be updated to be compatible with Tangled.</span>
+
</div>
+
</summary>
+
+
{{ if .Registrations }}
+
<ul class="list-disc mx-12 my-2">
+
{{range .Registrations}}
+
<li>Knot: {{ .Domain }}</li>
+
{{ end }}
+
</ul>
+
{{ end }}
+
+
{{ if .Spindles }}
+
<ul class="list-disc mx-12 my-2">
+
{{range .Spindles}}
+
<li>Spindle: {{ .Instance }}</li>
+
{{ end }}
+
</ul>
+
{{ end }}
-
{{ if .Spindles }}
-
<ul class="list-disc mx-12 my-2">
-
{{range .Spindles}}
-
<li>{{ .Instance }}</li>
-
{{ end }}
-
</ul>
-
Pipelines may not be executed on these spindles until upgraded.
-
{{ end }}
-
<a href="https://tangled.sh/@tangled.sh/core/tree/master/docs/migrations/">Click to read the upgrade guide</a>.
+
<div class="mx-6">
+
These services may not be fully accessible until upgraded.
+
<a class="underline text-red-800 dark:text-red-200"
+
href="https://tangled.sh/@tangled.sh/core/tree/master/docs/migrations/">
+
Click to read the upgrade guide</a>.
+
</div>
+
</details>
</div>
{{ end }}
+8 -9
appview/pages/templates/layouts/base.html
···
<body class="min-h-screen grid grid-cols-1 grid-rows-[min-content_auto_min-content] md:grid-cols-12 gap-4 bg-slate-100 dark:bg-gray-900 dark:text-white transition-colors duration-200">
{{ block "topbarLayout" . }}
<header class="px-1 col-span-1 md:col-start-3 md:col-span-8" style="z-index: 20;">
+
+
{{ if .LoggedInUser }}
+
<div id="upgrade-banner"
+
hx-get="/upgradeBanner"
+
hx-trigger="load"
+
hx-swap="innerHTML">
+
</div>
+
{{ end }}
{{ template "layouts/fragments/topbar" . }}
</header>
{{ end }}
···
<footer class="px-1 col-span-1 md:col-start-3 md:col-span-8 mt-12">
{{ template "layouts/fragments/footer" . }}
</footer>
-
{{ end }}
-
-
{{ if .LoggedInUser }}
-
<div id="upgrade-banner"
-
class="z-50 fixed bottom-0 left-0 right-0 w-full flex justify-center bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200 border border-yellow-200 dark:border-yellow-800 rounded-b drop-shadow-sm"
-
hx-get="/banner"
-
hx-trigger="load"
-
hx-swap="innerHTML">
-
</div>
{{ end }}
</body>
</html>
+6 -1
appview/pages/templates/spindles/fragments/spindleListing.html
···
{{ define "spindleRightSide" }}
<div id="right-side" class="flex gap-2">
{{ $style := "px-2 py-1 rounded flex items-center flex-shrink-0 gap-2 text-sm" }}
-
{{ if .Verified }}
+
+
{{ if .NeedsUpgrade }}
+
<span class="bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200 {{$style}}"> {{ i "shield-alert" "w-4 h-4" }} needs upgrade </span>
+
{{ block "spindleRetryButton" . }} {{ end }}
+
{{ else if .Verified }}
<span class="bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200 {{$style}}">{{ i "shield-check" "w-4 h-4" }} verified</span>
{{ template "spindles/fragments/addMemberModal" . }}
{{ else }}
<span class="bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200 {{$style}}">{{ i "shield-off" "w-4 h-4" }} unverified</span>
{{ block "spindleRetryButton" . }} {{ end }}
{{ end }}
+
{{ block "spindleDeleteButton" . }} {{ end }}
</div>
{{ end }}
+3 -5
appview/state/state.go
···
db.FilterEq("needs_upgrade", 1),
)
if err != nil {
-
l.Error("non-fatal: failed to get registrations")
-
return
+
l.Error("non-fatal: failed to get registrations", "err", err)
}
spindles, err := db.GetSpindles(
s.db,
-
db.FilterEq("did", user.Did),
+
db.FilterEq("owner", user.Did),
db.FilterEq("needs_upgrade", 1),
)
if err != nil {
-
l.Error("non-fatal: failed to get spindles")
-
return
+
l.Error("non-fatal: failed to get spindles", "err", err)
}
if regs == nil && spindles == nil {