Refactor by using app layout

This commit is contained in:
2026-05-22 22:34:03 +02:00
parent 6340302ac6
commit 4928733383
12 changed files with 196 additions and 325 deletions

View File

@@ -1,4 +1,4 @@
<div class="py-24"> <div class="py-10">
<div class="mx-auto sm:px-6 lg:px-8 space-y-6 max-w-[100%] xl:max-w-[95%] 2xl:max-w-[90%]"> <div class="mx-auto sm:px-6 lg:px-8 space-y-6 max-w-[100%] xl:max-w-[95%] 2xl:max-w-[90%]">
@include('livewire.partials.search-filter') @include('livewire.partials.search-filter')
</div> </div>

View File

@@ -1,23 +1,12 @@
<!DOCTYPE html> <x-app-layout>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="scroll-smooth"> @include('partials.background')
@include('partials.head') <div
<body class="font-sans antialiased"> class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-20 mt-[65px] flex flex-row justify-center md:justify-normal">
<div class="flex flex-col min-h-screen bg-gray-100 dark:bg-neutral-900"> <div class="grid md:grid-flow-col gap-4 xl:w-5/6 flex-row">
@include('layouts.navigation') @include('profile.partials.sidebar')
<!-- Page Content --> <div class="flex flex-col gap-2">
<main> <livewire:user-comments :model="$user"/>
@include('partials.background')
<div
class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-20 mt-[65px] flex flex-row justify-center md:justify-normal">
<div class="grid md:grid-flow-col gap-4 xl:w-5/6 flex-row">
@include('profile.partials.sidebar')
<div class="flex flex-col gap-2">
<livewire:user-comments :model="$user"/>
</div>
</div>
</div> </div>
</main> </div>
@include('layouts.footer')
</div> </div>
</body> </x-app-layout>
</html>

View File

@@ -1,22 +1,9 @@
<!DOCTYPE html> <x-app-layout>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="scroll-smooth"> @include('partials.background')
@include('partials.head') <div class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-10 flex flex-row justify-center md:justify-normal">
<div class="grid md:grid-flow-col gap-4 w-5/6 flex-row">
<body class="font-sans antialiased"> @include('profile.partials.sidebar')
<div class="flex flex-col min-h-screen bg-gray-100 dark:bg-neutral-900"> @include('profile.partials.info')
@include('layouts.navigation') </div>
<!-- Page Content -->
<main>
@include('partials.background')
<div class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-20 mt-[65px] flex flex-row justify-center md:justify-normal">
<div class="grid md:grid-flow-col gap-4 w-5/6 flex-row">
@include('profile.partials.sidebar')
@include('profile.partials.info')
</div>
</div>
</main>
@include('layouts.footer')
</div> </div>
</body> </x-app-layout>
</html>

View File

@@ -1,20 +1,9 @@
<!DOCTYPE html> <x-app-layout>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="scroll-smooth"> @include('partials.background')
@include('partials.head') <div class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-10 flex flex-row justify-center md:justify-normal">
<body class="font-sans antialiased"> <div class="flex flex-col md:flex-row">
<div class="flex flex-col min-h-screen bg-gray-100 dark:bg-neutral-900"> @include('profile.partials.sidebar')
@include('layouts.navigation') @livewire('user-likes')
<!-- Page Content --> </div>
<main>
@include('partials.background')
<div class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-20 mt-[65px] flex flex-row justify-center md:justify-normal">
<div class="flex flex-col md:flex-row">
@include('profile.partials.sidebar')
@livewire('user-likes')
</div>
</div>
</main>
@include('layouts.footer')
</div> </div>
</body> </x-app-layout>
</html>

View File

@@ -1,66 +1,55 @@
<!DOCTYPE html> <x-app-layout>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="scroll-smooth"> @include('partials.background')
@include('partials.head') <div
<body class="font-sans antialiased"> class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-10 flex flex-row justify-center md:justify-normal">
<div class="flex flex-col min-h-screen bg-gray-100 dark:bg-neutral-900"> <div class="grid md:grid-flow-col gap-4 xl:w-5/6 flex-row">
@include('layouts.navigation') @include('profile.partials.sidebar')
<!-- Page Content --> <div class="flex flex-col gap-2">
<main>
@include('partials.background')
<div
class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-20 mt-[65px] flex flex-row justify-center md:justify-normal">
<div class="grid md:grid-flow-col gap-4 xl:w-5/6 flex-row">
@include('profile.partials.sidebar')
<div class="flex flex-col gap-2">
@forelse($notifications as $notification) @forelse($notifications as $notification)
<div <div
class="bg-white/40 dark:bg-neutral-950/40 backdrop-blur border border-gray-200 dark:border-neutral-700 rounded-xl shadow-sm p-4 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-x-4 transition hover:shadow-md"> class="bg-white/40 dark:bg-neutral-950/40 backdrop-blur border border-gray-200 dark:border-neutral-700 rounded-xl shadow-sm p-4 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-x-4 transition hover:shadow-md">
<!-- Content --> <!-- Content -->
<div class="flex flex-col gap-2 w-full h-full mt-2"> <div class="flex flex-col gap-2 w-full h-full mt-2">
<div class="flex items-center justify-between flex-none h-2"> <div class="flex items-center justify-between flex-none h-2">
<span class="text-xs font-semibold uppercase tracking-wide text-sky-600 dark:text-rose-500"> <span class="text-xs font-semibold uppercase tracking-wide text-sky-600 dark:text-rose-500">
{{ $notification->data['type'] ?? 'Notification' }} {{ $notification->data['type'] ?? 'Notification' }}
</span> </span>
</div>
<p class="text-sm sm:text-base text-gray-700 dark:text-gray-300 leading-relaxed h-full">
{{ $notification->data['message'] ?? '' }}
</p>
</div>
<!-- Actions -->
<div class="flex gap-2 sm:gap-2 shrink-0">
<a href="{{ $notification->data['url'] }}"
class="text-center rounded-lg bg-sky-600 px-3 py-2 text-xs sm:text-sm font-medium text-white hover:bg-sky-700 transition">
Open
</a>
<form method="POST" action="{{ route('profile.notifications.delete') }}">
@csrf
@method('delete')
<input type="hidden" value="{{ $notification->id }}" name="id">
<button type="submit"
class="w-full rounded-lg bg-rose-600 px-3 py-2 text-xs sm:text-sm font-medium text-white hover:bg-rose-700 transition">
Delete
</button>
</form>
</div> </div>
<p class="text-sm sm:text-base text-gray-700 dark:text-gray-300 leading-relaxed h-full">
{{ $notification->data['message'] ?? '' }}
</p>
</div> </div>
@empty
<div class="text-center py-16 text-gray-500 dark:text-gray-400"> <!-- Actions -->
<p class="text-lg">No notifications</p> <div class="flex gap-2 sm:gap-2 shrink-0">
<p class="text-sm opacity-70">(╥﹏╥)</p> <a href="{{ $notification->data['url'] }}"
class="text-center rounded-lg bg-sky-600 px-3 py-2 text-xs sm:text-sm font-medium text-white hover:bg-sky-700 transition">
Open
</a>
<form method="POST" action="{{ route('profile.notifications.delete') }}">
@csrf
@method('delete')
<input type="hidden" value="{{ $notification->id }}" name="id">
<button type="submit"
class="w-full rounded-lg bg-rose-600 px-3 py-2 text-xs sm:text-sm font-medium text-white hover:bg-rose-700 transition">
Delete
</button>
</form>
</div> </div>
@endforelse
</div> </div>
@empty
<div class="text-center py-16 text-gray-500 dark:text-gray-400">
<p class="text-lg">No notifications</p>
<p class="text-sm opacity-70">(╥﹏╥)</p>
</div>
@endforelse
</div> </div>
</div> </div>
</main> </div>
@include('layouts.footer') </x-app-layout>
</div>
</body>
</html>

View File

@@ -1,25 +1,14 @@
<!DOCTYPE html> <x-app-layout>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="scroll-smooth"> @include('partials.background')
@include('partials.head') <div class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-10 flex flex-row">
<body class="font-sans antialiased"> <div class="flex flex-col md:flex-row">
<div class="flex flex-col min-h-screen bg-gray-100 dark:bg-neutral-900"> @include('profile.partials.sidebar')
@include('layouts.navigation') <div class="max-w-7xl mx-auto sm:px-6 lg:px-8 space-y-6">
<!-- Page Content --> <div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
<main> @include('profile.partials.user-playlists')
@include('partials.background')
<div class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-20 mt-[65px] flex flex-row">
<div class="flex flex-col md:flex-row">
@include('profile.partials.sidebar')
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8 space-y-6">
<div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
@include('profile.partials.user-playlists')
</div>
</div>
@include('modals.create-playlist')
</div> </div>
</div> </div>
</main> @include('modals.create-playlist')
@include('layouts.footer') </div>
</div> </div>
</body> </x-app-layout>
</html>

View File

@@ -1,43 +1,30 @@
<!DOCTYPE html> <x-app-layout>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="scroll-smooth"> @include('partials.background')
@include('partials.head') <div class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-10 mb-14 flex flex-row">
<div class="flex flex-col md:flex-row">
<body class="font-sans antialiased"> @include('profile.partials.sidebar')
<div class="flex flex-col min-h-screen bg-gray-100 dark:bg-neutral-900"> <div class="max-w-7xl mx-auto sm:px-6 lg:px-8 mt-8 md:mt-0 space-y-6">
@include('layouts.navigation') <div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
<!-- Page Content --> @include('profile.partials.update-profile-information-form')
<main>
@include('partials.background')
<div class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-20 mt-[65px] mb-14 flex flex-row">
<div class="flex flex-col md:flex-row">
@include('profile.partials.sidebar')
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8 mt-8 md:mt-0 space-y-6">
<div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
@include('profile.partials.update-profile-information-form')
</div>
<div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
<livewire:passkeys />
</div>
<div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
@include('profile.partials.update-password-form')
</div>
<div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
@include('profile.partials.update-blacklist-form')
</div>
<div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
@include('profile.partials.update-design-form')
</div>
<div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
@include('profile.partials.delete-user-form')
</div>
@include('profile.partials.delete-user-modal')
</div>
@vite(['resources/js/user-blacklist.js'])
</div> </div>
<div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
<livewire:passkeys />
</div>
<div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
@include('profile.partials.update-password-form')
</div>
<div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
@include('profile.partials.update-blacklist-form')
</div>
<div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
@include('profile.partials.update-design-form')
</div>
<div class="p-4 sm:p-8 bg-white/40 dark:bg-neutral-950/40 backdrop-blur shadow sm:rounded-lg">
@include('profile.partials.delete-user-form')
</div>
@include('profile.partials.delete-user-modal')
</div> </div>
</main> @vite(['resources/js/user-blacklist.js'])
@include('layouts.footer') </div>
</div> </div>
</body> </x-app-layout>
</html>

View File

@@ -1,22 +1,11 @@
<!DOCTYPE html> <x-app-layout>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="scroll-smooth"> @include('partials.background')
@include('partials.head') <div class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-10 flex flex-row">
<body class="font-sans antialiased"> <div class="flex flex-col md:flex-row">
<div class="flex flex-col min-h-screen bg-gray-100 dark:bg-neutral-900"> @include('profile.partials.sidebar')
@include('layouts.navigation') <div class="max-w-7xl mx-auto sm:px-6 lg:px-8 mt-8 md:mt-0 space-y-6">
<!-- Page Content --> @livewire('user-subscription', ['user' => $user])
<main>
@include('partials.background')
<div class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-20 mt-[65px] flex flex-row">
<div class="flex flex-col md:flex-row">
@include('profile.partials.sidebar')
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8 mt-8 md:mt-0 space-y-6">
@livewire('user-subscription', ['user' => $user])
</div>
</div>
</div> </div>
</main> </div>
@include('layouts.footer')
</div> </div>
</body> </x-app-layout>
</html>

View File

@@ -1,20 +1,9 @@
<!DOCTYPE html> <x-app-layout>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="scroll-smooth"> @include('partials.background')
@include('partials.head') <div class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-10 flex flex-row">
<body class="font-sans antialiased"> <div class="flex flex-col md:flex-row">
<div class="flex flex-col min-h-screen bg-gray-100 dark:bg-neutral-900"> @include('profile.partials.sidebar')
@include('layouts.navigation') @livewire('watched', ['user' => $user])
<!-- Page Content --> </div>
<main>
@include('partials.background')
<div class="relative max-w-[120rem] mx-auto sm:px-6 lg:px-8 space-y-6 pt-20 mt-[65px] flex flex-row">
<div class="flex flex-col md:flex-row">
@include('profile.partials.sidebar')
@livewire('watched', ['user' => $user])
</div>
</div>
</main>
@include('layouts.footer')
</div> </div>
</body> </x-app-layout>
</html>

View File

@@ -1,17 +1,4 @@
<!DOCTYPE html> <x-app-layout>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="scroll-smooth"> @include('partials.background')
@include('partials.head') @livewire('live-search')
</x-app-layout>
<body class="font-sans antialiased">
<div class="flex flex-col min-h-screen bg-gray-100 dark:bg-neutral-900">
@include('layouts.navigation')
<!-- Page Content -->
<main>
@include('partials.background')
@livewire('live-search')
</main>
@include('layouts.footer')
</div>
</body>
</html>

View File

@@ -1,30 +1,18 @@
<!DOCTYPE html> <x-app-layout>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="scroll-smooth"> @php $episode = $hentai->episodes[0]; @endphp
<div class="pt-6">
<div class="flex flex-col lg:flex-row justify-center">
<div class="pt-2 sm:px-2 lg:px-4 space-y-6 max-w-[100%] xl:max-w-[70%] 2xl:max-w-[60%] z-10">
@include('series.partials.info')
@include('partials.head') @include('series.partials.episodes')
<body class="font-sans antialiased"> <livewire:comments :model="$hentai"/>
<div class="flex flex-col min-h-screen bg-gray-100 dark:bg-neutral-900"> </div>
@include('layouts.navigation')
<!-- Page Content -->
<main>
@php $episode = $hentai->episodes[0]; @endphp
<div class="pt-6 mt-[65px]">
<div class="flex flex-col lg:flex-row justify-center">
<div class="pt-2 sm:px-2 lg:px-4 space-y-6 max-w-[100%] xl:max-w-[70%] 2xl:max-w-[60%] z-10">
@include('series.partials.info')
@include('series.partials.episodes') @include('series.partials.popular')
<livewire:comments :model="$hentai"/>
</div>
@include('series.partials.popular')
</div>
</div>
</main>
@include('layouts.footer')
</div> </div>
</body> </div>
</html> </x-app-layout>

View File

@@ -1,67 +1,55 @@
<!DOCTYPE html> <x-app-layout>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="scroll-smooth"> <div class="pt-10">
@include('partials.head') <div class="flex flex-col xl:flex-row justify-center">
<body class="font-sans antialiased"> @if($episode->is_dvd_aspect)
<div class="flex flex-col min-h-screen bg-gray-100 dark:bg-neutral-900"> <div class="pt-2 sm:px-2 lg:px-4 space-y-6 max-w-[100%] xl:max-w-[80%] 2xl:max-w-[58%]">
@include('layouts.navigation') @else
<!-- Page Content --> <div class="pt-2 sm:px-2 lg:px-4 space-y-6 max-w-[100%] xl:max-w-[80%] 2xl:max-w-[70%]">
<main> @endif
<div class="pt-6 mt-[65px]"> <!-- Player -->
<div class="flex flex-col xl:flex-row justify-center"> @include('stream.partials.player')
@if($episode->is_dvd_aspect)
<div class="pt-2 sm:px-2 lg:px-4 space-y-6 max-w-[100%] xl:max-w-[80%] 2xl:max-w-[58%]">
@else
<div class="pt-2 sm:px-2 lg:px-4 space-y-6 max-w-[100%] xl:max-w-[80%] 2xl:max-w-[70%]">
@endif
<!-- Player -->
@include('stream.partials.player')
@if($isMobile) @if($isMobile)
<div class="flex flex-col"> <div class="flex flex-col">
@include('stream.partials.playlist') @include('stream.partials.playlist')
</div>
@endif
@include('admin.stream')
<!-- Infos -->
@include('stream.partials.info')
<!-- Comments -->
<livewire:comments :model="$episode"/>
</div>
<div class="flex flex-col">
@if(! $isMobile)
@include('stream.partials.playlist')
@endif
@include('stream.partials.more-episodes')
@include('stream.partials.more-studio')
@include('series.partials.popular')
</div>
</div>
</div> </div>
<br> @endif
<!-- Modals -->
@include('modals.download')
@include('modals.add-to-playlist')
@include('modals.share')
@auth @include('admin.stream')
<!-- Infos -->
@include('stream.partials.info')
<!-- Comments -->
<livewire:comments :model="$episode"/>
</div>
<div class="flex flex-col">
@if(! $isMobile)
@include('stream.partials.playlist')
@endif
@if(Auth::user()->hasRole(\App\Enums\UserRole::ADMINISTRATOR) || Auth::user()->hasRole(\App\Enums\UserRole::MODERATOR)) @include('stream.partials.more-episodes')
@include('admin.modals.edit-episode') @include('stream.partials.more-studio')
@endif @include('series.partials.popular')
</div>
@if(Auth::user()->hasRole(\App\Enums\UserRole::ADMINISTRATOR))
@include('admin.modals.upload-episode')
@include('admin.modals.add-subtitles')
@endif
@endauth
<!-- Player Script -->
@vite(['resources/js/player.js'])
</main>
@include('layouts.footer')
</div> </div>
@livewireScripts </div>
</body> <br>
</html> <!-- Modals -->
@include('modals.download')
@include('modals.add-to-playlist')
@include('modals.share')
@auth
@if(Auth::user()->hasRole(\App\Enums\UserRole::ADMINISTRATOR) || Auth::user()->hasRole(\App\Enums\UserRole::MODERATOR))
@include('admin.modals.edit-episode')
@endif
@if(Auth::user()->hasRole(\App\Enums\UserRole::ADMINISTRATOR))
@include('admin.modals.upload-episode')
@include('admin.modals.add-subtitles')
@endif
@endauth
<!-- Player Script -->
@vite(['resources/js/player.js'])
</x-app-layout>