Update
This commit is contained in:
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Illuminate\Foundation\Inspiring;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Inertia\Middleware;
|
use Inertia\Middleware;
|
||||||
use Tighten\Ziggy\Ziggy;
|
use Tighten\Ziggy\Ziggy;
|
||||||
@@ -37,12 +36,8 @@ public function version(Request $request): ?string
|
|||||||
*/
|
*/
|
||||||
public function share(Request $request): array
|
public function share(Request $request): array
|
||||||
{
|
{
|
||||||
[$message, $author] = str(Inspiring::quotes()->random())->explode('-');
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
...parent::share($request),
|
...parent::share($request),
|
||||||
'name' => config('app.name'),
|
|
||||||
'quote' => ['message' => trim($message), 'author' => trim($author)],
|
|
||||||
'auth' => [
|
'auth' => [
|
||||||
'user' => $request->user(),
|
'user' => $request->user(),
|
||||||
'user_is_admin' => user_is_master_admin($request->user()),
|
'user_is_admin' => user_is_master_admin($request->user()),
|
||||||
@@ -51,12 +46,6 @@ public function share(Request $request): array
|
|||||||
...(new Ziggy)->toArray(),
|
...(new Ziggy)->toArray(),
|
||||||
'location' => $request->url(),
|
'location' => $request->url(),
|
||||||
],
|
],
|
||||||
'sidebarOpen' => ! $request->hasCookie('sidebar_state') || $request->cookie('sidebar_state') === 'true',
|
|
||||||
'flash' => [
|
|
||||||
'message' => fn () => $request->session()->get('message'),
|
|
||||||
'error' => fn () => $request->session()->get('error'),
|
|
||||||
'success' => fn () => $request->session()->get('success'),
|
|
||||||
],
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,11 +8,11 @@ interface AppShellProps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function AppShell({ children, variant = 'header' }: AppShellProps) {
|
export function AppShell({ children, variant = 'header' }: AppShellProps) {
|
||||||
const isOpen = usePage<SharedData>().props.sidebarOpen;
|
const defaultSidebarOpen = true;
|
||||||
|
|
||||||
if (variant === 'header') {
|
if (variant === 'header') {
|
||||||
return <div className="flex min-h-screen w-full flex-col">{children}</div>;
|
return <div className="flex min-h-screen w-full flex-col">{children}</div>;
|
||||||
}
|
}
|
||||||
|
|
||||||
return <SidebarProvider defaultOpen={isOpen}>{children}</SidebarProvider>;
|
return <SidebarProvider defaultOpen={defaultSidebarOpen}>{children}</SidebarProvider>;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ interface AuthLayoutProps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default function AuthSplitLayout({ children, title, description }: PropsWithChildren<AuthLayoutProps>) {
|
export default function AuthSplitLayout({ children, title, description }: PropsWithChildren<AuthLayoutProps>) {
|
||||||
const { name, quote } = usePage<SharedData>().props;
|
const appName = 'MEMEFAST';
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="relative grid h-dvh flex-col items-center justify-center px-8 sm:px-0 lg:max-w-none lg:grid-cols-2 lg:px-0">
|
<div className="relative grid h-dvh flex-col items-center justify-center px-8 sm:px-0 lg:max-w-none lg:grid-cols-2 lg:px-0">
|
||||||
@@ -17,16 +17,8 @@ export default function AuthSplitLayout({ children, title, description }: PropsW
|
|||||||
<div className="absolute inset-0 bg-zinc-900" />
|
<div className="absolute inset-0 bg-zinc-900" />
|
||||||
<Link href={route('home')} className="relative z-20 flex items-center text-lg font-medium">
|
<Link href={route('home')} className="relative z-20 flex items-center text-lg font-medium">
|
||||||
<AppLogoIcon className="mr-2 size-8 fill-current text-white" />
|
<AppLogoIcon className="mr-2 size-8 fill-current text-white" />
|
||||||
{name}
|
{appName}
|
||||||
</Link>
|
</Link>
|
||||||
{quote && (
|
|
||||||
<div className="relative z-20 mt-auto">
|
|
||||||
<blockquote className="space-y-2">
|
|
||||||
<p className="text-lg">“{quote.message}”</p>
|
|
||||||
<footer className="text-sm text-neutral-300">{quote.author}</footer>
|
|
||||||
</blockquote>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
</div>
|
||||||
<div className="w-full lg:p-8">
|
<div className="w-full lg:p-8">
|
||||||
<div className="mx-auto flex w-full flex-col justify-center space-y-6 sm:w-[350px]">
|
<div className="mx-auto flex w-full flex-col justify-center space-y-6 sm:w-[350px]">
|
||||||
|
|||||||
@@ -6,15 +6,15 @@ const FlashMessages = () => {
|
|||||||
const { flash } = usePage().props;
|
const { flash } = usePage().props;
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (flash.message) {
|
if (flash?.message) {
|
||||||
toast.success(flash.message);
|
toast.success(flash.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flash.error) {
|
if (flash?.error) {
|
||||||
toast.error(flash.error);
|
toast.error(flash.error);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flash.success) {
|
if (flash?.success) {
|
||||||
toast.success(flash.success);
|
toast.success(flash.success);
|
||||||
}
|
}
|
||||||
}, [flash]);
|
}, [flash]);
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Head } from '@inertiajs/react';
|
import { Head } from '@inertiajs/react';
|
||||||
import AuthUser from '@/modules/auth/auth-user';
|
import AuthUser from '@/modules/auth/auth-user';
|
||||||
import FlashMessages from '@/modules/flash/flash-messages';
|
|
||||||
import Footer from '@/pages/home/partials/Footer.jsx';
|
import Footer from '@/pages/home/partials/Footer.jsx';
|
||||||
|
|
||||||
interface PrivacyProps {
|
interface PrivacyProps {
|
||||||
@@ -26,7 +25,6 @@ const Privacy: React.FC<PrivacyProps> = ({ content, title }) => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Footer />
|
<Footer />
|
||||||
<FlashMessages />
|
|
||||||
<AuthUser />
|
<AuthUser />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Head } from '@inertiajs/react';
|
import { Head } from '@inertiajs/react';
|
||||||
import AuthUser from '@/modules/auth/auth-user';
|
import AuthUser from '@/modules/auth/auth-user';
|
||||||
import FlashMessages from '@/modules/flash/flash-messages';
|
|
||||||
import Footer from '@/pages/home/partials/Footer.jsx';
|
import Footer from '@/pages/home/partials/Footer.jsx';
|
||||||
|
|
||||||
interface TermsProps {
|
interface TermsProps {
|
||||||
@@ -26,7 +25,6 @@ const Terms: React.FC<TermsProps> = ({ content, title }) => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Footer />
|
<Footer />
|
||||||
<FlashMessages />
|
|
||||||
<AuthUser />
|
<AuthUser />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import AuthUser from '@/modules/auth/auth-user';
|
import AuthUser from '@/modules/auth/auth-user';
|
||||||
import Editor from '@/modules/editor/editor.jsx';
|
import Editor from '@/modules/editor/editor.jsx';
|
||||||
import FlashMessages from '@/modules/flash/flash-messages';
|
|
||||||
import FAQDiscord from './partials/FAQDiscord.jsx';
|
import FAQDiscord from './partials/FAQDiscord.jsx';
|
||||||
import Features from './partials/Features.jsx';
|
import Features from './partials/Features.jsx';
|
||||||
import Footer from './partials/Footer.jsx';
|
import Footer from './partials/Footer.jsx';
|
||||||
@@ -18,7 +17,6 @@ const Home = () => {
|
|||||||
<FAQDiscord />
|
<FAQDiscord />
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
<Footer />
|
||||||
<FlashMessages />
|
|
||||||
<AuthUser />
|
<AuthUser />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
2
resources/js/types/index.d.ts
vendored
2
resources/js/types/index.d.ts
vendored
@@ -24,10 +24,8 @@ export interface NavItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface SharedData {
|
export interface SharedData {
|
||||||
quote: { message: string; author: string };
|
|
||||||
auth: Auth;
|
auth: Auth;
|
||||||
ziggy: Config & { location: string };
|
ziggy: Config & { location: string };
|
||||||
sidebarOpen: boolean;
|
|
||||||
[key: string]: unknown;
|
[key: string]: unknown;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user