Refactor everything that's used all over into a common/ package and sync files from static/ into public/ so that public's not in the git.
parent
d12817f4cc
commit
ec7298cce0
@ -1,10 +1,10 @@ |
||||
package api |
||||
package common |
||||
|
||||
import ( |
||||
"log" |
||||
"github.com/gofiber/fiber/v2" |
||||
"github.com/go-playground/validator/v10" |
||||
) |
||||
) |
||||
|
||||
type Failure struct { |
||||
Message string `json:"message"` |
@ -1,4 +1,4 @@ |
||||
package zed |
||||
package common |
||||
|
||||
import ( |
||||
"log" |
@ -1,63 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="utf-8" /> |
||||
<link rel="stylesheet" href="/global.css"> |
||||
<link rel="stylesheet" href="/color.css"> |
||||
<link rel="stylesheet" href="/blockstart.css"> |
||||
<script defer src="/js/alpine.js"></script> |
||||
<script src="/js/code.js"></script> |
||||
<title>ZedShaw.games</title> |
||||
</head> |
||||
<body data-testid="admin-table-index-page"> |
||||
<header> |
||||
<blockstart style="background-color: var(--value0)"> |
||||
<block style="--value: 0; --text: 9" class="horizontal"> |
||||
<a id="home" href="/">🏡</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> |
||||
</block> |
||||
</blockstart> |
||||
</header> |
||||
|
||||
<script> |
||||
let Rows = new GetJson("/api/admin/table/") |
||||
console.log("Rows", Rows) |
||||
</script> |
||||
|
||||
<blockstart> |
||||
<h1>Admin Rows</h1> |
||||
|
||||
<block x-data="Rows"> |
||||
<ul> |
||||
<template x-for="item in theData"> |
||||
<li><a x-bind:href="'/admin/table/' + item + '/'"> |
||||
<span x-text="item"></span> |
||||
</a></li> |
||||
</template> |
||||
</ul> |
||||
</block> |
||||
|
||||
</blockstart> |
||||
|
||||
|
||||
<footer> |
||||
<blockstart style="--value: 0; --text: 9"> |
||||
<block class="horizontal"> |
||||
<shape style="--w: 200px; --h: 250px">Zed Pic</shape> |
||||
<div> |
||||
<h3>About Me</h3> |
||||
<p>Blah blah about me.</p> |
||||
</div> |
||||
<div> |
||||
<h3>Other Projects</h3> |
||||
<p>Some other links to stuff.</p> |
||||
</div> |
||||
</block> |
||||
</blockstart> |
||||
</footer> |
||||
</body> |
||||
</html> |
@ -1,3 +0,0 @@ |
||||
{"title": "Turing's Tarpit", |
||||
"description": "The description.", |
||||
"url": "/game/1/turings-tarpit/"} |
@ -1,6 +0,0 @@ |
||||
[ |
||||
{"title": "Turing's Tarpit", "url": "/game/1/turings-tarpit/"}, |
||||
{"title": "Roguish", "url": "/game/1/turings-tarpit/"}, |
||||
{"title": "Raycaster", "url": "/game/1/turings-tarpit/"}, |
||||
{"title": "Clicker Loves You", "url": "/game/1/turings-tarpit/"} |
||||
] |
@ -1,18 +0,0 @@ |
||||
{ |
||||
"title": "Stream #34: C++ Game Dev|Retro Raycaster|No Brainrot Stream", |
||||
"description": "Some kind of stream.", |
||||
"links": [ |
||||
{"description": "A funky website", |
||||
"url": "https://test.com" |
||||
}, |
||||
{"description": "A funky website", |
||||
"url": "https://test.com" |
||||
}, |
||||
{"description": "A funky website", |
||||
"url": "https://test.com" |
||||
}, |
||||
{"description": "A funky website", |
||||
"url": "https://test.com" |
||||
} |
||||
] |
||||
} |
@ -1,22 +0,0 @@ |
||||
{ |
||||
"title": "Stream #34: C++ Game Dev|Retro Raycaster|No Brainrot Stream", |
||||
"streamed_on": "10/10/2025", |
||||
"description": "Some kind of stream.", |
||||
"links": [ |
||||
{"description": "A funky website", |
||||
"url": "https://test.com" |
||||
}, |
||||
{"description": "A funky website", |
||||
"url": "https://test.com" |
||||
}, |
||||
{"description": "A funky website", |
||||
"url": "https://test.com" |
||||
}, |
||||
{"description": "A funky website", |
||||
"url": "https://test.com" |
||||
}, |
||||
{"description": "A funky website", |
||||
"url": "https://test.com" |
||||
} |
||||
] |
||||
} |
@ -1,58 +0,0 @@ |
||||
[ |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
}, |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
}, |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
}, |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
}, |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
}, |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
}, |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
}, |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
}, |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
}, |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
}, |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
}, |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
}, |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
}, |
||||
{ "date": "12/10/2025", |
||||
"description": "A great stream.", |
||||
"url": "/stream/1/" |
||||
} |
||||
] |
@ -1,47 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="utf-8" /> |
||||
<link rel="stylesheet" href="/global.css"> |
||||
<link rel="stylesheet" href="/color.css"> |
||||
<link rel="stylesheet" href="/blockstart.css"> |
||||
<script defer src="/js/alpine.js"></script> |
||||
<script src="/js/code.js"></script> |
||||
<title>ZedShaw.games</title> |
||||
</head> |
||||
<body data-testid="base-page"> |
||||
<header> |
||||
<blockstart style="background-color: var(--value0)"> |
||||
<block style="--value: 0; --text: 9" class="horizontal"> |
||||
<a id="home" href="/">🏡</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> |
||||
</block> |
||||
</blockstart> |
||||
</header> |
||||
|
||||
<blockstart> |
||||
|
||||
</blockstart> |
||||
|
||||
|
||||
<footer> |
||||
<blockstart style="--value: 0; --text: 9"> |
||||
<block class="horizontal"> |
||||
<shape style="--w: 200px; --h: 250px">Zed Pic</shape> |
||||
<div> |
||||
<h3>About Me</h3> |
||||
<p>Blah blah about me.</p> |
||||
</div> |
||||
<div> |
||||
<h3>Other Projects</h3> |
||||
<p>Some other links to stuff.</p> |
||||
</div> |
||||
</block> |
||||
</blockstart> |
||||
</footer> |
||||
</body> |
||||
</html> |
@ -1,48 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="utf-8" /> |
||||
<link rel="stylesheet" href="/global.css"> |
||||
<link rel="stylesheet" href="/color.css"> |
||||
<link rel="stylesheet" href="/blockstart.css"> |
||||
<script defer src="/js/alpine.js"></script> |
||||
<script src="/js/code.js"></script> |
||||
<title>ZedShaw.games</title> |
||||
</head> |
||||
<body data-testid="error-index-page"> |
||||
<header> |
||||
<blockstart style="background-color: var(--value0)"> |
||||
<block style="--value: 0; --text: 9" class="horizontal"> |
||||
<a id="home" href="/">🏡</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> |
||||
</block> |
||||
</blockstart> |
||||
</header> |
||||
|
||||
<blockstart> |
||||
<h1>ERROR</h1> |
||||
<p>You have an error.</p> |
||||
</blockstart> |
||||
|
||||
|
||||
<footer> |
||||
<blockstart style="--value: 0; --text: 9"> |
||||
<block class="horizontal"> |
||||
<shape style="--w: 200px; --h: 250px">Zed Pic</shape> |
||||
<div> |
||||
<h3>About Me</h3> |
||||
<p>Blah blah about me.</p> |
||||
</div> |
||||
<div> |
||||
<h3>Other Projects</h3> |
||||
<p>Some other links to stuff.</p> |
||||
</div> |
||||
</block> |
||||
</blockstart> |
||||
</footer> |
||||
</body> |
||||
</html> |
@ -1,83 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="utf-8" /> |
||||
<link rel="stylesheet" href="/global.css"> |
||||
<link rel="stylesheet" href="/color.css"> |
||||
<link rel="stylesheet" href="/blockstart.css"> |
||||
<script defer src="/js/alpine.js"></script> |
||||
<script src="/js/code.js"></script> |
||||
<title>ZedShaw.games</title> |
||||
</head> |
||||
<body data-testid="game-1-turings-tarpit-index-page"> |
||||
<header> |
||||
<blockstart style="background-color: var(--value0)"> |
||||
<block style="--value: 0; --text: 9" class="horizontal"> |
||||
<a href="/">🏡</a> |
||||
<a href="/live/">Live</a> |
||||
<a href="/stream/">Streams</a> |
||||
<a href="/game/">Games</a> |
||||
<a href="/register/">Register</a> |
||||
<a href="/login/">Login</a> |
||||
</block> |
||||
</blockstart> |
||||
</header> |
||||
|
||||
<script> |
||||
let req = new GetJson("/api/game/1/index.json"); |
||||
</script> |
||||
|
||||
<blockstart> |
||||
<shape style="--w: 100%; --h: 300px">Gameplay Demo Video</shape> |
||||
|
||||
<block style="--value: 7"> |
||||
<h1 x-text="Game.title">Title</h1> |
||||
|
||||
<block class="horizontal"> |
||||
<shape style="--w: 200px; --h: 200px;">Some Image</shape> |
||||
|
||||
<p x-text="Game.description">Description</p> |
||||
</block> |
||||
</block> |
||||
|
||||
|
||||
<block> |
||||
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p> |
||||
</block> |
||||
|
||||
<block style="--value: 7;"> |
||||
<h2>Current Status</h2> |
||||
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p> |
||||
</block> |
||||
|
||||
<block> |
||||
<h2>Planned Work</h2> |
||||
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p> |
||||
</block> |
||||
|
||||
<block style="--value: 2; --text: 9"> |
||||
<h2>Read The Code</h2> |
||||
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p> |
||||
<button><a href="https://git.learnjsthehardway.com/learn-code-the-hard-way/turings-tarpit">View the Git</a></button> |
||||
</block> |
||||
|
||||
</blockstart> |
||||
|
||||
|
||||
<footer> |
||||
<blockstart style="--value: 0; --text: 9"> |
||||
<block class="horizontal"> |
||||
<shape style="--w: 200px; --h: 250px">Zed Pic</shape> |
||||
<div> |
||||
<h3>About Me</h3> |
||||
<p>Blah blah about me.</p> |
||||
</div> |
||||
<div> |
||||
<h3>Other Projects</h3> |
||||
<p>Some other links to stuff.</p> |
||||
</div> |
||||
</block> |
||||
</blockstart> |
||||
</footer> |
||||
</body> |
||||
</html> |
@ -1,74 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="utf-8" /> |
||||
<link rel="stylesheet" href="/global.css"> |
||||
<link rel="stylesheet" href="/color.css"> |
||||
<link rel="stylesheet" href="/blockstart.css"> |
||||
<script defer src="/js/alpine.js"></script> |
||||
<script src="/js/code.js"></script> |
||||
<title>ZedShaw.games</title> |
||||
</head> |
||||
<body data-testid="game-index-page"> |
||||
<header> |
||||
<blockstart style="background-color: var(--value0)"> |
||||
<block style="--value: 0; --text: 9" class="horizontal"> |
||||
<a id="home" href="/">🏡</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> |
||||
</block> |
||||
</blockstart> |
||||
</header> |
||||
|
||||
<script> |
||||
let Games = new GetJson("/api/game/index.json"); |
||||
</script> |
||||
<blockstart> |
||||
<block style="--w: 100%; --value: 7"> |
||||
<h1 id="page-title">Zed's Trash Ass Games</h1> |
||||
|
||||
<p>More fun than a barrel full of monkeys with syphilus. |
||||
</p> |
||||
</block> |
||||
|
||||
<hr/> |
||||
<grid x-data="Games" style="--cols: 2"> |
||||
<template x-for="item in theData"> |
||||
<shape style="--h: 200px"><a data-testid="game-link" x-text="item.title" x-bind:href="item.url"></a></shape> |
||||
</template> |
||||
</grid> |
||||
|
||||
<block> |
||||
<h2>Planned Work</h2> |
||||
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p> |
||||
</block> |
||||
|
||||
<block style="--value: 2; --text: 9"> |
||||
<h2>Read The Code</h2> |
||||
<p>Polaroid retro pork belly yes plz bitters, viral chicharrones typewriter chartreuse vice Brooklyn. Adaptogen pour-over vibecession viral. Tote bag tonx DIY microdosing. Pickled selvage bespoke small batch, blue bottle twee tacos jean shorts before they sold out chicharrones solarpunk. Hoodie taiyaki poutine jianbing chambray.</p> |
||||
<button><a href="https://git.learnjsthehardway.com/learn-code-the-hard-way/turings-tarpit">View the Git</a></button> |
||||
</block> |
||||
|
||||
</blockstart> |
||||
|
||||
|
||||
<footer> |
||||
<blockstart style="--value: 0; --text: 9"> |
||||
<block class="horizontal"> |
||||
<shape style="--w: 200px; --h: 250px">Zed Pic</shape> |
||||
<div> |
||||
<h3>About Me</h3> |
||||
<p>Blah blah about me.</p> |
||||
</div> |
||||
<div> |
||||
<h3>Other Projects</h3> |
||||
<p>Some other links to stuff.</p> |
||||
</div> |
||||
</block> |
||||
</blockstart> |
||||
</footer> |
||||
</body> |
||||
</html> |
@ -1,81 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="utf-8" /> |
||||
<link rel="stylesheet" href="/global.css"> |
||||
<link rel="stylesheet" href="/color.css"> |
||||
<link rel="stylesheet" href="/blockstart.css"> |
||||
<script defer src="/js/alpine.js"></script> |
||||
<script src="/js/code.js"></script> |
||||
<title>ZedShaw.games</title> |
||||
</head> |
||||
<body data-testid="live-index-page"> |
||||
<header> |
||||
<blockstart style="background-color: var(--value0)"> |
||||
<block style="--value: 0; --text: 9" class="horizontal"> |
||||
<a id="home" href="/">🏡</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> |
||||
</block> |
||||
</blockstart> |
||||
</header> |
||||
|
||||
<script> |
||||
let req = new GetJson("/api/stream/1"); |
||||
let link_req = new GetJson("/api/stream/1/links"); |
||||
</script> |
||||
|
||||
<div x-init="Stream = await req.theData()" x-data="{Stream: {}}"> |
||||
<blockstart> |
||||
|
||||
<shape style="--w: 100%; --h: 350px"> |
||||
Stream Viewer |
||||
</shape> |
||||
|
||||
<block> |
||||
<h2>Links Found in Chat</h2> |
||||
<ul x-init="links = await link_req.theData()" x-data="{links: {}}"> |
||||
<template x-for="item in links"> |
||||
<li><a x-text="item.description" x-bind:href="item.url"></a></li> |
||||
</template> |
||||
</ul> |
||||
</block> |
||||
|
||||
<form action="/api/link" method="POST"> |
||||
<card> |
||||
<top>Submit a Link</top> |
||||
<middle> |
||||
<input id="stream_id" name="stream_id" type="hidden" value="1"> |
||||
<input id="url" name="url" type="text" placeholder="Link Url"> |
||||
<input id="description" name="description" type="text" placeholder="Description"> |
||||
</middle> |
||||
</card> |
||||
<buttons> |
||||
<button id="submit" type="submit">Send It</button> |
||||
</buttons> |
||||
</form> |
||||
|
||||
</blockstart> |
||||
</div> |
||||
|
||||
|
||||
<footer> |
||||
<blockstart style="--value: 0; --text: 9"> |
||||
<block class="horizontal"> |
||||
<shape style="--w: 200px; --h: 250px">Zed Pic</shape> |
||||
<div> |
||||
<h3>About Me</h3> |
||||
<p>Blah blah about me.</p> |
||||
</div> |
||||
<div> |
||||
<h3>Other Projects</h3> |
||||
<p>Some other links to stuff.</p> |
||||
</div> |
||||
</block> |
||||
</blockstart> |
||||
</footer> |
||||
</body> |
||||
</html> |
@ -1,67 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="utf-8" /> |
||||
<link rel="stylesheet" href="/global.css"> |
||||
<link rel="stylesheet" href="/color.css"> |
||||
<link rel="stylesheet" href="/blockstart.css"> |
||||
<script defer src="/js/alpine.js"></script> |
||||
<script src="/js/code.js"></script> |
||||
<title>ZedShaw.games</title> |
||||
</head> |
||||
<body data-testid="login-index-page"> |
||||
<header> |
||||
<blockstart style="background-color: var(--value0)"> |
||||
<block style="--value: 0; --text: 9" class="horizontal"> |
||||
<a id="home" href="/">🏡</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> |
||||
</block> |
||||
</blockstart> |
||||
</header> |
||||
|
||||
<blockstart style="min-height: 90vw"> |
||||
<h1>Login</h1> |
||||
<block class="center-self" style="--w: 500px; --h: 500px;"> |
||||
<form action="/api/login" method="POST"> |
||||
<card> |
||||
<top><h2 style="color: white">Login</h2></top> |
||||
<middle> |
||||
<label for="username">Username</label> |
||||
<input id="username" name="username" placeholder="Username" type="text"> |
||||
<label for="password">Password</label> |
||||
<input id="password" name="password" placeholder="Password" type="password"> |
||||
</middle> |
||||
<bottom> |
||||
<button-group> |
||||
<button type="button">Cancel</button> |
||||
<button id="login-submit" type="submit">Login</button> |
||||
</button-group> |
||||
</bottom> |
||||
</card> |
||||
</form> |
||||
<div class="center"><a href="/register/">Need an account? Click to Register.</a></div> |
||||
</block> |
||||
</blockstart> |
||||
|
||||
|
||||
<footer> |
||||
<blockstart style="--value: 0; --text: 9"> |
||||
<block class="horizontal"> |
||||
<shape style="--w: 200px; --h: 250px">Zed Pic</shape> |
||||
<div> |
||||
<h3>About Me</h3> |
||||
<p>Blah blah about me.</p> |
||||
</div> |
||||
<div> |
||||
<h3>Other Projects</h3> |
||||
<p>Some other links to stuff.</p> |
||||
</div> |
||||
</block> |
||||
</blockstart> |
||||
</footer> |
||||
</body> |
||||
</html> |
@ -1,69 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="utf-8" /> |
||||
<link rel="stylesheet" href="/global.css"> |
||||
<link rel="stylesheet" href="/color.css"> |
||||
<link rel="stylesheet" href="/blockstart.css"> |
||||
<script defer src="/js/alpine.js"></script> |
||||
<script src="/js/code.js"></script> |
||||
<title>ZedShaw.games</title> |
||||
</head> |
||||
<body data-testid="register-index-page"> |
||||
<header> |
||||
<blockstart style="background-color: var(--value0)"> |
||||
<block style="--value: 0; --text: 9" class="horizontal"> |
||||
<a id="home" href="/">🏡</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> |
||||
</block> |
||||
</blockstart> |
||||
</header> |
||||
|
||||
<blockstart style="min-height: 90vw"> |
||||
<h1>Login</h1> |
||||
<block class="center-self" style="--w: 500px; --h: 500px;"> |
||||
<form action="/api/register" method="POST"> |
||||
<card> |
||||
<top><h2 style="color: white">Register</h2></top> |
||||
<middle> |
||||
<label for="username">Username</label> |
||||
<input id="username" name="username" placeholder="Username" type="text"> |
||||
<label for="email">FAKE! Email</label> |
||||
<input id="email" name="email" placeholder="fake@faker.com" type="text"> |
||||
<label for="password">Password</label> |
||||
<input id="password" name="password" placeholder="Password" type="password"> |
||||
</middle> |
||||
<bottom> |
||||
<button-group> |
||||
<button type="button">Cancel</button> |
||||
<button id="register-submit" type="submit">Register</button> |
||||
</button-group> |
||||
</bottom> |
||||
</card> |
||||
</form> |
||||
<div class="center"><a href="/login/">Have an account? Click to Login.</a></div> |
||||
</block> |
||||
</blockstart> |
||||
|
||||
|
||||
<footer> |
||||
<blockstart style="--value: 0; --text: 9"> |
||||
<block class="horizontal"> |
||||
<shape style="--w: 200px; --h: 250px">Zed Pic</shape> |
||||
<div> |
||||
<h3>About Me</h3> |
||||
<p>Blah blah about me.</p> |
||||
</div> |
||||
<div> |
||||
<h3>Other Projects</h3> |
||||
<p>Some other links to stuff.</p> |
||||
</div> |
||||
</block> |
||||
</blockstart> |
||||
</footer> |
||||
</body> |
||||
</html> |
@ -1,68 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="utf-8" /> |
||||
<link rel="stylesheet" href="/global.css"> |
||||
<link rel="stylesheet" href="/color.css"> |
||||
<link rel="stylesheet" href="/blockstart.css"> |
||||
<script defer src="/js/alpine.js"></script> |
||||
<script src="/js/code.js"></script> |
||||
<title>ZedShaw.games</title> |
||||
</head> |
||||
<body data-testid="stream-index-page"> |
||||
<header> |
||||
<blockstart style="background-color: var(--value0)"> |
||||
<block style="--value: 0; --text: 9" class="horizontal"> |
||||
<a id="home" href="/">🏡</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> |
||||
</block> |
||||
</blockstart> |
||||
</header> |
||||
|
||||
<script> |
||||
let Streams = new GetJson("/api/stream"); |
||||
console.log("Streams", Streams); |
||||
</script> |
||||
|
||||
<blockstart> |
||||
<block style="--value: 7"> |
||||
<h1 id="page-title">Past Streams</h1> |
||||
<p>This is where you can checkout information we dropped in a past stream. Did I post a link and you need to remember it? Did someone in chat mention something? Here's where you find it.</p> |
||||
</block> |
||||
|
||||
<block x-data="Streams"> |
||||
<template x-for="item in theData"> |
||||
<stream class="horizontal"> |
||||
<shape style="--w: 100px; --h: 100px">Stream Thumbnail</shape> |
||||
<info> |
||||
<date x-text="item.date"></date> |
||||
<p x-text="item.description"></p> |
||||
<a style="text-align: right" x-bind:href="'/stream/' + item.id + '/'">View This Stream</a> |
||||
</info> |
||||
</stream> |
||||
</template> |
||||
</block> |
||||
</blockstart> |
||||
|
||||
|
||||
<footer> |
||||
<blockstart style="--value: 0; --text: 9"> |
||||
<block class="horizontal"> |
||||
<shape style="--w: 200px; --h: 250px">Zed Pic</shape> |
||||
<div> |
||||
<h3>About Me</h3> |
||||
<p>Blah blah about me.</p> |
||||
</div> |
||||
<div> |
||||
<h3>Other Projects</h3> |
||||
<p>Some other links to stuff.</p> |
||||
</div> |
||||
</block> |
||||
</blockstart> |
||||
</footer> |
||||
</body> |
||||
</html> |
After Width: | Height: | Size: 2.7 KiB |
@ -0,0 +1,54 @@ |
||||
/* 1. Use a more-intuitive box-sizing model */ |
||||
*, *::before, *::after { |
||||
box-sizing: border-box; |
||||
} |
||||
|
||||
/* 2. Remove default margin */ |
||||
* { |
||||
margin: 0; |
||||
} |
||||
|
||||
/* 3. Enable keyword animations */ |
||||
@media (prefers-reduced-motion: no-preference) { |
||||
html { |
||||
interpolate-size: allow-keywords; |
||||
} |
||||
} |
||||
|
||||
body { |
||||
/* 4. Add accessible line-height */ |
||||
line-height: 1.5; |
||||
/* 5. Improve text rendering */ |
||||
-webkit-font-smoothing: antialiased; |
||||
} |
||||
|
||||
/* 6. Improve media defaults */ |
||||
img, picture, video, canvas, svg { |
||||
display: block; |
||||
max-width: 100%; |
||||
} |
||||
|
||||
/* 7. Inherit fonts for form controls */ |
||||
input, button, textarea, select { |
||||
font: inherit; |
||||
} |
||||
|
||||
/* 8. Avoid text overflows */ |
||||
p, h1, h2, h3, h4, h5, h6 { |
||||
overflow-wrap: break-word; |
||||
} |
||||
|
||||
/* 9. Improve line wrapping */ |
||||
p { |
||||
text-wrap: pretty; |
||||
} |
||||
h1, h2, h3, h4, h5, h6 { |
||||
text-wrap: balance; |
||||
} |
||||
|
||||
/* |
||||
10. Create a root stacking context |
||||
*/ |
||||
#root, #__next { |
||||
isolation: isolate; |
||||
} |
Loading…
Reference in new issue