diff --git a/internal/models/html.go b/internal/models/html.go index fc8d8681f..41aa1d633 100644 --- a/internal/models/html.go +++ b/internal/models/html.go @@ -3,7 +3,10 @@ package models // HTMLData is a list of HTML fields to be rendered. // It is exported so that the HTML template engine can render it. type HTMLData struct { - Rows []HTMLRow + Rows []HTMLRow + Version string + UpdateAvailable bool + LatestVersion string } // HTMLRow contains HTML fields to be rendered diff --git a/internal/provider/providers/porkbun/provider.go b/internal/provider/providers/porkbun/provider.go index 45d32534a..a2702fde4 100644 --- a/internal/provider/providers/porkbun/provider.go +++ b/internal/provider/providers/porkbun/provider.go @@ -103,7 +103,7 @@ func (p *Provider) HTML() models.HTMLRow { return models.HTMLRow{ Domain: fmt.Sprintf("%s", p.BuildDomainName(), p.BuildDomainName()), Owner: p.Owner(), - Provider: "Porkbun DNS", + Provider: "Porkbun", IPVersion: p.ipVersion.String(), } } diff --git a/internal/server/index.go b/internal/server/index.go index 090721572..ca3c09a1f 100644 --- a/internal/server/index.go +++ b/internal/server/index.go @@ -12,7 +12,20 @@ func (h *handlers) index(w http.ResponseWriter, _ *http.Request) { row := record.HTML(h.timeNow()) htmlData.Rows = append(htmlData.Rows, row) } - err := h.indexTemplate.ExecuteTemplate(w, "index.html", htmlData) + + currentVersion := getCurrentVersion() + latestVersion, err := getLatestRelease() + if err != nil { + httpError(w, http.StatusInternalServerError, "failed getting latest release: "+err.Error()) + return + } + htmlData.Version = currentVersion + if currentVersion != latestVersion { + htmlData.UpdateAvailable = true + htmlData.LatestVersion = latestVersion + } + + err = h.indexTemplate.ExecuteTemplate(w, "index.html", htmlData) if err != nil { httpError(w, http.StatusInternalServerError, "failed generating webpage: "+err.Error()) } diff --git a/internal/server/ui/index.html b/internal/server/ui/index.html index 92c88fbfb..ccde52d7d 100644 --- a/internal/server/ui/index.html +++ b/internal/server/ui/index.html @@ -48,6 +48,8 @@ +