nyaabooru/resources/views/livewire/posts/edit.blade.php
Jaiden e7b31a716c
Some checks failed
Docker / build (push) Has been cancelled
Upgrade webawesome framework
2025-06-30 20:18:30 -04:00

94 lines
3.2 KiB
PHP

<div class="wa-flank wa-align-items-start wa-gap-3xl" style="--flank-size: 20rem;">
{{-- Sidebar --}}
<div class="wa-stack">
<wa-callout variant="brand" appearance="outlined">
<livewire:app.icon slot="icon" name="circle-info" />
<span>Changes are automatically saved.</span>
</wa-callout>
<form wire:submit class="wa-stack wa-gap-xl">
<wa-select wire:model.live="rating" label="Rating" value="{{ $post->rating }}" wire:loading.attr="disabled" @error('rating') hint="{{ $message }}" @enderror>
<wa-option value="safe">Safe</wa-option>
<wa-option value="suggestive">Suggestive</wa-option>
<wa-option value="explicit">Explicit</wa-option>
</wa-select>
@if ($post->rating == 'safe')
<wa-switch
wire:model.live="featured"
{{ $post->featured ? 'checked' : '' }}
wire:loading.attr="disabled"
hint="Featured posts will be randomly selected to show on the front page.">
Feature post
</wa-switch>
@endif
<wa-select wire:model.live="tag" label="Add a tag" @error('tag') hint="{{ $message }}" @enderror wire:loading.attr="disabled">
@foreach ($selectableTags as $selectableTag)
<wa-option value="{{ $selectableTag->id }}" style="color: {{ $selectableTag->tagGroup->color }};">{{ $selectableTag->name }}</wa-option>
@endforeach
</wa-select>
</form>
<wa-divider></wa-divider>
{{-- Tags --}}
<div class="wa-cluster wa-heading-m">
<livewire:app.icon fixed-width name="tags" />
<span>Tags</span>
</div>
<div class="wa-stack wa-gap-2xs" wire:poll>
@foreach ($tags as $postTag)
<div class="wa-split">
<span style="color: {{ $postTag->tagGroup->color }};">{{ $postTag->name }}</span>
<wa-icon-button name="times" appearance="plain" href="{{ url("/delete/post/$post->id/tag/$postTag->id") }}" style="color: var(--wa-color-danger-on-quiet);" wire:navigate></wa-icon-button>
</div>
@endforeach
</div>
<wa-divider></wa-divider>
<div class="wa-split">
<wa-button href="{{ url("posts/$post->id") }}" appearance="outlined" variant="neutral" size="small" wire:navigate.hover>
<livewire:app.icon slot="prefix" name="arrow-left" />
<span>Exit</span>
</wa-button>
<wa-button appearance="outlined" variant="danger" size="small" wire:click="$js.openDialog">
<livewire:app.icon slot="prefix" name="trash" />
<span>Delete post</span>
</wa-button>
</div>
</div>
{{-- Main content --}}
<div>
<livewire:posts.image :$post lazy />
{{-- Confirm deletion dialog --}}
<wa-dialog label="Confirm post deletion" without-header light-dismiss id="modal-confirm-post-delete" style="--width: 360px;" wire:ignore>
<div class="wa-stack wa-align-items-center">
<span>Are you sure you want to delete this post?</span>
<div class="wa-split">
<wa-button variant="neutral" appearance="outlined" data-dialog="close">
No, go back
</wa-button>
<wa-button href="{{ url("delete/post/$post->id") }}" appearance="outlined" variant="danger" wire:navigate>
Yes, delete it
</wa-button>
</div>
</div>
</wa-dialog>
</div>
@script
<script>
const dialog = document.querySelector('#modal-confirm-post-delete');
$js('openDialog', () => { dialog.open = true})
</script>
@endscript
</div>