This commit is contained in:
punkfairie 2025-02-23 11:52:18 -08:00
parent fbc8bf9de4
commit 7971abee3d
Signed by: punkfairie
GPG key ID: B3C5488E9A1A7CA6
17 changed files with 251 additions and 239 deletions

View file

@ -73,6 +73,10 @@ @layer components {
cursor: pointer; cursor: pointer;
} }
.window:not(:last-child) {
margin-bottom: 1rem;
}
.window hr { .window hr {
height: 1px; height: 1px;
border-top: 1px solid var(--button-shadow); border-top: 1px solid var(--button-shadow);

View file

@ -1,7 +1,7 @@
<x-layout> <x-layout title="Admin">
<x-slot:title>Admin</x-slot> <x-window>
<p>You're logged in!</p>
<p>You're logged in!</p> <a href="{{ route('categories.index') }}">Categories</a>
</x-window>
<a href="{{ route('categories.index') }}">Categories</a>
</x-layout> </x-layout>

View file

@ -1,7 +1,5 @@
<x-layout> <x-layout title="Confirm Password">
<x-slot:title>Confirm Password</x-slot> <x-window>
<x-window title="Confirm Password">
<div> <div>
This is a secure area of the application. Please confirm your password This is a secure area of the application. Please confirm your password
before continuing. before continuing.

View file

@ -1,31 +1,31 @@
<x-guest-layout> <x-layout title="Forgot Password">
<x-slot:title>Forgot Password</x-slot> <x-window>
<div>
<div> Forgot your password? No problem. Just let us know your email address and
Forgot your password? No problem. Just let us know your email address and we we will email you a password reset link that will allow you to choose a
will email you a password reset link that will allow you to choose a new new one.
one.
</div>
<!-- Session Status -->
<x-auth-session-status :status="session('status')" />
<form method="POST" action="{{ route('password.email') }}">
@csrf
<div class="field-row">
<label for="email">Email</label>
<input
id="email"
type="email"
name="email"
value="{{ old('email') }}"
required
autofocus
/>
<x-input-error :messages="$errors->get('email')" />
</div> </div>
<button type="submit">Email Password Reset Link</button> <!-- Session Status -->
</form> <x-auth-session-status :status="session('status')" />
</x-guest-layout>
<form method="POST" action="{{ route('password.email') }}">
@csrf
<div class="field-row">
<label for="email">Email</label>
<input
id="email"
type="email"
name="email"
value="{{ old('email') }}"
required
autofocus
/>
<x-input-error :messages="$errors->get('email')" />
</div>
<button type="submit">Email Password Reset Link</button>
</form>
</x-window>
</x-layout>

View file

@ -1,7 +1,5 @@
<x-layout> <x-layout title="Login">
<x-slot:title>Login</x-slot> <x-window>
<x-window title="Login">
<!-- Session Status --> <!-- Session Status -->
<x-auth-session-status :status="session('status')" /> <x-auth-session-status :status="session('status')" />

View file

@ -1,72 +1,72 @@
<x-guest-layout> <x-layout title="Register">
<x-slot:title>Register</x-slot> <x-window>
<form method="POST" action="{{ route('register') }}">
@csrf
<form method="POST" action="{{ route('register') }}"> <!-- Name -->
@csrf <div class="field-row">
<label for="name">Name</label>
<input
id="name"
type="text"
name="name"
value="{{ old('name') }}"
required
autofocus
autocomplete="name"
/>
<x-input-error :messages="$errors->get('name')" />
</div>
<!-- Name --> <!-- Email Address -->
<div class="field-row"> <div class="field-row">
<label for="name">Name</label> <label for="email">Email</label>
<input <input
id="name" id="email"
type="text" type="email"
name="name" name="email"
value="{{ old('name') }}" value="{{ old('email') }}"
required required
autofocus autocomplete="username"
autocomplete="name" />
/> <x-input-error :messages="$errors->get('email')" />
<x-input-error :messages="$errors->get('name')" /> </div>
</div>
<!-- Email Address --> <!-- Password -->
<div class="field-row"> <div class="field-row">
<label for="email">Email</label> <label for="password">Password</label>
<input
id="email"
type="email"
name="email"
value="{{ old('email') }}"
required
autocomplete="username"
/>
<x-input-error :messages="$errors->get('email')" />
</div>
<!-- Password --> <input
<div class="field-row"> id="password"
<label for="password">Password</label> type="password"
name="password"
required
autocomplete="new-password"
/>
<input <x-input-error :messages="$errors->get('password')" />
id="password" </div>
type="password"
name="password"
required
autocomplete="new-password"
/>
<x-input-error :messages="$errors->get('password')" /> <!-- Confirm Password -->
</div> <div class="field-row">
<label for="password_confirmation">Confirm Password</label>
<!-- Confirm Password --> <input
<div class="field-row"> id="password_confirmation"
<label for="password_confirmation">Confirm Password</label> type="password"
name="password_confirmation"
required
autocomplete="new-password"
/>
<input <x-input-error :messages="$errors->get('password_confirmation')" />
id="password_confirmation" </div>
type="password"
name="password_confirmation"
required
autocomplete="new-password"
/>
<x-input-error :messages="$errors->get('password_confirmation')" /> <div>
</div> <a href="{{ route('login') }}">Already registered?</a>
<div> <button type="submit">Register</button>
<a href="{{ route('login') }}">Already registered?</a> </div>
</form>
<button type="submit">Register</button> </x-window>
</div> </x-layout>
</form>
</x-guest-layout>

View file

@ -1,55 +1,59 @@
<x-guest-layout> <x-layout title="Reset Password">
<x-slot:title>Reset Password</x-slot> <x-window>
<form method="POST" action="{{ route('password.store') }}">
@csrf
<form method="POST" action="{{ route('password.store') }}"> <!-- Password Reset Token -->
@csrf
<!-- Password Reset Token -->
<input type="hidden" name="token" value="{{ $request->route('token') }}" />
<!-- Email Address -->
<div class="field-row">
<label for="email">Email</label>
<input <input
id="email" type="hidden"
type="email" name="token"
name="email" value="{{ $request->route('token') }}"
value="{{ old('email', $request->email) }}"
required
autofocus
autocomplete="username"
/>
<x-input-error :messages="$errors->get('email')" />
</div>
<!-- Password -->
<div class="field-row">
<label for="password">Password</label>
<input
id="password"
type="password"
name="password"
required
autocomplete="new-password"
/>
<x-input-error :messages="$errors->get('password')" />
</div>
<!-- Confirm Password -->
<div class="field-row">
<label for="password_confirmation">Confirm Password</label>
<input
id="password_confirmation"
type="password"
name="password_confirmation"
required
autocomplete="new-password"
/> />
<x-input-error :messages="$errors->get('password_confirmation')" /> <!-- Email Address -->
</div> <div class="field-row">
<label for="email">Email</label>
<input
id="email"
type="email"
name="email"
value="{{ old('email', $request->email) }}"
required
autofocus
autocomplete="username"
/>
<x-input-error :messages="$errors->get('email')" />
</div>
<button type="submit">Reset Password</button> <!-- Password -->
</form> <div class="field-row">
</x-guest-layout> <label for="password">Password</label>
<input
id="password"
type="password"
name="password"
required
autocomplete="new-password"
/>
<x-input-error :messages="$errors->get('password')" />
</div>
<!-- Confirm Password -->
<div class="field-row">
<label for="password_confirmation">Confirm Password</label>
<input
id="password_confirmation"
type="password"
name="password_confirmation"
required
autocomplete="new-password"
/>
<x-input-error :messages="$errors->get('password_confirmation')" />
</div>
<button type="submit">Reset Password</button>
</form>
</x-window>
</x-layout>

View file

@ -1,32 +1,32 @@
<x-guest-layout> <x-layout title="Verify Email">
<x-slot:title>Verify Email</x-slot> <x-window>
<p>
Thanks for signing up! Before getting started, could you verify your email
address by clicking on the link we just emailed to you? If you didn't
receive the email, we will gladly send you another.
</p>
@if (session('status') == 'verification-link-sent')
<p> <p>
A new verification link has been sent to the email address you provided Thanks for signing up! Before getting started, could you verify your email
during registration. address by clicking on the link we just emailed to you? If you didn't
receive the email, we will gladly send you another.
</p> </p>
@endif
<div> @if (session('status') == 'verification-link-sent')
<form method="POST" action="{{ route('verification.send') }}"> <p>
@csrf A new verification link has been sent to the email address you provided
during registration.
</p>
@endif
<div> <div>
<button type="submit">Resend Verification Email</button> <form method="POST" action="{{ route('verification.send') }}">
</div> @csrf
</form>
<form method="POST" action="{{ route('logout') }}"> <div>
@csrf <button type="submit">Resend Verification Email</button>
</div>
</form>
<button type="submit">Log Out</button> <form method="POST" action="{{ route('logout') }}">
</form> @csrf
</div>
</x-guest-layout> <button type="submit">Log Out</button>
</form>
</div>
</x-window>
</x-layout>

View file

@ -1,15 +1,15 @@
<x-layout> <x-layout title="New Category">
<x-slot:title>New Category</x-slot> <x-window>
<form action="{{ route('categories.store') }}" method="POST">
@csrf
<form action="{{ route('categories.store') }}" method="POST"> <div class="field-row">
@csrf <label for="name">Category Name</label>
<input type="text" id="name" name="name" />
<x-input-error :messages="$errors->get('name')" />
</div>
<div class="field-row"> <button type="submit">Submit</button>
<label for="name">Category Name</label> </form>
<input type="text" id="name" name="name" /> </x-window>
<x-input-error :messages="$errors->get('name')" />
</div>
<button type="submit">Submit</button>
</form>
</x-layout> </x-layout>

View file

@ -1,30 +1,35 @@
<x-layout> <x-layout title="Categories">
<x-slot:title>Categories</x-slot> <x-window>
<div class="sunken-panel">
<div class="sunken-panel"> <table class="interactive">
<table class="interactive"> <thead>
<thead> <tr>
<tr> <th>Category</th>
<th>Category</th> <th>Actions</th>
<th>Actions</th>
</tr>
</thead>
<tbody x-data="{ hovered: null }" x-on:mouseleave="hovered = null">
@foreach ($categories as $category)
<tr
id="{{ $category->id }}"
x-on:mouseenter="hovered = $event.target.id"
x-bind:class="{ 'highlighted': hovered === $el.id }"
>
<td>{{ $category->name }}</td>
<td>
<a href="{{ route('categories.show', $category->id) }}">View</a>
</td>
</tr> </tr>
@endforeach </thead>
</tbody> <tbody
</table> x-data="{ hovered: null }"
</div> x-on:mouseleave="hovered = null"
>
@foreach ($categories as $category)
<tr
id="{{ $category->id }}"
x-on:mouseenter="hovered = $event.target.id"
x-bind:class="{ 'highlighted': hovered === $el.id }"
>
<td>{{ $category->name }}</td>
<td>
<a href="{{ route('categories.show', $category->id) }}">
View
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<a href="{{ route('categories.create') }}">New</a> <a href="{{ route('categories.create') }}" class="button">New</a>
</x-window>
</x-layout> </x-layout>

View file

@ -1,8 +1,5 @@
<x-layout> <x-layout :title="'Category: '. $category->name">
<x-slot:title> <x-window>
Category: {{ $category->name }} <a href="{{ route('categories.index') }}">All</a>
</x-slot> </x-window>
<h2>{{ $category->name }}</h2>
<a href="{{ route('categories.index') }}">All</a>
</x-layout> </x-layout>

View file

@ -1,3 +1,7 @@
@props([
'title',
])
<!DOCTYPE html> <!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head> <head>

View file

@ -1,5 +1,4 @@
@props([ @props([
'title',
'minimize' => true, 'minimize' => true,
'maximize' => false, 'maximize' => false,
'restore' => true, 'restore' => true,
@ -7,6 +6,10 @@
'close' => true, 'close' => true,
]) ])
@aware([
'title' => config('app.name', 'Laravel'),
])
@php @php
if ($restore) { if ($restore) {
$maximize = false; $maximize = false;
@ -15,9 +18,7 @@
<div {{ $attributes->merge(['class' => 'window']) }}> <div {{ $attributes->merge(['class' => 'window']) }}>
<div class="title-bar"> <div class="title-bar">
@isset($title) <div class="title-bar-text">{{ $title }}</div>
<div class="title-bar-text">{{ $title }}</div>
@endisset
@if ($minimize || $maximize || $restore || $help || $close) @if ($minimize || $maximize || $restore || $help || $close)
<div class="title-bar-controls"> <div class="title-bar-controls">

View file

@ -1,6 +1,9 @@
<x-layout> <x-layout title="Profile">
<x-slot:title>Profile</x-slot> <x-window title="Profile Information">
@include('profile.partials.update-profile-information-form')
</x-window>
@include('profile.partials.update-profile-information-form') <x-window title="Update Password">
@include('profile.partials.update-password-form') @include('profile.partials.update-password-form')
</x-window>
</x-layout> </x-layout>

View file

@ -1,5 +1,3 @@
<p>Update Password</p>
<p>Ensure your account is using a long, random password to stay secure.</p> <p>Ensure your account is using a long, random password to stay secure.</p>
<form method="post" action="{{ route('password.update') }}"> <form method="post" action="{{ route('password.update') }}">

View file

@ -1,5 +1,3 @@
<h2>Profile Information</h2>
<p>Update your account's profile information and email address.</p> <p>Update your account's profile information and email address.</p>
<form <form

View file

@ -1 +1,3 @@
<x-layout></x-layout> <x-layout>
<x-window>Welcome!</x-window>
</x-layout>