set up list management
Some checks are pending
linter / quality (push) Waiting to run
tests / ci (push) Waiting to run

This commit is contained in:
Edward Tirado Jr 2025-12-13 19:33:52 -06:00
parent 0c42bef077
commit 73d6578857
26 changed files with 495 additions and 230 deletions

View file

@ -1,22 +1,70 @@
<div class=" text-white pt-5 flex flex-col gap-5">
<h1 class="text-2xl font-bold">{{$list->name}}</h1>
<div class=" text-white pt-10 flex flex-col gap-5">
<div class="flex flex-row justify-between items-center mx-2 sm:mx-0">
<h1 class="text-2xl sm:text-3xl font-bold">{{$list->name}}</h1>
<button type="button" wire:click="toggleSettings"
class="hover:bg-blue-600 cursor-pointer text-white px-4 py-2 rounded">
<i class="fas fa-cog"></i>
</button>
</div>
<form wire:submit.prevent="addMovie">
<div class="flex flex-col gap-2">
<label for="query">Enter a movie title</label>
<input wire:model="query" type="text" name="query" class="bg-white text-black"/>
@error('query') <span class="error text-red-500">{{ $message }}</span> @enderror
<x-ui.card class="overflow-hidden">
<div class="absolute">
<livewire:search-panel :list-id="$list->id"/>
<livewire:movie-details-panel/>
</div>
<button type="submit">Search</button>
</form>
<div class="relative w-full overflow-hidden">
<div class="flex transition-transform duration-300 ease-in-out"
style="transform: translateX({{ $showSettings ? '-100%' : '0' }})">
<!-- Movie List View -->
<div class="w-full flex-shrink-0 flex flex-col gap-5">
<div class="flex flex-col-reverse sm:flex-row gap-5 sm:gap-0 justify-between w-full">
<input class="bg-white p-2 rounded" type="text" placeholder="Filter movies"
wire:model="filterText"
wire:keyup="filterMovies"/>
<button wire:click="$dispatch('openSearch')" class="bg-green-500 text-white p-2 rounded">
Add Movie
</button>
</div>
<ul class="grid grid-cols-2 sm:grid-cols-4 gap-5">
@foreach ($filteredMovies as $movie)
<li class="bg-gray-200">
<x-movie :movie="$movie"/>
</li>
@endforeach
</ul>
</div>
<!-- Settings View -->
<div class="w-full flex-shrink-0 flex flex-col gap-5">
<div class="flex justify-between items-center">
<button wire:click="toggleSettings" class="text-white hover:text-gray-300">
Back to List
</button>
<h2 class="text-xl font-semibold">Settings</h2>
</div>
<div class="flex flex-col gap-2 w-full">
<label for="list-name">List Name</label>
<div class="flex flex-row">
<input type="text" wire:model="settingsForm.name" id="list-name"
class="w-full p-2 rounded rounded-r-none bg-white"/>
<button class="bg-green-400 p-2 rounded-r" type="submit" wire:click="saveSettings">Save
</button>
</div>
</div>
<div class="flex items-center justify-between bg-gray-700 p-4 rounded">
<label for="is_public" class="text-white">Make list public</label>
<input type="checkbox"
id="is_public"
wire:model.live="settingsForm.isPublic"
class="w-5 h-5 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500">
</div>
</div>
</div>
</div>
</x-ui.card>
<ul class="my-5 grid grid-cols-4 gap-5">
@foreach ($movies as $movie)
<li class="bg-gray-200">
<x-movie :movie="$movie"/>
</li>
@endforeach
</ul>
</div>