updated permissions

This commit is contained in:
Edward Tirado Jr 2025-12-30 21:15:42 -06:00
parent 8f47f40b03
commit 83f7073b18
31 changed files with 1467 additions and 901 deletions

View file

@ -3,7 +3,7 @@
style="mask: radial-gradient(circle at left, transparent 10px, black 11px) top left / 51% 100% no-repeat,
radial-gradient(circle at right, transparent 10px, black 11px) top right / 51% 100% no-repeat;">
<div class="p-2 border-2 border-amber-200 m-2">
<h1 class="font-bold font-arial text-2xl text-amber-200">Movie Night</h1>
<a href="/"><h1 class="font-bold font-arial text-2xl text-amber-200">Movie Night</h1></a>
</div>
</div>

View file

@ -0,0 +1,5 @@
@extends('errors::minimal')
@section('title', __('Unauthorized'))
@section('code', '401')
@section('message', __('Unauthorized'))

View file

@ -0,0 +1,5 @@
@extends('errors::minimal')
@section('title', __('Payment Required'))
@section('code', '402')
@section('message', __('Payment Required'))

View file

@ -0,0 +1,5 @@
@extends('errors::minimal')
@section('title', __('Forbidden'))
@section('code', '403')
@section('message', __($exception->getMessage() ?: 'Forbidden'))

View file

@ -0,0 +1,5 @@
@extends('errors::minimal')
@section('title', __('Not Found'))
@section('code', '404')
@section('message', __('Not Found'))

View file

@ -0,0 +1,5 @@
@extends('errors::minimal')
@section('title', __('Page Expired'))
@section('code', '419')
@section('message', __('Page Expired'))

View file

@ -0,0 +1,5 @@
@extends('errors::minimal')
@section('title', __('Too Many Requests'))
@section('code', '429')
@section('message', __('Too Many Requests'))

View file

@ -0,0 +1,5 @@
@extends('errors::minimal')
@section('title', __('Server Error'))
@section('code', '500')
@section('message', __('Server Error'))

View file

@ -0,0 +1,5 @@
@extends('errors::minimal')
@section('title', __('Service Unavailable'))
@section('code', '503')
@section('message', __('Service Unavailable'))

View file

@ -0,0 +1,53 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>@yield('title')</title>
<!-- Styles -->
<style>
html, body {
background-color: #fff;
color: #636b6f;
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-weight: 100;
height: 100vh;
margin: 0;
}
.full-height {
height: 100vh;
}
.flex-center {
align-items: center;
display: flex;
justify-content: center;
}
.position-ref {
position: relative;
}
.content {
text-align: center;
}
.title {
font-size: 36px;
padding: 20px;
}
</style>
</head>
<body>
<div class="flex-center position-ref full-height">
<div class="content">
<div class="title">
@yield('message')
</div>
</div>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

View file

@ -24,17 +24,48 @@
</form>
</div>
<ul class="w-full flex flex-col gap-5">
@foreach($lists as $list)
<li class="flex py-5 justify-between text-center">
<a class="font-bold text-2xl" href="/lists/{{$list->id}}" wire:navigate>{{$list->name}}</a>
@if((bool)$list->is_public === true)
<i class="fa fa-earth" title="Public" aria-label="Public"></i>
@else
<i class="fa fa-lock" title="Private" aria-label="Private"></i>
@endif
</li>
@endforeach
</ul>
<div class="w-full flex flex-col gap-5">
<h2 class="text-2xl font-bold">Your Lists</h2>
@if(!$lists->isEmpty())
<ul class="w-full flex flex-col gap-2">
<hr/>
@foreach($lists as $list)
<li class="flex justify-between text-center">
<a class="text-xl" href="/lists/{{$list->id}}" wire:navigate>{{$list->name}}</a>
@if((bool)$list->is_public === true)
<i class="fa fa-earth my-auto" title="Public" aria-label="Public"></i>
@else
<i class="fa fa-lock my-auto" title="Private" aria-label="Private"></i>
@endif
</li>
<hr/>
@endforeach
</ul>
@else
<span>No lists found.</span>
@endif
</div>
<div class="w-full flex flex-col gap-5">
<h2 class="text-2xl font-bold">Shared With You</h2>
@if(!$sharedLists->isEmpty())
<ul>
<hr/>
@foreach($sharedLists as $list)
<li class="flex justify-between text-center">
<a class="text-xl" href="/lists/{{$list->id}}" wire:navigate>{{$list->name}}</a>
@if((bool)$list->is_public === true)
<i class="fa fa-earth my-auto" title="Public" aria-label="Public"></i>
@else
<i class="fa fa-lock my-auto" title="Private" aria-label="Private"></i>
@endif
</li>
<hr/>
@endforeach
</ul>
@else
<span>No lists found.</span>
@endif
</div>
</x-ui.card>
</div>

View file

@ -1,10 +1,13 @@
<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 text-2xl"></i>
</button>
@can('update', $list)
<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 text-2xl"></i>
</button>
@endcan
</div>
<x-ui.card class="overflow-hidden min-h-screen">
@ -21,7 +24,8 @@
<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">
<div>
<input class="flex bg-white p-2 rounded sm:w-100" type="text" placeholder="Filter movies"
<input class="flex bg-white p-2 rounded w-full sm:w-100" type="text"
placeholder="Filter movies"
wire:model.live="filterText"
wire:keyup="filterMovies"/>
</div>
@ -57,7 +61,7 @@
</div>
<div class="flex flex-col gap-2 w-full p-5">
<label for="list-name">List Name</label>
<label for="list-name" class="font-bold">List Name</label>
<div class="flex flex-row">
<input type="text" wire:model.live="settingsForm.name" id="list-name"
class="w-full p-2 rounded rounded-r-none bg-white"/>
@ -67,12 +71,34 @@
</div>
<div
class="flex items-center justify-between bg-gray-700 hover:bg-gray-500 hover:opacity-85 p-5 rounded">
<label for="is_public" class="text-white cursor-pointer">Make list public</label>
<label for="is_public" class="text-white font-bold cursor-pointer">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 class="p-5">
<span class="font-bold">Collaborators</span>
<ul>
<li>Bob</li>
<li>Eddie</li>
<li>Jane</li>
</ul>
</div>
<div
class="flex items-center justify-between bg-gray-700 hover:bg-gray-500 hover:opacity-85 p-5 rounded">
<label for="delete_list" class="text-white cursor-pointer">Delete List</label>
<button name="delete_list"
type="button"
class="bg-red-500 p-2 rounded font-bold"
wire:click="deleteList"
wire:confirm="Are you sure you want to delete this list?"
>
Delete List
</button>
</div>
</div>
</div>
</div>

View file

@ -1,5 +0,0 @@
<x-layouts.app>
<div class="text-white text-2xl">
<livewire:movie-lists/>
</div>
</x-layouts.app>