Files
zemailnator/resources/views/components/layouts/app.blade.php

130 lines
5.8 KiB
PHP

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ $title ?? 'Page Title' }}</title>
@if (file_exists(public_path('build/manifest.json')) || file_exists(public_path('hot')))
@vite(['resources/css/app.css', 'resources/css/boil.css', 'resources/js/app.js', 'resources/js/boil.js'])
@endif
<link rel="icon" type="image/png" href="{{ asset('images/logo.webp') }}">
@fluxAppearance
</head>
<body class="min-h-screen bg-white dark:bg-zinc-800">
<flux:sidebar sticky stashable class="bg-zinc-50 dark:bg-zinc-900 border-r rtl:border-r-0 rtl:border-l border-zinc-200 dark:border-zinc-700">
<flux:sidebar.toggle class="lg:hidden" icon="x-mark" />
<div class="flex items-center px-2 py-2 cursor-pointer" onclick="window.location.href='{{ route('home') }}'">
<img src="{{ asset('images/zemail-logo-light.webp') }}" class="dark:hidden" alt="logo"/>
<img src="{{ asset('images/zemail-logo-dark.webp') }}" class="hidden dark:flex" alt="logo"/>
</div>
<flux:navlist variant="outline">
<flux:button class="cursor-pointer inbox-btn" variant="filled" icon="inbox" x-on:click="$dispatch('getEmail')">Inbox</flux:button>
<flux:button class="mt-2 cursor-pointer" variant="filled" icon="refresh-cw" x-on:click="Livewire.dispatch('updateEmail')">Refresh</flux:button>
</flux:navlist>
<img src="https://placehold.co/300x250?font=roboto" alt="sideAds" />
<flux:spacer />
<flux:navlist variant="outline">
<flux:navlist.item href="#">API</flux:navlist.item>
<flux:navlist.item href="#">FAQ</flux:navlist.item>
<flux:navlist.item href="#">Privacy</flux:navlist.item>
<flux:navlist.item href="#">Feedback</flux:navlist.item>
<flux:navlist.item href="#">Contacts</flux:navlist.item>
<flux:separator variant="subtle" />
</flux:navlist>
<p>&copy; {{ config('app.settings.app_name') }}</p>
</flux:sidebar>
<flux:header sticky container class="bg-zinc-50 dark:bg-zinc-900 border-b border-zinc-200 dark:border-zinc-700">
<flux:sidebar.toggle class="lg:hidden" icon="bars-3" inset="left" />
<flux:separator vertical class="lg:hidden lg:mx-0 mx-3" />
<flux:icon.mail variant="mini"/>
<livewire:frontend.email type="header"/>
<flux:spacer />
<flux:navbar class="me-4">
<flux:tooltip content="Language">
<flux:button x-data x-on:click="" icon="language" variant="subtle" aria-label="Language" />
</flux:tooltip>
<flux:tooltip content="Switch Theme">
<flux:button x-data x-on:click="$flux.dark = ! $flux.dark" icon="moon" variant="subtle" aria-label="Toggle dark mode" />
</flux:tooltip>
<flux:dropdown position="top" align="start">
<flux:button icon="circle-user-round" variant="subtle" aria-label="Account" />
<flux:menu>
<flux:text class="p-1">You are signed in as:</flux:text>
<div wire:ignore>
<livewire:frontend.email />
</div>
<flux:menu.separator />
<div class="flex">
<flux:modal.trigger name="create-account">
<flux:button class="p-1 w-full" variant="outline" icon="mail-plus" style="">Create Account</flux:button>
</flux:modal.trigger>
<flux:modal.trigger name="delete-account">
<flux:tooltip content="Delete Account">
<flux:button class="ml-1 p-1" icon="trash" variant="outline" style="color:#F14743;"></flux:button>
</flux:tooltip>
</flux:modal.trigger>
</div>
</flux:menu>
</flux:dropdown>
</flux:navbar>
</flux:header>
<flux:modal name="create-account" class="md:w-96">
<div class="space-y-6">
<div>
<flux:heading size="lg">Generate Your Temporary Email</flux:heading>
</div>
<livewire:frontend.action action="customEmail" />
<flux:separator text="or" />
<div class="flex w-full">
<div class="w-1/2">
<livewire:frontend.action action="random" />
</div>
<div class="w-1/2">
<livewire:frontend.action action="gmail" />
</div>
</div>
</div>
</flux:modal>
<flux:modal name="delete-account" class="min-w-[22rem]">
<div class="space-y-6">
<div>
<flux:heading size="lg">Delete account?</flux:heading>
<flux:text class="mt-2">
<p>You're about to delete this account.</p>
</flux:text>
</div>
<div class="flex gap-2">
<flux:spacer />
<flux:modal.close>
<flux:button variant="ghost">Cancel</flux:button>
</flux:modal.close>
<livewire:frontend.action action="delete" />
</div>
</div>
</flux:modal>
<flux:main class="dark:bg-gray-900 bg-gray-100">
{{ $slot }}
</flux:main>
<!-- Toast Container -->
<div id="toast-container" class="fixed top-5 left-1/2 transform -translate-x-1/2 z-50 space-y-4"></div>
<!-- Toast Wrapper (top center) -->
<div id="toast-container" class="fixed flex flex-col w-[calc(100%-2rem)] sm:w-96 z-[999999] right-4 top-4 left-1/2 -translate-x-1/2 space-y-2 pointer-events-none"></div>
@fluxScripts
</body>
</html>