Update post context buttons, page nav, dockerfile

This commit is contained in:
yuriko 🦊 2025-07-02 13:13:10 -04:00
parent e7b31a716c
commit b4d83e9a29
Signed by: jaiden
SSH key fingerprint: SHA256:f8tvveBoXBrKZIQDWLLcpQrKbATUCGg98x2N4YzkDM8
22 changed files with 124 additions and 48 deletions

View file

@ -1,5 +1,7 @@
<div class="wa-stack wa-gap-3xl">
<h1>{{ config('app.name') }}</h1>
<wa-breadcrumb class="wa-heading-l">
<wa-breadcrumb-item>{{ config('app.name') }}</wa-breadcrumb-item>
</wa-breadcrumb>
<livewire:post-feature lazy />
</div>

View file

@ -1,3 +1,11 @@
<span>
<wa-icon name="{{ $name }}" variant="light" fixed-width @isset($slot) slot="{{ $slot }}" @endisset $attrs></wa-icon>
</span>
<wa-icon
name="{{ $name }}"
variant="light"
label="{{ $label }}"
fixed-width
@isset($slot)
slot="{{ $slot }}"
@endisset
style="{{ $style }}"
$attrs
></wa-icon>

View file

@ -15,9 +15,14 @@
Tags
</a>
<a href="{{ route('tags.groups') }}" class="wa-cluster" wire:navigate.hover>
<livewire:app.icon name="layer-group" />
Tag groups
</a>
<a href="{{ route('users') }}" class="wa-cluster" wire:navigate.hover>
<livewire:app.icon name="users" />
Users
Profiles
</a>
@endauth
</div>

View file

@ -1,12 +1,11 @@
<div class="wa-split">
<div class="wa-cluster wa-align-items-center">
<wa-icon-button
<wa-button
href="{{ route('home') }}"
name="paw-simple"
appearance="plain"
style="font-size: 1.5rem;"
wire:navigate.hover>
</wa-icon-button>
<livewire:app.icon name="paw-simple" label="Home" style="font-size: 1.5rem;" />
</wa-button>
@auth
<wa-button appearance="plain" href="{{ route('posts.home') }}" wire:navigate.hover>
@ -24,9 +23,14 @@
Tags
</wa-button>
<wa-button appearance="plain" href="{{ route('tags.groups') }}" wire:navigate.hover>
<livewire:app.icon slot="start" name="layer-group" />
Tag groups
</wa-button>
<wa-button appearance="plain" href="{{ route('users') }}" wire:navigate.hover>
<livewire:app.icon slot="start" name="users" />
Users
Profiles
</wa-button>
@endauth
</div>

View file

@ -1,5 +1,5 @@
<article class="wa-stack">
<a class="wa-frame wa-border-radius-l" style="max-inline-size: 15rem;" href="{{ url("/profiles/$user->id") }}" wire:navigate.hover>
<article class="wa-stack nyaabooru-pfp">
<a class="wa-frame wa-border-radius-l" style="inline-size: 15rem;" href="{{ url("/profiles/$user->id") }}" wire:navigate.hover>
@if (\Illuminate\Support\Facades\Storage::has("avatars/$user->id"))
<img src="{{ $user->getAvatarBase64() }}"/>
@else

View file

@ -3,7 +3,11 @@
<div class="wa-flank wa-align-items-center">
<livewire:app.pfp :$user size="5rem" shape="rounded" />
<div class="wa-stack wa-gap-2xs">
<h1>{{ $user->name }}</h1>
<wa-breadcrumb class="wa-heading-l">
<wa-breadcrumb-item href="{{ route('home') }}" wire:navigate.hover>{{ config('app.name') }}</wa-breadcrumb-item>
<wa-breadcrumb-item href="{{ route('users') }}" wire:navigate.hover>profiles</wa-breadcrumb-item>
<wa-breadcrumb-item>{{ $user->name }}</wa-breadcrumb-item>
</wa-breadcrumb>
<span class="wa-caption-l">Member since <wa-format-date value="{{ $user->created_at }}"></wa-format-date></span>
</div>
</div>

View file

@ -1,5 +1,8 @@
<div class="wa-stack wa-gap-3xl">
<h1>Upload</h1>
<wa-breadcrumb class="wa-heading-l">
<wa-breadcrumb-item href="{{ route('home') }}" wire:navigate.hover>{{ config('app.name') }}</wa-breadcrumb-item>
<wa-breadcrumb-item>upload</wa-breadcrumb-item>
</wa-breadcrumb>
<form wire:submit="createPost" class="wa-stack wa-gap-xl">
<wa-card class="wa-stack">

View file

@ -1,5 +1,8 @@
<div class="wa-stack wa-gap-3xl">
<h1>Users</h1>
<wa-breadcrumb class="wa-heading-l">
<wa-breadcrumb-item href="{{ route('home') }}" wire:navigate.hover>{{ config('app.name') }}</wa-breadcrumb-item>
<wa-breadcrumb-item>profiles</wa-breadcrumb-item>
</wa-breadcrumb>
<div class="wa-cluster wa-gap-3xl">
@foreach ($users as $user)

View file

@ -2,5 +2,27 @@
<a href="{{ url("posts/$post->id") }}" class="wa-frame wa-border-radius-l" style="max-inline-size: 100%; {{ $post->getAspectRatio() }}" wire:navigate.hover>
<img src="{{ $post->getPreviewUrl() }}" />
</a>
<span class="wa-caption-m">-{{ $post->user->name }}, <wa-format-date></wa-format-date></span>
<div class="wa-cluster wa-gap-xl wa-caption-m">
<span class="wa-cluster wa-gap-xs">
<livewire:app.icon name="user" />
<a href="{{ url("profiles/{$post->user->id}") }}" wire:navigate.hover>{{ $post->user->name }}</a>
</span>
<div class="wa-cluster wa-gap-xs">
<livewire:app.icon name="calendar" />
<wa-format-date
month="numeric"
day="numeric"
year="numeric"
hour="numeric"
minute="numeric"
date="{{ $post->created_at }}">
</wa-format-date>
</div>
<div class="wa-cluster wa-gap-xs">
<livewire:app.icon name="hashtag" />
<a href="{{ url("posts/$post->id") }}" wire:navigate.hover>{{ $post->id }}</a>
</div>
</div>
</div>

View file

@ -1,3 +1,3 @@
<div class="wa-frame wa-border-radius-l" style="max-inline-size: 100%; {{ $post->getAspectRatio() }}">
<img src="{{ $post->getFullUrl() }}" />
<img src="{{ $post->getFullUrl() }}" style="height: 95vh;" />
</div>

View file

@ -1,5 +1,8 @@
<div class="wa-stack wa-gap-3xl">
<h1>Posts</h1>
<wa-breadcrumb class="wa-heading-l">
<wa-breadcrumb-item href="{{ route('home') }}" wire:navigate.hover>{{ config('app.name') }}</wa-breadcrumb-item>
<wa-breadcrumb-item>posts</wa-breadcrumb-item>
</wa-breadcrumb>
<div class="wa-cluster wa-gap-s">
@foreach ($posts as $post)
<livewire:posts.thumbnail :$post lazy />

View file

@ -1,4 +1,4 @@
<div style="max-inline-size: 256px;">
<div style="inline-size: 256px;">
<a
id="post_{{ $post->id }}"
href="{{ url("posts/$post->id") }}"

View file

@ -6,20 +6,34 @@
{{-- Post navigation --}}
<div class="wa-cluster">
@if ($prev = $post->getPreviousPost())
<wa-icon-button href="{{ url("posts/$prev->id") }}" name="arrow-left" style="color: var(--wa-color-text-link);" wire:navigate.hover></wa-icon-button>
<wa-button appearance="plain" href="{{ url("posts/$prev->id") }}" label="Previous" style="color: var(--wa-color-text-link);" wire:navigate.hover>
<livewire:app.icon name="arrow-left" />
</wa-button>
@else
<wa-icon-button name="arrow-left" disabled></wa-icon-button>
<wa-button appearance="plain" label="Previous" disabled>
<livewire:app.icon name="arrow-left" />
</wa-button>
@endif
@if ($next = $post->getNextPost())
<wa-icon-button href="{{ url("posts/$next->id") }}" name="arrow-right" style="color: var(--wa-color-text-link);" wire:navigate.hover></wa-icon-button>
<wa-button appearance="plain" href="{{ url("posts/$next->id") }}" label="Next" style="color: var(--wa-color-text-link);" wire:navigate.hover>
<livewire:app.icon name="arrow-right" />
</wa-button>
@else
<wa-icon-button name="arrow-right" disabled></wa-icon-button>
<wa-button appearance="plain" label="Next" disabled>
<livewire:app.icon name="arrow-right" />
</wa-button>
@endif
<wa-icon-button href="{{ url("posts/$post->id/edit") }}" name="file-pen" style="color: var(--wa-color-text-link);" wire:navigate.hover></wa-icon-button>
<wa-icon-button href="{{ url("posts/$post->id/download") }}" name="download" style="color: var(--wa-color-text-link);"></wa-icon-button>
<wa-icon-button name="arrow-up-right-and-arrow-down-left-from-center" wire:click="$js.showFullImage" style="color: var(--wa-color-text-link);"></wa-icon-button>
<wa-button appearance="plain" href="{{ url("posts/$post->id/edit") }}" label="Edit" style="color: var(--wa-color-text-link);" wire:navigate.hover>
<livewire:app.icon name="file-pen" />
</wa-button>
<wa-button appearance="plain" href="{{ url("posts/$post->id/download") }}" label="Download" style="color: var(--wa-color-text-link);">
<livewire:app.icon name="download" />
</wa-button>
<wa-button appearance="plain" wire:click="$js.showFullImage" label="Expand" style="color: var(--wa-color-text-link);">
<livewire:app.icon name="arrow-up-right-and-arrow-down-left-from-center" />
</wa-button>
</div>
<wa-divider></wa-divider>
@ -99,7 +113,8 @@
@endforeach
{{-- Full image dialog --}}
<wa-dialog id="fullImagePreview" without-header without-footer light-dismiss style="--width: 120vh;" wire:ignore>
@php [$imgw, $imgh] = $post->getDimensions(); @endphp
<wa-dialog id="fullImagePreview" without-header without-footer light-dismiss style="--width: calc(95vh * ({{ $imgw }} / {{ $imgh }}));" wire:ignore>
<livewire:posts.full-image :$post lazy />
</wa-dialog>

View file

@ -1,8 +1,8 @@
<div class="wa-stack">
<h1 class="wa-cluster wa-gap-3xl" style="--wa-link-decoration-default: none; --wa-color-text-link: var(--wa-color-text-quiet)">
<a href="{{ route('tags.home') }}" wire:navigate.hover>Tags</a>
<span>Tag groups</span>
</h1>
<wa-breadcrumb class="wa-heading-l">
<wa-breadcrumb-item href="{{ route('home') }}" wire:navigate.hover>{{ config('app.name') }}</wa-breadcrumb-item>
<wa-breadcrumb-item>tag groups</wa-breadcrumb-item>
</wa-breadcrumb>
<div class="wa-flank:end wa-align-items-start">

View file

@ -1,10 +1,10 @@
@php use App\Models\Tag; @endphp
<div class="wa-stack">
<h1 class="wa-cluster wa-gap-3xl" style="--wa-link-decoration-default: none; --wa-color-text-link: var(--wa-color-text-quiet)">
<span>Tags</span>
<a href="{{ route('tags.groups') }}" wire:navigate.hover>Tag groups</a>
</h1>
<wa-breadcrumb class="wa-heading-l">
<wa-breadcrumb-item href="{{ route('home') }}" wire:navigate.hover>{{ config('app.name') }}</wa-breadcrumb-item>
<wa-breadcrumb-item>tags</wa-breadcrumb-item>
</wa-breadcrumb>
<div class="wa-flank:end wa-align-items-start">
<table class="wa-table">
@ -19,7 +19,7 @@
<tbody>
{{-- Untagged posts --}}
<tr>
<td class="wa-caption-m">-- Untagged --</td>
<td>Untagged</td>
<td></td>
<td><wa-format-number value="{{ $untaggedPosts->count() }}"></wa-format-number> {{ Str::plural('post', $untaggedPosts->count()) }}</td>
<td></td>