Add models, enums, and services for user roles, theme preferences, slug history, and ID generation

This commit is contained in:
pacnpal
2025-02-23 19:50:40 -05:00
parent 32aea21e48
commit 7e5d15eb46
55 changed files with 6462 additions and 4 deletions

View File

@@ -0,0 +1,82 @@
<div class="max-w-2xl mx-auto p-4 sm:p-6 lg:p-8">
<form wire:submit="save" class="space-y-6">
@if (session()->has('message'))
<div class="bg-green-100 border border-green-400 text-green-700 px-4 py-3 rounded relative" role="alert">
{{ session('message') }}
</div>
@endif
<div class="bg-white shadow-sm ring-1 ring-gray-900/5 rounded-xl p-6">
<!-- Basic Information -->
<div class="space-y-6">
<div class="flex items-center justify-between">
<h3 class="text-lg font-medium text-gray-900">Area Information</h3>
<span class="text-sm text-gray-500">Part of {{ $park->name }}</span>
</div>
<div>
<label for="name" class="block text-sm font-medium text-gray-700">Area Name</label>
<div class="mt-1">
<input type="text" wire:model="name" id="name"
class="block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
placeholder="Enter area name">
</div>
@error('name') <span class="text-red-500 text-sm">{{ $message }}</span> @enderror
</div>
<div>
<label for="description" class="block text-sm font-medium text-gray-700">Description</label>
<div class="mt-1">
<textarea wire:model="description" id="description" rows="4"
class="block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
placeholder="Describe this area"></textarea>
</div>
@error('description') <span class="text-red-500 text-sm">{{ $message }}</span> @enderror
</div>
</div>
</div>
<div class="bg-white shadow-sm ring-1 ring-gray-900/5 rounded-xl p-6">
<!-- Dates -->
<div class="space-y-6">
<h3 class="text-lg font-medium text-gray-900">Opening and Closing Dates</h3>
<div class="grid grid-cols-1 gap-6 sm:grid-cols-2">
<div>
<label for="opening_date" class="block text-sm font-medium text-gray-700">Opening Date</label>
<div class="mt-1">
<input type="date" wire:model="opening_date" id="opening_date"
class="block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm">
</div>
@error('opening_date') <span class="text-red-500 text-sm">{{ $message }}</span> @enderror
</div>
<div>
<label for="closing_date" class="block text-sm font-medium text-gray-700">Closing Date</label>
<div class="mt-1">
<input type="date" wire:model="closing_date" id="closing_date"
class="block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm">
</div>
@error('closing_date') <span class="text-red-500 text-sm">{{ $message }}</span> @enderror
</div>
</div>
<div class="text-sm text-gray-500">
<p>Leave closing date empty if the area is still operating.</p>
</div>
</div>
</div>
<div class="flex justify-end space-x-4">
<a href="{{ route('parks.show', $park) }}"
class="inline-flex justify-center rounded-md border border-gray-300 bg-white py-2 px-4 text-sm font-medium text-gray-700 shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2">
Cancel
</a>
<button type="submit"
class="inline-flex justify-center rounded-md border border-transparent bg-indigo-600 py-2 px-4 text-sm font-medium text-white shadow-sm hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2">
{{ $isEditing ? 'Update Area' : 'Create Area' }}
</button>
</div>
</form>
</div>