From 4dc3bf2cab6ac59291b5f78df5bf7c2d020e2c1f Mon Sep 17 00:00:00 2001 From: Joshua Herring Date: Thu, 28 May 2026 14:22:31 -0400 Subject: [PATCH] add dashboard display --- main.go | 15 +++++ pages/dashboard.go | 135 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 pages/dashboard.go diff --git a/main.go b/main.go index e7c8079..581460d 100644 --- a/main.go +++ b/main.go @@ -60,6 +60,21 @@ func handleLoginPost(w http.ResponseWriter, r *http.Request) { return } + if user.Status == "admin" { + items, err := dbi.GetReportedItems(conn) + if err != nil { + fail() + return + } + html, err := pages.DashboardPage(items) + if err != nil { + fail() + return + } + writeHTML(w, html) + return + } + token, err := dbi.GenJWT(user) if err != nil { fail() diff --git a/pages/dashboard.go b/pages/dashboard.go new file mode 100644 index 0000000..834ad24 --- /dev/null +++ b/pages/dashboard.go @@ -0,0 +1,135 @@ +package pages + +import ( + "bytes" + "html/template" + + "faculty_media_report/dbi" +) + +var dashboardTmpl = template.Must(template.New("dashboard").Parse(` + + + + + Dashboard — Maurer School of Law + + + +
+ Skip to main content + +
+ +
+

Activity Report Dashboard

+ {{if .}} +
+ +
+
+ + + + + + + + + + + + + {{range .}} + + + + + + + + + {{end}} + +
Date SubmittedNameTitleDescriptionHyperlinkType
{{.Created}}{{.LastName}}, {{.FirstName}}{{.Title}}{{.Description}}{{if .Hyperlink}}Link{{end}}{{.ItemType}}
+
+ {{else}} +

No reported items.

+ {{end}} +
+ + +`)) + +func DashboardPage(items []dbi.DashboardItem) (string, error) { + var buf bytes.Buffer + if err := dashboardTmpl.Execute(&buf, items); err != nil { + return "", err + } + return buf.String(), nil +}