Styled the admin section of categories.

This commit is contained in:
Leon Mika 2026-03-21 12:01:24 +11:00
parent 740cf8979a
commit f45bdcd83c
8 changed files with 78 additions and 56 deletions

View file

@ -1,6 +1,6 @@
<main class="container">
<div class="my-4">
<h4>{{ if .isNew }}New Category{{ else }}Edit Category{{ end }}</h4>
<h5>{{ if .isNew }}New Category{{ else }}Edit Category{{ end }}</h5>
</div>
{{ if .isNew }}
@ -10,27 +10,27 @@
{{ end }}
<input type="hidden" name="guid" value="{{ .category.GUID }}">
<div class="row mb-3">
<label for="catName" class="col-sm-2 col-form-label">Name</label>
<label for="catName" class="col-sm-3 col-form-label text-end">Name</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="catName" name="name" value="{{ .category.Name }}">
</div>
</div>
<div class="row mb-3">
<label for="catSlug" class="col-sm-2 col-form-label">Slug</label>
<label for="catSlug" class="col-sm-3 col-form-label text-end">Slug</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="catSlug" name="slug" value="{{ .category.Slug }}">
<div class="form-text">Auto-generated from name if left blank.</div>
</div>
</div>
<div class="row mb-3">
<label for="catDesc" class="col-sm-2 col-form-label">Description</label>
<label for="catDesc" class="col-sm-3 col-form-label text-end">Description</label>
<div class="col-sm-9">
<textarea class="form-control" id="catDesc" name="description" rows="5">{{ .category.Description }}</textarea>
<div class="form-text">Markdown supported. Displayed on the category archive page.</div>
</div>
</div>
<div class="row mb-3">
<div class="col-sm-2"></div>
<div class="col-sm-3"></div>
<div class="col-sm-9">
<button type="submit" class="btn btn-primary">{{ if .isNew }}Create{{ else }}Save{{ end }}</button>
{{ if not .isNew }}

View file

@ -1,35 +1,30 @@
<main class="container">
<div class="my-4 d-flex justify-content-between align-items-baseline">
<h4>Categories</h4>
<div>
<a href="/sites/{{ .site.ID }}/categories/new" class="btn btn-success">New Category</a>
</div>
</div>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Slug</th>
<th>Posts</th>
<th></th>
</tr>
</thead>
<tbody>
{{ range .categories }}
{{ range .categories }}
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Slug</th>
<th>Posts</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/sites/{{ $.site.ID }}/categories/{{ .ID }}">{{ .Name }}</a></td>
<td><code>{{ .Slug }}</code></td>
<td>{{ .PostCount }}</td>
<td>
<a href="/sites/{{ $.site.ID }}/categories/{{ .ID }}" class="btn btn-outline-secondary btn-sm">Edit</a>
</td>
</tr>
{{ else }}
<tr>
<td colspan="4" class="text-center text-muted py-4">No categories yet.</td>
</tr>
{{ end }}
</tbody>
</table>
</tbody>
</table>
{{ else }}
<div class="h4 m-3 text-center">
<div class="position-absolute top-50 start-50 translate-middle">📚<br>No categories yet.</div>
</div>
{{ end }}
</main>

View file

@ -7,7 +7,7 @@
<link rel="stylesheet" href="/static/assets/main.css">
<script src="/static/assets/main.js" type="module"></script>
</head>
<body class="min-vh-100 d-flex flex-column">
<body class="d-flex flex-column {{.bodyClass}}">
{{ template "_common/nav" . }}
{{ embed }}

View file

@ -1,6 +1,6 @@
{{ $isPublished := ne .post.State 1 }}
<main class="flex-grow-1 position-relative">
<form action="/sites/{{.site.ID}}/posts" method="post" class="container-fluid post-form p-2"
<form action="/sites/{{.site.ID}}/posts" method="post" class="container-fluid post-form py-2"
data-controller="postedit"
data-action="keydown.meta+s->postedit#save keydown.meta+enter->postedit#publish"
data-postedit-save-action-value="{{ if $isPublished }}Update{{ else }}Save Draft{{ end }}">
@ -10,9 +10,7 @@
<div class="mb-2">
<input type="text" name="title" class="form-control" placeholder="Title" value="{{ .post.Title }}">
</div>
<div>
<textarea data-postedit-target="bodyTextEdit" name="body" class="form-control" rows="3">{{.post.Body}}</textarea>
</div>
<textarea data-postedit-target="bodyTextEdit" name="body" class="form-control flex-grow-1" rows="3">{{.post.Body}}</textarea>
<div>
{{ if $isPublished }}
<input type="submit" name="action" class="btn btn-primary mt-2" value="Update">

View file

@ -28,12 +28,9 @@
<div class="mb-3 d-flex align-items-center flex-wrap gap-1">
{{ if eq $p.State 1 }}
<span class="text-muted">{{ $.user.FormatTime $p.UpdatedAt }}</span> <span class="ms-3 badge text-primary-emphasis bg-primary-subtle border border-primary-subtle">Draft</span>
<span class="text-muted post-date">{{ $.user.FormatTime $p.UpdatedAt }}</span> <span class="ms-3 badge text-primary-emphasis bg-primary-subtle border border-primary-subtle">Draft</span>
{{ else }}
<span class="text-muted">{{ $.user.FormatTime $p.PublishedAt }}</span>
{{ end }}
{{ range $p.Categories }}
<span class="ms-1 badge bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle">{{ .Name }}</span>
<span class="text-muted post-date">{{ $.user.FormatTime $p.PublishedAt }}</span>
{{ end }}
</div>