diff --git a/internal/web/line.go b/internal/web/line.go new file mode 100644 index 0000000..8e33c64 --- /dev/null +++ b/internal/web/line.go @@ -0,0 +1,34 @@ +package web + +import ( + "html/template" + "net/http" + + "github.com/aceberg/WatchYourLAN/internal/check" + "github.com/aceberg/WatchYourLAN/internal/models" +) + +func lineHandler(w http.ResponseWriter, r *http.Request) { + var guiData models.GuiData + + guiData.Config = AppConfig + guiData.Hosts = []models.Host{} + guiData.Icon = Icon + + state := r.URL.Query().Get("state") + + for _, oneHost := range AllHosts { + if state == "off" && oneHost.Now == 0 { + guiData.Hosts = append(guiData.Hosts, oneHost) + } + if state == "on" && oneHost.Now == 1 { + guiData.Hosts = append(guiData.Hosts, oneHost) + } + } + + tmpl, _ := template.ParseFS(TemplHTML, TemplPath+"line.html", TemplPath+"header.html", TemplPath+"footer.html") + err := tmpl.ExecuteTemplate(w, "header", guiData) + check.IfError(err) + err = tmpl.ExecuteTemplate(w, "line", guiData) + check.IfError(err) +} diff --git a/internal/web/on-off-line.go b/internal/web/on-off-line.go deleted file mode 100644 index 93d6674..0000000 --- a/internal/web/on-off-line.go +++ /dev/null @@ -1,49 +0,0 @@ -package web - -import ( - "html/template" - "net/http" - - "github.com/aceberg/WatchYourLAN/internal/check" - "github.com/aceberg/WatchYourLAN/internal/models" -) - -func offlineHandler(w http.ResponseWriter, r *http.Request) { - var guiData models.GuiData - - guiData.Config = AppConfig - guiData.Hosts = []models.Host{} - guiData.Icon = Icon - - for _, oneHost := range AllHosts { - if oneHost.Now == 0 { - guiData.Hosts = append(guiData.Hosts, oneHost) - } - } - - tmpl, _ := template.ParseFS(TemplHTML, TemplPath+"offline.html", TemplPath+"header.html", TemplPath+"footer.html") - err := tmpl.ExecuteTemplate(w, "header", guiData) - check.IfError(err) - err = tmpl.ExecuteTemplate(w, "offline", guiData) - check.IfError(err) -} - -func onlineHandler(w http.ResponseWriter, r *http.Request) { - var guiData models.GuiData - - guiData.Config = AppConfig - guiData.Hosts = []models.Host{} - guiData.Icon = Icon - - for _, oneHost := range AllHosts { - if oneHost.Now == 1 { - guiData.Hosts = append(guiData.Hosts, oneHost) - } - } - - tmpl, _ := template.ParseFS(TemplHTML, TemplPath+"offline.html", TemplPath+"header.html", TemplPath+"footer.html") - err := tmpl.ExecuteTemplate(w, "header", guiData) - check.IfError(err) - err = tmpl.ExecuteTemplate(w, "offline", guiData) - check.IfError(err) -} diff --git a/internal/web/templates/header.html b/internal/web/templates/header.html index 2f67d63..07fadb4 100644 --- a/internal/web/templates/header.html +++ b/internal/web/templates/header.html @@ -18,10 +18,10 @@ Home