Apply the new design-system primitives across the remaining pages so the whole app shares one visual language: - Auth/entry: redesigned index, login, register (centered card layout, SVG icons, semantic tokens) - Admin: sidebar nav with icons, cohesive admin dashboard/users/library/ processing-issues/settings (tables use border-line + hover states; scan/websocket attributes preserved) - Secondary: analytics (stat cards), devices, progress, conflicts, queue, profile + form/modal all migrated to .card/.btn/.input primitives and SVG action icons - Docs + API explorer + setup wizard + collection/rules/modals + unlinked books + book-detail modals: consistent chrome, modal scrims use --surface-overlay, close buttons use icon-btn - reader.templ and error.templ intentionally left unchanged
26 lines
578 B
Templ
26 lines
578 B
Templ
package templates
|
|
|
|
// FilterItem renders a single saved filter item for the list
|
|
templ FilterItem(id string, name string) {
|
|
<div
|
|
class="flex items-center justify-between p-2 rounded bg-surface hover:bg-surface-hover"
|
|
data-filter-id={ id }
|
|
>
|
|
<button
|
|
data-action="load-filter"
|
|
@click="loadFilter($event)"
|
|
class="flex-1 text-left px-2 py-1 rounded text-content"
|
|
>
|
|
{ name }
|
|
</button>
|
|
<button
|
|
data-action="delete-filter"
|
|
@click="deleteFilter($event)"
|
|
class="icon-btn"
|
|
title="Delete filter"
|
|
>
|
|
@Icon("trash", "h-4 w-4")
|
|
</button>
|
|
</div>
|
|
}
|