summaryrefslogtreecommitdiffstats
path: root/templates/admin/list.html
diff options
context:
space:
mode:
authorivar <i@oiee.no>2026-04-03 14:22:23 +0200
committerivar <i@oiee.no>2026-04-03 14:22:23 +0200
commit33310be68544d3381ac6e9899790f4a106e17e8f (patch)
tree385102a7216ffba17d054f11032dae4447371d52 /templates/admin/list.html
parenta8914a8f18c345e934bce93b37845a9dfe0ad73e (diff)
downloadnebbet.no-33310be68544d3381ac6e9899790f4a106e17e8f.tar.xz
nebbet.no-33310be68544d3381ac6e9899790f4a106e17e8f.zip
refactor: convert admin handlers to Gin context-based signatures
- Remove old ServeHTTP method (no longer needed with Gin routing) - Update all 6 handler methods to use *gin.Context instead of http.ResponseWriter, *http.Request - Convert handler signatures: handleList, handleNew, handleNewPost, handleEdit, handleDelete - Remove render() helper (use c.HTML() directly) - Update renderError() to accept gin.Context instead of http.ResponseWriter - Update postFromForm() to extract form data from gin.Context using c.PostForm() - Update main.go to use adminSrv.NewServer() and adminSrv.Engine() - All handlers now use Gin methods: c.HTML(), c.PostForm(), c.Param(), c.Redirect() - Path parameters now extracted via c.Param("slug") instead of function arguments - HTTP status codes and error handling fully migrated to Gin patterns Build verified: go build ./cmd/nebbet succeeds Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Diffstat (limited to 'templates/admin/list.html')
-rw-r--r--templates/admin/list.html40
1 files changed, 40 insertions, 0 deletions
diff --git a/templates/admin/list.html b/templates/admin/list.html
new file mode 100644
index 0000000..561e317
--- /dev/null
+++ b/templates/admin/list.html
@@ -0,0 +1,40 @@
+{{define "list-content"}}
+ <h1>Posts</h1>
+ {{if .Posts}}
+ <table>
+ <thead>
+ <tr>
+ <th>Title</th>
+ <th>Date</th>
+ <th>Tags</th>
+ <th></th>
+ </tr>
+ </thead>
+ <tbody>
+ {{range .Posts}}
+ <tr>
+ <td>{{.Title}}</td>
+ <td>{{.Date}}</td>
+ <td>
+ {{if .Tags}}
+ <div class="tags">
+ {{range (splitTags .Tags)}}<span class="tag">{{.}}</span>{{end}}
+ </div>
+ {{end}}
+ </td>
+ <td>
+ <div class="actions">
+ <a href="/admin/{{.Slug}}/edit" class="btn btn-secondary">Edit</a>
+ <form method="POST" action="/admin/{{.Slug}}/delete" onsubmit="return confirm('Delete {{.Title}}?')">
+ <button type="submit" class="btn btn-danger">Delete</button>
+ </form>
+ </div>
+ </td>
+ </tr>
+ {{end}}
+ </tbody>
+ </table>
+ {{else}}
+ <div class="empty">No posts yet. <a href="/admin/new">Create one.</a></div>
+ {{end}}
+{{end}}