go-full-stack/view/user/signin.templ
2024-12-09 18:04:39 -05:00

71 lines
2.6 KiB
Plaintext

package user
import (
"git.markbailey.dev/cerbervs/ptpp/view/layout"
"git.markbailey.dev/cerbervs/ptpp/app/controller"
)
templ SignIn(err string, context controller.IControllerCtx) {
@layout.Layout() {
<section class="bg-gray-50 dark:bg-gray-900" id="section">
<div class="flex flex-col items-center justify-center px-6 py-8 mx-auto md:h-screen lg:py-0">
<div
class="w-full bg-white rounded-lg shadow dark:border md:mt-0 sm:max-w-md xl:p-0 dark:bg-gray-800 dark:border-gray-700"
>
<div class="p-6 space-y-4 md:space-y-6 sm:p-8">
<h1 class="text-xl font-bold leading-tight tracking-tight text-gray-900 md:text-2xl dark:text-white">
Create an account
</h1>
<form
class="space-y-4 md:space-y-6"
hx-post={ context.GetRouteByName("app.user.sign_in") }
hx-swap="outerHTML"
hx-target="#section"
>
<div>
<label
for="username"
class="block mb-2 text-sm font-medium text-gray-900 dark:text-white"
>Username</label>
<input
type="text"
name="username"
id="username"
placeholder="Username"
class="bg-gray-50 border border-gray-300 text-gray-900 sm:text-sm rounded-lg focus:ring-primary-600 focus:border-primary-600 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
required="true"
/>
</div>
<div>
<label
for="password"
class="block mb-2 text-sm font-medium text-gray-900 dark:text-white"
>Password</label>
<input
type="password"
name="password"
id="password"
placeholder="••••••••"
class="bg-gray-50 border border-gray-300 text-gray-900 sm:text-sm rounded-lg focus:ring-primary-600 focus:border-primary-600 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
required="true"
/>
</div>
if err != "" {
<div class="bg-gray-500 text-red-400 text-2xl rounded-lg border-black">
{ err }
</div>
}
<button
type="submit"
class="w-full text-white bg-primary-600 hover:bg-primary-700 focus:ring-4 focus:outline-none focus:ring-primary-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800"
>
Sign In
</button>
</form>
</div>
</div>
</div>
</section>
}
}