Brought over most of the changes from go-web-starter-kit.

This commit is contained in:
Zed A. Shaw 2025-08-31 11:23:12 -04:00
parent 01fcb964be
commit 8d70b57299
11 changed files with 143 additions and 57 deletions

View file

@ -1,13 +1,12 @@
<script>
let Data = new GetJson("/api/admin/new/table/{{ .Table }}");
</script>
<h1><a href="/admin/table/{{ .Table }}/">&laquo;</a>Admin {{ .Table }}</h1>
<block x-data="Data">
<block x-data="{item: {}}"
x-init="item = await GetJson('/api/admin/new/table/{{ .Table }}')">
<form method="POST" action="/api/admin/new/table/{{ .Table }}">
<card>
<top><h2>New {{ .Table }}</h2></top>
<middle>
<template x-for="(value, key) in item">
<div>
@ -16,10 +15,11 @@
</div>
</template>
</middle>
<bottom>
<button type="button"><a href="/admin/table/{{ .Table }}/">Back</a></button>
<button class="hover:btn-alert" type="button">Clear</button>
<button class="hover:btn-hover" type="submit">Insert</button>
<button type="button"><a href="/admin/table/{{ .Table }}/">Back</a></button>
<button class="hover:btn-alert" type="button">Clear</button>
<button class="hover:btn-hover" type="submit">Insert</button>
</bottom>
</card>
</form>

View file

@ -1,10 +1,8 @@
<script>
let Data = new GetJson("/api/admin/table/{{ .Table }}/{{ .Id }}");
</script>
<h1><a href="/admin/table/{{ .Table }}/">&laquo;</a>Admin {{ .Table }}</h1>
<block x-data="Data">
<block x-data="{item: {}}"
x-init="item = await GetJson('/api/admin/table/{{ .Table }}/{{ .Id }}')">
<form method="POST" action="/api/admin/table/{{ .Table }}/{{ .Id }}">
<card>
<top><h1>{{ .Table }} : {{ .Id }}</h1></top>

View file

@ -8,30 +8,35 @@
<meta name="description" content="My Go learning project, which is a Twitch support thing." />
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="/style.css">
<!-- all alpine plugins come first to register into alpine:init event -->
<script defer src="/js/alpine-intersect.js"></script>
<!-- then alpine runs, triggers init, and tada you get no-build plugins -->
<script defer src="/js/alpine.js"></script>
<script src="/js/code.js"></script>
<title>ZedShaw.games</title>
</head>
<body data-testid="{{.PageId}}">
<header>
<a id="home" href="/">
<svg xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24">
<use href="/icons/home.svg#home"><use>
</svg>
</a>
<a id="live" href="/live/">Live</a>
<a id="stream" href="/stream/">Streams</a>
<a id="game" href="/game/">Games</a>
<a id="register" href="/register/">Register</a>
<a id="login" href="/login/">Login</a>
<body id="top" data-testid="{{.PageId}}">
<header class="p-4">
<nav>
<a id="home" href="/">
<svg xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24">
<use href="/icons/home.svg#home"><use>
</svg>
</a>
<a id="live" href="/live/">Live</a>
<a id="stream" href="/stream/">Streams</a>
<a id="game" href="/game/">Games</a>
<a id="register" href="/register/">Register</a>
<a id="login" href="/login/">Login</a>
</nav>
</header>
<div class="p-0 min-h-screen dark:bg-gray-900">
<main>
{{embed}}
</div>
</main>
<footer>
<div class="flex-1">