From bddd3f65ca4280fab5b2fb5c192693133e1bef75 Mon Sep 17 00:00:00 2001 From: Joey McKenzie Date: Wed, 26 Feb 2025 09:32:57 -0800 Subject: [PATCH 01/11] fix: check for window when running ssr --- bootstrap/ssr/assets/app-layout-D4gdSMSC.js | 928 +++++++++++++ .../ssr/assets/app-logo-icon-CoogQ1E6.js | 65 + bootstrap/ssr/assets/appearance-CMAYpXjP.js | 94 ++ bootstrap/ssr/assets/auth-layout-Cff_NC5i.js | 24 + .../ssr/assets/confirm-password-G8rU-P06.js | 58 + bootstrap/ssr/assets/dashboard-DRbhOQX8.js | 43 + .../ssr/assets/forgot-password-Bm_VS9pf.js | 57 + bootstrap/ssr/assets/label-Byzlra19.js | 43 + bootstrap/ssr/assets/layout-jPnBvemX.js | 80 ++ bootstrap/ssr/assets/login-nGtNK223.js | 112 ++ bootstrap/ssr/assets/password-obBdSHh5.js | 127 ++ bootstrap/ssr/assets/profile-qrFaR_Uf.js | 277 ++++ bootstrap/ssr/assets/register-C_guXizf.js | 118 ++ .../ssr/assets/reset-password-uqjsfg_p.js | 89 ++ bootstrap/ssr/assets/text-link-D9-1YxGP.js | 19 + bootstrap/ssr/assets/verify-email-BdQbCV_K.js | 31 + bootstrap/ssr/assets/welcome-CtPb_rEB.js | 1157 +++++++++++++++++ bootstrap/ssr/ssr-manifest.json | 164 +++ bootstrap/ssr/ssr.js | 362 ++++++ package-lock.json | 20 +- package.json | 1 + resources/js/app.tsx | 5 - resources/js/hooks/use-appearance.tsx | 20 +- resources/js/ssr.jsx | 21 - resources/js/ssr.tsx | 30 + resources/js/types/global.d.ts | 5 + tsconfig.json | 6 +- vite.config.js => vite.config.ts | 16 +- 28 files changed, 3934 insertions(+), 38 deletions(-) create mode 100644 bootstrap/ssr/assets/app-layout-D4gdSMSC.js create mode 100644 bootstrap/ssr/assets/app-logo-icon-CoogQ1E6.js create mode 100644 bootstrap/ssr/assets/appearance-CMAYpXjP.js create mode 100644 bootstrap/ssr/assets/auth-layout-Cff_NC5i.js create mode 100644 bootstrap/ssr/assets/confirm-password-G8rU-P06.js create mode 100644 bootstrap/ssr/assets/dashboard-DRbhOQX8.js create mode 100644 bootstrap/ssr/assets/forgot-password-Bm_VS9pf.js create mode 100644 bootstrap/ssr/assets/label-Byzlra19.js create mode 100644 bootstrap/ssr/assets/layout-jPnBvemX.js create mode 100644 bootstrap/ssr/assets/login-nGtNK223.js create mode 100644 bootstrap/ssr/assets/password-obBdSHh5.js create mode 100644 bootstrap/ssr/assets/profile-qrFaR_Uf.js create mode 100644 bootstrap/ssr/assets/register-C_guXizf.js create mode 100644 bootstrap/ssr/assets/reset-password-uqjsfg_p.js create mode 100644 bootstrap/ssr/assets/text-link-D9-1YxGP.js create mode 100644 bootstrap/ssr/assets/verify-email-BdQbCV_K.js create mode 100644 bootstrap/ssr/assets/welcome-CtPb_rEB.js create mode 100644 bootstrap/ssr/ssr-manifest.json create mode 100644 bootstrap/ssr/ssr.js delete mode 100644 resources/js/ssr.jsx create mode 100644 resources/js/ssr.tsx create mode 100644 resources/js/types/global.d.ts rename vite.config.js => vite.config.ts (55%) diff --git a/bootstrap/ssr/assets/app-layout-D4gdSMSC.js b/bootstrap/ssr/assets/app-layout-D4gdSMSC.js new file mode 100644 index 00000000..af1e7eaf --- /dev/null +++ b/bootstrap/ssr/assets/app-layout-D4gdSMSC.js @@ -0,0 +1,928 @@ +import { jsx, jsxs, Fragment } from "react/jsx-runtime"; +import * as React from "react"; +import { useState, useEffect, useCallback, Fragment as Fragment$1 } from "react"; +import { Slot } from "@radix-ui/react-slot"; +import { cva } from "class-variance-authority"; +import { XIcon, PanelLeftIcon, Settings, LogOut, ChevronsUpDown, LayoutGrid, Folder, BookOpen, ChevronRight } from "lucide-react"; +import { c as cn, B as Button, A as AppLogoIcon } from "./app-logo-icon-CoogQ1E6.js"; +import * as SheetPrimitive from "@radix-ui/react-dialog"; +import * as TooltipPrimitive from "@radix-ui/react-tooltip"; +import { usePage, Link } from "@inertiajs/react"; +import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"; +import * as AvatarPrimitive from "@radix-ui/react-avatar"; +const MOBILE_BREAKPOINT = 768; +function useIsMobile() { + const [isMobile, setIsMobile] = useState(void 0); + useEffect(() => { + const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`); + const onChange = () => { + setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); + }; + mql.addEventListener("change", onChange); + setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); + return () => mql.removeEventListener("change", onChange); + }, []); + return !!isMobile; +} +function Sheet({ ...props }) { + return /* @__PURE__ */ jsx(SheetPrimitive.Root, { "data-slot": "sheet", ...props }); +} +function SheetPortal({ + ...props +}) { + return /* @__PURE__ */ jsx(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props }); +} +function SheetOverlay({ + className, + ...props +}) { + return /* @__PURE__ */ jsx( + SheetPrimitive.Overlay, + { + "data-slot": "sheet-overlay", + className: cn( + "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80", + className + ), + ...props + } + ); +} +function SheetContent({ + className, + children, + side = "right", + ...props +}) { + return /* @__PURE__ */ jsxs(SheetPortal, { children: [ + /* @__PURE__ */ jsx(SheetOverlay, {}), + /* @__PURE__ */ jsxs( + SheetPrimitive.Content, + { + "data-slot": "sheet-content", + className: cn( + "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500", + side === "right" && "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm", + side === "left" && "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm", + side === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b", + side === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t", + className + ), + ...props, + children: [ + children, + /* @__PURE__ */ jsxs(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [ + /* @__PURE__ */ jsx(XIcon, { className: "size-4" }), + /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" }) + ] }) + ] + } + ) + ] }); +} +function SheetHeader({ className, ...props }) { + return /* @__PURE__ */ jsx( + "div", + { + "data-slot": "sheet-header", + className: cn("flex flex-col gap-1.5 p-4", className), + ...props + } + ); +} +function SheetTitle({ + className, + ...props +}) { + return /* @__PURE__ */ jsx( + SheetPrimitive.Title, + { + "data-slot": "sheet-title", + className: cn("text-foreground font-semibold", className), + ...props + } + ); +} +function SheetDescription({ + className, + ...props +}) { + return /* @__PURE__ */ jsx( + SheetPrimitive.Description, + { + "data-slot": "sheet-description", + className: cn("text-muted-foreground text-sm", className), + ...props + } + ); +} +function TooltipProvider({ + delayDuration = 0, + ...props +}) { + return /* @__PURE__ */ jsx( + TooltipPrimitive.Provider, + { + "data-slot": "tooltip-provider", + delayDuration, + ...props + } + ); +} +function Tooltip({ + ...props +}) { + return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props }) }); +} +function TooltipTrigger({ + ...props +}) { + return /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props }); +} +function TooltipContent({ + className, + sideOffset = 4, + children, + ...props +}) { + return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs( + TooltipPrimitive.Content, + { + "data-slot": "tooltip-content", + sideOffset, + className: cn( + "bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-w-sm rounded-md px-3 py-1.5 text-xs", + className + ), + ...props, + children: [ + children, + /* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" }) + ] + } + ) }); +} +const SIDEBAR_COOKIE_NAME = "sidebar_state"; +const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7; +const SIDEBAR_WIDTH = "16rem"; +const SIDEBAR_WIDTH_MOBILE = "18rem"; +const SIDEBAR_WIDTH_ICON = "3rem"; +const SIDEBAR_KEYBOARD_SHORTCUT = "b"; +const SidebarContext = React.createContext(null); +function useSidebar() { + const context = React.useContext(SidebarContext); + if (!context) { + throw new Error("useSidebar must be used within a SidebarProvider."); + } + return context; +} +function SidebarProvider({ + defaultOpen = true, + open: openProp, + onOpenChange: setOpenProp, + className, + style, + children, + ...props +}) { + const isMobile = useIsMobile(); + const [openMobile, setOpenMobile] = React.useState(false); + const [_open, _setOpen] = React.useState(defaultOpen); + const open = openProp ?? _open; + const setOpen = React.useCallback( + (value) => { + const openState = typeof value === "function" ? value(open) : value; + if (setOpenProp) { + setOpenProp(openState); + } else { + _setOpen(openState); + } + document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`; + }, + [setOpenProp, open] + ); + const toggleSidebar = React.useCallback(() => { + return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2); + }, [isMobile, setOpen, setOpenMobile]); + React.useEffect(() => { + const handleKeyDown = (event) => { + if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) { + event.preventDefault(); + toggleSidebar(); + } + }; + window.addEventListener("keydown", handleKeyDown); + return () => window.removeEventListener("keydown", handleKeyDown); + }, [toggleSidebar]); + const state = open ? "expanded" : "collapsed"; + const contextValue = React.useMemo( + () => ({ + state, + open, + setOpen, + isMobile, + openMobile, + setOpenMobile, + toggleSidebar + }), + [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar] + ); + return /* @__PURE__ */ jsx(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx( + "div", + { + "data-slot": "sidebar-wrapper", + style: { + "--sidebar-width": SIDEBAR_WIDTH, + "--sidebar-width-icon": SIDEBAR_WIDTH_ICON, + ...style + }, + className: cn( + "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full", + className + ), + ...props, + children + } + ) }) }); +} +function Sidebar({ + side = "left", + variant = "sidebar", + collapsible = "offcanvas", + className, + children, + ...props +}) { + const { isMobile, state, openMobile, setOpenMobile } = useSidebar(); + if (collapsible === "none") { + return /* @__PURE__ */ jsx( + "div", + { + "data-slot": "sidebar", + className: cn( + "bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col", + className + ), + ...props, + children + } + ); + } + if (isMobile) { + return /* @__PURE__ */ jsxs(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: [ + /* @__PURE__ */ jsxs(SheetHeader, { className: "sr-only", children: [ + /* @__PURE__ */ jsx(SheetTitle, { children: "Sidebar" }), + /* @__PURE__ */ jsx(SheetDescription, { children: "Displays the mobile sidebar." }) + ] }), + /* @__PURE__ */ jsx( + SheetContent, + { + "data-sidebar": "sidebar", + "data-slot": "sidebar", + "data-mobile": "true", + className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden", + style: { + "--sidebar-width": SIDEBAR_WIDTH_MOBILE + }, + side, + children: /* @__PURE__ */ jsx("div", { className: "flex h-full w-full flex-col", children }) + } + ) + ] }); + } + return /* @__PURE__ */ jsxs( + "div", + { + className: "group peer text-sidebar-foreground hidden md:block", + "data-state": state, + "data-collapsible": state === "collapsed" ? collapsible : "", + "data-variant": variant, + "data-side": side, + "data-slot": "sidebar", + children: [ + /* @__PURE__ */ jsx( + "div", + { + className: cn( + "relative h-svh w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear", + "group-data-[collapsible=offcanvas]:w-0", + "group-data-[side=right]:rotate-180", + variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)" + ) + } + ), + /* @__PURE__ */ jsx( + "div", + { + className: cn( + "fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex", + side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]", + // Adjust the padding for floating and inset variants. + variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l", + className + ), + ...props, + children: /* @__PURE__ */ jsx( + "div", + { + "data-sidebar": "sidebar", + className: "bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm", + children + } + ) + } + ) + ] + } + ); +} +function SidebarTrigger({ + className, + onClick, + ...props +}) { + const { toggleSidebar } = useSidebar(); + return /* @__PURE__ */ jsxs( + Button, + { + "data-sidebar": "trigger", + "data-slot": "sidebar-trigger", + variant: "ghost", + size: "icon", + className: cn("h-7 w-7", className), + onClick: (event) => { + onClick == null ? void 0 : onClick(event); + toggleSidebar(); + }, + ...props, + children: [ + /* @__PURE__ */ jsx(PanelLeftIcon, {}), + /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Toggle Sidebar" }) + ] + } + ); +} +function SidebarInset({ className, ...props }) { + return /* @__PURE__ */ jsx( + "main", + { + "data-slot": "sidebar-inset", + className: cn( + "bg-background relative flex min-h-svh flex-1 flex-col", + "peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", + className + ), + ...props + } + ); +} +function SidebarHeader({ className, ...props }) { + return /* @__PURE__ */ jsx( + "div", + { + "data-slot": "sidebar-header", + "data-sidebar": "header", + className: cn("flex flex-col gap-2 p-2", className), + ...props + } + ); +} +function SidebarFooter({ className, ...props }) { + return /* @__PURE__ */ jsx( + "div", + { + "data-slot": "sidebar-footer", + "data-sidebar": "footer", + className: cn("flex flex-col gap-2 p-2", className), + ...props + } + ); +} +function SidebarContent({ className, ...props }) { + return /* @__PURE__ */ jsx( + "div", + { + "data-slot": "sidebar-content", + "data-sidebar": "content", + className: cn( + "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", + className + ), + ...props + } + ); +} +function SidebarGroup({ className, ...props }) { + return /* @__PURE__ */ jsx( + "div", + { + "data-slot": "sidebar-group", + "data-sidebar": "group", + className: cn("relative flex w-full min-w-0 flex-col p-2", className), + ...props + } + ); +} +function SidebarGroupLabel({ + className, + asChild = false, + ...props +}) { + const Comp = asChild ? Slot : "div"; + return /* @__PURE__ */ jsx( + Comp, + { + "data-slot": "sidebar-group-label", + "data-sidebar": "group-label", + className: cn( + "text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opa] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", + "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", + className + ), + ...props + } + ); +} +function SidebarGroupContent({ + className, + ...props +}) { + return /* @__PURE__ */ jsx( + "div", + { + "data-slot": "sidebar-group-content", + "data-sidebar": "group-content", + className: cn("w-full text-sm", className), + ...props + } + ); +} +function SidebarMenu({ className, ...props }) { + return /* @__PURE__ */ jsx( + "ul", + { + "data-slot": "sidebar-menu", + "data-sidebar": "menu", + className: cn("flex w-full min-w-0 flex-col gap-1", className), + ...props + } + ); +} +function SidebarMenuItem({ className, ...props }) { + return /* @__PURE__ */ jsx( + "li", + { + "data-slot": "sidebar-menu-item", + "data-sidebar": "menu-item", + className: cn("group/menu-item relative", className), + ...props + } + ); +} +const sidebarMenuButtonVariants = cva( + "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", + { + variants: { + variant: { + default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground", + outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]" + }, + size: { + default: "h-8 text-sm", + sm: "h-7 text-xs", + lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!" + } + }, + defaultVariants: { + variant: "default", + size: "default" + } + } +); +function SidebarMenuButton({ + asChild = false, + isActive = false, + variant = "default", + size = "default", + tooltip, + className, + ...props +}) { + const Comp = asChild ? Slot : "button"; + const { isMobile, state } = useSidebar(); + const button = /* @__PURE__ */ jsx( + Comp, + { + "data-slot": "sidebar-menu-button", + "data-sidebar": "menu-button", + "data-size": size, + "data-active": isActive, + className: cn(sidebarMenuButtonVariants({ variant, size }), className), + ...props + } + ); + if (!tooltip) { + return button; + } + if (typeof tooltip === "string") { + tooltip = { + children: tooltip + }; + } + return /* @__PURE__ */ jsxs(Tooltip, { children: [ + /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: button }), + /* @__PURE__ */ jsx( + TooltipContent, + { + side: "right", + align: "center", + hidden: state !== "collapsed" || isMobile, + ...tooltip + } + ) + ] }); +} +function AppContent({ variant = "header", children, ...props }) { + if (variant === "sidebar") { + return /* @__PURE__ */ jsx(SidebarInset, { ...props, children }); + } + return /* @__PURE__ */ jsx("main", { className: "mx-auto flex h-full w-full max-w-7xl flex-1 flex-col gap-4 rounded-xl", ...props, children }); +} +function AppShell({ children, variant = "header" }) { + const [isOpen, setIsOpen] = useState(() => typeof window !== "undefined" ? localStorage.getItem("sidebar") !== "false" : true); + const handleSidebarChange = (open) => { + setIsOpen(open); + if (typeof window !== "undefined") { + localStorage.setItem("sidebar", String(open)); + } + }; + if (variant === "header") { + return /* @__PURE__ */ jsx("div", { className: "flex min-h-screen w-full flex-col", children }); + } + return /* @__PURE__ */ jsx(SidebarProvider, { defaultOpen: isOpen, open: isOpen, onOpenChange: handleSidebarChange, children }); +} +function Icon({ iconNode: IconComponent, className, ...props }) { + return /* @__PURE__ */ jsx(IconComponent, { className: cn("h-4 w-4", className), ...props }); +} +function NavFooter({ + items, + className, + ...props +}) { + return /* @__PURE__ */ jsx(SidebarGroup, { ...props, className: `group-data-[collapsible=icon]:p-0 ${className || ""}`, children: /* @__PURE__ */ jsx(SidebarGroupContent, { children: /* @__PURE__ */ jsx(SidebarMenu, { children: items.map((item) => /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsx( + SidebarMenuButton, + { + asChild: true, + className: "text-neutral-600 hover:text-neutral-800 dark:text-neutral-300 dark:hover:text-neutral-100", + children: /* @__PURE__ */ jsxs("a", { href: item.url, target: "_blank", rel: "noopener noreferrer", children: [ + item.icon && /* @__PURE__ */ jsx(Icon, { iconNode: item.icon, className: "h-5 w-5" }), + /* @__PURE__ */ jsx("span", { children: item.title }) + ] }) + } + ) }, item.title)) }) }) }); +} +function NavMain({ items = [] }) { + const page = usePage(); + return /* @__PURE__ */ jsxs(SidebarGroup, { className: "px-2 py-0", children: [ + /* @__PURE__ */ jsx(SidebarGroupLabel, { children: "Platform" }), + /* @__PURE__ */ jsx(SidebarMenu, { children: items.map((item) => /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsx(SidebarMenuButton, { asChild: true, isActive: item.url === page.url, children: /* @__PURE__ */ jsxs(Link, { href: item.url, prefetch: true, children: [ + item.icon && /* @__PURE__ */ jsx(item.icon, {}), + /* @__PURE__ */ jsx("span", { children: item.title }) + ] }) }) }, item.title)) }) + ] }); +} +function DropdownMenu({ + ...props +}) { + return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props }); +} +function DropdownMenuTrigger({ + ...props +}) { + return /* @__PURE__ */ jsx( + DropdownMenuPrimitive.Trigger, + { + "data-slot": "dropdown-menu-trigger", + ...props + } + ); +} +function DropdownMenuContent({ + className, + sideOffset = 4, + ...props +}) { + return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx( + DropdownMenuPrimitive.Content, + { + "data-slot": "dropdown-menu-content", + sideOffset, + className: cn( + "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md", + className + ), + ...props + } + ) }); +} +function DropdownMenuGroup({ + ...props +}) { + return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props }); +} +function DropdownMenuItem({ + className, + inset, + variant = "default", + ...props +}) { + return /* @__PURE__ */ jsx( + DropdownMenuPrimitive.Item, + { + "data-slot": "dropdown-menu-item", + "data-inset": inset, + "data-variant": variant, + className: cn( + "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/40 data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", + className + ), + ...props + } + ); +} +function DropdownMenuLabel({ + className, + inset, + ...props +}) { + return /* @__PURE__ */ jsx( + DropdownMenuPrimitive.Label, + { + "data-slot": "dropdown-menu-label", + "data-inset": inset, + className: cn( + "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", + className + ), + ...props + } + ); +} +function DropdownMenuSeparator({ + className, + ...props +}) { + return /* @__PURE__ */ jsx( + DropdownMenuPrimitive.Separator, + { + "data-slot": "dropdown-menu-separator", + className: cn("bg-border -mx-1 my-1 h-px", className), + ...props + } + ); +} +function Avatar({ + className, + ...props +}) { + return /* @__PURE__ */ jsx( + AvatarPrimitive.Root, + { + "data-slot": "avatar", + className: cn( + "relative flex size-8 shrink-0 overflow-hidden rounded-full", + className + ), + ...props + } + ); +} +function AvatarImage({ + className, + ...props +}) { + return /* @__PURE__ */ jsx( + AvatarPrimitive.Image, + { + "data-slot": "avatar-image", + className: cn("aspect-square size-full", className), + ...props + } + ); +} +function AvatarFallback({ + className, + ...props +}) { + return /* @__PURE__ */ jsx( + AvatarPrimitive.Fallback, + { + "data-slot": "avatar-fallback", + className: cn( + "bg-muted flex size-full items-center justify-center rounded-full", + className + ), + ...props + } + ); +} +function useInitials() { + const getInitials = (fullName) => { + const names = fullName.trim().split(" "); + if (names.length === 0) return ""; + if (names.length === 1) return names[0].charAt(0).toUpperCase(); + const firstInitial = names[0].charAt(0); + const lastInitial = names[names.length - 1].charAt(0); + return `${firstInitial}${lastInitial}`.toUpperCase(); + }; + return getInitials; +} +function UserInfo({ user, showEmail = false }) { + const getInitials = useInitials(); + return /* @__PURE__ */ jsxs(Fragment, { children: [ + /* @__PURE__ */ jsxs(Avatar, { className: "h-8 w-8 overflow-hidden rounded-full", children: [ + /* @__PURE__ */ jsx(AvatarImage, { src: user.avatar, alt: user.name }), + /* @__PURE__ */ jsx(AvatarFallback, { className: "rounded-lg bg-neutral-200 text-black dark:bg-neutral-700 dark:text-white", children: getInitials(user.name) }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [ + /* @__PURE__ */ jsx("span", { className: "truncate font-medium", children: user.name }), + showEmail && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground truncate text-xs", children: user.email }) + ] }) + ] }); +} +function useMobileNavigation() { + const cleanup = useCallback(() => { + document.body.style.removeProperty("pointer-events"); + }, []); + return cleanup; +} +function UserMenuContent({ user }) { + const cleanup = useMobileNavigation(); + return /* @__PURE__ */ jsxs(Fragment, { children: [ + /* @__PURE__ */ jsx(DropdownMenuLabel, { className: "p-0 font-normal", children: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 px-1 py-1.5 text-left text-sm", children: /* @__PURE__ */ jsx(UserInfo, { user, showEmail: true }) }) }), + /* @__PURE__ */ jsx(DropdownMenuSeparator, {}), + /* @__PURE__ */ jsx(DropdownMenuGroup, { children: /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs(Link, { className: "block w-full", href: route("profile.edit"), as: "button", prefetch: true, onClick: cleanup, children: [ + /* @__PURE__ */ jsx(Settings, { className: "mr-2" }), + "Settings" + ] }) }) }), + /* @__PURE__ */ jsx(DropdownMenuSeparator, {}), + /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs(Link, { className: "block w-full", method: "post", href: route("logout"), as: "button", onClick: cleanup, children: [ + /* @__PURE__ */ jsx(LogOut, { className: "mr-2" }), + "Log out" + ] }) }) + ] }); +} +function NavUser() { + const { auth } = usePage().props; + const { state } = useSidebar(); + const isMobile = useIsMobile(); + return /* @__PURE__ */ jsx(SidebarMenu, { children: /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxs(DropdownMenu, { children: [ + /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(SidebarMenuButton, { size: "lg", className: "text-sidebar-accent-foreground data-[state=open]:bg-sidebar-accent group", children: [ + /* @__PURE__ */ jsx(UserInfo, { user: auth.user }), + /* @__PURE__ */ jsx(ChevronsUpDown, { className: "ml-auto size-4" }) + ] }) }), + /* @__PURE__ */ jsx( + DropdownMenuContent, + { + className: "w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg", + align: "end", + side: isMobile ? "bottom" : state === "collapsed" ? "left" : "bottom", + children: /* @__PURE__ */ jsx(UserMenuContent, { user: auth.user }) + } + ) + ] }) }) }); +} +function AppLogo() { + return /* @__PURE__ */ jsxs(Fragment, { children: [ + /* @__PURE__ */ jsx("div", { className: "bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-md", children: /* @__PURE__ */ jsx(AppLogoIcon, { className: "size-5 fill-current text-white dark:text-black" }) }), + /* @__PURE__ */ jsx("div", { className: "ml-1 grid flex-1 text-left text-sm", children: /* @__PURE__ */ jsx("span", { className: "mb-0.5 truncate leading-none font-semibold", children: "Laravel Starter Kit" }) }) + ] }); +} +const mainNavItems = [ + { + title: "Dashboard", + url: "/dashboard", + icon: LayoutGrid + } +]; +const footerNavItems = [ + { + title: "Repository", + url: "https://github.com/laravel/react-starter-kit", + icon: Folder + }, + { + title: "Documentation", + url: "https://laravel.com/docs/starter-kits", + icon: BookOpen + } +]; +function AppSidebar() { + return /* @__PURE__ */ jsxs(Sidebar, { collapsible: "icon", variant: "inset", children: [ + /* @__PURE__ */ jsx(SidebarHeader, { children: /* @__PURE__ */ jsx(SidebarMenu, { children: /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsx(SidebarMenuButton, { size: "lg", asChild: true, children: /* @__PURE__ */ jsx(Link, { href: "/dashboard", prefetch: true, children: /* @__PURE__ */ jsx(AppLogo, {}) }) }) }) }) }), + /* @__PURE__ */ jsx(SidebarContent, { children: /* @__PURE__ */ jsx(NavMain, { items: mainNavItems }) }), + /* @__PURE__ */ jsxs(SidebarFooter, { children: [ + /* @__PURE__ */ jsx(NavFooter, { items: footerNavItems, className: "mt-auto" }), + /* @__PURE__ */ jsx(NavUser, {}) + ] }) + ] }); +} +function Breadcrumb({ ...props }) { + return /* @__PURE__ */ jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props }); +} +function BreadcrumbList({ className, ...props }) { + return /* @__PURE__ */ jsx( + "ol", + { + "data-slot": "breadcrumb-list", + className: cn( + "text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5", + className + ), + ...props + } + ); +} +function BreadcrumbItem({ className, ...props }) { + return /* @__PURE__ */ jsx( + "li", + { + "data-slot": "breadcrumb-item", + className: cn("inline-flex items-center gap-1.5", className), + ...props + } + ); +} +function BreadcrumbLink({ + asChild, + className, + ...props +}) { + const Comp = asChild ? Slot : "a"; + return /* @__PURE__ */ jsx( + Comp, + { + "data-slot": "breadcrumb-link", + className: cn("hover:text-foreground transition-colors", className), + ...props + } + ); +} +function BreadcrumbPage({ className, ...props }) { + return /* @__PURE__ */ jsx( + "span", + { + "data-slot": "breadcrumb-page", + role: "link", + "aria-disabled": "true", + "aria-current": "page", + className: cn("text-foreground font-normal", className), + ...props + } + ); +} +function BreadcrumbSeparator({ + children, + className, + ...props +}) { + return /* @__PURE__ */ jsx( + "li", + { + "data-slot": "breadcrumb-separator", + role: "presentation", + "aria-hidden": "true", + className: cn("[&>svg]:size-3.5", className), + ...props, + children: children ?? /* @__PURE__ */ jsx(ChevronRight, {}) + } + ); +} +function Breadcrumbs({ breadcrumbs }) { + return /* @__PURE__ */ jsx(Fragment, { children: breadcrumbs.length > 0 && /* @__PURE__ */ jsx(Breadcrumb, { children: /* @__PURE__ */ jsx(BreadcrumbList, { children: breadcrumbs.map((item, index) => { + const isLast = index === breadcrumbs.length - 1; + return /* @__PURE__ */ jsxs(Fragment$1, { children: [ + /* @__PURE__ */ jsx(BreadcrumbItem, { children: isLast ? /* @__PURE__ */ jsx(BreadcrumbPage, { children: item.title }) : /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Link, { href: item.href, children: item.title }) }) }), + !isLast && /* @__PURE__ */ jsx(BreadcrumbSeparator, {}) + ] }, index); + }) }) }) }); +} +function AppSidebarHeader({ breadcrumbs = [] }) { + return /* @__PURE__ */ jsx("header", { className: "border-sidebar-border/50 flex h-16 shrink-0 items-center gap-2 border-b px-6 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12 md:px-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [ + /* @__PURE__ */ jsx(SidebarTrigger, { className: "-ml-1" }), + /* @__PURE__ */ jsx(Breadcrumbs, { breadcrumbs }) + ] }) }); +} +function AppSidebarLayout({ children, breadcrumbs = [] }) { + return /* @__PURE__ */ jsxs(AppShell, { variant: "sidebar", children: [ + /* @__PURE__ */ jsx(AppSidebar, {}), + /* @__PURE__ */ jsxs(AppContent, { variant: "sidebar", children: [ + /* @__PURE__ */ jsx(AppSidebarHeader, { breadcrumbs }), + children + ] }) + ] }); +} +const AppLayout = ({ children, breadcrumbs, ...props }) => /* @__PURE__ */ jsx(AppSidebarLayout, { breadcrumbs, ...props, children }); +export { + AppLayout as A +}; diff --git a/bootstrap/ssr/assets/app-logo-icon-CoogQ1E6.js b/bootstrap/ssr/assets/app-logo-icon-CoogQ1E6.js new file mode 100644 index 00000000..3ac2be55 --- /dev/null +++ b/bootstrap/ssr/assets/app-logo-icon-CoogQ1E6.js @@ -0,0 +1,65 @@ +import { jsx } from "react/jsx-runtime"; +import { Slot } from "@radix-ui/react-slot"; +import { cva } from "class-variance-authority"; +import { clsx } from "clsx"; +import { twMerge } from "tailwind-merge"; +function cn(...inputs) { + return twMerge(clsx(inputs)); +} +const buttonVariants = cva( + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", + { + variants: { + variant: { + default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90", + destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40", + outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground", + secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline" + }, + size: { + default: "h-9 px-4 py-2 has-[>svg]:px-3", + sm: "h-8 rounded-md px-3 has-[>svg]:px-2.5", + lg: "h-10 rounded-md px-6 has-[>svg]:px-4", + icon: "size-9" + } + }, + defaultVariants: { + variant: "default", + size: "default" + } + } +); +function Button({ + className, + variant, + size, + asChild = false, + ...props +}) { + const Comp = asChild ? Slot : "button"; + return /* @__PURE__ */ jsx( + Comp, + { + "data-slot": "button", + className: cn(buttonVariants({ variant, size, className })), + ...props + } + ); +} +function AppLogoIcon(props) { + return /* @__PURE__ */ jsx("svg", { ...props, viewBox: "0 0 40 42", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M17.2 5.63325L8.6 0.855469L0 5.63325V32.1434L16.2 41.1434L32.4 32.1434V23.699L40 19.4767V9.85547L31.4 5.07769L22.8 9.85547V18.2999L17.2 21.411V5.63325ZM38 18.2999L32.4 21.411V15.2545L38 12.1434V18.2999ZM36.9409 10.4439L31.4 13.5221L25.8591 10.4439L31.4 7.36561L36.9409 10.4439ZM24.8 18.2999V12.1434L30.4 15.2545V21.411L24.8 18.2999ZM23.8 20.0323L29.3409 23.1105L16.2 30.411L10.6591 27.3328L23.8 20.0323ZM7.6 27.9212L15.2 32.1434V38.2999L2 30.9666V7.92116L7.6 11.0323V27.9212ZM8.6 9.29991L3.05913 6.22165L8.6 3.14339L14.1409 6.22165L8.6 9.29991ZM30.4 24.8101L17.2 32.1434V38.2999L30.4 30.9666V24.8101ZM9.6 11.0323L15.2 7.92117V22.5221L9.6 25.6333V11.0323Z" + } + ) }); +} +export { + AppLogoIcon as A, + Button as B, + cn as c +}; diff --git a/bootstrap/ssr/assets/appearance-CMAYpXjP.js b/bootstrap/ssr/assets/appearance-CMAYpXjP.js new file mode 100644 index 00000000..588832fb --- /dev/null +++ b/bootstrap/ssr/assets/appearance-CMAYpXjP.js @@ -0,0 +1,94 @@ +import { jsx, jsxs } from "react/jsx-runtime"; +import { Head } from "@inertiajs/react"; +import { useState, useEffect } from "react"; +import { c as cn } from "./app-logo-icon-CoogQ1E6.js"; +import { Sun, Moon, Monitor } from "lucide-react"; +import { S as SettingsLayout, H as HeadingSmall } from "./layout-jPnBvemX.js"; +import { A as AppLayout } from "./app-layout-D4gdSMSC.js"; +import "@radix-ui/react-slot"; +import "class-variance-authority"; +import "clsx"; +import "tailwind-merge"; +import "@radix-ui/react-separator"; +import "@radix-ui/react-dialog"; +import "@radix-ui/react-tooltip"; +import "@radix-ui/react-dropdown-menu"; +import "@radix-ui/react-avatar"; +const prefersDark = () => { + if (typeof window === "undefined") { + return false; + } + return window.matchMedia("(prefers-color-scheme: dark)").matches; +}; +const applyTheme = (appearance) => { + const isDark = appearance === "dark" || appearance === "system" && prefersDark(); + document.documentElement.classList.toggle("dark", isDark); +}; +const mediaQuery = () => { + if (typeof window === "undefined") { + return null; + } + return window.matchMedia("(prefers-color-scheme: dark)"); +}; +const handleSystemThemeChange = () => { + const currentAppearance = localStorage.getItem("appearance"); + applyTheme(currentAppearance || "system"); +}; +function useAppearance() { + const [appearance, setAppearance] = useState("system"); + const updateAppearance = (mode) => { + setAppearance(mode); + localStorage.setItem("appearance", mode); + applyTheme(mode); + }; + useEffect(() => { + const savedAppearance = localStorage.getItem("appearance"); + updateAppearance(savedAppearance || "system"); + return () => { + var _a; + return (_a = mediaQuery()) == null ? void 0 : _a.removeEventListener("change", handleSystemThemeChange); + }; + }, []); + return { appearance, updateAppearance }; +} +function AppearanceToggleTab({ className = "", ...props }) { + const { appearance, updateAppearance } = useAppearance(); + const tabs = [ + { value: "light", icon: Sun, label: "Light" }, + { value: "dark", icon: Moon, label: "Dark" }, + { value: "system", icon: Monitor, label: "System" } + ]; + return /* @__PURE__ */ jsx("div", { className: cn("inline-flex gap-1 rounded-lg bg-neutral-100 p-1 dark:bg-neutral-800", className), ...props, children: tabs.map(({ value, icon: Icon, label }) => /* @__PURE__ */ jsxs( + "button", + { + onClick: () => updateAppearance(value), + className: cn( + "flex items-center rounded-md px-3.5 py-1.5 transition-colors", + appearance === value ? "bg-white shadow-xs dark:bg-neutral-700 dark:text-neutral-100" : "text-neutral-500 hover:bg-neutral-200/60 hover:text-black dark:text-neutral-400 dark:hover:bg-neutral-700/60" + ), + children: [ + /* @__PURE__ */ jsx(Icon, { className: "-ml-1 h-4 w-4" }), + /* @__PURE__ */ jsx("span", { className: "ml-1.5 text-sm", children: label }) + ] + }, + value + )) }); +} +const breadcrumbs = [ + { + title: "Appearance settings", + href: "/settings/appearance" + } +]; +function Appearance() { + return /* @__PURE__ */ jsxs(AppLayout, { breadcrumbs, children: [ + /* @__PURE__ */ jsx(Head, { title: "Appearance settings" }), + /* @__PURE__ */ jsx(SettingsLayout, { children: /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [ + /* @__PURE__ */ jsx(HeadingSmall, { title: "Appearance settings", description: "Update your account's appearance settings" }), + /* @__PURE__ */ jsx(AppearanceToggleTab, {}) + ] }) }) + ] }); +} +export { + Appearance as default +}; diff --git a/bootstrap/ssr/assets/auth-layout-Cff_NC5i.js b/bootstrap/ssr/assets/auth-layout-Cff_NC5i.js new file mode 100644 index 00000000..4ee213f2 --- /dev/null +++ b/bootstrap/ssr/assets/auth-layout-Cff_NC5i.js @@ -0,0 +1,24 @@ +import { jsx, jsxs } from "react/jsx-runtime"; +import { A as AppLogoIcon } from "./app-logo-icon-CoogQ1E6.js"; +import { Link } from "@inertiajs/react"; +function AuthSimpleLayout({ children, title, description }) { + return /* @__PURE__ */ jsx("div", { className: "bg-background flex min-h-svh flex-col items-center justify-center gap-6 p-6 md:p-10", children: /* @__PURE__ */ jsx("div", { className: "w-full max-w-sm", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-8", children: [ + /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-4", children: [ + /* @__PURE__ */ jsxs(Link, { href: route("home"), className: "flex flex-col items-center gap-2 font-medium", children: [ + /* @__PURE__ */ jsx("div", { className: "mb-1 flex h-9 w-9 items-center justify-center rounded-md", children: /* @__PURE__ */ jsx(AppLogoIcon, { className: "size-9 fill-current text-[var(--foreground)] dark:text-white" }) }), + /* @__PURE__ */ jsx("span", { className: "sr-only", children: title }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "space-y-2 text-center", children: [ + /* @__PURE__ */ jsx("h1", { className: "text-xl font-medium", children: title }), + /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-center text-sm", children: description }) + ] }) + ] }), + children + ] }) }) }); +} +function AuthLayout({ children, title, description, ...props }) { + return /* @__PURE__ */ jsx(AuthSimpleLayout, { title, description, ...props, children }); +} +export { + AuthLayout as A +}; diff --git a/bootstrap/ssr/assets/confirm-password-G8rU-P06.js b/bootstrap/ssr/assets/confirm-password-G8rU-P06.js new file mode 100644 index 00000000..5c838a87 --- /dev/null +++ b/bootstrap/ssr/assets/confirm-password-G8rU-P06.js @@ -0,0 +1,58 @@ +import { jsxs, jsx } from "react/jsx-runtime"; +import { useForm, Head } from "@inertiajs/react"; +import { LoaderCircle } from "lucide-react"; +import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; +import { B as Button } from "./app-logo-icon-CoogQ1E6.js"; +import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js"; +import "@radix-ui/react-label"; +import "@radix-ui/react-slot"; +import "class-variance-authority"; +import "clsx"; +import "tailwind-merge"; +function ConfirmPassword() { + const { data, setData, post, processing, errors, reset } = useForm({ + password: "" + }); + const submit = (e) => { + e.preventDefault(); + post(route("password.confirm"), { + onFinish: () => reset("password") + }); + }; + return /* @__PURE__ */ jsxs( + AuthLayout, + { + title: "Confirm your password", + description: "This is a secure area of the application. Please confirm your password before continuing.", + children: [ + /* @__PURE__ */ jsx(Head, { title: "Confirm password" }), + /* @__PURE__ */ jsx("form", { onSubmit: submit, children: /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [ + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "password", children: "Password" }), + /* @__PURE__ */ jsx( + Input, + { + id: "password", + type: "password", + name: "password", + placeholder: "Password", + autoComplete: "current-password", + value: data.password, + autoFocus: true, + onChange: (e) => setData("password", e.target.value) + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.password }) + ] }), + /* @__PURE__ */ jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxs(Button, { className: "w-full", disabled: processing, children: [ + processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }), + "Confirm password" + ] }) }) + ] }) }) + ] + } + ); +} +export { + ConfirmPassword as default +}; diff --git a/bootstrap/ssr/assets/dashboard-DRbhOQX8.js b/bootstrap/ssr/assets/dashboard-DRbhOQX8.js new file mode 100644 index 00000000..1d76f207 --- /dev/null +++ b/bootstrap/ssr/assets/dashboard-DRbhOQX8.js @@ -0,0 +1,43 @@ +import { jsxs, jsx } from "react/jsx-runtime"; +import { useId } from "react"; +import { A as AppLayout } from "./app-layout-D4gdSMSC.js"; +import { Head } from "@inertiajs/react"; +import "@radix-ui/react-slot"; +import "class-variance-authority"; +import "lucide-react"; +import "./app-logo-icon-CoogQ1E6.js"; +import "clsx"; +import "tailwind-merge"; +import "@radix-ui/react-dialog"; +import "@radix-ui/react-tooltip"; +import "@radix-ui/react-dropdown-menu"; +import "@radix-ui/react-avatar"; +function PlaceholderPattern({ className }) { + const patternId = useId(); + return /* @__PURE__ */ jsxs("svg", { className, fill: "none", children: [ + /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("pattern", { id: patternId, x: "0", y: "0", width: "10", height: "10", patternUnits: "userSpaceOnUse", children: /* @__PURE__ */ jsx("path", { d: "M-3 13 15-5M-5 5l18-18M-1 21 17 3" }) }) }), + /* @__PURE__ */ jsx("rect", { stroke: "none", fill: `url(#${patternId})`, width: "100%", height: "100%" }) + ] }); +} +const breadcrumbs = [ + { + title: "Dashboard", + href: "/dashboard" + } +]; +function Dashboard() { + return /* @__PURE__ */ jsxs(AppLayout, { breadcrumbs, children: [ + /* @__PURE__ */ jsx(Head, { title: "Dashboard" }), + /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-1 flex-col gap-4 rounded-xl p-4", children: [ + /* @__PURE__ */ jsxs("div", { className: "grid auto-rows-min gap-4 md:grid-cols-3", children: [ + /* @__PURE__ */ jsx("div", { className: "border-sidebar-border/70 dark:border-sidebar-border relative aspect-video overflow-hidden rounded-xl border", children: /* @__PURE__ */ jsx(PlaceholderPattern, { className: "absolute inset-0 size-full stroke-neutral-900/20 dark:stroke-neutral-100/20" }) }), + /* @__PURE__ */ jsx("div", { className: "border-sidebar-border/70 dark:border-sidebar-border relative aspect-video overflow-hidden rounded-xl border", children: /* @__PURE__ */ jsx(PlaceholderPattern, { className: "absolute inset-0 size-full stroke-neutral-900/20 dark:stroke-neutral-100/20" }) }), + /* @__PURE__ */ jsx("div", { className: "border-sidebar-border/70 dark:border-sidebar-border relative aspect-video overflow-hidden rounded-xl border", children: /* @__PURE__ */ jsx(PlaceholderPattern, { className: "absolute inset-0 size-full stroke-neutral-900/20 dark:stroke-neutral-100/20" }) }) + ] }), + /* @__PURE__ */ jsx("div", { className: "border-sidebar-border/70 dark:border-sidebar-border relative min-h-[100vh] flex-1 rounded-xl border md:min-h-min", children: /* @__PURE__ */ jsx(PlaceholderPattern, { className: "absolute inset-0 size-full stroke-neutral-900/20 dark:stroke-neutral-100/20" }) }) + ] }) + ] }); +} +export { + Dashboard as default +}; diff --git a/bootstrap/ssr/assets/forgot-password-Bm_VS9pf.js b/bootstrap/ssr/assets/forgot-password-Bm_VS9pf.js new file mode 100644 index 00000000..cb94eb16 --- /dev/null +++ b/bootstrap/ssr/assets/forgot-password-Bm_VS9pf.js @@ -0,0 +1,57 @@ +import { jsxs, jsx } from "react/jsx-runtime"; +import { useForm, Head } from "@inertiajs/react"; +import { LoaderCircle } from "lucide-react"; +import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; +import { T as TextLink } from "./text-link-D9-1YxGP.js"; +import { B as Button } from "./app-logo-icon-CoogQ1E6.js"; +import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js"; +import "@radix-ui/react-label"; +import "@radix-ui/react-slot"; +import "class-variance-authority"; +import "clsx"; +import "tailwind-merge"; +function ForgotPassword({ status }) { + const { data, setData, post, processing, errors } = useForm({ + email: "" + }); + const submit = (e) => { + e.preventDefault(); + post(route("password.email")); + }; + return /* @__PURE__ */ jsxs(AuthLayout, { title: "Forgot password", description: "Enter your email to receive a password reset link", children: [ + /* @__PURE__ */ jsx(Head, { title: "Forgot password" }), + status && /* @__PURE__ */ jsx("div", { className: "mb-4 text-center text-sm font-medium text-green-600", children: status }), + /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [ + /* @__PURE__ */ jsxs("form", { onSubmit: submit, children: [ + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email address" }), + /* @__PURE__ */ jsx( + Input, + { + id: "email", + type: "email", + name: "email", + autoComplete: "off", + value: data.email, + autoFocus: true, + onChange: (e) => setData("email", e.target.value), + placeholder: "email@example.com" + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.email }) + ] }), + /* @__PURE__ */ jsx("div", { className: "my-6 flex items-center justify-start", children: /* @__PURE__ */ jsxs(Button, { className: "w-full", disabled: processing, children: [ + processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }), + "Email password reset link" + ] }) }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground space-x-1 text-center text-sm", children: [ + /* @__PURE__ */ jsx("span", { children: "Or, return to" }), + /* @__PURE__ */ jsx(TextLink, { href: route("login"), children: "log in" }) + ] }) + ] }) + ] }); +} +export { + ForgotPassword as default +}; diff --git a/bootstrap/ssr/assets/label-Byzlra19.js b/bootstrap/ssr/assets/label-Byzlra19.js new file mode 100644 index 00000000..81c9513b --- /dev/null +++ b/bootstrap/ssr/assets/label-Byzlra19.js @@ -0,0 +1,43 @@ +import { jsx } from "react/jsx-runtime"; +import { c as cn } from "./app-logo-icon-CoogQ1E6.js"; +import * as LabelPrimitive from "@radix-ui/react-label"; +function InputError({ message, className = "", ...props }) { + return message ? /* @__PURE__ */ jsx("p", { ...props, className: cn("text-sm text-red-600 dark:text-red-400", className), children: message }) : null; +} +function Input({ className, type, ...props }) { + return /* @__PURE__ */ jsx( + "input", + { + type, + "data-slot": "input", + className: cn( + "border-input file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", + "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", + "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", + className + ), + ...props + } + ); +} +function Label({ + className, + ...props +}) { + return /* @__PURE__ */ jsx( + LabelPrimitive.Root, + { + "data-slot": "label", + className: cn( + "text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", + className + ), + ...props + } + ); +} +export { + Input as I, + Label as L, + InputError as a +}; diff --git a/bootstrap/ssr/assets/layout-jPnBvemX.js b/bootstrap/ssr/assets/layout-jPnBvemX.js new file mode 100644 index 00000000..ebe15517 --- /dev/null +++ b/bootstrap/ssr/assets/layout-jPnBvemX.js @@ -0,0 +1,80 @@ +import { jsx, jsxs, Fragment } from "react/jsx-runtime"; +import { c as cn, B as Button } from "./app-logo-icon-CoogQ1E6.js"; +import * as SeparatorPrimitive from "@radix-ui/react-separator"; +import { Link } from "@inertiajs/react"; +function Separator({ + className, + orientation = "horizontal", + decorative = true, + ...props +}) { + return /* @__PURE__ */ jsx( + SeparatorPrimitive.Root, + { + "data-slot": "separator-root", + decorative, + orientation, + className: cn( + "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px", + className + ), + ...props + } + ); +} +function HeadingSmall({ title, description }) { + return /* @__PURE__ */ jsxs("header", { children: [ + /* @__PURE__ */ jsx("h3", { className: "mb-0.5 text-base font-medium", children: title }), + description && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm", children: description }) + ] }); +} +function Heading({ title, description }) { + return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: "mb-8 space-y-0.5", children: [ + /* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold tracking-tight", children: title }), + description && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm", children: description }) + ] }) }); +} +const sidebarNavItems = [ + { + title: "Profile", + url: "/settings/profile", + icon: null + }, + { + title: "Password", + url: "/settings/password", + icon: null + }, + { + title: "Appearance", + url: "/settings/appearance", + icon: null + } +]; +function SettingsLayout({ children }) { + const currentPath = window.location.pathname; + return /* @__PURE__ */ jsxs("div", { className: "px-4 py-6", children: [ + /* @__PURE__ */ jsx(Heading, { title: "Settings", description: "Manage your profile and account settings" }), + /* @__PURE__ */ jsxs("div", { className: "flex flex-col space-y-8 lg:flex-row lg:space-y-0 lg:space-x-12", children: [ + /* @__PURE__ */ jsx("aside", { className: "w-full max-w-xl lg:w-48", children: /* @__PURE__ */ jsx("nav", { className: "flex flex-col space-y-1 space-x-0", children: sidebarNavItems.map((item) => /* @__PURE__ */ jsx( + Button, + { + size: "sm", + variant: "ghost", + asChild: true, + className: cn("w-full justify-start", { + "bg-muted": currentPath === item.url + }), + children: /* @__PURE__ */ jsx(Link, { href: item.url, prefetch: true, children: item.title }) + }, + item.url + )) }) }), + /* @__PURE__ */ jsx(Separator, { className: "my-6 md:hidden" }), + /* @__PURE__ */ jsx("div", { className: "flex-1 md:max-w-2xl", children: /* @__PURE__ */ jsx("section", { className: "max-w-xl space-y-12", children }) }) + ] }) + ] }); +} +export { + HeadingSmall as H, + SettingsLayout as S +}; diff --git a/bootstrap/ssr/assets/login-nGtNK223.js b/bootstrap/ssr/assets/login-nGtNK223.js new file mode 100644 index 00000000..8fc6fa6d --- /dev/null +++ b/bootstrap/ssr/assets/login-nGtNK223.js @@ -0,0 +1,112 @@ +import { jsx, jsxs } from "react/jsx-runtime"; +import { useForm, Head } from "@inertiajs/react"; +import { CheckIcon, LoaderCircle } from "lucide-react"; +import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; +import { T as TextLink } from "./text-link-D9-1YxGP.js"; +import { c as cn, B as Button } from "./app-logo-icon-CoogQ1E6.js"; +import * as CheckboxPrimitive from "@radix-ui/react-checkbox"; +import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js"; +import "@radix-ui/react-label"; +import "@radix-ui/react-slot"; +import "class-variance-authority"; +import "clsx"; +import "tailwind-merge"; +function Checkbox({ + className, + ...props +}) { + return /* @__PURE__ */ jsx( + CheckboxPrimitive.Root, + { + "data-slot": "checkbox", + className: cn( + "peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", + className + ), + ...props, + children: /* @__PURE__ */ jsx( + CheckboxPrimitive.Indicator, + { + "data-slot": "checkbox-indicator", + className: "flex items-center justify-center text-current transition-none", + children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5" }) + } + ) + } + ); +} +function Login({ status, canResetPassword }) { + const { data, setData, post, processing, errors, reset } = useForm({ + email: "", + password: "", + remember: false + }); + const submit = (e) => { + e.preventDefault(); + post(route("login"), { + onFinish: () => reset("password") + }); + }; + return /* @__PURE__ */ jsxs(AuthLayout, { title: "Log in to your account", description: "Enter your email and password below to log in", children: [ + /* @__PURE__ */ jsx(Head, { title: "Log in" }), + /* @__PURE__ */ jsxs("form", { className: "flex flex-col gap-6", onSubmit: submit, children: [ + /* @__PURE__ */ jsxs("div", { className: "grid gap-6", children: [ + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email address" }), + /* @__PURE__ */ jsx( + Input, + { + id: "email", + type: "email", + required: true, + autoFocus: true, + tabIndex: 1, + autoComplete: "email", + value: data.email, + onChange: (e) => setData("email", e.target.value), + placeholder: "email@example.com" + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.email }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "password", children: "Password" }), + canResetPassword && /* @__PURE__ */ jsx(TextLink, { href: route("password.request"), className: "ml-auto text-sm", tabIndex: 5, children: "Forgot password?" }) + ] }), + /* @__PURE__ */ jsx( + Input, + { + id: "password", + type: "password", + required: true, + tabIndex: 2, + autoComplete: "current-password", + value: data.password, + onChange: (e) => setData("password", e.target.value), + placeholder: "Password" + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.password }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-3", children: [ + /* @__PURE__ */ jsx(Checkbox, { id: "remember", name: "remember", tabIndex: 3 }), + /* @__PURE__ */ jsx(Label, { htmlFor: "remember", children: "Remember me" }) + ] }), + /* @__PURE__ */ jsxs(Button, { type: "submit", className: "mt-4 w-full", tabIndex: 4, disabled: processing, children: [ + processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }), + "Log in" + ] }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground text-center text-sm", children: [ + "Don't have an account?", + " ", + /* @__PURE__ */ jsx(TextLink, { href: route("register"), tabIndex: 5, children: "Sign up" }) + ] }) + ] }), + status && /* @__PURE__ */ jsx("div", { className: "mb-4 text-center text-sm font-medium text-green-600", children: status }) + ] }); +} +export { + Login as default +}; diff --git a/bootstrap/ssr/assets/password-obBdSHh5.js b/bootstrap/ssr/assets/password-obBdSHh5.js new file mode 100644 index 00000000..2573202c --- /dev/null +++ b/bootstrap/ssr/assets/password-obBdSHh5.js @@ -0,0 +1,127 @@ +import { jsxs, jsx } from "react/jsx-runtime"; +import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; +import { A as AppLayout } from "./app-layout-D4gdSMSC.js"; +import { S as SettingsLayout, H as HeadingSmall } from "./layout-jPnBvemX.js"; +import { Transition } from "@headlessui/react"; +import { useForm, Head } from "@inertiajs/react"; +import { useRef } from "react"; +import { B as Button } from "./app-logo-icon-CoogQ1E6.js"; +import "@radix-ui/react-label"; +import "@radix-ui/react-slot"; +import "class-variance-authority"; +import "lucide-react"; +import "@radix-ui/react-dialog"; +import "@radix-ui/react-tooltip"; +import "@radix-ui/react-dropdown-menu"; +import "@radix-ui/react-avatar"; +import "@radix-ui/react-separator"; +import "clsx"; +import "tailwind-merge"; +const breadcrumbs = [ + { + title: "Password settings", + href: "/settings/password" + } +]; +function Password() { + const passwordInput = useRef(null); + const currentPasswordInput = useRef(null); + const { data, setData, errors, put, reset, processing, recentlySuccessful } = useForm({ + current_password: "", + password: "", + password_confirmation: "" + }); + const updatePassword = (e) => { + e.preventDefault(); + put(route("password.update"), { + preserveScroll: true, + onSuccess: () => reset(), + onError: (errors2) => { + var _a, _b; + if (errors2.password) { + reset("password", "password_confirmation"); + (_a = passwordInput.current) == null ? void 0 : _a.focus(); + } + if (errors2.current_password) { + reset("current_password"); + (_b = currentPasswordInput.current) == null ? void 0 : _b.focus(); + } + } + }); + }; + return /* @__PURE__ */ jsxs(AppLayout, { breadcrumbs, children: [ + /* @__PURE__ */ jsx(Head, { title: "Profile settings" }), + /* @__PURE__ */ jsx(SettingsLayout, { children: /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [ + /* @__PURE__ */ jsx(HeadingSmall, { title: "Update password", description: "Ensure your account is using a long, random password to stay secure" }), + /* @__PURE__ */ jsxs("form", { onSubmit: updatePassword, className: "space-y-6", children: [ + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "current_password", children: "Current password" }), + /* @__PURE__ */ jsx( + Input, + { + id: "current_password", + ref: currentPasswordInput, + value: data.current_password, + onChange: (e) => setData("current_password", e.target.value), + type: "password", + className: "mt-1 block w-full", + autoComplete: "current-password", + placeholder: "Current password" + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.current_password }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "password", children: "New password" }), + /* @__PURE__ */ jsx( + Input, + { + id: "password", + ref: passwordInput, + value: data.password, + onChange: (e) => setData("password", e.target.value), + type: "password", + className: "mt-1 block w-full", + autoComplete: "new-password", + placeholder: "New password" + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.password }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "password_confirmation", children: "Confirm password" }), + /* @__PURE__ */ jsx( + Input, + { + id: "password_confirmation", + value: data.password_confirmation, + onChange: (e) => setData("password_confirmation", e.target.value), + type: "password", + className: "mt-1 block w-full", + autoComplete: "new-password", + placeholder: "Confirm password" + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.password_confirmation }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [ + /* @__PURE__ */ jsx(Button, { disabled: processing, children: "Save password" }), + /* @__PURE__ */ jsx( + Transition, + { + show: recentlySuccessful, + enter: "transition ease-in-out", + enterFrom: "opacity-0", + leave: "transition ease-in-out", + leaveTo: "opacity-0", + children: /* @__PURE__ */ jsx("p", { className: "text-sm text-neutral-600", children: "Saved" }) + } + ) + ] }) + ] }) + ] }) }) + ] }); +} +export { + Password as default +}; diff --git a/bootstrap/ssr/assets/profile-qrFaR_Uf.js b/bootstrap/ssr/assets/profile-qrFaR_Uf.js new file mode 100644 index 00000000..9936f3d1 --- /dev/null +++ b/bootstrap/ssr/assets/profile-qrFaR_Uf.js @@ -0,0 +1,277 @@ +import { jsx, jsxs } from "react/jsx-runtime"; +import { Transition } from "@headlessui/react"; +import { useForm, usePage, Head, Link } from "@inertiajs/react"; +import { useRef } from "react"; +import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; +import { c as cn, B as Button } from "./app-logo-icon-CoogQ1E6.js"; +import { H as HeadingSmall, S as SettingsLayout } from "./layout-jPnBvemX.js"; +import * as SheetPrimitive from "@radix-ui/react-dialog"; +import { XIcon } from "lucide-react"; +import { A as AppLayout } from "./app-layout-D4gdSMSC.js"; +import "@radix-ui/react-label"; +import "@radix-ui/react-slot"; +import "class-variance-authority"; +import "clsx"; +import "tailwind-merge"; +import "@radix-ui/react-separator"; +import "@radix-ui/react-tooltip"; +import "@radix-ui/react-dropdown-menu"; +import "@radix-ui/react-avatar"; +function Dialog({ + ...props +}) { + return /* @__PURE__ */ jsx(SheetPrimitive.Root, { "data-slot": "dialog", ...props }); +} +function DialogTrigger({ + ...props +}) { + return /* @__PURE__ */ jsx(SheetPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props }); +} +function DialogPortal({ + ...props +}) { + return /* @__PURE__ */ jsx(SheetPrimitive.Portal, { "data-slot": "dialog-portal", ...props }); +} +function DialogClose({ + ...props +}) { + return /* @__PURE__ */ jsx(SheetPrimitive.Close, { "data-slot": "dialog-close", ...props }); +} +function DialogOverlay({ + className, + ...props +}) { + return /* @__PURE__ */ jsx( + SheetPrimitive.Overlay, + { + "data-slot": "dialog-overlay", + className: cn( + "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80", + className + ), + ...props + } + ); +} +function DialogContent({ + className, + children, + ...props +}) { + return /* @__PURE__ */ jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [ + /* @__PURE__ */ jsx(DialogOverlay, {}), + /* @__PURE__ */ jsxs( + SheetPrimitive.Content, + { + "data-slot": "dialog-content", + className: cn( + "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", + className + ), + ...props, + children: [ + children, + /* @__PURE__ */ jsxs(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [ + /* @__PURE__ */ jsx(XIcon, {}), + /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" }) + ] }) + ] + } + ) + ] }); +} +function DialogFooter({ className, ...props }) { + return /* @__PURE__ */ jsx( + "div", + { + "data-slot": "dialog-footer", + className: cn( + "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", + className + ), + ...props + } + ); +} +function DialogTitle({ + className, + ...props +}) { + return /* @__PURE__ */ jsx( + SheetPrimitive.Title, + { + "data-slot": "dialog-title", + className: cn("text-lg leading-none font-semibold", className), + ...props + } + ); +} +function DialogDescription({ + className, + ...props +}) { + return /* @__PURE__ */ jsx( + SheetPrimitive.Description, + { + "data-slot": "dialog-description", + className: cn("text-muted-foreground text-sm", className), + ...props + } + ); +} +function DeleteUser() { + const passwordInput = useRef(null); + const { data, setData, delete: destroy, processing, reset, errors, clearErrors } = useForm({ password: "" }); + const deleteUser = (e) => { + e.preventDefault(); + destroy(route("profile.destroy"), { + preserveScroll: true, + onSuccess: () => closeModal(), + onError: () => { + var _a; + return (_a = passwordInput.current) == null ? void 0 : _a.focus(); + }, + onFinish: () => reset() + }); + }; + const closeModal = () => { + clearErrors(); + reset(); + }; + return /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [ + /* @__PURE__ */ jsx(HeadingSmall, { title: "Delete account", description: "Delete your account and all of its resources" }), + /* @__PURE__ */ jsxs("div", { className: "space-y-4 rounded-lg border border-red-100 bg-red-50 p-4 dark:border-red-200/10 dark:bg-red-700/10", children: [ + /* @__PURE__ */ jsxs("div", { className: "relative space-y-0.5 text-red-600 dark:text-red-100", children: [ + /* @__PURE__ */ jsx("p", { className: "font-medium", children: "Warning" }), + /* @__PURE__ */ jsx("p", { className: "text-sm", children: "Please proceed with caution, this cannot be undone." }) + ] }), + /* @__PURE__ */ jsxs(Dialog, { children: [ + /* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "destructive", children: "Delete account" }) }), + /* @__PURE__ */ jsxs(DialogContent, { children: [ + /* @__PURE__ */ jsx(DialogTitle, { children: "Are you sure you want to delete your account?" }), + /* @__PURE__ */ jsx(DialogDescription, { children: "Once your account is deleted, all of its resources and data will also be permanently deleted. Please enter your password to confirm you would like to permanently delete your account." }), + /* @__PURE__ */ jsxs("form", { className: "space-y-6", onSubmit: deleteUser, children: [ + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "password", className: "sr-only", children: "Password" }), + /* @__PURE__ */ jsx( + Input, + { + id: "password", + type: "password", + name: "password", + ref: passwordInput, + value: data.password, + onChange: (e) => setData("password", e.target.value), + placeholder: "Password", + autoComplete: "current-password" + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.password }) + ] }), + /* @__PURE__ */ jsxs(DialogFooter, { className: "gap-2", children: [ + /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "secondary", onClick: closeModal, children: "Cancel" }) }), + /* @__PURE__ */ jsx(Button, { variant: "destructive", disabled: processing, asChild: true, children: /* @__PURE__ */ jsx("button", { type: "submit", children: "Delete account" }) }) + ] }) + ] }) + ] }) + ] }) + ] }) + ] }); +} +const breadcrumbs = [ + { + title: "Profile settings", + href: "/settings/profile" + } +]; +function Profile({ mustVerifyEmail, status }) { + const { auth } = usePage().props; + const { data, setData, patch, errors, processing, recentlySuccessful } = useForm({ + name: auth.user.name, + email: auth.user.email + }); + const submit = (e) => { + e.preventDefault(); + patch(route("profile.update"), { + preserveScroll: true + }); + }; + return /* @__PURE__ */ jsxs(AppLayout, { breadcrumbs, children: [ + /* @__PURE__ */ jsx(Head, { title: "Profile settings" }), + /* @__PURE__ */ jsxs(SettingsLayout, { children: [ + /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [ + /* @__PURE__ */ jsx(HeadingSmall, { title: "Profile information", description: "Update your name and email address" }), + /* @__PURE__ */ jsxs("form", { onSubmit: submit, className: "space-y-6", children: [ + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "name", children: "Name" }), + /* @__PURE__ */ jsx( + Input, + { + id: "name", + className: "mt-1 block w-full", + value: data.name, + onChange: (e) => setData("name", e.target.value), + required: true, + autoComplete: "name", + placeholder: "Full name" + } + ), + /* @__PURE__ */ jsx(InputError, { className: "mt-2", message: errors.name }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email address" }), + /* @__PURE__ */ jsx( + Input, + { + id: "email", + type: "email", + className: "mt-1 block w-full", + value: data.email, + onChange: (e) => setData("email", e.target.value), + required: true, + autoComplete: "username", + placeholder: "Email address" + } + ), + /* @__PURE__ */ jsx(InputError, { className: "mt-2", message: errors.email }) + ] }), + mustVerifyEmail && auth.user.email_verified_at === null && /* @__PURE__ */ jsxs("div", { children: [ + /* @__PURE__ */ jsxs("p", { className: "-mt-4 text-sm text-muted-foreground", children: [ + "Your email address is unverified.", + " ", + /* @__PURE__ */ jsx( + Link, + { + href: route("verification.send"), + method: "post", + as: "button", + className: "hover:decoration-current! text-foreground underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out dark:decoration-neutral-500", + children: "Click here to resend the verification email." + } + ) + ] }), + status === "verification-link-sent" && /* @__PURE__ */ jsx("div", { className: "mt-2 text-sm font-medium text-green-600", children: "A new verification link has been sent to your email address." }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [ + /* @__PURE__ */ jsx(Button, { disabled: processing, children: "Save" }), + /* @__PURE__ */ jsx( + Transition, + { + show: recentlySuccessful, + enter: "transition ease-in-out", + enterFrom: "opacity-0", + leave: "transition ease-in-out", + leaveTo: "opacity-0", + children: /* @__PURE__ */ jsx("p", { className: "text-sm text-neutral-600", children: "Saved" }) + } + ) + ] }) + ] }) + ] }), + /* @__PURE__ */ jsx(DeleteUser, {}) + ] }) + ] }); +} +export { + Profile as default +}; diff --git a/bootstrap/ssr/assets/register-C_guXizf.js b/bootstrap/ssr/assets/register-C_guXizf.js new file mode 100644 index 00000000..a0b20a72 --- /dev/null +++ b/bootstrap/ssr/assets/register-C_guXizf.js @@ -0,0 +1,118 @@ +import { jsxs, jsx } from "react/jsx-runtime"; +import { useForm, Head } from "@inertiajs/react"; +import { LoaderCircle } from "lucide-react"; +import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; +import { T as TextLink } from "./text-link-D9-1YxGP.js"; +import { B as Button } from "./app-logo-icon-CoogQ1E6.js"; +import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js"; +import "@radix-ui/react-label"; +import "@radix-ui/react-slot"; +import "class-variance-authority"; +import "clsx"; +import "tailwind-merge"; +function Register() { + const { data, setData, post, processing, errors, reset } = useForm({ + name: "", + email: "", + password: "", + password_confirmation: "" + }); + const submit = (e) => { + e.preventDefault(); + post(route("register"), { + onFinish: () => reset("password", "password_confirmation") + }); + }; + return /* @__PURE__ */ jsxs(AuthLayout, { title: "Create an account", description: "Enter your details below to create your account", children: [ + /* @__PURE__ */ jsx(Head, { title: "Register" }), + /* @__PURE__ */ jsxs("form", { className: "flex flex-col gap-6", onSubmit: submit, children: [ + /* @__PURE__ */ jsxs("div", { className: "grid gap-6", children: [ + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "name", children: "Name" }), + /* @__PURE__ */ jsx( + Input, + { + id: "name", + type: "text", + required: true, + autoFocus: true, + tabIndex: 1, + autoComplete: "name", + value: data.name, + onChange: (e) => setData("name", e.target.value), + disabled: processing, + placeholder: "Full name" + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.name, className: "mt-2" }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email address" }), + /* @__PURE__ */ jsx( + Input, + { + id: "email", + type: "email", + required: true, + tabIndex: 2, + autoComplete: "email", + value: data.email, + onChange: (e) => setData("email", e.target.value), + disabled: processing, + placeholder: "email@example.com" + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.email }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "password", children: "Password" }), + /* @__PURE__ */ jsx( + Input, + { + id: "password", + type: "password", + required: true, + tabIndex: 3, + autoComplete: "new-password", + value: data.password, + onChange: (e) => setData("password", e.target.value), + disabled: processing, + placeholder: "Password" + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.password }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "password_confirmation", children: "Confirm password" }), + /* @__PURE__ */ jsx( + Input, + { + id: "password_confirmation", + type: "password", + required: true, + tabIndex: 4, + autoComplete: "new-password", + value: data.password_confirmation, + onChange: (e) => setData("password_confirmation", e.target.value), + disabled: processing, + placeholder: "Confirm password" + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.password_confirmation }) + ] }), + /* @__PURE__ */ jsxs(Button, { type: "submit", className: "mt-2 w-full", tabIndex: 5, disabled: processing, children: [ + processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }), + "Create account" + ] }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground text-center text-sm", children: [ + "Already have an account?", + " ", + /* @__PURE__ */ jsx(TextLink, { href: route("login"), tabIndex: 6, children: "Log in" }) + ] }) + ] }) + ] }); +} +export { + Register as default +}; diff --git a/bootstrap/ssr/assets/reset-password-uqjsfg_p.js b/bootstrap/ssr/assets/reset-password-uqjsfg_p.js new file mode 100644 index 00000000..a6cd27b1 --- /dev/null +++ b/bootstrap/ssr/assets/reset-password-uqjsfg_p.js @@ -0,0 +1,89 @@ +import { jsxs, jsx } from "react/jsx-runtime"; +import { useForm, Head } from "@inertiajs/react"; +import { LoaderCircle } from "lucide-react"; +import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; +import { B as Button } from "./app-logo-icon-CoogQ1E6.js"; +import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js"; +import "@radix-ui/react-label"; +import "@radix-ui/react-slot"; +import "class-variance-authority"; +import "clsx"; +import "tailwind-merge"; +function ResetPassword({ token, email }) { + const { data, setData, post, processing, errors, reset } = useForm({ + token, + email, + password: "", + password_confirmation: "" + }); + const submit = (e) => { + e.preventDefault(); + post(route("password.store"), { + onFinish: () => reset("password", "password_confirmation") + }); + }; + return /* @__PURE__ */ jsxs(AuthLayout, { title: "Reset password", description: "Please enter your new password below", children: [ + /* @__PURE__ */ jsx(Head, { title: "Reset password" }), + /* @__PURE__ */ jsx("form", { onSubmit: submit, children: /* @__PURE__ */ jsxs("div", { className: "grid gap-6", children: [ + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email" }), + /* @__PURE__ */ jsx( + Input, + { + id: "email", + type: "email", + name: "email", + autoComplete: "email", + value: data.email, + className: "mt-1 block w-full", + readOnly: true, + onChange: (e) => setData("email", e.target.value) + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.email, className: "mt-2" }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "password", children: "Password" }), + /* @__PURE__ */ jsx( + Input, + { + id: "password", + type: "password", + name: "password", + autoComplete: "new-password", + value: data.password, + className: "mt-1 block w-full", + autoFocus: true, + onChange: (e) => setData("password", e.target.value), + placeholder: "Password" + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.password }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ + /* @__PURE__ */ jsx(Label, { htmlFor: "password_confirmation", children: "Confirm password" }), + /* @__PURE__ */ jsx( + Input, + { + id: "password_confirmation", + type: "password", + name: "password_confirmation", + autoComplete: "new-password", + value: data.password_confirmation, + className: "mt-1 block w-full", + onChange: (e) => setData("password_confirmation", e.target.value), + placeholder: "Confirm password" + } + ), + /* @__PURE__ */ jsx(InputError, { message: errors.password_confirmation, className: "mt-2" }) + ] }), + /* @__PURE__ */ jsxs(Button, { type: "submit", className: "mt-4 w-full", disabled: processing, children: [ + processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }), + "Reset password" + ] }) + ] }) }) + ] }); +} +export { + ResetPassword as default +}; diff --git a/bootstrap/ssr/assets/text-link-D9-1YxGP.js b/bootstrap/ssr/assets/text-link-D9-1YxGP.js new file mode 100644 index 00000000..2ca1904a --- /dev/null +++ b/bootstrap/ssr/assets/text-link-D9-1YxGP.js @@ -0,0 +1,19 @@ +import { jsx } from "react/jsx-runtime"; +import { c as cn } from "./app-logo-icon-CoogQ1E6.js"; +import { Link } from "@inertiajs/react"; +function TextLink({ className = "", children, ...props }) { + return /* @__PURE__ */ jsx( + Link, + { + className: cn( + "text-foreground underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current! dark:decoration-neutral-500", + className + ), + ...props, + children + } + ); +} +export { + TextLink as T +}; diff --git a/bootstrap/ssr/assets/verify-email-BdQbCV_K.js b/bootstrap/ssr/assets/verify-email-BdQbCV_K.js new file mode 100644 index 00000000..b32c3af9 --- /dev/null +++ b/bootstrap/ssr/assets/verify-email-BdQbCV_K.js @@ -0,0 +1,31 @@ +import { jsxs, jsx } from "react/jsx-runtime"; +import { useForm, Head } from "@inertiajs/react"; +import { LoaderCircle } from "lucide-react"; +import { T as TextLink } from "./text-link-D9-1YxGP.js"; +import { B as Button } from "./app-logo-icon-CoogQ1E6.js"; +import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js"; +import "@radix-ui/react-slot"; +import "class-variance-authority"; +import "clsx"; +import "tailwind-merge"; +function VerifyEmail({ status }) { + const { post, processing } = useForm({}); + const submit = (e) => { + e.preventDefault(); + post(route("verification.send")); + }; + return /* @__PURE__ */ jsxs(AuthLayout, { title: "Verify email", description: "Please verify your email address by clicking on the link we just emailed to you.", children: [ + /* @__PURE__ */ jsx(Head, { title: "Email verification" }), + status === "verification-link-sent" && /* @__PURE__ */ jsx("div", { className: "mb-4 text-center text-sm font-medium text-green-600", children: "A new verification link has been sent to the email address you provided during registration." }), + /* @__PURE__ */ jsxs("form", { onSubmit: submit, className: "space-y-6 text-center", children: [ + /* @__PURE__ */ jsxs(Button, { disabled: processing, variant: "secondary", children: [ + processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }), + "Resend verification email" + ] }), + /* @__PURE__ */ jsx(TextLink, { href: route("logout"), method: "post", className: "mx-auto block text-sm", children: "Log out" }) + ] }) + ] }); +} +export { + VerifyEmail as default +}; diff --git a/bootstrap/ssr/assets/welcome-CtPb_rEB.js b/bootstrap/ssr/assets/welcome-CtPb_rEB.js new file mode 100644 index 00000000..dc470184 --- /dev/null +++ b/bootstrap/ssr/assets/welcome-CtPb_rEB.js @@ -0,0 +1,1157 @@ +import { jsxs, Fragment, jsx } from "react/jsx-runtime"; +import { usePage, Head, Link } from "@inertiajs/react"; +function Welcome() { + const { auth } = usePage().props; + return /* @__PURE__ */ jsxs(Fragment, { children: [ + /* @__PURE__ */ jsxs(Head, { title: "Welcome", children: [ + /* @__PURE__ */ jsx("link", { rel: "preconnect", href: "https://fonts.bunny.net" }), + /* @__PURE__ */ jsx("link", { href: "https://fonts.bunny.net/css?family=instrument-sans:400,500,600", rel: "stylesheet" }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "flex min-h-screen flex-col items-center bg-[#FDFDFC] p-6 text-[#1b1b18] lg:justify-center lg:p-8 dark:bg-[#0a0a0a]", children: [ + /* @__PURE__ */ jsx("header", { className: "mb-6 w-full max-w-[335px] text-sm not-has-[nav]:hidden lg:max-w-4xl", children: /* @__PURE__ */ jsx("nav", { className: "flex items-center justify-end gap-4", children: auth.user ? /* @__PURE__ */ jsx( + Link, + { + href: route("dashboard"), + className: "inline-block rounded-sm border border-[#19140035] px-5 py-1.5 text-sm leading-normal text-[#1b1b18] hover:border-[#1915014a] dark:border-[#3E3E3A] dark:text-[#EDEDEC] dark:hover:border-[#62605b]", + children: "Dashboard" + } + ) : /* @__PURE__ */ jsxs(Fragment, { children: [ + /* @__PURE__ */ jsx( + Link, + { + href: route("login"), + className: "inline-block rounded-sm border border-transparent px-5 py-1.5 text-sm leading-normal text-[#1b1b18] hover:border-[#19140035] dark:text-[#EDEDEC] dark:hover:border-[#3E3E3A]", + children: "Log in" + } + ), + /* @__PURE__ */ jsx( + Link, + { + href: route("register"), + className: "inline-block rounded-sm border border-[#19140035] px-5 py-1.5 text-sm leading-normal text-[#1b1b18] hover:border-[#1915014a] dark:border-[#3E3E3A] dark:text-[#EDEDEC] dark:hover:border-[#62605b]", + children: "Register" + } + ) + ] }) }) }), + /* @__PURE__ */ jsx("div", { className: "flex w-full items-center justify-center opacity-100 transition-opacity duration-750 lg:grow starting:opacity-0", children: /* @__PURE__ */ jsxs("main", { className: "flex w-full max-w-[335px] flex-col-reverse lg:max-w-4xl lg:flex-row", children: [ + /* @__PURE__ */ jsxs("div", { className: "flex-1 rounded-br-lg rounded-bl-lg bg-white p-6 pb-12 text-[13px] leading-[20px] shadow-[inset_0px_0px_0px_1px_rgba(26,26,0,0.16)] lg:rounded-tl-lg lg:rounded-br-none lg:p-20 dark:bg-[#161615] dark:text-[#EDEDEC] dark:shadow-[inset_0px_0px_0px_1px_#fffaed2d]", children: [ + /* @__PURE__ */ jsx("h1", { className: "mb-1 font-medium", children: "Let's get started" }), + /* @__PURE__ */ jsxs("p", { className: "mb-2 text-[#706f6c] dark:text-[#A1A09A]", children: [ + "Laravel has an incredibly rich ecosystem.", + /* @__PURE__ */ jsx("br", {}), + "We suggest starting with the following." + ] }), + /* @__PURE__ */ jsxs("ul", { className: "mb-4 flex flex-col lg:mb-6", children: [ + /* @__PURE__ */ jsxs("li", { className: "relative flex items-center gap-4 py-2 before:absolute before:top-1/2 before:bottom-0 before:left-[0.4rem] before:border-l before:border-[#e3e3e0] dark:before:border-[#3E3E3A]", children: [ + /* @__PURE__ */ jsx("span", { className: "relative bg-white py-1 dark:bg-[#161615]", children: /* @__PURE__ */ jsx("span", { className: "flex h-3.5 w-3.5 items-center justify-center rounded-full border border-[#e3e3e0] bg-[#FDFDFC] shadow-[0px_0px_1px_0px_rgba(0,0,0,0.03),0px_1px_2px_0px_rgba(0,0,0,0.06)] dark:border-[#3E3E3A] dark:bg-[#161615]", children: /* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-[#dbdbd7] dark:bg-[#3E3E3A]" }) }) }), + /* @__PURE__ */ jsxs("span", { children: [ + "Read the", + /* @__PURE__ */ jsxs( + "a", + { + href: "https://laravel.com/docs", + target: "_blank", + className: "ml-1 inline-flex items-center space-x-1 font-medium text-[#f53003] underline underline-offset-4 dark:text-[#FF4433]", + children: [ + /* @__PURE__ */ jsx("span", { children: "Documentation" }), + /* @__PURE__ */ jsx( + "svg", + { + width: 10, + height: 11, + viewBox: "0 0 10 11", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + className: "h-2.5 w-2.5", + children: /* @__PURE__ */ jsx( + "path", + { + d: "M7.70833 6.95834V2.79167H3.54167M2.5 8L7.5 3.00001", + stroke: "currentColor", + strokeLinecap: "square" + } + ) + } + ) + ] + } + ) + ] }) + ] }), + /* @__PURE__ */ jsxs("li", { className: "relative flex items-center gap-4 py-2 before:absolute before:top-0 before:bottom-1/2 before:left-[0.4rem] before:border-l before:border-[#e3e3e0] dark:before:border-[#3E3E3A]", children: [ + /* @__PURE__ */ jsx("span", { className: "relative bg-white py-1 dark:bg-[#161615]", children: /* @__PURE__ */ jsx("span", { className: "flex h-3.5 w-3.5 items-center justify-center rounded-full border border-[#e3e3e0] bg-[#FDFDFC] shadow-[0px_0px_1px_0px_rgba(0,0,0,0.03),0px_1px_2px_0px_rgba(0,0,0,0.06)] dark:border-[#3E3E3A] dark:bg-[#161615]", children: /* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-[#dbdbd7] dark:bg-[#3E3E3A]" }) }) }), + /* @__PURE__ */ jsxs("span", { children: [ + "Watch video tutorials at", + /* @__PURE__ */ jsxs( + "a", + { + href: "https://laracasts.com", + target: "_blank", + className: "ml-1 inline-flex items-center space-x-1 font-medium text-[#f53003] underline underline-offset-4 dark:text-[#FF4433]", + children: [ + /* @__PURE__ */ jsx("span", { children: "Laracasts" }), + /* @__PURE__ */ jsx( + "svg", + { + width: 10, + height: 11, + viewBox: "0 0 10 11", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + className: "h-2.5 w-2.5", + children: /* @__PURE__ */ jsx( + "path", + { + d: "M7.70833 6.95834V2.79167H3.54167M2.5 8L7.5 3.00001", + stroke: "currentColor", + strokeLinecap: "square" + } + ) + } + ) + ] + } + ) + ] }) + ] }) + ] }), + /* @__PURE__ */ jsx("ul", { className: "flex gap-3 text-sm leading-normal", children: /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx( + "a", + { + href: "https://cloud.laravel.com", + target: "_blank", + className: "inline-block rounded-sm border border-black bg-[#1b1b18] px-5 py-1.5 text-sm leading-normal text-white hover:border-black hover:bg-black dark:border-[#eeeeec] dark:bg-[#eeeeec] dark:text-[#1C1C1A] dark:hover:border-white dark:hover:bg-white", + children: "Deploy now" + } + ) }) }) + ] }), + /* @__PURE__ */ jsxs("div", { className: "relative -mb-px aspect-[335/376] w-full shrink-0 overflow-hidden rounded-t-lg bg-[#fff2f2] lg:mb-0 lg:-ml-px lg:aspect-auto lg:w-[438px] lg:rounded-t-none lg:rounded-r-lg dark:bg-[#1D0002]", children: [ + /* @__PURE__ */ jsxs( + "svg", + { + className: "w-full max-w-none translate-y-0 text-[#F53003] opacity-100 transition-all duration-750 dark:text-[#F61500] starting:translate-y-6 starting:opacity-0", + viewBox: "0 0 438 104", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx("path", { d: "M17.2036 -3H0V102.197H49.5189V86.7187H17.2036V-3Z", fill: "currentColor" }), + /* @__PURE__ */ jsx( + "path", + { + d: "M110.256 41.6337C108.061 38.1275 104.945 35.3731 100.905 33.3681C96.8667 31.3647 92.8016 30.3618 88.7131 30.3618C83.4247 30.3618 78.5885 31.3389 74.201 33.2923C69.8111 35.2456 66.0474 37.928 62.9059 41.3333C59.7643 44.7401 57.3198 48.6726 55.5754 53.1293C53.8287 57.589 52.9572 62.274 52.9572 67.1813C52.9572 72.1925 53.8287 76.8995 55.5754 81.3069C57.3191 85.7173 59.7636 89.6241 62.9059 93.0293C66.0474 96.4361 69.8119 99.1155 74.201 101.069C78.5885 103.022 83.4247 103.999 88.7131 103.999C92.8016 103.999 96.8667 102.997 100.905 100.994C104.945 98.9911 108.061 96.2359 110.256 92.7282V102.195H126.563V32.1642H110.256V41.6337ZM108.76 75.7472C107.762 78.4531 106.366 80.8078 104.572 82.8112C102.776 84.8161 100.606 86.4183 98.0637 87.6206C95.5202 88.823 92.7004 89.4238 89.6103 89.4238C86.5178 89.4238 83.7252 88.823 81.2324 87.6206C78.7388 86.4183 76.5949 84.8161 74.7998 82.8112C73.004 80.8078 71.6319 78.4531 70.6856 75.7472C69.7356 73.0421 69.2644 70.1868 69.2644 67.1821C69.2644 64.1758 69.7356 61.3205 70.6856 58.6154C71.6319 55.9102 73.004 53.5571 74.7998 51.5522C76.5949 49.5495 78.738 47.9451 81.2324 46.7427C83.7252 45.5404 86.5178 44.9396 89.6103 44.9396C92.7012 44.9396 95.5202 45.5404 98.0637 46.7427C100.606 47.9451 102.776 49.5487 104.572 51.5522C106.367 53.5571 107.762 55.9102 108.76 58.6154C109.756 61.3205 110.256 64.1758 110.256 67.1821C110.256 70.1868 109.756 73.0421 108.76 75.7472Z", + fill: "currentColor" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M242.805 41.6337C240.611 38.1275 237.494 35.3731 233.455 33.3681C229.416 31.3647 225.351 30.3618 221.262 30.3618C215.974 30.3618 211.138 31.3389 206.75 33.2923C202.36 35.2456 198.597 37.928 195.455 41.3333C192.314 44.7401 189.869 48.6726 188.125 53.1293C186.378 57.589 185.507 62.274 185.507 67.1813C185.507 72.1925 186.378 76.8995 188.125 81.3069C189.868 85.7173 192.313 89.6241 195.455 93.0293C198.597 96.4361 202.361 99.1155 206.75 101.069C211.138 103.022 215.974 103.999 221.262 103.999C225.351 103.999 229.416 102.997 233.455 100.994C237.494 98.9911 240.611 96.2359 242.805 92.7282V102.195H259.112V32.1642H242.805V41.6337ZM241.31 75.7472C240.312 78.4531 238.916 80.8078 237.122 82.8112C235.326 84.8161 233.156 86.4183 230.614 87.6206C228.07 88.823 225.251 89.4238 222.16 89.4238C219.068 89.4238 216.275 88.823 213.782 87.6206C211.289 86.4183 209.145 84.8161 207.35 82.8112C205.554 80.8078 204.182 78.4531 203.236 75.7472C202.286 73.0421 201.814 70.1868 201.814 67.1821C201.814 64.1758 202.286 61.3205 203.236 58.6154C204.182 55.9102 205.554 53.5571 207.35 51.5522C209.145 49.5495 211.288 47.9451 213.782 46.7427C216.275 45.5404 219.068 44.9396 222.16 44.9396C225.251 44.9396 228.07 45.5404 230.614 46.7427C233.156 47.9451 235.326 49.5487 237.122 51.5522C238.917 53.5571 240.312 55.9102 241.31 58.6154C242.306 61.3205 242.806 64.1758 242.806 67.1821C242.805 70.1868 242.305 73.0421 241.31 75.7472Z", + fill: "currentColor" + } + ), + /* @__PURE__ */ jsx("path", { d: "M438 -3H421.694V102.197H438V-3Z", fill: "currentColor" }), + /* @__PURE__ */ jsx("path", { d: "M139.43 102.197H155.735V48.2834H183.712V32.1665H139.43V102.197Z", fill: "currentColor" }), + /* @__PURE__ */ jsx( + "path", + { + d: "M324.49 32.1665L303.995 85.794L283.498 32.1665H266.983L293.748 102.197H314.242L341.006 32.1665H324.49Z", + fill: "currentColor" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M376.571 30.3656C356.603 30.3656 340.797 46.8497 340.797 67.1828C340.797 89.6597 356.094 104 378.661 104C391.29 104 399.354 99.1488 409.206 88.5848L398.189 80.0226C398.183 80.031 389.874 90.9895 377.468 90.9895C363.048 90.9895 356.977 79.3111 356.977 73.269H411.075C413.917 50.1328 398.775 30.3656 376.571 30.3656ZM357.02 61.0967C357.145 59.7487 359.023 43.3761 376.442 43.3761C393.861 43.3761 395.978 59.7464 396.099 61.0967H357.02Z", + fill: "currentColor" + } + ) + ] + } + ), + /* @__PURE__ */ jsxs( + "svg", + { + className: "relative -mt-[4.9rem] -ml-8 w-[448px] max-w-none lg:-mt-[6.6rem] lg:ml-0 dark:hidden", + viewBox: "0 0 440 376", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsxs("g", { className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", children: [ + /* @__PURE__ */ jsx( + "path", + { + d: "M188.263 355.73L188.595 355.73C195.441 348.845 205.766 339.761 219.569 328.477C232.93 317.193 242.978 308.205 249.714 301.511C256.34 294.626 260.867 287.358 263.296 279.708C265.725 272.058 264.565 264.121 259.816 255.896C254.516 246.716 247.062 239.352 237.454 233.805C227.957 228.067 217.908 225.198 207.307 225.198C196.927 225.197 190.136 227.97 186.934 233.516C183.621 238.872 184.726 246.331 190.247 255.894L125.647 255.891C116.371 239.825 112.395 225.481 113.72 212.858C115.265 200.235 121.559 190.481 132.602 183.596C143.754 176.52 158.607 172.982 177.159 172.983C196.594 172.984 215.863 176.523 234.968 183.6C253.961 190.486 271.299 200.241 286.98 212.864C302.661 225.488 315.14 239.833 324.416 255.899C333.03 270.817 336.841 283.918 335.847 295.203C335.075 306.487 331.376 316.336 324.75 324.751C318.346 333.167 308.408 343.494 294.936 355.734L377.094 355.737L405.917 405.656L217.087 405.649L188.263 355.73Z", + fill: "black" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M9.11884 226.339L-13.7396 226.338L-42.7286 176.132L43.0733 176.135L175.595 405.649L112.651 405.647L9.11884 226.339Z", + fill: "black" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M188.263 355.73L188.595 355.73C195.441 348.845 205.766 339.761 219.569 328.477C232.93 317.193 242.978 308.205 249.714 301.511C256.34 294.626 260.867 287.358 263.296 279.708C265.725 272.058 264.565 264.121 259.816 255.896C254.516 246.716 247.062 239.352 237.454 233.805C227.957 228.067 217.908 225.198 207.307 225.198C196.927 225.197 190.136 227.97 186.934 233.516C183.621 238.872 184.726 246.331 190.247 255.894L125.647 255.891C116.371 239.825 112.395 225.481 113.72 212.858C115.265 200.235 121.559 190.481 132.602 183.596C143.754 176.52 158.607 172.982 177.159 172.983C196.594 172.984 215.863 176.523 234.968 183.6C253.961 190.486 271.299 200.241 286.98 212.864C302.661 225.488 315.14 239.833 324.416 255.899C333.03 270.817 336.841 283.918 335.847 295.203C335.075 306.487 331.376 316.336 324.75 324.751C318.346 333.167 308.408 343.494 294.936 355.734L377.094 355.737L405.917 405.656L217.087 405.649L188.263 355.73Z", + stroke: "#1B1B18", + strokeWidth: 1 + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M9.11884 226.339L-13.7396 226.338L-42.7286 176.132L43.0733 176.135L175.595 405.649L112.651 405.647L9.11884 226.339Z", + stroke: "#1B1B18", + strokeWidth: 1 + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M204.592 327.449L204.923 327.449C211.769 320.564 222.094 311.479 235.897 300.196C249.258 288.912 259.306 279.923 266.042 273.23C272.668 266.345 277.195 259.077 279.624 251.427C282.053 243.777 280.893 235.839 276.145 227.615C270.844 218.435 263.39 211.071 253.782 205.524C244.285 199.786 234.236 196.917 223.635 196.916C213.255 196.916 206.464 199.689 203.262 205.235C199.949 210.59 201.054 218.049 206.575 227.612L141.975 227.61C132.699 211.544 128.723 197.2 130.048 184.577C131.593 171.954 137.887 162.2 148.93 155.315C160.083 148.239 174.935 144.701 193.487 144.702C212.922 144.703 232.192 148.242 251.296 155.319C270.289 162.205 287.627 171.96 303.308 184.583C318.989 197.207 331.468 211.552 340.745 227.618C349.358 242.536 353.169 255.637 352.175 266.921C351.403 278.205 347.704 288.055 341.078 296.47C334.674 304.885 324.736 315.213 311.264 327.453L393.422 327.456L422.246 377.375L233.415 377.368L204.592 327.449Z", + fill: "#F8B803" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M25.447 198.058L2.58852 198.057L-26.4005 147.851L59.4015 147.854L191.923 377.368L128.979 377.365L25.447 198.058Z", + fill: "#F8B803" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M204.592 327.449L204.923 327.449C211.769 320.564 222.094 311.479 235.897 300.196C249.258 288.912 259.306 279.923 266.042 273.23C272.668 266.345 277.195 259.077 279.624 251.427C282.053 243.777 280.893 235.839 276.145 227.615C270.844 218.435 263.39 211.071 253.782 205.524C244.285 199.786 234.236 196.917 223.635 196.916C213.255 196.916 206.464 199.689 203.262 205.235C199.949 210.59 201.054 218.049 206.575 227.612L141.975 227.61C132.699 211.544 128.723 197.2 130.048 184.577C131.593 171.954 137.887 162.2 148.93 155.315C160.083 148.239 174.935 144.701 193.487 144.702C212.922 144.703 232.192 148.242 251.296 155.319C270.289 162.205 287.627 171.96 303.308 184.583C318.989 197.207 331.468 211.552 340.745 227.618C349.358 242.536 353.169 255.637 352.175 266.921C351.403 278.205 347.704 288.055 341.078 296.47C334.674 304.885 324.736 315.213 311.264 327.453L393.422 327.456L422.246 377.375L233.415 377.368L204.592 327.449Z", + stroke: "#1B1B18", + strokeWidth: 1 + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M25.447 198.058L2.58852 198.057L-26.4005 147.851L59.4015 147.854L191.923 377.368L128.979 377.365L25.447 198.058Z", + stroke: "#1B1B18", + strokeWidth: 1 + } + ) + ] }), + /* @__PURE__ */ jsxs( + "g", + { + style: { mixBlendMode: "hard-light" }, + className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", + children: [ + /* @__PURE__ */ jsx( + "path", + { + d: "M217.342 305.363L217.673 305.363C224.519 298.478 234.844 289.393 248.647 278.11C262.008 266.826 272.056 257.837 278.792 251.144C285.418 244.259 289.945 236.991 292.374 229.341C294.803 221.691 293.643 213.753 288.895 205.529C283.594 196.349 276.14 188.985 266.532 183.438C257.035 177.7 246.986 174.831 236.385 174.83C226.005 174.83 219.214 177.603 216.012 183.149C212.699 188.504 213.804 195.963 219.325 205.527L154.725 205.524C145.449 189.458 141.473 175.114 142.798 162.491C144.343 149.868 150.637 140.114 161.68 133.229C172.833 126.153 187.685 122.615 206.237 122.616C225.672 122.617 244.942 126.156 264.046 133.233C283.039 140.119 300.377 149.874 316.058 162.497C331.739 175.121 344.218 189.466 353.495 205.532C362.108 220.45 365.919 233.551 364.925 244.835C364.153 256.12 360.454 265.969 353.828 274.384C347.424 282.799 337.486 293.127 324.014 305.367L406.172 305.37L434.996 355.289L246.165 355.282L217.342 305.363Z", + fill: "#F0ACB8" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M38.197 175.972L15.3385 175.971L-13.6505 125.765L72.1515 125.768L204.673 355.282L141.729 355.279L38.197 175.972Z", + fill: "#F0ACB8" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M217.342 305.363L217.673 305.363C224.519 298.478 234.844 289.393 248.647 278.11C262.008 266.826 272.056 257.837 278.792 251.144C285.418 244.259 289.945 236.991 292.374 229.341C294.803 221.691 293.643 213.753 288.895 205.529C283.594 196.349 276.14 188.985 266.532 183.438C257.035 177.7 246.986 174.831 236.385 174.83C226.005 174.83 219.214 177.603 216.012 183.149C212.699 188.504 213.804 195.963 219.325 205.527L154.725 205.524C145.449 189.458 141.473 175.114 142.798 162.491C144.343 149.868 150.637 140.114 161.68 133.229C172.833 126.153 187.685 122.615 206.237 122.616C225.672 122.617 244.942 126.156 264.046 133.233C283.039 140.119 300.377 149.874 316.058 162.497C331.739 175.121 344.218 189.466 353.495 205.532C362.108 220.45 365.919 233.551 364.925 244.835C364.153 256.12 360.454 265.969 353.828 274.384C347.424 282.799 337.486 293.127 324.014 305.367L406.172 305.37L434.996 355.289L246.165 355.282L217.342 305.363Z", + stroke: "#1B1B18", + strokeWidth: 1 + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M38.197 175.972L15.3385 175.971L-13.6505 125.765L72.1515 125.768L204.673 355.282L141.729 355.279L38.197 175.972Z", + stroke: "#1B1B18", + strokeWidth: 1 + } + ) + ] + } + ), + /* @__PURE__ */ jsxs( + "g", + { + style: { mixBlendMode: "plus-darker" }, + className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", + children: [ + /* @__PURE__ */ jsx( + "path", + { + d: "M230.951 281.792L231.282 281.793C238.128 274.907 248.453 265.823 262.256 254.539C275.617 243.256 285.666 234.267 292.402 227.573C299.027 220.688 303.554 213.421 305.983 205.771C308.412 198.12 307.253 190.183 302.504 181.959C297.203 172.778 289.749 165.415 280.142 159.868C270.645 154.13 260.596 151.26 249.995 151.26C239.615 151.26 232.823 154.033 229.621 159.579C226.309 164.934 227.413 172.393 232.935 181.956L168.335 181.954C159.058 165.888 155.082 151.543 156.407 138.92C157.953 126.298 164.247 116.544 175.289 109.659C186.442 102.583 201.294 99.045 219.846 99.0457C239.281 99.0464 258.551 102.585 277.655 109.663C296.649 116.549 313.986 126.303 329.667 138.927C345.349 151.551 357.827 165.895 367.104 181.961C375.718 196.88 379.528 209.981 378.535 221.265C377.762 232.549 374.063 242.399 367.438 250.814C361.033 259.229 351.095 269.557 337.624 281.796L419.782 281.8L448.605 331.719L259.774 331.712L230.951 281.792Z", + fill: "#F3BEC7" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M51.8063 152.402L28.9479 152.401L-0.0411453 102.195L85.7608 102.198L218.282 331.711L155.339 331.709L51.8063 152.402Z", + fill: "#F3BEC7" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M230.951 281.792L231.282 281.793C238.128 274.907 248.453 265.823 262.256 254.539C275.617 243.256 285.666 234.267 292.402 227.573C299.027 220.688 303.554 213.421 305.983 205.771C308.412 198.12 307.253 190.183 302.504 181.959C297.203 172.778 289.749 165.415 280.142 159.868C270.645 154.13 260.596 151.26 249.995 151.26C239.615 151.26 232.823 154.033 229.621 159.579C226.309 164.934 227.413 172.393 232.935 181.956L168.335 181.954C159.058 165.888 155.082 151.543 156.407 138.92C157.953 126.298 164.247 116.544 175.289 109.659C186.442 102.583 201.294 99.045 219.846 99.0457C239.281 99.0464 258.551 102.585 277.655 109.663C296.649 116.549 313.986 126.303 329.667 138.927C345.349 151.551 357.827 165.895 367.104 181.961C375.718 196.88 379.528 209.981 378.535 221.265C377.762 232.549 374.063 242.399 367.438 250.814C361.033 259.229 351.095 269.557 337.624 281.796L419.782 281.8L448.605 331.719L259.774 331.712L230.951 281.792Z", + stroke: "#1B1B18", + strokeWidth: 1 + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M51.8063 152.402L28.9479 152.401L-0.0411453 102.195L85.7608 102.198L218.282 331.711L155.339 331.709L51.8063 152.402Z", + stroke: "#1B1B18", + strokeWidth: 1 + } + ) + ] + } + ), + /* @__PURE__ */ jsxs("g", { className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", children: [ + /* @__PURE__ */ jsx( + "path", + { + d: "M188.467 355.363L188.798 355.363C195.644 348.478 205.969 339.393 219.772 328.11C233.133 316.826 243.181 307.837 249.917 301.144C253.696 297.217 256.792 293.166 259.205 288.991C261.024 285.845 262.455 282.628 263.499 279.341C265.928 271.691 264.768 263.753 260.02 255.529C254.719 246.349 247.265 238.985 237.657 233.438C228.16 227.7 218.111 224.831 207.51 224.83C197.13 224.83 190.339 227.603 187.137 233.149C183.824 238.504 184.929 245.963 190.45 255.527L125.851 255.524C116.574 239.458 112.598 225.114 113.923 212.491C114.615 206.836 116.261 201.756 118.859 197.253C122.061 191.704 126.709 187.03 132.805 183.229C143.958 176.153 158.81 172.615 177.362 172.616C196.797 172.617 216.067 176.156 235.171 183.233C254.164 190.119 271.502 199.874 287.183 212.497C302.864 225.121 315.343 239.466 324.62 255.532C333.233 270.45 337.044 283.551 336.05 294.835C335.46 303.459 333.16 311.245 329.151 318.194C327.915 320.337 326.515 322.4 324.953 324.384C318.549 332.799 308.611 343.127 295.139 355.367L377.297 355.37L406.121 405.289L217.29 405.282L188.467 355.363Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M9.32197 225.972L-13.5365 225.971L-42.5255 175.765L43.2765 175.768L175.798 405.282L112.854 405.279L9.32197 225.972Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M345.247 111.915C329.566 99.2919 312.229 89.5371 293.235 82.6512L235.167 183.228C254.161 190.114 271.498 199.869 287.179 212.492L345.247 111.915Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M382.686 154.964C373.41 138.898 360.931 124.553 345.25 111.93L287.182 212.506C302.863 225.13 315.342 239.475 324.618 255.541L382.686 154.964Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M293.243 82.6472C274.139 75.57 254.869 72.031 235.434 72.0303L177.366 172.607C196.801 172.608 216.071 176.147 235.175 183.224L293.243 82.6472Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M394.118 194.257C395.112 182.973 391.301 169.872 382.688 154.953L324.619 255.53C333.233 270.448 337.044 283.55 336.05 294.834L394.118 194.257Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M235.432 72.0311C216.88 72.0304 202.027 75.5681 190.875 82.6442L132.806 183.221C143.959 176.145 158.812 172.607 177.363 172.608L235.432 72.0311Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M265.59 124.25C276.191 124.251 286.24 127.12 295.737 132.858L237.669 233.435C228.172 227.697 218.123 224.828 207.522 224.827L265.59 124.25Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M295.719 132.859C305.326 138.406 312.78 145.77 318.081 154.95L260.013 255.527C254.712 246.347 247.258 238.983 237.651 233.436L295.719 132.859Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M387.218 217.608C391.227 210.66 393.527 202.874 394.117 194.25L336.049 294.827C335.459 303.451 333.159 311.237 329.15 318.185L387.218 217.608Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M245.211 132.577C248.413 127.03 255.204 124.257 265.584 124.258L207.516 224.835C197.136 224.834 190.345 227.607 187.143 233.154L245.211 132.577Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M318.094 154.945C322.842 163.17 324.002 171.107 321.573 178.757L263.505 279.334C265.934 271.684 264.774 263.746 260.026 255.522L318.094 154.945Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M176.925 96.6737C180.127 91.1249 184.776 86.4503 190.871 82.6499L132.803 183.227C126.708 187.027 122.059 191.702 118.857 197.25L176.925 96.6737Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M387.226 217.606C385.989 219.749 384.59 221.813 383.028 223.797L324.96 324.373C326.522 322.39 327.921 320.326 329.157 318.183L387.226 217.606Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M317.269 188.408C319.087 185.262 320.519 182.045 321.562 178.758L263.494 279.335C262.451 282.622 261.019 285.839 259.201 288.985L317.269 188.408Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M245.208 132.573C241.895 137.928 243 145.387 248.522 154.95L190.454 255.527C184.932 245.964 183.827 238.505 187.14 233.15L245.208 132.573Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M176.93 96.6719C174.331 101.175 172.686 106.255 171.993 111.91L113.925 212.487C114.618 206.831 116.263 201.752 118.862 197.249L176.93 96.6719Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M317.266 188.413C314.853 192.589 311.757 196.64 307.978 200.566L249.91 301.143C253.689 297.216 256.785 293.166 259.198 288.99L317.266 188.413Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M464.198 304.708L435.375 254.789L377.307 355.366L406.13 405.285L464.198 304.708Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M353.209 254.787C366.68 242.548 376.618 232.22 383.023 223.805L324.955 324.382C318.55 332.797 308.612 343.124 295.141 355.364L353.209 254.787Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M435.37 254.787L353.212 254.784L295.144 355.361L377.302 355.364L435.37 254.787Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M183.921 154.947L248.521 154.95L190.453 255.527L125.853 255.524L183.921 154.947Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M171.992 111.914C170.668 124.537 174.643 138.881 183.92 154.947L125.852 255.524C116.575 239.458 112.599 225.114 113.924 212.491L171.992 111.914Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M307.987 200.562C301.251 207.256 291.203 216.244 277.842 227.528L219.774 328.105C233.135 316.821 243.183 307.832 249.919 301.139L307.987 200.562Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M15.5469 75.1797L44.5359 125.386L-13.5321 225.963L-42.5212 175.756L15.5469 75.1797Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M277.836 227.536C264.033 238.82 253.708 247.904 246.862 254.789L188.794 355.366C195.64 348.481 205.965 339.397 219.768 328.113L277.836 227.536Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M275.358 304.706L464.189 304.713L406.12 405.29L217.29 405.283L275.358 304.706Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M44.5279 125.39L67.3864 125.39L9.31834 225.967L-13.5401 225.966L44.5279 125.39Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M101.341 75.1911L233.863 304.705L175.795 405.282L43.2733 175.768L101.341 75.1911ZM15.5431 75.19L-42.525 175.767L43.277 175.77L101.345 75.1932L15.5431 75.19Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M246.866 254.784L246.534 254.784L188.466 355.361L188.798 355.361L246.866 254.784Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M246.539 254.781L275.362 304.701L217.294 405.277L188.471 355.358L246.539 254.781Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M67.3906 125.391L170.923 304.698L112.855 405.275L9.32257 225.967L67.3906 125.391Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M170.921 304.699L233.865 304.701L175.797 405.278L112.853 405.276L170.921 304.699Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ) + ] }), + /* @__PURE__ */ jsxs( + "g", + { + style: { mixBlendMode: "hard-light" }, + className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", + children: [ + /* @__PURE__ */ jsx( + "path", + { + d: "M246.544 254.79L246.875 254.79C253.722 247.905 264.046 238.82 277.849 227.537C291.21 216.253 301.259 207.264 307.995 200.57C314.62 193.685 319.147 186.418 321.577 178.768C324.006 171.117 322.846 163.18 318.097 154.956C312.796 145.775 305.342 138.412 295.735 132.865C286.238 127.127 276.189 124.258 265.588 124.257C255.208 124.257 248.416 127.03 245.214 132.576C241.902 137.931 243.006 145.39 248.528 154.953L183.928 154.951C174.652 138.885 170.676 124.541 172 111.918C173.546 99.2946 179.84 89.5408 190.882 82.6559C202.035 75.5798 216.887 72.0421 235.439 72.0428C254.874 72.0435 274.144 75.5825 293.248 82.6598C312.242 89.5457 329.579 99.3005 345.261 111.924C360.942 124.548 373.421 138.892 382.697 154.958C391.311 169.877 395.121 182.978 394.128 194.262C393.355 205.546 389.656 215.396 383.031 223.811C376.627 232.226 366.688 242.554 353.217 254.794L435.375 254.797L464.198 304.716L275.367 304.709L246.544 254.79Z", + fill: "#F0ACB8" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M246.544 254.79L246.875 254.79C253.722 247.905 264.046 238.82 277.849 227.537C291.21 216.253 301.259 207.264 307.995 200.57C314.62 193.685 319.147 186.418 321.577 178.768C324.006 171.117 322.846 163.18 318.097 154.956C312.796 145.775 305.342 138.412 295.735 132.865C286.238 127.127 276.189 124.258 265.588 124.257C255.208 124.257 248.416 127.03 245.214 132.576C241.902 137.931 243.006 145.39 248.528 154.953L183.928 154.951C174.652 138.885 170.676 124.541 172 111.918C173.546 99.2946 179.84 89.5408 190.882 82.6559C202.035 75.5798 216.887 72.0421 235.439 72.0428C254.874 72.0435 274.144 75.5825 293.248 82.6598C312.242 89.5457 329.579 99.3005 345.261 111.924C360.942 124.548 373.421 138.892 382.697 154.958C391.311 169.877 395.121 182.978 394.128 194.262C393.355 205.546 389.656 215.396 383.031 223.811C376.627 232.226 366.688 242.554 353.217 254.794L435.375 254.797L464.198 304.716L275.367 304.709L246.544 254.79Z", + stroke: "#1B1B18", + strokeWidth: 1, + strokeLinejoin: "round" + } + ) + ] + } + ), + /* @__PURE__ */ jsxs( + "g", + { + style: { mixBlendMode: "hard-light" }, + className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", + children: [ + /* @__PURE__ */ jsx( + "path", + { + d: "M67.41 125.402L44.5515 125.401L15.5625 75.1953L101.364 75.1985L233.886 304.712L170.942 304.71L67.41 125.402Z", + fill: "#F0ACB8" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M67.41 125.402L44.5515 125.401L15.5625 75.1953L101.364 75.1985L233.886 304.712L170.942 304.71L67.41 125.402Z", + stroke: "#1B1B18", + strokeWidth: 1 + } + ) + ] + } + ) + ] + } + ), + /* @__PURE__ */ jsxs( + "svg", + { + className: "relative -mt-[4.9rem] -ml-8 hidden w-[448px] max-w-none lg:-mt-[6.6rem] lg:ml-0 dark:block", + viewBox: "0 0 440 376", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsxs("g", { className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", children: [ + /* @__PURE__ */ jsx( + "path", + { + d: "M188.263 355.73L188.595 355.73C195.441 348.845 205.766 339.761 219.569 328.477C232.93 317.193 242.978 308.205 249.714 301.511C256.34 294.626 260.867 287.358 263.296 279.708C265.725 272.058 264.565 264.121 259.816 255.896C254.516 246.716 247.062 239.352 237.454 233.805C227.957 228.067 217.908 225.198 207.307 225.198C196.927 225.197 190.136 227.97 186.934 233.516C183.621 238.872 184.726 246.331 190.247 255.894L125.647 255.891C116.371 239.825 112.395 225.481 113.72 212.858C115.265 200.235 121.559 190.481 132.602 183.596C143.754 176.52 158.607 172.982 177.159 172.983C196.594 172.984 215.863 176.523 234.968 183.6C253.961 190.486 271.299 200.241 286.98 212.864C302.661 225.488 315.14 239.833 324.416 255.899C333.03 270.817 336.841 283.918 335.847 295.203C335.075 306.487 331.376 316.336 324.75 324.751C318.346 333.167 308.408 343.494 294.936 355.734L377.094 355.737L405.917 405.656L217.087 405.649L188.263 355.73Z", + fill: "black" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M9.11884 226.339L-13.7396 226.338L-42.7286 176.132L43.0733 176.135L175.595 405.649L112.651 405.647L9.11884 226.339Z", + fill: "black" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M188.263 355.73L188.595 355.73C195.441 348.845 205.766 339.761 219.569 328.477C232.93 317.193 242.978 308.205 249.714 301.511C256.34 294.626 260.867 287.358 263.296 279.708C265.725 272.058 264.565 264.121 259.816 255.896C254.516 246.716 247.062 239.352 237.454 233.805C227.957 228.067 217.908 225.198 207.307 225.198C196.927 225.197 190.136 227.97 186.934 233.516C183.621 238.872 184.726 246.331 190.247 255.894L125.647 255.891C116.371 239.825 112.395 225.481 113.72 212.858C115.265 200.235 121.559 190.481 132.602 183.596C143.754 176.52 158.607 172.982 177.159 172.983C196.594 172.984 215.863 176.523 234.968 183.6C253.961 190.486 271.299 200.241 286.98 212.864C302.661 225.488 315.14 239.833 324.416 255.899C333.03 270.817 336.841 283.918 335.847 295.203C335.075 306.487 331.376 316.336 324.75 324.751C318.346 333.167 308.408 343.494 294.936 355.734L377.094 355.737L405.917 405.656L217.087 405.649L188.263 355.73Z", + stroke: "#FF750F", + strokeWidth: 1 + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M9.11884 226.339L-13.7396 226.338L-42.7286 176.132L43.0733 176.135L175.595 405.649L112.651 405.647L9.11884 226.339Z", + stroke: "#FF750F", + strokeWidth: 1 + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M204.592 327.449L204.923 327.449C211.769 320.564 222.094 311.479 235.897 300.196C249.258 288.912 259.306 279.923 266.042 273.23C272.668 266.345 277.195 259.077 279.624 251.427C282.053 243.777 280.893 235.839 276.145 227.615C270.844 218.435 263.39 211.071 253.782 205.524C244.285 199.786 234.236 196.917 223.635 196.916C213.255 196.916 206.464 199.689 203.262 205.235C199.949 210.59 201.054 218.049 206.575 227.612L141.975 227.61C132.699 211.544 128.723 197.2 130.048 184.577C131.593 171.954 137.887 162.2 148.93 155.315C160.083 148.239 174.935 144.701 193.487 144.702C212.922 144.703 232.192 148.242 251.296 155.319C270.289 162.205 287.627 171.96 303.308 184.583C318.989 197.207 331.468 211.552 340.745 227.618C349.358 242.536 353.169 255.637 352.175 266.921C351.403 278.205 347.704 288.055 341.078 296.47C334.674 304.885 324.736 315.213 311.264 327.453L393.422 327.456L422.246 377.375L233.415 377.368L204.592 327.449Z", + fill: "#391800" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M25.447 198.058L2.58852 198.057L-26.4005 147.851L59.4015 147.854L191.923 377.368L128.979 377.365L25.447 198.058Z", + fill: "#391800" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M204.592 327.449L204.923 327.449C211.769 320.564 222.094 311.479 235.897 300.196C249.258 288.912 259.306 279.923 266.042 273.23C272.668 266.345 277.195 259.077 279.624 251.427C282.053 243.777 280.893 235.839 276.145 227.615C270.844 218.435 263.39 211.071 253.782 205.524C244.285 199.786 234.236 196.917 223.635 196.916C213.255 196.916 206.464 199.689 203.262 205.235C199.949 210.59 201.054 218.049 206.575 227.612L141.975 227.61C132.699 211.544 128.723 197.2 130.048 184.577C131.593 171.954 137.887 162.2 148.93 155.315C160.083 148.239 174.935 144.701 193.487 144.702C212.922 144.703 232.192 148.242 251.296 155.319C270.289 162.205 287.627 171.96 303.308 184.583C318.989 197.207 331.468 211.552 340.745 227.618C349.358 242.536 353.169 255.637 352.175 266.921C351.403 278.205 347.704 288.055 341.078 296.47C334.674 304.885 324.736 315.213 311.264 327.453L393.422 327.456L422.246 377.375L233.415 377.368L204.592 327.449Z", + stroke: "#FF750F", + strokeWidth: 1 + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M25.447 198.058L2.58852 198.057L-26.4005 147.851L59.4015 147.854L191.923 377.368L128.979 377.365L25.447 198.058Z", + stroke: "#FF750F", + strokeWidth: 1 + } + ) + ] }), + /* @__PURE__ */ jsxs( + "g", + { + className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", + style: { mixBlendMode: "hard-light" }, + children: [ + /* @__PURE__ */ jsx( + "path", + { + d: "M217.342 305.363L217.673 305.363C224.519 298.478 234.844 289.393 248.647 278.11C262.008 266.826 272.056 257.837 278.792 251.144C285.418 244.259 289.945 236.991 292.374 229.341C294.803 221.691 293.643 213.753 288.895 205.529C283.594 196.349 276.14 188.985 266.532 183.438C257.035 177.7 246.986 174.831 236.385 174.83C226.005 174.83 219.214 177.603 216.012 183.149C212.699 188.504 213.804 195.963 219.325 205.527L154.725 205.524C145.449 189.458 141.473 175.114 142.798 162.491C144.343 149.868 150.637 140.114 161.68 133.229C172.833 126.153 187.685 122.615 206.237 122.616C225.672 122.617 244.942 126.156 264.046 133.233C283.039 140.119 300.377 149.874 316.058 162.497C331.739 175.121 344.218 189.466 353.495 205.532C362.108 220.45 365.919 233.551 364.925 244.835C364.153 256.12 360.454 265.969 353.828 274.384C347.424 282.799 337.486 293.127 324.014 305.367L406.172 305.37L434.996 355.289L246.165 355.282L217.342 305.363Z", + fill: "#733000" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M38.197 175.972L15.3385 175.971L-13.6505 125.765L72.1515 125.768L204.673 355.282L141.729 355.279L38.197 175.972Z", + fill: "#733000" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M217.342 305.363L217.673 305.363C224.519 298.478 234.844 289.393 248.647 278.11C262.008 266.826 272.056 257.837 278.792 251.144C285.418 244.259 289.945 236.991 292.374 229.341C294.803 221.691 293.643 213.753 288.895 205.529C283.594 196.349 276.14 188.985 266.532 183.438C257.035 177.7 246.986 174.831 236.385 174.83C226.005 174.83 219.214 177.603 216.012 183.149C212.699 188.504 213.804 195.963 219.325 205.527L154.725 205.524C145.449 189.458 141.473 175.114 142.798 162.491C144.343 149.868 150.637 140.114 161.68 133.229C172.833 126.153 187.685 122.615 206.237 122.616C225.672 122.617 244.942 126.156 264.046 133.233C283.039 140.119 300.377 149.874 316.058 162.497C331.739 175.121 344.218 189.466 353.495 205.532C362.108 220.45 365.919 233.551 364.925 244.835C364.153 256.12 360.454 265.969 353.828 274.384C347.424 282.799 337.486 293.127 324.014 305.367L406.172 305.37L434.996 355.289L246.165 355.282L217.342 305.363Z", + stroke: "#FF750F", + strokeWidth: 1 + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M38.197 175.972L15.3385 175.971L-13.6505 125.765L72.1515 125.768L204.673 355.282L141.729 355.279L38.197 175.972Z", + stroke: "#FF750F", + strokeWidth: 1 + } + ) + ] + } + ), + /* @__PURE__ */ jsxs("g", { className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", children: [ + /* @__PURE__ */ jsx( + "path", + { + d: "M217.342 305.363L217.673 305.363C224.519 298.478 234.844 289.393 248.647 278.11C262.008 266.826 272.056 257.837 278.792 251.144C285.418 244.259 289.945 236.991 292.374 229.341C294.803 221.691 293.643 213.753 288.895 205.529C283.594 196.349 276.14 188.985 266.532 183.438C257.035 177.7 246.986 174.831 236.385 174.83C226.005 174.83 219.214 177.603 216.012 183.149C212.699 188.504 213.804 195.963 219.325 205.527L154.726 205.524C145.449 189.458 141.473 175.114 142.798 162.491C144.343 149.868 150.637 140.114 161.68 133.229C172.833 126.153 187.685 122.615 206.237 122.616C225.672 122.617 244.942 126.156 264.046 133.233C283.039 140.119 300.377 149.874 316.058 162.497C331.739 175.121 344.218 189.466 353.495 205.532C362.108 220.45 365.919 233.551 364.925 244.835C364.153 256.12 360.454 265.969 353.828 274.384C347.424 282.799 337.486 293.127 324.014 305.367L406.172 305.37L434.996 355.289L246.165 355.282L217.342 305.363Z", + stroke: "#FF750F", + strokeWidth: 1 + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M38.197 175.972L15.3385 175.971L-13.6505 125.765L72.1515 125.768L204.673 355.282L141.729 355.279L38.197 175.972Z", + stroke: "#FF750F", + strokeWidth: 1 + } + ) + ] }), + /* @__PURE__ */ jsxs("g", { className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", children: [ + /* @__PURE__ */ jsx( + "path", + { + d: "M188.467 355.363L188.798 355.363C195.644 348.478 205.969 339.393 219.772 328.11C233.133 316.826 243.181 307.837 249.917 301.144C253.696 297.217 256.792 293.166 259.205 288.991C261.024 285.845 262.455 282.628 263.499 279.341C265.928 271.691 264.768 263.753 260.02 255.529C254.719 246.349 247.265 238.985 237.657 233.438C228.16 227.7 218.111 224.831 207.51 224.83C197.13 224.83 190.339 227.603 187.137 233.149C183.824 238.504 184.929 245.963 190.45 255.527L125.851 255.524C116.574 239.458 112.598 225.114 113.923 212.491C114.615 206.836 116.261 201.756 118.859 197.253C122.061 191.704 126.709 187.03 132.805 183.229C143.958 176.153 158.81 172.615 177.362 172.616C196.797 172.617 216.067 176.156 235.171 183.233C254.164 190.119 271.502 199.874 287.183 212.497C302.864 225.121 315.343 239.466 324.62 255.532C333.233 270.45 337.044 283.551 336.05 294.835C335.46 303.459 333.16 311.245 329.151 318.194C327.915 320.337 326.515 322.4 324.953 324.384C318.549 332.799 308.611 343.127 295.139 355.367L377.297 355.37L406.121 405.289L217.29 405.282L188.467 355.363Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M9.32197 225.972L-13.5365 225.971L-42.5255 175.765L43.2765 175.768L175.798 405.282L112.854 405.279L9.32197 225.972Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M345.247 111.915C329.566 99.2919 312.229 89.5371 293.235 82.6512L235.167 183.228C254.161 190.114 271.498 199.869 287.179 212.492L345.247 111.915Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M382.686 154.964C373.41 138.898 360.931 124.553 345.25 111.93L287.182 212.506C302.863 225.13 315.342 239.475 324.618 255.541L382.686 154.964Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M293.243 82.6472C274.139 75.57 254.869 72.031 235.434 72.0303L177.366 172.607C196.801 172.608 216.071 176.147 235.175 183.224L293.243 82.6472Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M394.118 194.257C395.112 182.973 391.301 169.872 382.688 154.953L324.619 255.53C333.233 270.448 337.044 283.55 336.05 294.834L394.118 194.257Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M235.432 72.0311C216.88 72.0304 202.027 75.5681 190.875 82.6442L132.806 183.221C143.959 176.145 158.812 172.607 177.363 172.608L235.432 72.0311Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M265.59 124.25C276.191 124.251 286.24 127.12 295.737 132.858L237.669 233.435C228.172 227.697 218.123 224.828 207.522 224.827L265.59 124.25Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M295.719 132.859C305.326 138.406 312.78 145.77 318.081 154.95L260.013 255.527C254.712 246.347 247.258 238.983 237.651 233.436L295.719 132.859Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M387.218 217.608C391.227 210.66 393.527 202.874 394.117 194.25L336.049 294.827C335.459 303.451 333.159 311.237 329.15 318.185L387.218 217.608Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M245.211 132.577C248.413 127.03 255.204 124.257 265.584 124.258L207.516 224.835C197.136 224.834 190.345 227.607 187.143 233.154L245.211 132.577Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M318.094 154.945C322.842 163.17 324.002 171.107 321.573 178.757L263.505 279.334C265.934 271.684 264.774 263.746 260.026 255.522L318.094 154.945Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M176.925 96.6737C180.127 91.1249 184.776 86.4503 190.871 82.6499L132.803 183.227C126.708 187.027 122.059 191.702 118.857 197.25L176.925 96.6737Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M387.226 217.606C385.989 219.749 384.59 221.813 383.028 223.797L324.96 324.373C326.522 322.39 327.921 320.326 329.157 318.183L387.226 217.606Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M317.269 188.408C319.087 185.262 320.519 182.045 321.562 178.758L263.494 279.335C262.451 282.622 261.019 285.839 259.201 288.985L317.269 188.408Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M245.208 132.573C241.895 137.928 243 145.387 248.522 154.95L190.454 255.527C184.932 245.964 183.827 238.505 187.14 233.15L245.208 132.573Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M176.93 96.6719C174.331 101.175 172.686 106.255 171.993 111.91L113.925 212.487C114.618 206.831 116.263 201.752 118.862 197.249L176.93 96.6719Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M317.266 188.413C314.853 192.589 311.757 196.64 307.978 200.566L249.91 301.143C253.689 297.216 256.785 293.166 259.198 288.99L317.266 188.413Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M464.198 304.708L435.375 254.789L377.307 355.366L406.13 405.285L464.198 304.708Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M353.209 254.787C366.68 242.548 376.618 232.22 383.023 223.805L324.955 324.382C318.55 332.797 308.612 343.124 295.141 355.364L353.209 254.787Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M435.37 254.787L353.212 254.784L295.144 355.361L377.302 355.364L435.37 254.787Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M183.921 154.947L248.521 154.95L190.453 255.527L125.853 255.524L183.921 154.947Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M171.992 111.914C170.668 124.537 174.643 138.881 183.92 154.947L125.852 255.524C116.575 239.458 112.599 225.114 113.924 212.491L171.992 111.914Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M307.987 200.562C301.251 207.256 291.203 216.244 277.842 227.528L219.774 328.105C233.135 316.821 243.183 307.832 249.919 301.139L307.987 200.562Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M15.5469 75.1797L44.5359 125.386L-13.5321 225.963L-42.5212 175.756L15.5469 75.1797Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M277.836 227.536C264.033 238.82 253.708 247.904 246.862 254.789L188.794 355.366C195.64 348.481 205.965 339.397 219.768 328.113L277.836 227.536Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M275.358 304.706L464.189 304.713L406.12 405.29L217.29 405.283L275.358 304.706Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M44.5279 125.39L67.3864 125.39L9.31834 225.967L-13.5401 225.966L44.5279 125.39Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M101.341 75.1911L233.863 304.705L175.795 405.282L43.2733 175.768L101.341 75.1911ZM15.5431 75.19L-42.525 175.767L43.277 175.77L101.345 75.1932L15.5431 75.19Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M246.866 254.784L246.534 254.784L188.466 355.361L188.798 355.361L246.866 254.784Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M246.539 254.781L275.362 304.701L217.294 405.277L188.471 355.358L246.539 254.781Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M67.3906 125.391L170.923 304.698L112.855 405.275L9.32257 225.967L67.3906 125.391Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M170.921 304.699L233.865 304.701L175.797 405.278L112.853 405.276L170.921 304.699Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "bevel" + } + ) + ] }), + /* @__PURE__ */ jsxs( + "g", + { + className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", + style: { mixBlendMode: "hard-light" }, + children: [ + /* @__PURE__ */ jsx( + "path", + { + d: "M246.544 254.79L246.875 254.79C253.722 247.905 264.046 238.82 277.849 227.537C291.21 216.253 301.259 207.264 307.995 200.57C314.62 193.685 319.147 186.418 321.577 178.768C324.006 171.117 322.846 163.18 318.097 154.956C312.796 145.775 305.342 138.412 295.735 132.865C286.238 127.127 276.189 124.258 265.588 124.257C255.208 124.257 248.416 127.03 245.214 132.576C241.902 137.931 243.006 145.39 248.528 154.953L183.928 154.951C174.652 138.885 170.676 124.541 172 111.918C173.546 99.2946 179.84 89.5408 190.882 82.6559C202.035 75.5798 216.887 72.0421 235.439 72.0428C254.874 72.0435 274.144 75.5825 293.248 82.6598C312.242 89.5457 329.579 99.3005 345.261 111.924C360.942 124.548 373.421 138.892 382.697 154.958C391.311 169.877 395.121 182.978 394.128 194.262C393.355 205.546 389.656 215.396 383.031 223.811C376.627 232.226 366.688 242.554 353.217 254.794L435.375 254.797L464.198 304.716L275.367 304.709L246.544 254.79Z", + fill: "#4B0600" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M246.544 254.79L246.875 254.79C253.722 247.905 264.046 238.82 277.849 227.537C291.21 216.253 301.259 207.264 307.995 200.57C314.62 193.685 319.147 186.418 321.577 178.768C324.006 171.117 322.846 163.18 318.097 154.956C312.796 145.775 305.342 138.412 295.735 132.865C286.238 127.127 276.189 124.258 265.588 124.257C255.208 124.257 248.416 127.03 245.214 132.576C241.902 137.931 243.006 145.39 248.528 154.953L183.928 154.951C174.652 138.885 170.676 124.541 172 111.918C173.546 99.2946 179.84 89.5408 190.882 82.6559C202.035 75.5798 216.887 72.0421 235.439 72.0428C254.874 72.0435 274.144 75.5825 293.248 82.6598C312.242 89.5457 329.579 99.3005 345.261 111.924C360.942 124.548 373.421 138.892 382.697 154.958C391.311 169.877 395.121 182.978 394.128 194.262C393.355 205.546 389.656 215.396 383.031 223.811C376.627 232.226 366.688 242.554 353.217 254.794L435.375 254.797L464.198 304.716L275.367 304.709L246.544 254.79Z", + stroke: "#FF750F", + strokeWidth: 1, + strokeLinejoin: "round" + } + ) + ] + } + ), + /* @__PURE__ */ jsxs( + "g", + { + className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", + style: { mixBlendMode: "hard-light" }, + children: [ + /* @__PURE__ */ jsx( + "path", + { + d: "M67.41 125.402L44.5515 125.401L15.5625 75.1953L101.364 75.1985L233.886 304.712L170.942 304.71L67.41 125.402Z", + fill: "#4B0600" + } + ), + /* @__PURE__ */ jsx( + "path", + { + d: "M67.41 125.402L44.5515 125.401L15.5625 75.1953L101.364 75.1985L233.886 304.712L170.942 304.71L67.41 125.402Z", + stroke: "#FF750F", + strokeWidth: 1 + } + ) + ] + } + ) + ] + } + ), + /* @__PURE__ */ jsx("div", { className: "absolute inset-0 rounded-t-lg shadow-[inset_0px_0px_0px_1px_rgba(26,26,0,0.16)] lg:rounded-t-none lg:rounded-r-lg dark:shadow-[inset_0px_0px_0px_1px_#fffaed2d]" }) + ] }) + ] }) }), + /* @__PURE__ */ jsx("div", { className: "hidden h-14.5 lg:block" }) + ] }) + ] }); +} +export { + Welcome as default +}; diff --git a/bootstrap/ssr/ssr-manifest.json b/bootstrap/ssr/ssr-manifest.json new file mode 100644 index 00000000..27bf6739 --- /dev/null +++ b/bootstrap/ssr/ssr-manifest.json @@ -0,0 +1,164 @@ +{ + "node_modules/laravel-vite-plugin/inertia-helpers/index.js": [], + "resources/js/components/app-content.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/app-logo-icon.tsx": [ + "/build/assets/app-logo-icon-CoogQ1E6.js" + ], + "resources/js/components/app-logo.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/app-shell.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/app-sidebar-header.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/app-sidebar.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/appearance-tabs.tsx": [ + "/build/assets/appearance-CMAYpXjP.js" + ], + "resources/js/components/breadcrumbs.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/delete-user.tsx": [ + "/build/assets/profile-qrFaR_Uf.js" + ], + "resources/js/components/heading-small.tsx": [ + "/build/assets/layout-jPnBvemX.js" + ], + "resources/js/components/heading.tsx": [ + "/build/assets/layout-jPnBvemX.js" + ], + "resources/js/components/icon.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/input-error.tsx": [ + "/build/assets/label-Byzlra19.js" + ], + "resources/js/components/nav-footer.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/nav-main.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/nav-user.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/text-link.tsx": [ + "/build/assets/text-link-D9-1YxGP.js" + ], + "resources/js/components/ui/avatar.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/ui/breadcrumb.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/ui/button.tsx": [ + "/build/assets/app-logo-icon-CoogQ1E6.js" + ], + "resources/js/components/ui/checkbox.tsx": [ + "/build/assets/login-nGtNK223.js" + ], + "resources/js/components/ui/dialog.tsx": [ + "/build/assets/profile-qrFaR_Uf.js" + ], + "resources/js/components/ui/dropdown-menu.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/ui/input.tsx": [ + "/build/assets/label-Byzlra19.js" + ], + "resources/js/components/ui/label.tsx": [ + "/build/assets/label-Byzlra19.js" + ], + "resources/js/components/ui/placeholder-pattern.tsx": [ + "/build/assets/dashboard-DRbhOQX8.js" + ], + "resources/js/components/ui/separator.tsx": [ + "/build/assets/layout-jPnBvemX.js" + ], + "resources/js/components/ui/sheet.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/ui/sidebar.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/ui/tooltip.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/user-info.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/components/user-menu-content.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/hooks/use-appearance.tsx": [ + "/build/assets/appearance-CMAYpXjP.js" + ], + "resources/js/hooks/use-initials.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/hooks/use-mobile-navigation.ts": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/hooks/use-mobile.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/layouts/app-layout.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/layouts/app/app-sidebar-layout.tsx": [ + "/build/assets/app-layout-D4gdSMSC.js" + ], + "resources/js/layouts/auth-layout.tsx": [ + "/build/assets/auth-layout-Cff_NC5i.js" + ], + "resources/js/layouts/auth/auth-simple-layout.tsx": [ + "/build/assets/auth-layout-Cff_NC5i.js" + ], + "resources/js/layouts/settings/layout.tsx": [ + "/build/assets/layout-jPnBvemX.js" + ], + "resources/js/lib/utils.ts": [ + "/build/assets/app-logo-icon-CoogQ1E6.js" + ], + "resources/js/pages/auth/confirm-password.tsx": [ + "/build/assets/confirm-password-G8rU-P06.js" + ], + "resources/js/pages/auth/forgot-password.tsx": [ + "/build/assets/forgot-password-Bm_VS9pf.js" + ], + "resources/js/pages/auth/login.tsx": [ + "/build/assets/login-nGtNK223.js" + ], + "resources/js/pages/auth/register.tsx": [ + "/build/assets/register-C_guXizf.js" + ], + "resources/js/pages/auth/reset-password.tsx": [ + "/build/assets/reset-password-uqjsfg_p.js" + ], + "resources/js/pages/auth/verify-email.tsx": [ + "/build/assets/verify-email-BdQbCV_K.js" + ], + "resources/js/pages/dashboard.tsx": [ + "/build/assets/dashboard-DRbhOQX8.js" + ], + "resources/js/pages/settings/appearance.tsx": [ + "/build/assets/appearance-CMAYpXjP.js" + ], + "resources/js/pages/settings/password.tsx": [ + "/build/assets/password-obBdSHh5.js" + ], + "resources/js/pages/settings/profile.tsx": [ + "/build/assets/profile-qrFaR_Uf.js" + ], + "resources/js/pages/welcome.tsx": [ + "/build/assets/welcome-CtPb_rEB.js" + ], + "resources/js/ssr.tsx": [], + "vendor/tightenco/ziggy/dist/index.js": [] +} \ No newline at end of file diff --git a/bootstrap/ssr/ssr.js b/bootstrap/ssr/ssr.js new file mode 100644 index 00000000..47b2805b --- /dev/null +++ b/bootstrap/ssr/ssr.js @@ -0,0 +1,362 @@ +import { jsx } from "react/jsx-runtime"; +import { createInertiaApp } from "@inertiajs/react"; +import createServer from "@inertiajs/react/server"; +import ReactDOMServer from "react-dom/server"; +async function resolvePageComponent(path, pages) { + for (const p2 of Array.isArray(path) ? path : [path]) { + const page = pages[p2]; + if (typeof page === "undefined") { + continue; + } + return typeof page === "function" ? page() : page; + } + throw new Error(`Page not found: ${path}`); +} +function t() { + return t = Object.assign ? Object.assign.bind() : function(t4) { + for (var e2 = 1; e2 < arguments.length; e2++) { + var r2 = arguments[e2]; + for (var n2 in r2) ({}).hasOwnProperty.call(r2, n2) && (t4[n2] = r2[n2]); + } + return t4; + }, t.apply(null, arguments); +} +var e = String.prototype.replace, r = /%20/g, n = "RFC3986", o = { default: n, formatters: { RFC1738: function(t4) { + return e.call(t4, r, "+"); +}, RFC3986: function(t4) { + return String(t4); +} }, RFC1738: "RFC1738" }, i = Object.prototype.hasOwnProperty, u = Array.isArray, a = function() { + for (var t4 = [], e2 = 0; e2 < 256; ++e2) t4.push("%" + ((e2 < 16 ? "0" : "") + e2.toString(16)).toUpperCase()); + return t4; +}(), s = function(t4, e2) { + for (var r2 = e2 && e2.plainObjects ? /* @__PURE__ */ Object.create(null) : {}, n2 = 0; n2 < t4.length; ++n2) void 0 !== t4[n2] && (r2[n2] = t4[n2]); + return r2; +}, f = { arrayToObject: s, assign: function(t4, e2) { + return Object.keys(e2).reduce(function(t5, r2) { + return t5[r2] = e2[r2], t5; + }, t4); +}, combine: function(t4, e2) { + return [].concat(t4, e2); +}, compact: function(t4) { + for (var e2 = [{ obj: { o: t4 }, prop: "o" }], r2 = [], n2 = 0; n2 < e2.length; ++n2) for (var o2 = e2[n2], i2 = o2.obj[o2.prop], a2 = Object.keys(i2), s2 = 0; s2 < a2.length; ++s2) { + var f2 = a2[s2], c2 = i2[f2]; + "object" == typeof c2 && null !== c2 && -1 === r2.indexOf(c2) && (e2.push({ obj: i2, prop: f2 }), r2.push(c2)); + } + return function(t5) { + for (; t5.length > 1; ) { + var e3 = t5.pop(), r3 = e3.obj[e3.prop]; + if (u(r3)) { + for (var n3 = [], o3 = 0; o3 < r3.length; ++o3) void 0 !== r3[o3] && n3.push(r3[o3]); + e3.obj[e3.prop] = n3; + } + } + }(e2), t4; +}, decode: function(t4, e2, r2) { + var n2 = t4.replace(/\+/g, " "); + if ("iso-8859-1" === r2) return n2.replace(/%[0-9a-f]{2}/gi, unescape); + try { + return decodeURIComponent(n2); + } catch (t5) { + return n2; + } +}, encode: function(t4, e2, r2, n2, i2) { + if (0 === t4.length) return t4; + var u2 = t4; + if ("symbol" == typeof t4 ? u2 = Symbol.prototype.toString.call(t4) : "string" != typeof t4 && (u2 = String(t4)), "iso-8859-1" === r2) return escape(u2).replace(/%u[0-9a-f]{4}/gi, function(t5) { + return "%26%23" + parseInt(t5.slice(2), 16) + "%3B"; + }); + for (var s2 = "", f2 = 0; f2 < u2.length; ++f2) { + var c2 = u2.charCodeAt(f2); + 45 === c2 || 46 === c2 || 95 === c2 || 126 === c2 || c2 >= 48 && c2 <= 57 || c2 >= 65 && c2 <= 90 || c2 >= 97 && c2 <= 122 || i2 === o.RFC1738 && (40 === c2 || 41 === c2) ? s2 += u2.charAt(f2) : c2 < 128 ? s2 += a[c2] : c2 < 2048 ? s2 += a[192 | c2 >> 6] + a[128 | 63 & c2] : c2 < 55296 || c2 >= 57344 ? s2 += a[224 | c2 >> 12] + a[128 | c2 >> 6 & 63] + a[128 | 63 & c2] : (c2 = 65536 + ((1023 & c2) << 10 | 1023 & u2.charCodeAt(f2 += 1)), s2 += a[240 | c2 >> 18] + a[128 | c2 >> 12 & 63] + a[128 | c2 >> 6 & 63] + a[128 | 63 & c2]); + } + return s2; +}, isBuffer: function(t4) { + return !(!t4 || "object" != typeof t4 || !(t4.constructor && t4.constructor.isBuffer && t4.constructor.isBuffer(t4))); +}, isRegExp: function(t4) { + return "[object RegExp]" === Object.prototype.toString.call(t4); +}, maybeMap: function(t4, e2) { + if (u(t4)) { + for (var r2 = [], n2 = 0; n2 < t4.length; n2 += 1) r2.push(e2(t4[n2])); + return r2; + } + return e2(t4); +}, merge: function t2(e2, r2, n2) { + if (!r2) return e2; + if ("object" != typeof r2) { + if (u(e2)) e2.push(r2); + else { + if (!e2 || "object" != typeof e2) return [e2, r2]; + (n2 && (n2.plainObjects || n2.allowPrototypes) || !i.call(Object.prototype, r2)) && (e2[r2] = true); + } + return e2; + } + if (!e2 || "object" != typeof e2) return [e2].concat(r2); + var o2 = e2; + return u(e2) && !u(r2) && (o2 = s(e2, n2)), u(e2) && u(r2) ? (r2.forEach(function(r3, o3) { + if (i.call(e2, o3)) { + var u2 = e2[o3]; + u2 && "object" == typeof u2 && r3 && "object" == typeof r3 ? e2[o3] = t2(u2, r3, n2) : e2.push(r3); + } else e2[o3] = r3; + }), e2) : Object.keys(r2).reduce(function(e3, o3) { + var u2 = r2[o3]; + return e3[o3] = i.call(e3, o3) ? t2(e3[o3], u2, n2) : u2, e3; + }, o2); +} }, c = Object.prototype.hasOwnProperty, l = { brackets: function(t4) { + return t4 + "[]"; +}, comma: "comma", indices: function(t4, e2) { + return t4 + "[" + e2 + "]"; +}, repeat: function(t4) { + return t4; +} }, p = Array.isArray, h = String.prototype.split, y = Array.prototype.push, d = function(t4, e2) { + y.apply(t4, p(e2) ? e2 : [e2]); +}, g = Date.prototype.toISOString, b = o.default, v = { addQueryPrefix: false, allowDots: false, charset: "utf-8", charsetSentinel: false, delimiter: "&", encode: true, encoder: f.encode, encodeValuesOnly: false, format: b, formatter: o.formatters[b], indices: false, serializeDate: function(t4) { + return g.call(t4); +}, skipNulls: false, strictNullHandling: false }, m = function t3(e2, r2, n2, o2, i2, u2, a2, s2, c2, l2, y2, g2, b2, m2) { + var j2, w2 = e2; + if ("function" == typeof a2 ? w2 = a2(r2, w2) : w2 instanceof Date ? w2 = l2(w2) : "comma" === n2 && p(w2) && (w2 = f.maybeMap(w2, function(t4) { + return t4 instanceof Date ? l2(t4) : t4; + })), null === w2) { + if (o2) return u2 && !b2 ? u2(r2, v.encoder, m2, "key", y2) : r2; + w2 = ""; + } + if ("string" == typeof (j2 = w2) || "number" == typeof j2 || "boolean" == typeof j2 || "symbol" == typeof j2 || "bigint" == typeof j2 || f.isBuffer(w2)) { + if (u2) { + var $2 = b2 ? r2 : u2(r2, v.encoder, m2, "key", y2); + if ("comma" === n2 && b2) { + for (var O2 = h.call(String(w2), ","), E2 = "", R2 = 0; R2 < O2.length; ++R2) E2 += (0 === R2 ? "" : ",") + g2(u2(O2[R2], v.encoder, m2, "value", y2)); + return [g2($2) + "=" + E2]; + } + return [g2($2) + "=" + g2(u2(w2, v.encoder, m2, "value", y2))]; + } + return [g2(r2) + "=" + g2(String(w2))]; + } + var S2, x2 = []; + if (void 0 === w2) return x2; + if ("comma" === n2 && p(w2)) S2 = [{ value: w2.length > 0 ? w2.join(",") || null : void 0 }]; + else if (p(a2)) S2 = a2; + else { + var N2 = Object.keys(w2); + S2 = s2 ? N2.sort(s2) : N2; + } + for (var T2 = 0; T2 < S2.length; ++T2) { + var k = S2[T2], C = "object" == typeof k && void 0 !== k.value ? k.value : w2[k]; + if (!i2 || null !== C) { + var _ = p(w2) ? "function" == typeof n2 ? n2(r2, k) : r2 : r2 + (c2 ? "." + k : "[" + k + "]"); + d(x2, t3(C, _, n2, o2, i2, u2, a2, s2, c2, l2, y2, g2, b2, m2)); + } + } + return x2; +}, j = Object.prototype.hasOwnProperty, w = Array.isArray, $ = { allowDots: false, allowPrototypes: false, arrayLimit: 20, charset: "utf-8", charsetSentinel: false, comma: false, decoder: f.decode, delimiter: "&", depth: 5, ignoreQueryPrefix: false, interpretNumericEntities: false, parameterLimit: 1e3, parseArrays: true, plainObjects: false, strictNullHandling: false }, O = function(t4) { + return t4.replace(/&#(\d+);/g, function(t5, e2) { + return String.fromCharCode(parseInt(e2, 10)); + }); +}, E = function(t4, e2) { + return t4 && "string" == typeof t4 && e2.comma && t4.indexOf(",") > -1 ? t4.split(",") : t4; +}, R = function(t4, e2, r2, n2) { + if (t4) { + var o2 = r2.allowDots ? t4.replace(/\.([^.[]+)/g, "[$1]") : t4, i2 = /(\[[^[\]]*])/g, u2 = r2.depth > 0 && /(\[[^[\]]*])/.exec(o2), a2 = u2 ? o2.slice(0, u2.index) : o2, s2 = []; + if (a2) { + if (!r2.plainObjects && j.call(Object.prototype, a2) && !r2.allowPrototypes) return; + s2.push(a2); + } + for (var f2 = 0; r2.depth > 0 && null !== (u2 = i2.exec(o2)) && f2 < r2.depth; ) { + if (f2 += 1, !r2.plainObjects && j.call(Object.prototype, u2[1].slice(1, -1)) && !r2.allowPrototypes) return; + s2.push(u2[1]); + } + return u2 && s2.push("[" + o2.slice(u2.index) + "]"), function(t5, e3, r3, n3) { + for (var o3 = n3 ? e3 : E(e3, r3), i3 = t5.length - 1; i3 >= 0; --i3) { + var u3, a3 = t5[i3]; + if ("[]" === a3 && r3.parseArrays) u3 = [].concat(o3); + else { + u3 = r3.plainObjects ? /* @__PURE__ */ Object.create(null) : {}; + var s3 = "[" === a3.charAt(0) && "]" === a3.charAt(a3.length - 1) ? a3.slice(1, -1) : a3, f3 = parseInt(s3, 10); + r3.parseArrays || "" !== s3 ? !isNaN(f3) && a3 !== s3 && String(f3) === s3 && f3 >= 0 && r3.parseArrays && f3 <= r3.arrayLimit ? (u3 = [])[f3] = o3 : "__proto__" !== s3 && (u3[s3] = o3) : u3 = { 0: o3 }; + } + o3 = u3; + } + return o3; + }(s2, e2, r2, n2); + } +}, S = function(t4, e2) { + var r2 = /* @__PURE__ */ function(t5) { + return $; + }(); + if ("" === t4 || null == t4) return r2.plainObjects ? /* @__PURE__ */ Object.create(null) : {}; + for (var n2 = "string" == typeof t4 ? function(t5, e3) { + var r3, n3 = {}, o3 = (e3.ignoreQueryPrefix ? t5.replace(/^\?/, "") : t5).split(e3.delimiter, Infinity === e3.parameterLimit ? void 0 : e3.parameterLimit), i3 = -1, u3 = e3.charset; + if (e3.charsetSentinel) for (r3 = 0; r3 < o3.length; ++r3) 0 === o3[r3].indexOf("utf8=") && ("utf8=%E2%9C%93" === o3[r3] ? u3 = "utf-8" : "utf8=%26%2310003%3B" === o3[r3] && (u3 = "iso-8859-1"), i3 = r3, r3 = o3.length); + for (r3 = 0; r3 < o3.length; ++r3) if (r3 !== i3) { + var a3, s3, c2 = o3[r3], l2 = c2.indexOf("]="), p2 = -1 === l2 ? c2.indexOf("=") : l2 + 1; + -1 === p2 ? (a3 = e3.decoder(c2, $.decoder, u3, "key"), s3 = e3.strictNullHandling ? null : "") : (a3 = e3.decoder(c2.slice(0, p2), $.decoder, u3, "key"), s3 = f.maybeMap(E(c2.slice(p2 + 1), e3), function(t6) { + return e3.decoder(t6, $.decoder, u3, "value"); + })), s3 && e3.interpretNumericEntities && "iso-8859-1" === u3 && (s3 = O(s3)), c2.indexOf("[]=") > -1 && (s3 = w(s3) ? [s3] : s3), n3[a3] = j.call(n3, a3) ? f.combine(n3[a3], s3) : s3; + } + return n3; + }(t4, r2) : t4, o2 = r2.plainObjects ? /* @__PURE__ */ Object.create(null) : {}, i2 = Object.keys(n2), u2 = 0; u2 < i2.length; ++u2) { + var a2 = i2[u2], s2 = R(a2, n2[a2], r2, "string" == typeof t4); + o2 = f.merge(o2, s2, r2); + } + return f.compact(o2); +}; +class x { + constructor(t4, e2, r2) { + var n2, o2; + this.name = t4, this.definition = e2, this.bindings = null != (n2 = e2.bindings) ? n2 : {}, this.wheres = null != (o2 = e2.wheres) ? o2 : {}, this.config = r2; + } + get template() { + const t4 = `${this.origin}/${this.definition.uri}`.replace(/\/+$/, ""); + return "" === t4 ? "/" : t4; + } + get origin() { + return this.config.absolute ? this.definition.domain ? `${this.config.url.match(/^\w+:\/\//)[0]}${this.definition.domain}${this.config.port ? `:${this.config.port}` : ""}` : this.config.url : ""; + } + get parameterSegments() { + var t4, e2; + return null != (t4 = null == (e2 = this.template.match(/{[^}?]+\??}/g)) ? void 0 : e2.map((t5) => ({ name: t5.replace(/{|\??}/g, ""), required: !/\?}$/.test(t5) }))) ? t4 : []; + } + matchesUrl(t4) { + var e2; + if (!this.definition.methods.includes("GET")) return false; + const r2 = this.template.replace(/[.*+$()[\]]/g, "\\$&").replace(/(\/?){([^}?]*)(\??)}/g, (t5, e3, r3, n3) => { + var o3; + const i3 = `(?<${r3}>${(null == (o3 = this.wheres[r3]) ? void 0 : o3.replace(/(^\^)|(\$$)/g, "")) || "[^/?]+"})`; + return n3 ? `(${e3}${i3})?` : `${e3}${i3}`; + }).replace(/^\w+:\/\//, ""), [n2, o2] = t4.replace(/^\w+:\/\//, "").split("?"), i2 = null != (e2 = new RegExp(`^${r2}/?$`).exec(n2)) ? e2 : new RegExp(`^${r2}/?$`).exec(decodeURI(n2)); + if (i2) { + for (const t5 in i2.groups) i2.groups[t5] = "string" == typeof i2.groups[t5] ? decodeURIComponent(i2.groups[t5]) : i2.groups[t5]; + return { params: i2.groups, query: S(o2) }; + } + return false; + } + compile(t4) { + return this.parameterSegments.length ? this.template.replace(/{([^}?]+)(\??)}/g, (e2, r2, n2) => { + var o2, i2; + if (!n2 && [null, void 0].includes(t4[r2])) throw new Error(`Ziggy error: '${r2}' parameter is required for route '${this.name}'.`); + if (this.wheres[r2] && !new RegExp(`^${n2 ? `(${this.wheres[r2]})?` : this.wheres[r2]}$`).test(null != (i2 = t4[r2]) ? i2 : "")) throw new Error(`Ziggy error: '${r2}' parameter '${t4[r2]}' does not match required format '${this.wheres[r2]}' for route '${this.name}'.`); + return encodeURI(null != (o2 = t4[r2]) ? o2 : "").replace(/%7C/g, "|").replace(/%25/g, "%").replace(/\$/g, "%24"); + }).replace(this.config.absolute ? /(\.[^/]+?)(\/\/)/ : /(^)(\/\/)/, "$1/").replace(/\/+$/, "") : this.template; + } +} +class N extends String { + constructor(e2, r2, n2 = true, o2) { + if (super(), this.t = null != o2 ? o2 : "undefined" != typeof Ziggy ? Ziggy : null == globalThis ? void 0 : globalThis.Ziggy, this.t = t({}, this.t, { absolute: n2 }), e2) { + if (!this.t.routes[e2]) throw new Error(`Ziggy error: route '${e2}' is not in the route list.`); + this.i = new x(e2, this.t.routes[e2], this.t), this.u = this.l(r2); + } + } + toString() { + const e2 = Object.keys(this.u).filter((t4) => !this.i.parameterSegments.some(({ name: e3 }) => e3 === t4)).filter((t4) => "_query" !== t4).reduce((e3, r2) => t({}, e3, { [r2]: this.u[r2] }), {}); + return this.i.compile(this.u) + function(t4, e3) { + var r2, n2 = t4, i2 = function(t5) { + if (!t5) return v; + if (null != t5.encoder && "function" != typeof t5.encoder) throw new TypeError("Encoder has to be a function."); + var e4 = t5.charset || v.charset; + if (void 0 !== t5.charset && "utf-8" !== t5.charset && "iso-8859-1" !== t5.charset) throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined"); + var r3 = o.default; + if (void 0 !== t5.format) { + if (!c.call(o.formatters, t5.format)) throw new TypeError("Unknown format option provided."); + r3 = t5.format; + } + var n3 = o.formatters[r3], i3 = v.filter; + return ("function" == typeof t5.filter || p(t5.filter)) && (i3 = t5.filter), { addQueryPrefix: "boolean" == typeof t5.addQueryPrefix ? t5.addQueryPrefix : v.addQueryPrefix, allowDots: void 0 === t5.allowDots ? v.allowDots : !!t5.allowDots, charset: e4, charsetSentinel: "boolean" == typeof t5.charsetSentinel ? t5.charsetSentinel : v.charsetSentinel, delimiter: void 0 === t5.delimiter ? v.delimiter : t5.delimiter, encode: "boolean" == typeof t5.encode ? t5.encode : v.encode, encoder: "function" == typeof t5.encoder ? t5.encoder : v.encoder, encodeValuesOnly: "boolean" == typeof t5.encodeValuesOnly ? t5.encodeValuesOnly : v.encodeValuesOnly, filter: i3, format: r3, formatter: n3, serializeDate: "function" == typeof t5.serializeDate ? t5.serializeDate : v.serializeDate, skipNulls: "boolean" == typeof t5.skipNulls ? t5.skipNulls : v.skipNulls, sort: "function" == typeof t5.sort ? t5.sort : null, strictNullHandling: "boolean" == typeof t5.strictNullHandling ? t5.strictNullHandling : v.strictNullHandling }; + }(e3); + "function" == typeof i2.filter ? n2 = (0, i2.filter)("", n2) : p(i2.filter) && (r2 = i2.filter); + var u2 = []; + if ("object" != typeof n2 || null === n2) return ""; + var a2 = l[e3 && e3.arrayFormat in l ? e3.arrayFormat : e3 && "indices" in e3 ? e3.indices ? "indices" : "repeat" : "indices"]; + r2 || (r2 = Object.keys(n2)), i2.sort && r2.sort(i2.sort); + for (var s2 = 0; s2 < r2.length; ++s2) { + var f2 = r2[s2]; + i2.skipNulls && null === n2[f2] || d(u2, m(n2[f2], f2, a2, i2.strictNullHandling, i2.skipNulls, i2.encode ? i2.encoder : null, i2.filter, i2.sort, i2.allowDots, i2.serializeDate, i2.format, i2.formatter, i2.encodeValuesOnly, i2.charset)); + } + var h2 = u2.join(i2.delimiter), y2 = true === i2.addQueryPrefix ? "?" : ""; + return i2.charsetSentinel && (y2 += "iso-8859-1" === i2.charset ? "utf8=%26%2310003%3B&" : "utf8=%E2%9C%93&"), h2.length > 0 ? y2 + h2 : ""; + }(t({}, e2, this.u._query), { addQueryPrefix: true, arrayFormat: "indices", encodeValuesOnly: true, skipNulls: true, encoder: (t4, e3) => "boolean" == typeof t4 ? Number(t4) : e3(t4) }); + } + p(e2) { + e2 ? this.t.absolute && e2.startsWith("/") && (e2 = this.h().host + e2) : e2 = this.v(); + let r2 = {}; + const [n2, o2] = Object.entries(this.t.routes).find(([t4, n3]) => r2 = new x(t4, n3, this.t).matchesUrl(e2)) || [void 0, void 0]; + return t({ name: n2 }, r2, { route: o2 }); + } + v() { + const { host: t4, pathname: e2, search: r2 } = this.h(); + return (this.t.absolute ? t4 + e2 : e2.replace(this.t.url.replace(/^\w*:\/\/[^/]+/, ""), "").replace(/^\/+/, "/")) + r2; + } + current(e2, r2) { + const { name: n2, params: o2, query: i2, route: u2 } = this.p(); + if (!e2) return n2; + const a2 = new RegExp(`^${e2.replace(/\./g, "\\.").replace(/\*/g, ".*")}$`).test(n2); + if ([null, void 0].includes(r2) || !a2) return a2; + const s2 = new x(n2, u2, this.t); + r2 = this.l(r2, s2); + const f2 = t({}, o2, i2); + if (Object.values(r2).every((t4) => !t4) && !Object.values(f2).some((t4) => void 0 !== t4)) return true; + const c2 = (t4, e3) => Object.entries(t4).every(([t5, r3]) => Array.isArray(r3) && Array.isArray(e3[t5]) ? r3.every((r4) => e3[t5].includes(r4)) : "object" == typeof r3 && "object" == typeof e3[t5] && null !== r3 && null !== e3[t5] ? c2(r3, e3[t5]) : e3[t5] == r3); + return c2(r2, f2); + } + h() { + var t4, e2, r2, n2, o2, i2; + const { host: u2 = "", pathname: a2 = "", search: s2 = "" } = "undefined" != typeof window ? window.location : {}; + return { host: null != (t4 = null == (e2 = this.t.location) ? void 0 : e2.host) ? t4 : u2, pathname: null != (r2 = null == (n2 = this.t.location) ? void 0 : n2.pathname) ? r2 : a2, search: null != (o2 = null == (i2 = this.t.location) ? void 0 : i2.search) ? o2 : s2 }; + } + get params() { + const { params: e2, query: r2 } = this.p(); + return t({}, e2, r2); + } + get routeParams() { + return this.p().params; + } + get queryParams() { + return this.p().query; + } + has(t4) { + return this.t.routes.hasOwnProperty(t4); + } + l(e2 = {}, r2 = this.i) { + null != e2 || (e2 = {}), e2 = ["string", "number"].includes(typeof e2) ? [e2] : e2; + const n2 = r2.parameterSegments.filter(({ name: t4 }) => !this.t.defaults[t4]); + return Array.isArray(e2) ? e2 = e2.reduce((e3, r3, o2) => t({}, e3, n2[o2] ? { [n2[o2].name]: r3 } : "object" == typeof r3 ? r3 : { [r3]: "" }), {}) : 1 !== n2.length || e2[n2[0].name] || !e2.hasOwnProperty(Object.values(r2.bindings)[0]) && !e2.hasOwnProperty("id") || (e2 = { [n2[0].name]: e2 }), t({}, this.m(r2), this.j(e2, r2)); + } + m(e2) { + return e2.parameterSegments.filter(({ name: t4 }) => this.t.defaults[t4]).reduce((e3, { name: r2 }, n2) => t({}, e3, { [r2]: this.t.defaults[r2] }), {}); + } + j(e2, { bindings: r2, parameterSegments: n2 }) { + return Object.entries(e2).reduce((e3, [o2, i2]) => { + if (!i2 || "object" != typeof i2 || Array.isArray(i2) || !n2.some(({ name: t4 }) => t4 === o2)) return t({}, e3, { [o2]: i2 }); + if (!i2.hasOwnProperty(r2[o2])) { + if (!i2.hasOwnProperty("id")) throw new Error(`Ziggy error: object passed as '${o2}' parameter is missing route model binding key '${r2[o2]}'.`); + r2[o2] = "id"; + } + return t({}, e3, { [o2]: i2[r2[o2]] }); + }, {}); + } + valueOf() { + return this.toString(); + } +} +function T(t4, e2, r2, n2) { + const o2 = new N(t4, e2, r2, n2); + return t4 ? o2.toString() : o2; +} +const appName = "Laravel"; +createServer( + (page) => createInertiaApp({ + page, + render: ReactDOMServer.renderToString, + title: (title) => `${title} - ${appName}`, + resolve: (name) => resolvePageComponent( + `./pages/${name}.tsx`, + /* @__PURE__ */ Object.assign({ "./pages/auth/confirm-password.tsx": () => import("./assets/confirm-password-G8rU-P06.js"), "./pages/auth/forgot-password.tsx": () => import("./assets/forgot-password-Bm_VS9pf.js"), "./pages/auth/login.tsx": () => import("./assets/login-nGtNK223.js"), "./pages/auth/register.tsx": () => import("./assets/register-C_guXizf.js"), "./pages/auth/reset-password.tsx": () => import("./assets/reset-password-uqjsfg_p.js"), "./pages/auth/verify-email.tsx": () => import("./assets/verify-email-BdQbCV_K.js"), "./pages/dashboard.tsx": () => import("./assets/dashboard-DRbhOQX8.js"), "./pages/settings/appearance.tsx": () => import("./assets/appearance-CMAYpXjP.js"), "./pages/settings/password.tsx": () => import("./assets/password-obBdSHh5.js"), "./pages/settings/profile.tsx": () => import("./assets/profile-qrFaR_Uf.js"), "./pages/welcome.tsx": () => import("./assets/welcome-CtPb_rEB.js") }) + ), + setup: ({ App, props }) => { + global.route = (name, params, absolute) => T(name, params, absolute, { + // @ts-expect-error + ...page.props.ziggy, + // @ts-expect-error + location: new URL(page.props.ziggy.location) + }); + return /* @__PURE__ */ jsx(App, { ...props }); + } + }) +); diff --git a/package-lock.json b/package-lock.json index 3a4211e6..8cecda9f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "react-starter-kit", + "name": "laravel-official-react-starter-kit", "lockfileVersion": 3, "requires": true, "packages": { @@ -40,6 +40,7 @@ }, "devDependencies": { "@eslint/js": "^9.19.0", + "@types/node": "^22.13.5", "eslint": "^9.17.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-react": "^7.37.3", @@ -2660,6 +2661,16 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/node": { + "version": "22.13.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.5.tgz", + "integrity": "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.20.0" + } + }, "node_modules/@types/react": { "version": "19.0.10", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz", @@ -6954,6 +6965,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "devOptional": true, + "license": "MIT" + }, "node_modules/update-browserslist-db": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", diff --git a/package.json b/package.json index 11a63af2..80522017 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ }, "devDependencies": { "@eslint/js": "^9.19.0", + "@types/node": "^22.13.5", "eslint": "^9.17.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-react": "^7.37.3", diff --git a/resources/js/app.tsx b/resources/js/app.tsx index 3f7401a4..b8d0c91a 100644 --- a/resources/js/app.tsx +++ b/resources/js/app.tsx @@ -3,13 +3,8 @@ import '../css/app.css'; import { createInertiaApp } from '@inertiajs/react'; import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers'; import { createRoot } from 'react-dom/client'; -import { route as routeFn } from 'ziggy-js'; import { initializeTheme } from './hooks/use-appearance'; -declare global { - const route: typeof routeFn; -} - const appName = import.meta.env.VITE_APP_NAME || 'Laravel'; createInertiaApp({ diff --git a/resources/js/hooks/use-appearance.tsx b/resources/js/hooks/use-appearance.tsx index 897e8a07..287935a2 100644 --- a/resources/js/hooks/use-appearance.tsx +++ b/resources/js/hooks/use-appearance.tsx @@ -2,7 +2,13 @@ import { useEffect, useState } from 'react'; export type Appearance = 'light' | 'dark' | 'system'; -const prefersDark = () => window.matchMedia('(prefers-color-scheme: dark)').matches; +const prefersDark = () => { + if (typeof window === 'undefined') { + return false; + } + + return window.matchMedia('(prefers-color-scheme: dark)').matches; +} const applyTheme = (appearance: Appearance) => { const isDark = appearance === 'dark' || (appearance === 'system' && prefersDark()); @@ -10,7 +16,13 @@ const applyTheme = (appearance: Appearance) => { document.documentElement.classList.toggle('dark', isDark); }; -const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)'); +const mediaQuery = () => { + if (typeof window === 'undefined') { + return null; + } + + return window.matchMedia('(prefers-color-scheme: dark)'); +}; const handleSystemThemeChange = () => { const currentAppearance = localStorage.getItem('appearance') as Appearance; @@ -23,7 +35,7 @@ export function initializeTheme() { applyTheme(savedAppearance); // Add the event listener for system theme changes... - mediaQuery.addEventListener('change', handleSystemThemeChange); + mediaQuery()?.addEventListener('change', handleSystemThemeChange); } export function useAppearance() { @@ -39,7 +51,7 @@ export function useAppearance() { const savedAppearance = localStorage.getItem('appearance') as Appearance | null; updateAppearance(savedAppearance || 'system'); - return () => mediaQuery.removeEventListener('change', handleSystemThemeChange); + return () => mediaQuery()?.removeEventListener('change', handleSystemThemeChange); }, []); return { appearance, updateAppearance }; diff --git a/resources/js/ssr.jsx b/resources/js/ssr.jsx deleted file mode 100644 index 94c82702..00000000 --- a/resources/js/ssr.jsx +++ /dev/null @@ -1,21 +0,0 @@ -/* prettier-ignore */ -import { -createInertiaApp -} from '@inertiajs/react'; -import createServer from '@inertiajs/react/server'; -import ReactDOMServer from 'react-dom/server'; - -createServer((page) => - createInertiaApp({ - page, - render: ReactDOMServer.renderToString, - resolve: (name) => { - const pages = import.meta.glob('./pages/**/*.tsx', { - eager: true, - }); - return pages[`./pages/${name}.tsx`]; - }, - // prettier-ignore - setup: ({ App, props }) => , - }), -); diff --git a/resources/js/ssr.tsx b/resources/js/ssr.tsx new file mode 100644 index 00000000..c6cd25a4 --- /dev/null +++ b/resources/js/ssr.tsx @@ -0,0 +1,30 @@ +import { createInertiaApp } from '@inertiajs/react'; +import createServer from '@inertiajs/react/server'; +import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers'; +import ReactDOMServer from 'react-dom/server'; +import { type RouteName, route } from 'ziggy-js'; + +const appName = import.meta.env.VITE_APP_NAME || 'Laravel'; + +createServer((page) => + createInertiaApp({ + page, + render: ReactDOMServer.renderToString, + title: (title) => `${title} - ${appName}`, + resolve: (name) => resolvePageComponent(`./pages/${name}.tsx`, import.meta.glob('./pages/**/*.tsx')), + setup: ({ App, props }) => { + /* eslint-disable */ + // @ts-expect-error + global.route = (name, params, absolute) => + route(name, params as any, absolute, { + // @ts-expect-error + ...page.props.ziggy, + // @ts-expect-error + location: new URL(page.props.ziggy.location), + }); + /* eslint-enable */ + + return ; + }, + }), +); diff --git a/resources/js/types/global.d.ts b/resources/js/types/global.d.ts new file mode 100644 index 00000000..a9f2470e --- /dev/null +++ b/resources/js/types/global.d.ts @@ -0,0 +1,5 @@ +import type { route as routeFn } from "ziggy-js"; + +declare global { + const route: typeof routeFn; +} diff --git a/tsconfig.json b/tsconfig.json index cdfd267f..f905a3ee 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -114,5 +114,9 @@ }, "jsx": "react-jsx" }, - "include": ["resources/js/**/*.ts", "resources/js/**/*.tsx"] + "include": [ + "resources/js/**/*.ts", + "resources/js/**/*.d.ts", + "resources/js/**/*.tsx", + ] } diff --git a/vite.config.js b/vite.config.ts similarity index 55% rename from vite.config.js rename to vite.config.ts index fc3be2fd..290d90e8 100644 --- a/vite.config.js +++ b/vite.config.ts @@ -1,15 +1,14 @@ +import tailwindcss from '@tailwindcss/vite'; import react from '@vitejs/plugin-react'; import laravel from 'laravel-vite-plugin'; -import { - defineConfig -} from 'vite'; -import tailwindcss from "@tailwindcss/vite"; +import { resolve } from 'node:path'; +import { defineConfig } from 'vite'; export default defineConfig({ plugins: [ laravel({ input: ['resources/css/app.css', 'resources/js/app.tsx'], - ssr: 'resources/js/ssr.jsx', + ssr: 'resources/js/ssr.tsx', refresh: true, }), react(), @@ -18,4 +17,9 @@ export default defineConfig({ esbuild: { jsx: 'automatic', }, -}); \ No newline at end of file + resolve: { + alias: { + 'ziggy-js': resolve(__dirname, 'vendor/tightenco/ziggy'), + }, + }, +}); From bb248632b440d5dd0449f19034b021f1309a0c54 Mon Sep 17 00:00:00 2001 From: Joey McKenzie Date: Wed, 26 Feb 2025 09:35:58 -0800 Subject: [PATCH 02/11] chore: remove ssr files --- bootstrap/ssr/assets/app-layout-D4gdSMSC.js | 928 ------------- .../ssr/assets/app-logo-icon-CoogQ1E6.js | 65 - bootstrap/ssr/assets/appearance-CMAYpXjP.js | 94 -- bootstrap/ssr/assets/auth-layout-Cff_NC5i.js | 24 - .../ssr/assets/confirm-password-G8rU-P06.js | 58 - bootstrap/ssr/assets/dashboard-DRbhOQX8.js | 43 - .../ssr/assets/forgot-password-Bm_VS9pf.js | 57 - bootstrap/ssr/assets/label-Byzlra19.js | 43 - bootstrap/ssr/assets/layout-jPnBvemX.js | 80 -- bootstrap/ssr/assets/login-nGtNK223.js | 112 -- bootstrap/ssr/assets/password-obBdSHh5.js | 127 -- bootstrap/ssr/assets/profile-qrFaR_Uf.js | 277 ---- bootstrap/ssr/assets/register-C_guXizf.js | 118 -- .../ssr/assets/reset-password-uqjsfg_p.js | 89 -- bootstrap/ssr/assets/text-link-D9-1YxGP.js | 19 - bootstrap/ssr/assets/verify-email-BdQbCV_K.js | 31 - bootstrap/ssr/assets/welcome-CtPb_rEB.js | 1157 ----------------- bootstrap/ssr/ssr-manifest.json | 164 --- bootstrap/ssr/ssr.js | 362 ------ 19 files changed, 3848 deletions(-) delete mode 100644 bootstrap/ssr/assets/app-layout-D4gdSMSC.js delete mode 100644 bootstrap/ssr/assets/app-logo-icon-CoogQ1E6.js delete mode 100644 bootstrap/ssr/assets/appearance-CMAYpXjP.js delete mode 100644 bootstrap/ssr/assets/auth-layout-Cff_NC5i.js delete mode 100644 bootstrap/ssr/assets/confirm-password-G8rU-P06.js delete mode 100644 bootstrap/ssr/assets/dashboard-DRbhOQX8.js delete mode 100644 bootstrap/ssr/assets/forgot-password-Bm_VS9pf.js delete mode 100644 bootstrap/ssr/assets/label-Byzlra19.js delete mode 100644 bootstrap/ssr/assets/layout-jPnBvemX.js delete mode 100644 bootstrap/ssr/assets/login-nGtNK223.js delete mode 100644 bootstrap/ssr/assets/password-obBdSHh5.js delete mode 100644 bootstrap/ssr/assets/profile-qrFaR_Uf.js delete mode 100644 bootstrap/ssr/assets/register-C_guXizf.js delete mode 100644 bootstrap/ssr/assets/reset-password-uqjsfg_p.js delete mode 100644 bootstrap/ssr/assets/text-link-D9-1YxGP.js delete mode 100644 bootstrap/ssr/assets/verify-email-BdQbCV_K.js delete mode 100644 bootstrap/ssr/assets/welcome-CtPb_rEB.js delete mode 100644 bootstrap/ssr/ssr-manifest.json delete mode 100644 bootstrap/ssr/ssr.js diff --git a/bootstrap/ssr/assets/app-layout-D4gdSMSC.js b/bootstrap/ssr/assets/app-layout-D4gdSMSC.js deleted file mode 100644 index af1e7eaf..00000000 --- a/bootstrap/ssr/assets/app-layout-D4gdSMSC.js +++ /dev/null @@ -1,928 +0,0 @@ -import { jsx, jsxs, Fragment } from "react/jsx-runtime"; -import * as React from "react"; -import { useState, useEffect, useCallback, Fragment as Fragment$1 } from "react"; -import { Slot } from "@radix-ui/react-slot"; -import { cva } from "class-variance-authority"; -import { XIcon, PanelLeftIcon, Settings, LogOut, ChevronsUpDown, LayoutGrid, Folder, BookOpen, ChevronRight } from "lucide-react"; -import { c as cn, B as Button, A as AppLogoIcon } from "./app-logo-icon-CoogQ1E6.js"; -import * as SheetPrimitive from "@radix-ui/react-dialog"; -import * as TooltipPrimitive from "@radix-ui/react-tooltip"; -import { usePage, Link } from "@inertiajs/react"; -import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"; -import * as AvatarPrimitive from "@radix-ui/react-avatar"; -const MOBILE_BREAKPOINT = 768; -function useIsMobile() { - const [isMobile, setIsMobile] = useState(void 0); - useEffect(() => { - const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`); - const onChange = () => { - setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); - }; - mql.addEventListener("change", onChange); - setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); - return () => mql.removeEventListener("change", onChange); - }, []); - return !!isMobile; -} -function Sheet({ ...props }) { - return /* @__PURE__ */ jsx(SheetPrimitive.Root, { "data-slot": "sheet", ...props }); -} -function SheetPortal({ - ...props -}) { - return /* @__PURE__ */ jsx(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props }); -} -function SheetOverlay({ - className, - ...props -}) { - return /* @__PURE__ */ jsx( - SheetPrimitive.Overlay, - { - "data-slot": "sheet-overlay", - className: cn( - "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80", - className - ), - ...props - } - ); -} -function SheetContent({ - className, - children, - side = "right", - ...props -}) { - return /* @__PURE__ */ jsxs(SheetPortal, { children: [ - /* @__PURE__ */ jsx(SheetOverlay, {}), - /* @__PURE__ */ jsxs( - SheetPrimitive.Content, - { - "data-slot": "sheet-content", - className: cn( - "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500", - side === "right" && "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm", - side === "left" && "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm", - side === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b", - side === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t", - className - ), - ...props, - children: [ - children, - /* @__PURE__ */ jsxs(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [ - /* @__PURE__ */ jsx(XIcon, { className: "size-4" }), - /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" }) - ] }) - ] - } - ) - ] }); -} -function SheetHeader({ className, ...props }) { - return /* @__PURE__ */ jsx( - "div", - { - "data-slot": "sheet-header", - className: cn("flex flex-col gap-1.5 p-4", className), - ...props - } - ); -} -function SheetTitle({ - className, - ...props -}) { - return /* @__PURE__ */ jsx( - SheetPrimitive.Title, - { - "data-slot": "sheet-title", - className: cn("text-foreground font-semibold", className), - ...props - } - ); -} -function SheetDescription({ - className, - ...props -}) { - return /* @__PURE__ */ jsx( - SheetPrimitive.Description, - { - "data-slot": "sheet-description", - className: cn("text-muted-foreground text-sm", className), - ...props - } - ); -} -function TooltipProvider({ - delayDuration = 0, - ...props -}) { - return /* @__PURE__ */ jsx( - TooltipPrimitive.Provider, - { - "data-slot": "tooltip-provider", - delayDuration, - ...props - } - ); -} -function Tooltip({ - ...props -}) { - return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props }) }); -} -function TooltipTrigger({ - ...props -}) { - return /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props }); -} -function TooltipContent({ - className, - sideOffset = 4, - children, - ...props -}) { - return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs( - TooltipPrimitive.Content, - { - "data-slot": "tooltip-content", - sideOffset, - className: cn( - "bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-w-sm rounded-md px-3 py-1.5 text-xs", - className - ), - ...props, - children: [ - children, - /* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" }) - ] - } - ) }); -} -const SIDEBAR_COOKIE_NAME = "sidebar_state"; -const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7; -const SIDEBAR_WIDTH = "16rem"; -const SIDEBAR_WIDTH_MOBILE = "18rem"; -const SIDEBAR_WIDTH_ICON = "3rem"; -const SIDEBAR_KEYBOARD_SHORTCUT = "b"; -const SidebarContext = React.createContext(null); -function useSidebar() { - const context = React.useContext(SidebarContext); - if (!context) { - throw new Error("useSidebar must be used within a SidebarProvider."); - } - return context; -} -function SidebarProvider({ - defaultOpen = true, - open: openProp, - onOpenChange: setOpenProp, - className, - style, - children, - ...props -}) { - const isMobile = useIsMobile(); - const [openMobile, setOpenMobile] = React.useState(false); - const [_open, _setOpen] = React.useState(defaultOpen); - const open = openProp ?? _open; - const setOpen = React.useCallback( - (value) => { - const openState = typeof value === "function" ? value(open) : value; - if (setOpenProp) { - setOpenProp(openState); - } else { - _setOpen(openState); - } - document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`; - }, - [setOpenProp, open] - ); - const toggleSidebar = React.useCallback(() => { - return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2); - }, [isMobile, setOpen, setOpenMobile]); - React.useEffect(() => { - const handleKeyDown = (event) => { - if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) { - event.preventDefault(); - toggleSidebar(); - } - }; - window.addEventListener("keydown", handleKeyDown); - return () => window.removeEventListener("keydown", handleKeyDown); - }, [toggleSidebar]); - const state = open ? "expanded" : "collapsed"; - const contextValue = React.useMemo( - () => ({ - state, - open, - setOpen, - isMobile, - openMobile, - setOpenMobile, - toggleSidebar - }), - [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar] - ); - return /* @__PURE__ */ jsx(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx( - "div", - { - "data-slot": "sidebar-wrapper", - style: { - "--sidebar-width": SIDEBAR_WIDTH, - "--sidebar-width-icon": SIDEBAR_WIDTH_ICON, - ...style - }, - className: cn( - "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full", - className - ), - ...props, - children - } - ) }) }); -} -function Sidebar({ - side = "left", - variant = "sidebar", - collapsible = "offcanvas", - className, - children, - ...props -}) { - const { isMobile, state, openMobile, setOpenMobile } = useSidebar(); - if (collapsible === "none") { - return /* @__PURE__ */ jsx( - "div", - { - "data-slot": "sidebar", - className: cn( - "bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col", - className - ), - ...props, - children - } - ); - } - if (isMobile) { - return /* @__PURE__ */ jsxs(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: [ - /* @__PURE__ */ jsxs(SheetHeader, { className: "sr-only", children: [ - /* @__PURE__ */ jsx(SheetTitle, { children: "Sidebar" }), - /* @__PURE__ */ jsx(SheetDescription, { children: "Displays the mobile sidebar." }) - ] }), - /* @__PURE__ */ jsx( - SheetContent, - { - "data-sidebar": "sidebar", - "data-slot": "sidebar", - "data-mobile": "true", - className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden", - style: { - "--sidebar-width": SIDEBAR_WIDTH_MOBILE - }, - side, - children: /* @__PURE__ */ jsx("div", { className: "flex h-full w-full flex-col", children }) - } - ) - ] }); - } - return /* @__PURE__ */ jsxs( - "div", - { - className: "group peer text-sidebar-foreground hidden md:block", - "data-state": state, - "data-collapsible": state === "collapsed" ? collapsible : "", - "data-variant": variant, - "data-side": side, - "data-slot": "sidebar", - children: [ - /* @__PURE__ */ jsx( - "div", - { - className: cn( - "relative h-svh w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear", - "group-data-[collapsible=offcanvas]:w-0", - "group-data-[side=right]:rotate-180", - variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)" - ) - } - ), - /* @__PURE__ */ jsx( - "div", - { - className: cn( - "fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex", - side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]", - // Adjust the padding for floating and inset variants. - variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l", - className - ), - ...props, - children: /* @__PURE__ */ jsx( - "div", - { - "data-sidebar": "sidebar", - className: "bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm", - children - } - ) - } - ) - ] - } - ); -} -function SidebarTrigger({ - className, - onClick, - ...props -}) { - const { toggleSidebar } = useSidebar(); - return /* @__PURE__ */ jsxs( - Button, - { - "data-sidebar": "trigger", - "data-slot": "sidebar-trigger", - variant: "ghost", - size: "icon", - className: cn("h-7 w-7", className), - onClick: (event) => { - onClick == null ? void 0 : onClick(event); - toggleSidebar(); - }, - ...props, - children: [ - /* @__PURE__ */ jsx(PanelLeftIcon, {}), - /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Toggle Sidebar" }) - ] - } - ); -} -function SidebarInset({ className, ...props }) { - return /* @__PURE__ */ jsx( - "main", - { - "data-slot": "sidebar-inset", - className: cn( - "bg-background relative flex min-h-svh flex-1 flex-col", - "peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", - className - ), - ...props - } - ); -} -function SidebarHeader({ className, ...props }) { - return /* @__PURE__ */ jsx( - "div", - { - "data-slot": "sidebar-header", - "data-sidebar": "header", - className: cn("flex flex-col gap-2 p-2", className), - ...props - } - ); -} -function SidebarFooter({ className, ...props }) { - return /* @__PURE__ */ jsx( - "div", - { - "data-slot": "sidebar-footer", - "data-sidebar": "footer", - className: cn("flex flex-col gap-2 p-2", className), - ...props - } - ); -} -function SidebarContent({ className, ...props }) { - return /* @__PURE__ */ jsx( - "div", - { - "data-slot": "sidebar-content", - "data-sidebar": "content", - className: cn( - "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", - className - ), - ...props - } - ); -} -function SidebarGroup({ className, ...props }) { - return /* @__PURE__ */ jsx( - "div", - { - "data-slot": "sidebar-group", - "data-sidebar": "group", - className: cn("relative flex w-full min-w-0 flex-col p-2", className), - ...props - } - ); -} -function SidebarGroupLabel({ - className, - asChild = false, - ...props -}) { - const Comp = asChild ? Slot : "div"; - return /* @__PURE__ */ jsx( - Comp, - { - "data-slot": "sidebar-group-label", - "data-sidebar": "group-label", - className: cn( - "text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opa] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", - "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", - className - ), - ...props - } - ); -} -function SidebarGroupContent({ - className, - ...props -}) { - return /* @__PURE__ */ jsx( - "div", - { - "data-slot": "sidebar-group-content", - "data-sidebar": "group-content", - className: cn("w-full text-sm", className), - ...props - } - ); -} -function SidebarMenu({ className, ...props }) { - return /* @__PURE__ */ jsx( - "ul", - { - "data-slot": "sidebar-menu", - "data-sidebar": "menu", - className: cn("flex w-full min-w-0 flex-col gap-1", className), - ...props - } - ); -} -function SidebarMenuItem({ className, ...props }) { - return /* @__PURE__ */ jsx( - "li", - { - "data-slot": "sidebar-menu-item", - "data-sidebar": "menu-item", - className: cn("group/menu-item relative", className), - ...props - } - ); -} -const sidebarMenuButtonVariants = cva( - "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", - { - variants: { - variant: { - default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground", - outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]" - }, - size: { - default: "h-8 text-sm", - sm: "h-7 text-xs", - lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!" - } - }, - defaultVariants: { - variant: "default", - size: "default" - } - } -); -function SidebarMenuButton({ - asChild = false, - isActive = false, - variant = "default", - size = "default", - tooltip, - className, - ...props -}) { - const Comp = asChild ? Slot : "button"; - const { isMobile, state } = useSidebar(); - const button = /* @__PURE__ */ jsx( - Comp, - { - "data-slot": "sidebar-menu-button", - "data-sidebar": "menu-button", - "data-size": size, - "data-active": isActive, - className: cn(sidebarMenuButtonVariants({ variant, size }), className), - ...props - } - ); - if (!tooltip) { - return button; - } - if (typeof tooltip === "string") { - tooltip = { - children: tooltip - }; - } - return /* @__PURE__ */ jsxs(Tooltip, { children: [ - /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: button }), - /* @__PURE__ */ jsx( - TooltipContent, - { - side: "right", - align: "center", - hidden: state !== "collapsed" || isMobile, - ...tooltip - } - ) - ] }); -} -function AppContent({ variant = "header", children, ...props }) { - if (variant === "sidebar") { - return /* @__PURE__ */ jsx(SidebarInset, { ...props, children }); - } - return /* @__PURE__ */ jsx("main", { className: "mx-auto flex h-full w-full max-w-7xl flex-1 flex-col gap-4 rounded-xl", ...props, children }); -} -function AppShell({ children, variant = "header" }) { - const [isOpen, setIsOpen] = useState(() => typeof window !== "undefined" ? localStorage.getItem("sidebar") !== "false" : true); - const handleSidebarChange = (open) => { - setIsOpen(open); - if (typeof window !== "undefined") { - localStorage.setItem("sidebar", String(open)); - } - }; - if (variant === "header") { - return /* @__PURE__ */ jsx("div", { className: "flex min-h-screen w-full flex-col", children }); - } - return /* @__PURE__ */ jsx(SidebarProvider, { defaultOpen: isOpen, open: isOpen, onOpenChange: handleSidebarChange, children }); -} -function Icon({ iconNode: IconComponent, className, ...props }) { - return /* @__PURE__ */ jsx(IconComponent, { className: cn("h-4 w-4", className), ...props }); -} -function NavFooter({ - items, - className, - ...props -}) { - return /* @__PURE__ */ jsx(SidebarGroup, { ...props, className: `group-data-[collapsible=icon]:p-0 ${className || ""}`, children: /* @__PURE__ */ jsx(SidebarGroupContent, { children: /* @__PURE__ */ jsx(SidebarMenu, { children: items.map((item) => /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsx( - SidebarMenuButton, - { - asChild: true, - className: "text-neutral-600 hover:text-neutral-800 dark:text-neutral-300 dark:hover:text-neutral-100", - children: /* @__PURE__ */ jsxs("a", { href: item.url, target: "_blank", rel: "noopener noreferrer", children: [ - item.icon && /* @__PURE__ */ jsx(Icon, { iconNode: item.icon, className: "h-5 w-5" }), - /* @__PURE__ */ jsx("span", { children: item.title }) - ] }) - } - ) }, item.title)) }) }) }); -} -function NavMain({ items = [] }) { - const page = usePage(); - return /* @__PURE__ */ jsxs(SidebarGroup, { className: "px-2 py-0", children: [ - /* @__PURE__ */ jsx(SidebarGroupLabel, { children: "Platform" }), - /* @__PURE__ */ jsx(SidebarMenu, { children: items.map((item) => /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsx(SidebarMenuButton, { asChild: true, isActive: item.url === page.url, children: /* @__PURE__ */ jsxs(Link, { href: item.url, prefetch: true, children: [ - item.icon && /* @__PURE__ */ jsx(item.icon, {}), - /* @__PURE__ */ jsx("span", { children: item.title }) - ] }) }) }, item.title)) }) - ] }); -} -function DropdownMenu({ - ...props -}) { - return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props }); -} -function DropdownMenuTrigger({ - ...props -}) { - return /* @__PURE__ */ jsx( - DropdownMenuPrimitive.Trigger, - { - "data-slot": "dropdown-menu-trigger", - ...props - } - ); -} -function DropdownMenuContent({ - className, - sideOffset = 4, - ...props -}) { - return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx( - DropdownMenuPrimitive.Content, - { - "data-slot": "dropdown-menu-content", - sideOffset, - className: cn( - "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md", - className - ), - ...props - } - ) }); -} -function DropdownMenuGroup({ - ...props -}) { - return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props }); -} -function DropdownMenuItem({ - className, - inset, - variant = "default", - ...props -}) { - return /* @__PURE__ */ jsx( - DropdownMenuPrimitive.Item, - { - "data-slot": "dropdown-menu-item", - "data-inset": inset, - "data-variant": variant, - className: cn( - "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/40 data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", - className - ), - ...props - } - ); -} -function DropdownMenuLabel({ - className, - inset, - ...props -}) { - return /* @__PURE__ */ jsx( - DropdownMenuPrimitive.Label, - { - "data-slot": "dropdown-menu-label", - "data-inset": inset, - className: cn( - "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", - className - ), - ...props - } - ); -} -function DropdownMenuSeparator({ - className, - ...props -}) { - return /* @__PURE__ */ jsx( - DropdownMenuPrimitive.Separator, - { - "data-slot": "dropdown-menu-separator", - className: cn("bg-border -mx-1 my-1 h-px", className), - ...props - } - ); -} -function Avatar({ - className, - ...props -}) { - return /* @__PURE__ */ jsx( - AvatarPrimitive.Root, - { - "data-slot": "avatar", - className: cn( - "relative flex size-8 shrink-0 overflow-hidden rounded-full", - className - ), - ...props - } - ); -} -function AvatarImage({ - className, - ...props -}) { - return /* @__PURE__ */ jsx( - AvatarPrimitive.Image, - { - "data-slot": "avatar-image", - className: cn("aspect-square size-full", className), - ...props - } - ); -} -function AvatarFallback({ - className, - ...props -}) { - return /* @__PURE__ */ jsx( - AvatarPrimitive.Fallback, - { - "data-slot": "avatar-fallback", - className: cn( - "bg-muted flex size-full items-center justify-center rounded-full", - className - ), - ...props - } - ); -} -function useInitials() { - const getInitials = (fullName) => { - const names = fullName.trim().split(" "); - if (names.length === 0) return ""; - if (names.length === 1) return names[0].charAt(0).toUpperCase(); - const firstInitial = names[0].charAt(0); - const lastInitial = names[names.length - 1].charAt(0); - return `${firstInitial}${lastInitial}`.toUpperCase(); - }; - return getInitials; -} -function UserInfo({ user, showEmail = false }) { - const getInitials = useInitials(); - return /* @__PURE__ */ jsxs(Fragment, { children: [ - /* @__PURE__ */ jsxs(Avatar, { className: "h-8 w-8 overflow-hidden rounded-full", children: [ - /* @__PURE__ */ jsx(AvatarImage, { src: user.avatar, alt: user.name }), - /* @__PURE__ */ jsx(AvatarFallback, { className: "rounded-lg bg-neutral-200 text-black dark:bg-neutral-700 dark:text-white", children: getInitials(user.name) }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [ - /* @__PURE__ */ jsx("span", { className: "truncate font-medium", children: user.name }), - showEmail && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground truncate text-xs", children: user.email }) - ] }) - ] }); -} -function useMobileNavigation() { - const cleanup = useCallback(() => { - document.body.style.removeProperty("pointer-events"); - }, []); - return cleanup; -} -function UserMenuContent({ user }) { - const cleanup = useMobileNavigation(); - return /* @__PURE__ */ jsxs(Fragment, { children: [ - /* @__PURE__ */ jsx(DropdownMenuLabel, { className: "p-0 font-normal", children: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 px-1 py-1.5 text-left text-sm", children: /* @__PURE__ */ jsx(UserInfo, { user, showEmail: true }) }) }), - /* @__PURE__ */ jsx(DropdownMenuSeparator, {}), - /* @__PURE__ */ jsx(DropdownMenuGroup, { children: /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs(Link, { className: "block w-full", href: route("profile.edit"), as: "button", prefetch: true, onClick: cleanup, children: [ - /* @__PURE__ */ jsx(Settings, { className: "mr-2" }), - "Settings" - ] }) }) }), - /* @__PURE__ */ jsx(DropdownMenuSeparator, {}), - /* @__PURE__ */ jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxs(Link, { className: "block w-full", method: "post", href: route("logout"), as: "button", onClick: cleanup, children: [ - /* @__PURE__ */ jsx(LogOut, { className: "mr-2" }), - "Log out" - ] }) }) - ] }); -} -function NavUser() { - const { auth } = usePage().props; - const { state } = useSidebar(); - const isMobile = useIsMobile(); - return /* @__PURE__ */ jsx(SidebarMenu, { children: /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxs(DropdownMenu, { children: [ - /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(SidebarMenuButton, { size: "lg", className: "text-sidebar-accent-foreground data-[state=open]:bg-sidebar-accent group", children: [ - /* @__PURE__ */ jsx(UserInfo, { user: auth.user }), - /* @__PURE__ */ jsx(ChevronsUpDown, { className: "ml-auto size-4" }) - ] }) }), - /* @__PURE__ */ jsx( - DropdownMenuContent, - { - className: "w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg", - align: "end", - side: isMobile ? "bottom" : state === "collapsed" ? "left" : "bottom", - children: /* @__PURE__ */ jsx(UserMenuContent, { user: auth.user }) - } - ) - ] }) }) }); -} -function AppLogo() { - return /* @__PURE__ */ jsxs(Fragment, { children: [ - /* @__PURE__ */ jsx("div", { className: "bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-md", children: /* @__PURE__ */ jsx(AppLogoIcon, { className: "size-5 fill-current text-white dark:text-black" }) }), - /* @__PURE__ */ jsx("div", { className: "ml-1 grid flex-1 text-left text-sm", children: /* @__PURE__ */ jsx("span", { className: "mb-0.5 truncate leading-none font-semibold", children: "Laravel Starter Kit" }) }) - ] }); -} -const mainNavItems = [ - { - title: "Dashboard", - url: "/dashboard", - icon: LayoutGrid - } -]; -const footerNavItems = [ - { - title: "Repository", - url: "https://github.com/laravel/react-starter-kit", - icon: Folder - }, - { - title: "Documentation", - url: "https://laravel.com/docs/starter-kits", - icon: BookOpen - } -]; -function AppSidebar() { - return /* @__PURE__ */ jsxs(Sidebar, { collapsible: "icon", variant: "inset", children: [ - /* @__PURE__ */ jsx(SidebarHeader, { children: /* @__PURE__ */ jsx(SidebarMenu, { children: /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsx(SidebarMenuButton, { size: "lg", asChild: true, children: /* @__PURE__ */ jsx(Link, { href: "/dashboard", prefetch: true, children: /* @__PURE__ */ jsx(AppLogo, {}) }) }) }) }) }), - /* @__PURE__ */ jsx(SidebarContent, { children: /* @__PURE__ */ jsx(NavMain, { items: mainNavItems }) }), - /* @__PURE__ */ jsxs(SidebarFooter, { children: [ - /* @__PURE__ */ jsx(NavFooter, { items: footerNavItems, className: "mt-auto" }), - /* @__PURE__ */ jsx(NavUser, {}) - ] }) - ] }); -} -function Breadcrumb({ ...props }) { - return /* @__PURE__ */ jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props }); -} -function BreadcrumbList({ className, ...props }) { - return /* @__PURE__ */ jsx( - "ol", - { - "data-slot": "breadcrumb-list", - className: cn( - "text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5", - className - ), - ...props - } - ); -} -function BreadcrumbItem({ className, ...props }) { - return /* @__PURE__ */ jsx( - "li", - { - "data-slot": "breadcrumb-item", - className: cn("inline-flex items-center gap-1.5", className), - ...props - } - ); -} -function BreadcrumbLink({ - asChild, - className, - ...props -}) { - const Comp = asChild ? Slot : "a"; - return /* @__PURE__ */ jsx( - Comp, - { - "data-slot": "breadcrumb-link", - className: cn("hover:text-foreground transition-colors", className), - ...props - } - ); -} -function BreadcrumbPage({ className, ...props }) { - return /* @__PURE__ */ jsx( - "span", - { - "data-slot": "breadcrumb-page", - role: "link", - "aria-disabled": "true", - "aria-current": "page", - className: cn("text-foreground font-normal", className), - ...props - } - ); -} -function BreadcrumbSeparator({ - children, - className, - ...props -}) { - return /* @__PURE__ */ jsx( - "li", - { - "data-slot": "breadcrumb-separator", - role: "presentation", - "aria-hidden": "true", - className: cn("[&>svg]:size-3.5", className), - ...props, - children: children ?? /* @__PURE__ */ jsx(ChevronRight, {}) - } - ); -} -function Breadcrumbs({ breadcrumbs }) { - return /* @__PURE__ */ jsx(Fragment, { children: breadcrumbs.length > 0 && /* @__PURE__ */ jsx(Breadcrumb, { children: /* @__PURE__ */ jsx(BreadcrumbList, { children: breadcrumbs.map((item, index) => { - const isLast = index === breadcrumbs.length - 1; - return /* @__PURE__ */ jsxs(Fragment$1, { children: [ - /* @__PURE__ */ jsx(BreadcrumbItem, { children: isLast ? /* @__PURE__ */ jsx(BreadcrumbPage, { children: item.title }) : /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Link, { href: item.href, children: item.title }) }) }), - !isLast && /* @__PURE__ */ jsx(BreadcrumbSeparator, {}) - ] }, index); - }) }) }) }); -} -function AppSidebarHeader({ breadcrumbs = [] }) { - return /* @__PURE__ */ jsx("header", { className: "border-sidebar-border/50 flex h-16 shrink-0 items-center gap-2 border-b px-6 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12 md:px-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [ - /* @__PURE__ */ jsx(SidebarTrigger, { className: "-ml-1" }), - /* @__PURE__ */ jsx(Breadcrumbs, { breadcrumbs }) - ] }) }); -} -function AppSidebarLayout({ children, breadcrumbs = [] }) { - return /* @__PURE__ */ jsxs(AppShell, { variant: "sidebar", children: [ - /* @__PURE__ */ jsx(AppSidebar, {}), - /* @__PURE__ */ jsxs(AppContent, { variant: "sidebar", children: [ - /* @__PURE__ */ jsx(AppSidebarHeader, { breadcrumbs }), - children - ] }) - ] }); -} -const AppLayout = ({ children, breadcrumbs, ...props }) => /* @__PURE__ */ jsx(AppSidebarLayout, { breadcrumbs, ...props, children }); -export { - AppLayout as A -}; diff --git a/bootstrap/ssr/assets/app-logo-icon-CoogQ1E6.js b/bootstrap/ssr/assets/app-logo-icon-CoogQ1E6.js deleted file mode 100644 index 3ac2be55..00000000 --- a/bootstrap/ssr/assets/app-logo-icon-CoogQ1E6.js +++ /dev/null @@ -1,65 +0,0 @@ -import { jsx } from "react/jsx-runtime"; -import { Slot } from "@radix-ui/react-slot"; -import { cva } from "class-variance-authority"; -import { clsx } from "clsx"; -import { twMerge } from "tailwind-merge"; -function cn(...inputs) { - return twMerge(clsx(inputs)); -} -const buttonVariants = cva( - "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", - { - variants: { - variant: { - default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90", - destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40", - outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground", - secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80", - ghost: "hover:bg-accent hover:text-accent-foreground", - link: "text-primary underline-offset-4 hover:underline" - }, - size: { - default: "h-9 px-4 py-2 has-[>svg]:px-3", - sm: "h-8 rounded-md px-3 has-[>svg]:px-2.5", - lg: "h-10 rounded-md px-6 has-[>svg]:px-4", - icon: "size-9" - } - }, - defaultVariants: { - variant: "default", - size: "default" - } - } -); -function Button({ - className, - variant, - size, - asChild = false, - ...props -}) { - const Comp = asChild ? Slot : "button"; - return /* @__PURE__ */ jsx( - Comp, - { - "data-slot": "button", - className: cn(buttonVariants({ variant, size, className })), - ...props - } - ); -} -function AppLogoIcon(props) { - return /* @__PURE__ */ jsx("svg", { ...props, viewBox: "0 0 40 42", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx( - "path", - { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M17.2 5.63325L8.6 0.855469L0 5.63325V32.1434L16.2 41.1434L32.4 32.1434V23.699L40 19.4767V9.85547L31.4 5.07769L22.8 9.85547V18.2999L17.2 21.411V5.63325ZM38 18.2999L32.4 21.411V15.2545L38 12.1434V18.2999ZM36.9409 10.4439L31.4 13.5221L25.8591 10.4439L31.4 7.36561L36.9409 10.4439ZM24.8 18.2999V12.1434L30.4 15.2545V21.411L24.8 18.2999ZM23.8 20.0323L29.3409 23.1105L16.2 30.411L10.6591 27.3328L23.8 20.0323ZM7.6 27.9212L15.2 32.1434V38.2999L2 30.9666V7.92116L7.6 11.0323V27.9212ZM8.6 9.29991L3.05913 6.22165L8.6 3.14339L14.1409 6.22165L8.6 9.29991ZM30.4 24.8101L17.2 32.1434V38.2999L30.4 30.9666V24.8101ZM9.6 11.0323L15.2 7.92117V22.5221L9.6 25.6333V11.0323Z" - } - ) }); -} -export { - AppLogoIcon as A, - Button as B, - cn as c -}; diff --git a/bootstrap/ssr/assets/appearance-CMAYpXjP.js b/bootstrap/ssr/assets/appearance-CMAYpXjP.js deleted file mode 100644 index 588832fb..00000000 --- a/bootstrap/ssr/assets/appearance-CMAYpXjP.js +++ /dev/null @@ -1,94 +0,0 @@ -import { jsx, jsxs } from "react/jsx-runtime"; -import { Head } from "@inertiajs/react"; -import { useState, useEffect } from "react"; -import { c as cn } from "./app-logo-icon-CoogQ1E6.js"; -import { Sun, Moon, Monitor } from "lucide-react"; -import { S as SettingsLayout, H as HeadingSmall } from "./layout-jPnBvemX.js"; -import { A as AppLayout } from "./app-layout-D4gdSMSC.js"; -import "@radix-ui/react-slot"; -import "class-variance-authority"; -import "clsx"; -import "tailwind-merge"; -import "@radix-ui/react-separator"; -import "@radix-ui/react-dialog"; -import "@radix-ui/react-tooltip"; -import "@radix-ui/react-dropdown-menu"; -import "@radix-ui/react-avatar"; -const prefersDark = () => { - if (typeof window === "undefined") { - return false; - } - return window.matchMedia("(prefers-color-scheme: dark)").matches; -}; -const applyTheme = (appearance) => { - const isDark = appearance === "dark" || appearance === "system" && prefersDark(); - document.documentElement.classList.toggle("dark", isDark); -}; -const mediaQuery = () => { - if (typeof window === "undefined") { - return null; - } - return window.matchMedia("(prefers-color-scheme: dark)"); -}; -const handleSystemThemeChange = () => { - const currentAppearance = localStorage.getItem("appearance"); - applyTheme(currentAppearance || "system"); -}; -function useAppearance() { - const [appearance, setAppearance] = useState("system"); - const updateAppearance = (mode) => { - setAppearance(mode); - localStorage.setItem("appearance", mode); - applyTheme(mode); - }; - useEffect(() => { - const savedAppearance = localStorage.getItem("appearance"); - updateAppearance(savedAppearance || "system"); - return () => { - var _a; - return (_a = mediaQuery()) == null ? void 0 : _a.removeEventListener("change", handleSystemThemeChange); - }; - }, []); - return { appearance, updateAppearance }; -} -function AppearanceToggleTab({ className = "", ...props }) { - const { appearance, updateAppearance } = useAppearance(); - const tabs = [ - { value: "light", icon: Sun, label: "Light" }, - { value: "dark", icon: Moon, label: "Dark" }, - { value: "system", icon: Monitor, label: "System" } - ]; - return /* @__PURE__ */ jsx("div", { className: cn("inline-flex gap-1 rounded-lg bg-neutral-100 p-1 dark:bg-neutral-800", className), ...props, children: tabs.map(({ value, icon: Icon, label }) => /* @__PURE__ */ jsxs( - "button", - { - onClick: () => updateAppearance(value), - className: cn( - "flex items-center rounded-md px-3.5 py-1.5 transition-colors", - appearance === value ? "bg-white shadow-xs dark:bg-neutral-700 dark:text-neutral-100" : "text-neutral-500 hover:bg-neutral-200/60 hover:text-black dark:text-neutral-400 dark:hover:bg-neutral-700/60" - ), - children: [ - /* @__PURE__ */ jsx(Icon, { className: "-ml-1 h-4 w-4" }), - /* @__PURE__ */ jsx("span", { className: "ml-1.5 text-sm", children: label }) - ] - }, - value - )) }); -} -const breadcrumbs = [ - { - title: "Appearance settings", - href: "/settings/appearance" - } -]; -function Appearance() { - return /* @__PURE__ */ jsxs(AppLayout, { breadcrumbs, children: [ - /* @__PURE__ */ jsx(Head, { title: "Appearance settings" }), - /* @__PURE__ */ jsx(SettingsLayout, { children: /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [ - /* @__PURE__ */ jsx(HeadingSmall, { title: "Appearance settings", description: "Update your account's appearance settings" }), - /* @__PURE__ */ jsx(AppearanceToggleTab, {}) - ] }) }) - ] }); -} -export { - Appearance as default -}; diff --git a/bootstrap/ssr/assets/auth-layout-Cff_NC5i.js b/bootstrap/ssr/assets/auth-layout-Cff_NC5i.js deleted file mode 100644 index 4ee213f2..00000000 --- a/bootstrap/ssr/assets/auth-layout-Cff_NC5i.js +++ /dev/null @@ -1,24 +0,0 @@ -import { jsx, jsxs } from "react/jsx-runtime"; -import { A as AppLogoIcon } from "./app-logo-icon-CoogQ1E6.js"; -import { Link } from "@inertiajs/react"; -function AuthSimpleLayout({ children, title, description }) { - return /* @__PURE__ */ jsx("div", { className: "bg-background flex min-h-svh flex-col items-center justify-center gap-6 p-6 md:p-10", children: /* @__PURE__ */ jsx("div", { className: "w-full max-w-sm", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-8", children: [ - /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-4", children: [ - /* @__PURE__ */ jsxs(Link, { href: route("home"), className: "flex flex-col items-center gap-2 font-medium", children: [ - /* @__PURE__ */ jsx("div", { className: "mb-1 flex h-9 w-9 items-center justify-center rounded-md", children: /* @__PURE__ */ jsx(AppLogoIcon, { className: "size-9 fill-current text-[var(--foreground)] dark:text-white" }) }), - /* @__PURE__ */ jsx("span", { className: "sr-only", children: title }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "space-y-2 text-center", children: [ - /* @__PURE__ */ jsx("h1", { className: "text-xl font-medium", children: title }), - /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-center text-sm", children: description }) - ] }) - ] }), - children - ] }) }) }); -} -function AuthLayout({ children, title, description, ...props }) { - return /* @__PURE__ */ jsx(AuthSimpleLayout, { title, description, ...props, children }); -} -export { - AuthLayout as A -}; diff --git a/bootstrap/ssr/assets/confirm-password-G8rU-P06.js b/bootstrap/ssr/assets/confirm-password-G8rU-P06.js deleted file mode 100644 index 5c838a87..00000000 --- a/bootstrap/ssr/assets/confirm-password-G8rU-P06.js +++ /dev/null @@ -1,58 +0,0 @@ -import { jsxs, jsx } from "react/jsx-runtime"; -import { useForm, Head } from "@inertiajs/react"; -import { LoaderCircle } from "lucide-react"; -import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; -import { B as Button } from "./app-logo-icon-CoogQ1E6.js"; -import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js"; -import "@radix-ui/react-label"; -import "@radix-ui/react-slot"; -import "class-variance-authority"; -import "clsx"; -import "tailwind-merge"; -function ConfirmPassword() { - const { data, setData, post, processing, errors, reset } = useForm({ - password: "" - }); - const submit = (e) => { - e.preventDefault(); - post(route("password.confirm"), { - onFinish: () => reset("password") - }); - }; - return /* @__PURE__ */ jsxs( - AuthLayout, - { - title: "Confirm your password", - description: "This is a secure area of the application. Please confirm your password before continuing.", - children: [ - /* @__PURE__ */ jsx(Head, { title: "Confirm password" }), - /* @__PURE__ */ jsx("form", { onSubmit: submit, children: /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [ - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "password", children: "Password" }), - /* @__PURE__ */ jsx( - Input, - { - id: "password", - type: "password", - name: "password", - placeholder: "Password", - autoComplete: "current-password", - value: data.password, - autoFocus: true, - onChange: (e) => setData("password", e.target.value) - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.password }) - ] }), - /* @__PURE__ */ jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxs(Button, { className: "w-full", disabled: processing, children: [ - processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }), - "Confirm password" - ] }) }) - ] }) }) - ] - } - ); -} -export { - ConfirmPassword as default -}; diff --git a/bootstrap/ssr/assets/dashboard-DRbhOQX8.js b/bootstrap/ssr/assets/dashboard-DRbhOQX8.js deleted file mode 100644 index 1d76f207..00000000 --- a/bootstrap/ssr/assets/dashboard-DRbhOQX8.js +++ /dev/null @@ -1,43 +0,0 @@ -import { jsxs, jsx } from "react/jsx-runtime"; -import { useId } from "react"; -import { A as AppLayout } from "./app-layout-D4gdSMSC.js"; -import { Head } from "@inertiajs/react"; -import "@radix-ui/react-slot"; -import "class-variance-authority"; -import "lucide-react"; -import "./app-logo-icon-CoogQ1E6.js"; -import "clsx"; -import "tailwind-merge"; -import "@radix-ui/react-dialog"; -import "@radix-ui/react-tooltip"; -import "@radix-ui/react-dropdown-menu"; -import "@radix-ui/react-avatar"; -function PlaceholderPattern({ className }) { - const patternId = useId(); - return /* @__PURE__ */ jsxs("svg", { className, fill: "none", children: [ - /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("pattern", { id: patternId, x: "0", y: "0", width: "10", height: "10", patternUnits: "userSpaceOnUse", children: /* @__PURE__ */ jsx("path", { d: "M-3 13 15-5M-5 5l18-18M-1 21 17 3" }) }) }), - /* @__PURE__ */ jsx("rect", { stroke: "none", fill: `url(#${patternId})`, width: "100%", height: "100%" }) - ] }); -} -const breadcrumbs = [ - { - title: "Dashboard", - href: "/dashboard" - } -]; -function Dashboard() { - return /* @__PURE__ */ jsxs(AppLayout, { breadcrumbs, children: [ - /* @__PURE__ */ jsx(Head, { title: "Dashboard" }), - /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-1 flex-col gap-4 rounded-xl p-4", children: [ - /* @__PURE__ */ jsxs("div", { className: "grid auto-rows-min gap-4 md:grid-cols-3", children: [ - /* @__PURE__ */ jsx("div", { className: "border-sidebar-border/70 dark:border-sidebar-border relative aspect-video overflow-hidden rounded-xl border", children: /* @__PURE__ */ jsx(PlaceholderPattern, { className: "absolute inset-0 size-full stroke-neutral-900/20 dark:stroke-neutral-100/20" }) }), - /* @__PURE__ */ jsx("div", { className: "border-sidebar-border/70 dark:border-sidebar-border relative aspect-video overflow-hidden rounded-xl border", children: /* @__PURE__ */ jsx(PlaceholderPattern, { className: "absolute inset-0 size-full stroke-neutral-900/20 dark:stroke-neutral-100/20" }) }), - /* @__PURE__ */ jsx("div", { className: "border-sidebar-border/70 dark:border-sidebar-border relative aspect-video overflow-hidden rounded-xl border", children: /* @__PURE__ */ jsx(PlaceholderPattern, { className: "absolute inset-0 size-full stroke-neutral-900/20 dark:stroke-neutral-100/20" }) }) - ] }), - /* @__PURE__ */ jsx("div", { className: "border-sidebar-border/70 dark:border-sidebar-border relative min-h-[100vh] flex-1 rounded-xl border md:min-h-min", children: /* @__PURE__ */ jsx(PlaceholderPattern, { className: "absolute inset-0 size-full stroke-neutral-900/20 dark:stroke-neutral-100/20" }) }) - ] }) - ] }); -} -export { - Dashboard as default -}; diff --git a/bootstrap/ssr/assets/forgot-password-Bm_VS9pf.js b/bootstrap/ssr/assets/forgot-password-Bm_VS9pf.js deleted file mode 100644 index cb94eb16..00000000 --- a/bootstrap/ssr/assets/forgot-password-Bm_VS9pf.js +++ /dev/null @@ -1,57 +0,0 @@ -import { jsxs, jsx } from "react/jsx-runtime"; -import { useForm, Head } from "@inertiajs/react"; -import { LoaderCircle } from "lucide-react"; -import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; -import { T as TextLink } from "./text-link-D9-1YxGP.js"; -import { B as Button } from "./app-logo-icon-CoogQ1E6.js"; -import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js"; -import "@radix-ui/react-label"; -import "@radix-ui/react-slot"; -import "class-variance-authority"; -import "clsx"; -import "tailwind-merge"; -function ForgotPassword({ status }) { - const { data, setData, post, processing, errors } = useForm({ - email: "" - }); - const submit = (e) => { - e.preventDefault(); - post(route("password.email")); - }; - return /* @__PURE__ */ jsxs(AuthLayout, { title: "Forgot password", description: "Enter your email to receive a password reset link", children: [ - /* @__PURE__ */ jsx(Head, { title: "Forgot password" }), - status && /* @__PURE__ */ jsx("div", { className: "mb-4 text-center text-sm font-medium text-green-600", children: status }), - /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [ - /* @__PURE__ */ jsxs("form", { onSubmit: submit, children: [ - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email address" }), - /* @__PURE__ */ jsx( - Input, - { - id: "email", - type: "email", - name: "email", - autoComplete: "off", - value: data.email, - autoFocus: true, - onChange: (e) => setData("email", e.target.value), - placeholder: "email@example.com" - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.email }) - ] }), - /* @__PURE__ */ jsx("div", { className: "my-6 flex items-center justify-start", children: /* @__PURE__ */ jsxs(Button, { className: "w-full", disabled: processing, children: [ - processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }), - "Email password reset link" - ] }) }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground space-x-1 text-center text-sm", children: [ - /* @__PURE__ */ jsx("span", { children: "Or, return to" }), - /* @__PURE__ */ jsx(TextLink, { href: route("login"), children: "log in" }) - ] }) - ] }) - ] }); -} -export { - ForgotPassword as default -}; diff --git a/bootstrap/ssr/assets/label-Byzlra19.js b/bootstrap/ssr/assets/label-Byzlra19.js deleted file mode 100644 index 81c9513b..00000000 --- a/bootstrap/ssr/assets/label-Byzlra19.js +++ /dev/null @@ -1,43 +0,0 @@ -import { jsx } from "react/jsx-runtime"; -import { c as cn } from "./app-logo-icon-CoogQ1E6.js"; -import * as LabelPrimitive from "@radix-ui/react-label"; -function InputError({ message, className = "", ...props }) { - return message ? /* @__PURE__ */ jsx("p", { ...props, className: cn("text-sm text-red-600 dark:text-red-400", className), children: message }) : null; -} -function Input({ className, type, ...props }) { - return /* @__PURE__ */ jsx( - "input", - { - type, - "data-slot": "input", - className: cn( - "border-input file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", - "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", - "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", - className - ), - ...props - } - ); -} -function Label({ - className, - ...props -}) { - return /* @__PURE__ */ jsx( - LabelPrimitive.Root, - { - "data-slot": "label", - className: cn( - "text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", - className - ), - ...props - } - ); -} -export { - Input as I, - Label as L, - InputError as a -}; diff --git a/bootstrap/ssr/assets/layout-jPnBvemX.js b/bootstrap/ssr/assets/layout-jPnBvemX.js deleted file mode 100644 index ebe15517..00000000 --- a/bootstrap/ssr/assets/layout-jPnBvemX.js +++ /dev/null @@ -1,80 +0,0 @@ -import { jsx, jsxs, Fragment } from "react/jsx-runtime"; -import { c as cn, B as Button } from "./app-logo-icon-CoogQ1E6.js"; -import * as SeparatorPrimitive from "@radix-ui/react-separator"; -import { Link } from "@inertiajs/react"; -function Separator({ - className, - orientation = "horizontal", - decorative = true, - ...props -}) { - return /* @__PURE__ */ jsx( - SeparatorPrimitive.Root, - { - "data-slot": "separator-root", - decorative, - orientation, - className: cn( - "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px", - className - ), - ...props - } - ); -} -function HeadingSmall({ title, description }) { - return /* @__PURE__ */ jsxs("header", { children: [ - /* @__PURE__ */ jsx("h3", { className: "mb-0.5 text-base font-medium", children: title }), - description && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm", children: description }) - ] }); -} -function Heading({ title, description }) { - return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: "mb-8 space-y-0.5", children: [ - /* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold tracking-tight", children: title }), - description && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm", children: description }) - ] }) }); -} -const sidebarNavItems = [ - { - title: "Profile", - url: "/settings/profile", - icon: null - }, - { - title: "Password", - url: "/settings/password", - icon: null - }, - { - title: "Appearance", - url: "/settings/appearance", - icon: null - } -]; -function SettingsLayout({ children }) { - const currentPath = window.location.pathname; - return /* @__PURE__ */ jsxs("div", { className: "px-4 py-6", children: [ - /* @__PURE__ */ jsx(Heading, { title: "Settings", description: "Manage your profile and account settings" }), - /* @__PURE__ */ jsxs("div", { className: "flex flex-col space-y-8 lg:flex-row lg:space-y-0 lg:space-x-12", children: [ - /* @__PURE__ */ jsx("aside", { className: "w-full max-w-xl lg:w-48", children: /* @__PURE__ */ jsx("nav", { className: "flex flex-col space-y-1 space-x-0", children: sidebarNavItems.map((item) => /* @__PURE__ */ jsx( - Button, - { - size: "sm", - variant: "ghost", - asChild: true, - className: cn("w-full justify-start", { - "bg-muted": currentPath === item.url - }), - children: /* @__PURE__ */ jsx(Link, { href: item.url, prefetch: true, children: item.title }) - }, - item.url - )) }) }), - /* @__PURE__ */ jsx(Separator, { className: "my-6 md:hidden" }), - /* @__PURE__ */ jsx("div", { className: "flex-1 md:max-w-2xl", children: /* @__PURE__ */ jsx("section", { className: "max-w-xl space-y-12", children }) }) - ] }) - ] }); -} -export { - HeadingSmall as H, - SettingsLayout as S -}; diff --git a/bootstrap/ssr/assets/login-nGtNK223.js b/bootstrap/ssr/assets/login-nGtNK223.js deleted file mode 100644 index 8fc6fa6d..00000000 --- a/bootstrap/ssr/assets/login-nGtNK223.js +++ /dev/null @@ -1,112 +0,0 @@ -import { jsx, jsxs } from "react/jsx-runtime"; -import { useForm, Head } from "@inertiajs/react"; -import { CheckIcon, LoaderCircle } from "lucide-react"; -import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; -import { T as TextLink } from "./text-link-D9-1YxGP.js"; -import { c as cn, B as Button } from "./app-logo-icon-CoogQ1E6.js"; -import * as CheckboxPrimitive from "@radix-ui/react-checkbox"; -import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js"; -import "@radix-ui/react-label"; -import "@radix-ui/react-slot"; -import "class-variance-authority"; -import "clsx"; -import "tailwind-merge"; -function Checkbox({ - className, - ...props -}) { - return /* @__PURE__ */ jsx( - CheckboxPrimitive.Root, - { - "data-slot": "checkbox", - className: cn( - "peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", - className - ), - ...props, - children: /* @__PURE__ */ jsx( - CheckboxPrimitive.Indicator, - { - "data-slot": "checkbox-indicator", - className: "flex items-center justify-center text-current transition-none", - children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5" }) - } - ) - } - ); -} -function Login({ status, canResetPassword }) { - const { data, setData, post, processing, errors, reset } = useForm({ - email: "", - password: "", - remember: false - }); - const submit = (e) => { - e.preventDefault(); - post(route("login"), { - onFinish: () => reset("password") - }); - }; - return /* @__PURE__ */ jsxs(AuthLayout, { title: "Log in to your account", description: "Enter your email and password below to log in", children: [ - /* @__PURE__ */ jsx(Head, { title: "Log in" }), - /* @__PURE__ */ jsxs("form", { className: "flex flex-col gap-6", onSubmit: submit, children: [ - /* @__PURE__ */ jsxs("div", { className: "grid gap-6", children: [ - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email address" }), - /* @__PURE__ */ jsx( - Input, - { - id: "email", - type: "email", - required: true, - autoFocus: true, - tabIndex: 1, - autoComplete: "email", - value: data.email, - onChange: (e) => setData("email", e.target.value), - placeholder: "email@example.com" - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.email }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "password", children: "Password" }), - canResetPassword && /* @__PURE__ */ jsx(TextLink, { href: route("password.request"), className: "ml-auto text-sm", tabIndex: 5, children: "Forgot password?" }) - ] }), - /* @__PURE__ */ jsx( - Input, - { - id: "password", - type: "password", - required: true, - tabIndex: 2, - autoComplete: "current-password", - value: data.password, - onChange: (e) => setData("password", e.target.value), - placeholder: "Password" - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.password }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-3", children: [ - /* @__PURE__ */ jsx(Checkbox, { id: "remember", name: "remember", tabIndex: 3 }), - /* @__PURE__ */ jsx(Label, { htmlFor: "remember", children: "Remember me" }) - ] }), - /* @__PURE__ */ jsxs(Button, { type: "submit", className: "mt-4 w-full", tabIndex: 4, disabled: processing, children: [ - processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }), - "Log in" - ] }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground text-center text-sm", children: [ - "Don't have an account?", - " ", - /* @__PURE__ */ jsx(TextLink, { href: route("register"), tabIndex: 5, children: "Sign up" }) - ] }) - ] }), - status && /* @__PURE__ */ jsx("div", { className: "mb-4 text-center text-sm font-medium text-green-600", children: status }) - ] }); -} -export { - Login as default -}; diff --git a/bootstrap/ssr/assets/password-obBdSHh5.js b/bootstrap/ssr/assets/password-obBdSHh5.js deleted file mode 100644 index 2573202c..00000000 --- a/bootstrap/ssr/assets/password-obBdSHh5.js +++ /dev/null @@ -1,127 +0,0 @@ -import { jsxs, jsx } from "react/jsx-runtime"; -import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; -import { A as AppLayout } from "./app-layout-D4gdSMSC.js"; -import { S as SettingsLayout, H as HeadingSmall } from "./layout-jPnBvemX.js"; -import { Transition } from "@headlessui/react"; -import { useForm, Head } from "@inertiajs/react"; -import { useRef } from "react"; -import { B as Button } from "./app-logo-icon-CoogQ1E6.js"; -import "@radix-ui/react-label"; -import "@radix-ui/react-slot"; -import "class-variance-authority"; -import "lucide-react"; -import "@radix-ui/react-dialog"; -import "@radix-ui/react-tooltip"; -import "@radix-ui/react-dropdown-menu"; -import "@radix-ui/react-avatar"; -import "@radix-ui/react-separator"; -import "clsx"; -import "tailwind-merge"; -const breadcrumbs = [ - { - title: "Password settings", - href: "/settings/password" - } -]; -function Password() { - const passwordInput = useRef(null); - const currentPasswordInput = useRef(null); - const { data, setData, errors, put, reset, processing, recentlySuccessful } = useForm({ - current_password: "", - password: "", - password_confirmation: "" - }); - const updatePassword = (e) => { - e.preventDefault(); - put(route("password.update"), { - preserveScroll: true, - onSuccess: () => reset(), - onError: (errors2) => { - var _a, _b; - if (errors2.password) { - reset("password", "password_confirmation"); - (_a = passwordInput.current) == null ? void 0 : _a.focus(); - } - if (errors2.current_password) { - reset("current_password"); - (_b = currentPasswordInput.current) == null ? void 0 : _b.focus(); - } - } - }); - }; - return /* @__PURE__ */ jsxs(AppLayout, { breadcrumbs, children: [ - /* @__PURE__ */ jsx(Head, { title: "Profile settings" }), - /* @__PURE__ */ jsx(SettingsLayout, { children: /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [ - /* @__PURE__ */ jsx(HeadingSmall, { title: "Update password", description: "Ensure your account is using a long, random password to stay secure" }), - /* @__PURE__ */ jsxs("form", { onSubmit: updatePassword, className: "space-y-6", children: [ - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "current_password", children: "Current password" }), - /* @__PURE__ */ jsx( - Input, - { - id: "current_password", - ref: currentPasswordInput, - value: data.current_password, - onChange: (e) => setData("current_password", e.target.value), - type: "password", - className: "mt-1 block w-full", - autoComplete: "current-password", - placeholder: "Current password" - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.current_password }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "password", children: "New password" }), - /* @__PURE__ */ jsx( - Input, - { - id: "password", - ref: passwordInput, - value: data.password, - onChange: (e) => setData("password", e.target.value), - type: "password", - className: "mt-1 block w-full", - autoComplete: "new-password", - placeholder: "New password" - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.password }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "password_confirmation", children: "Confirm password" }), - /* @__PURE__ */ jsx( - Input, - { - id: "password_confirmation", - value: data.password_confirmation, - onChange: (e) => setData("password_confirmation", e.target.value), - type: "password", - className: "mt-1 block w-full", - autoComplete: "new-password", - placeholder: "Confirm password" - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.password_confirmation }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [ - /* @__PURE__ */ jsx(Button, { disabled: processing, children: "Save password" }), - /* @__PURE__ */ jsx( - Transition, - { - show: recentlySuccessful, - enter: "transition ease-in-out", - enterFrom: "opacity-0", - leave: "transition ease-in-out", - leaveTo: "opacity-0", - children: /* @__PURE__ */ jsx("p", { className: "text-sm text-neutral-600", children: "Saved" }) - } - ) - ] }) - ] }) - ] }) }) - ] }); -} -export { - Password as default -}; diff --git a/bootstrap/ssr/assets/profile-qrFaR_Uf.js b/bootstrap/ssr/assets/profile-qrFaR_Uf.js deleted file mode 100644 index 9936f3d1..00000000 --- a/bootstrap/ssr/assets/profile-qrFaR_Uf.js +++ /dev/null @@ -1,277 +0,0 @@ -import { jsx, jsxs } from "react/jsx-runtime"; -import { Transition } from "@headlessui/react"; -import { useForm, usePage, Head, Link } from "@inertiajs/react"; -import { useRef } from "react"; -import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; -import { c as cn, B as Button } from "./app-logo-icon-CoogQ1E6.js"; -import { H as HeadingSmall, S as SettingsLayout } from "./layout-jPnBvemX.js"; -import * as SheetPrimitive from "@radix-ui/react-dialog"; -import { XIcon } from "lucide-react"; -import { A as AppLayout } from "./app-layout-D4gdSMSC.js"; -import "@radix-ui/react-label"; -import "@radix-ui/react-slot"; -import "class-variance-authority"; -import "clsx"; -import "tailwind-merge"; -import "@radix-ui/react-separator"; -import "@radix-ui/react-tooltip"; -import "@radix-ui/react-dropdown-menu"; -import "@radix-ui/react-avatar"; -function Dialog({ - ...props -}) { - return /* @__PURE__ */ jsx(SheetPrimitive.Root, { "data-slot": "dialog", ...props }); -} -function DialogTrigger({ - ...props -}) { - return /* @__PURE__ */ jsx(SheetPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props }); -} -function DialogPortal({ - ...props -}) { - return /* @__PURE__ */ jsx(SheetPrimitive.Portal, { "data-slot": "dialog-portal", ...props }); -} -function DialogClose({ - ...props -}) { - return /* @__PURE__ */ jsx(SheetPrimitive.Close, { "data-slot": "dialog-close", ...props }); -} -function DialogOverlay({ - className, - ...props -}) { - return /* @__PURE__ */ jsx( - SheetPrimitive.Overlay, - { - "data-slot": "dialog-overlay", - className: cn( - "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80", - className - ), - ...props - } - ); -} -function DialogContent({ - className, - children, - ...props -}) { - return /* @__PURE__ */ jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [ - /* @__PURE__ */ jsx(DialogOverlay, {}), - /* @__PURE__ */ jsxs( - SheetPrimitive.Content, - { - "data-slot": "dialog-content", - className: cn( - "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", - className - ), - ...props, - children: [ - children, - /* @__PURE__ */ jsxs(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [ - /* @__PURE__ */ jsx(XIcon, {}), - /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" }) - ] }) - ] - } - ) - ] }); -} -function DialogFooter({ className, ...props }) { - return /* @__PURE__ */ jsx( - "div", - { - "data-slot": "dialog-footer", - className: cn( - "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", - className - ), - ...props - } - ); -} -function DialogTitle({ - className, - ...props -}) { - return /* @__PURE__ */ jsx( - SheetPrimitive.Title, - { - "data-slot": "dialog-title", - className: cn("text-lg leading-none font-semibold", className), - ...props - } - ); -} -function DialogDescription({ - className, - ...props -}) { - return /* @__PURE__ */ jsx( - SheetPrimitive.Description, - { - "data-slot": "dialog-description", - className: cn("text-muted-foreground text-sm", className), - ...props - } - ); -} -function DeleteUser() { - const passwordInput = useRef(null); - const { data, setData, delete: destroy, processing, reset, errors, clearErrors } = useForm({ password: "" }); - const deleteUser = (e) => { - e.preventDefault(); - destroy(route("profile.destroy"), { - preserveScroll: true, - onSuccess: () => closeModal(), - onError: () => { - var _a; - return (_a = passwordInput.current) == null ? void 0 : _a.focus(); - }, - onFinish: () => reset() - }); - }; - const closeModal = () => { - clearErrors(); - reset(); - }; - return /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [ - /* @__PURE__ */ jsx(HeadingSmall, { title: "Delete account", description: "Delete your account and all of its resources" }), - /* @__PURE__ */ jsxs("div", { className: "space-y-4 rounded-lg border border-red-100 bg-red-50 p-4 dark:border-red-200/10 dark:bg-red-700/10", children: [ - /* @__PURE__ */ jsxs("div", { className: "relative space-y-0.5 text-red-600 dark:text-red-100", children: [ - /* @__PURE__ */ jsx("p", { className: "font-medium", children: "Warning" }), - /* @__PURE__ */ jsx("p", { className: "text-sm", children: "Please proceed with caution, this cannot be undone." }) - ] }), - /* @__PURE__ */ jsxs(Dialog, { children: [ - /* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "destructive", children: "Delete account" }) }), - /* @__PURE__ */ jsxs(DialogContent, { children: [ - /* @__PURE__ */ jsx(DialogTitle, { children: "Are you sure you want to delete your account?" }), - /* @__PURE__ */ jsx(DialogDescription, { children: "Once your account is deleted, all of its resources and data will also be permanently deleted. Please enter your password to confirm you would like to permanently delete your account." }), - /* @__PURE__ */ jsxs("form", { className: "space-y-6", onSubmit: deleteUser, children: [ - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "password", className: "sr-only", children: "Password" }), - /* @__PURE__ */ jsx( - Input, - { - id: "password", - type: "password", - name: "password", - ref: passwordInput, - value: data.password, - onChange: (e) => setData("password", e.target.value), - placeholder: "Password", - autoComplete: "current-password" - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.password }) - ] }), - /* @__PURE__ */ jsxs(DialogFooter, { className: "gap-2", children: [ - /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "secondary", onClick: closeModal, children: "Cancel" }) }), - /* @__PURE__ */ jsx(Button, { variant: "destructive", disabled: processing, asChild: true, children: /* @__PURE__ */ jsx("button", { type: "submit", children: "Delete account" }) }) - ] }) - ] }) - ] }) - ] }) - ] }) - ] }); -} -const breadcrumbs = [ - { - title: "Profile settings", - href: "/settings/profile" - } -]; -function Profile({ mustVerifyEmail, status }) { - const { auth } = usePage().props; - const { data, setData, patch, errors, processing, recentlySuccessful } = useForm({ - name: auth.user.name, - email: auth.user.email - }); - const submit = (e) => { - e.preventDefault(); - patch(route("profile.update"), { - preserveScroll: true - }); - }; - return /* @__PURE__ */ jsxs(AppLayout, { breadcrumbs, children: [ - /* @__PURE__ */ jsx(Head, { title: "Profile settings" }), - /* @__PURE__ */ jsxs(SettingsLayout, { children: [ - /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [ - /* @__PURE__ */ jsx(HeadingSmall, { title: "Profile information", description: "Update your name and email address" }), - /* @__PURE__ */ jsxs("form", { onSubmit: submit, className: "space-y-6", children: [ - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "name", children: "Name" }), - /* @__PURE__ */ jsx( - Input, - { - id: "name", - className: "mt-1 block w-full", - value: data.name, - onChange: (e) => setData("name", e.target.value), - required: true, - autoComplete: "name", - placeholder: "Full name" - } - ), - /* @__PURE__ */ jsx(InputError, { className: "mt-2", message: errors.name }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email address" }), - /* @__PURE__ */ jsx( - Input, - { - id: "email", - type: "email", - className: "mt-1 block w-full", - value: data.email, - onChange: (e) => setData("email", e.target.value), - required: true, - autoComplete: "username", - placeholder: "Email address" - } - ), - /* @__PURE__ */ jsx(InputError, { className: "mt-2", message: errors.email }) - ] }), - mustVerifyEmail && auth.user.email_verified_at === null && /* @__PURE__ */ jsxs("div", { children: [ - /* @__PURE__ */ jsxs("p", { className: "-mt-4 text-sm text-muted-foreground", children: [ - "Your email address is unverified.", - " ", - /* @__PURE__ */ jsx( - Link, - { - href: route("verification.send"), - method: "post", - as: "button", - className: "hover:decoration-current! text-foreground underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out dark:decoration-neutral-500", - children: "Click here to resend the verification email." - } - ) - ] }), - status === "verification-link-sent" && /* @__PURE__ */ jsx("div", { className: "mt-2 text-sm font-medium text-green-600", children: "A new verification link has been sent to your email address." }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [ - /* @__PURE__ */ jsx(Button, { disabled: processing, children: "Save" }), - /* @__PURE__ */ jsx( - Transition, - { - show: recentlySuccessful, - enter: "transition ease-in-out", - enterFrom: "opacity-0", - leave: "transition ease-in-out", - leaveTo: "opacity-0", - children: /* @__PURE__ */ jsx("p", { className: "text-sm text-neutral-600", children: "Saved" }) - } - ) - ] }) - ] }) - ] }), - /* @__PURE__ */ jsx(DeleteUser, {}) - ] }) - ] }); -} -export { - Profile as default -}; diff --git a/bootstrap/ssr/assets/register-C_guXizf.js b/bootstrap/ssr/assets/register-C_guXizf.js deleted file mode 100644 index a0b20a72..00000000 --- a/bootstrap/ssr/assets/register-C_guXizf.js +++ /dev/null @@ -1,118 +0,0 @@ -import { jsxs, jsx } from "react/jsx-runtime"; -import { useForm, Head } from "@inertiajs/react"; -import { LoaderCircle } from "lucide-react"; -import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; -import { T as TextLink } from "./text-link-D9-1YxGP.js"; -import { B as Button } from "./app-logo-icon-CoogQ1E6.js"; -import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js"; -import "@radix-ui/react-label"; -import "@radix-ui/react-slot"; -import "class-variance-authority"; -import "clsx"; -import "tailwind-merge"; -function Register() { - const { data, setData, post, processing, errors, reset } = useForm({ - name: "", - email: "", - password: "", - password_confirmation: "" - }); - const submit = (e) => { - e.preventDefault(); - post(route("register"), { - onFinish: () => reset("password", "password_confirmation") - }); - }; - return /* @__PURE__ */ jsxs(AuthLayout, { title: "Create an account", description: "Enter your details below to create your account", children: [ - /* @__PURE__ */ jsx(Head, { title: "Register" }), - /* @__PURE__ */ jsxs("form", { className: "flex flex-col gap-6", onSubmit: submit, children: [ - /* @__PURE__ */ jsxs("div", { className: "grid gap-6", children: [ - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "name", children: "Name" }), - /* @__PURE__ */ jsx( - Input, - { - id: "name", - type: "text", - required: true, - autoFocus: true, - tabIndex: 1, - autoComplete: "name", - value: data.name, - onChange: (e) => setData("name", e.target.value), - disabled: processing, - placeholder: "Full name" - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.name, className: "mt-2" }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email address" }), - /* @__PURE__ */ jsx( - Input, - { - id: "email", - type: "email", - required: true, - tabIndex: 2, - autoComplete: "email", - value: data.email, - onChange: (e) => setData("email", e.target.value), - disabled: processing, - placeholder: "email@example.com" - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.email }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "password", children: "Password" }), - /* @__PURE__ */ jsx( - Input, - { - id: "password", - type: "password", - required: true, - tabIndex: 3, - autoComplete: "new-password", - value: data.password, - onChange: (e) => setData("password", e.target.value), - disabled: processing, - placeholder: "Password" - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.password }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "password_confirmation", children: "Confirm password" }), - /* @__PURE__ */ jsx( - Input, - { - id: "password_confirmation", - type: "password", - required: true, - tabIndex: 4, - autoComplete: "new-password", - value: data.password_confirmation, - onChange: (e) => setData("password_confirmation", e.target.value), - disabled: processing, - placeholder: "Confirm password" - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.password_confirmation }) - ] }), - /* @__PURE__ */ jsxs(Button, { type: "submit", className: "mt-2 w-full", tabIndex: 5, disabled: processing, children: [ - processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }), - "Create account" - ] }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground text-center text-sm", children: [ - "Already have an account?", - " ", - /* @__PURE__ */ jsx(TextLink, { href: route("login"), tabIndex: 6, children: "Log in" }) - ] }) - ] }) - ] }); -} -export { - Register as default -}; diff --git a/bootstrap/ssr/assets/reset-password-uqjsfg_p.js b/bootstrap/ssr/assets/reset-password-uqjsfg_p.js deleted file mode 100644 index a6cd27b1..00000000 --- a/bootstrap/ssr/assets/reset-password-uqjsfg_p.js +++ /dev/null @@ -1,89 +0,0 @@ -import { jsxs, jsx } from "react/jsx-runtime"; -import { useForm, Head } from "@inertiajs/react"; -import { LoaderCircle } from "lucide-react"; -import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js"; -import { B as Button } from "./app-logo-icon-CoogQ1E6.js"; -import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js"; -import "@radix-ui/react-label"; -import "@radix-ui/react-slot"; -import "class-variance-authority"; -import "clsx"; -import "tailwind-merge"; -function ResetPassword({ token, email }) { - const { data, setData, post, processing, errors, reset } = useForm({ - token, - email, - password: "", - password_confirmation: "" - }); - const submit = (e) => { - e.preventDefault(); - post(route("password.store"), { - onFinish: () => reset("password", "password_confirmation") - }); - }; - return /* @__PURE__ */ jsxs(AuthLayout, { title: "Reset password", description: "Please enter your new password below", children: [ - /* @__PURE__ */ jsx(Head, { title: "Reset password" }), - /* @__PURE__ */ jsx("form", { onSubmit: submit, children: /* @__PURE__ */ jsxs("div", { className: "grid gap-6", children: [ - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email" }), - /* @__PURE__ */ jsx( - Input, - { - id: "email", - type: "email", - name: "email", - autoComplete: "email", - value: data.email, - className: "mt-1 block w-full", - readOnly: true, - onChange: (e) => setData("email", e.target.value) - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.email, className: "mt-2" }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "password", children: "Password" }), - /* @__PURE__ */ jsx( - Input, - { - id: "password", - type: "password", - name: "password", - autoComplete: "new-password", - value: data.password, - className: "mt-1 block w-full", - autoFocus: true, - onChange: (e) => setData("password", e.target.value), - placeholder: "Password" - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.password }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [ - /* @__PURE__ */ jsx(Label, { htmlFor: "password_confirmation", children: "Confirm password" }), - /* @__PURE__ */ jsx( - Input, - { - id: "password_confirmation", - type: "password", - name: "password_confirmation", - autoComplete: "new-password", - value: data.password_confirmation, - className: "mt-1 block w-full", - onChange: (e) => setData("password_confirmation", e.target.value), - placeholder: "Confirm password" - } - ), - /* @__PURE__ */ jsx(InputError, { message: errors.password_confirmation, className: "mt-2" }) - ] }), - /* @__PURE__ */ jsxs(Button, { type: "submit", className: "mt-4 w-full", disabled: processing, children: [ - processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }), - "Reset password" - ] }) - ] }) }) - ] }); -} -export { - ResetPassword as default -}; diff --git a/bootstrap/ssr/assets/text-link-D9-1YxGP.js b/bootstrap/ssr/assets/text-link-D9-1YxGP.js deleted file mode 100644 index 2ca1904a..00000000 --- a/bootstrap/ssr/assets/text-link-D9-1YxGP.js +++ /dev/null @@ -1,19 +0,0 @@ -import { jsx } from "react/jsx-runtime"; -import { c as cn } from "./app-logo-icon-CoogQ1E6.js"; -import { Link } from "@inertiajs/react"; -function TextLink({ className = "", children, ...props }) { - return /* @__PURE__ */ jsx( - Link, - { - className: cn( - "text-foreground underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current! dark:decoration-neutral-500", - className - ), - ...props, - children - } - ); -} -export { - TextLink as T -}; diff --git a/bootstrap/ssr/assets/verify-email-BdQbCV_K.js b/bootstrap/ssr/assets/verify-email-BdQbCV_K.js deleted file mode 100644 index b32c3af9..00000000 --- a/bootstrap/ssr/assets/verify-email-BdQbCV_K.js +++ /dev/null @@ -1,31 +0,0 @@ -import { jsxs, jsx } from "react/jsx-runtime"; -import { useForm, Head } from "@inertiajs/react"; -import { LoaderCircle } from "lucide-react"; -import { T as TextLink } from "./text-link-D9-1YxGP.js"; -import { B as Button } from "./app-logo-icon-CoogQ1E6.js"; -import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js"; -import "@radix-ui/react-slot"; -import "class-variance-authority"; -import "clsx"; -import "tailwind-merge"; -function VerifyEmail({ status }) { - const { post, processing } = useForm({}); - const submit = (e) => { - e.preventDefault(); - post(route("verification.send")); - }; - return /* @__PURE__ */ jsxs(AuthLayout, { title: "Verify email", description: "Please verify your email address by clicking on the link we just emailed to you.", children: [ - /* @__PURE__ */ jsx(Head, { title: "Email verification" }), - status === "verification-link-sent" && /* @__PURE__ */ jsx("div", { className: "mb-4 text-center text-sm font-medium text-green-600", children: "A new verification link has been sent to the email address you provided during registration." }), - /* @__PURE__ */ jsxs("form", { onSubmit: submit, className: "space-y-6 text-center", children: [ - /* @__PURE__ */ jsxs(Button, { disabled: processing, variant: "secondary", children: [ - processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }), - "Resend verification email" - ] }), - /* @__PURE__ */ jsx(TextLink, { href: route("logout"), method: "post", className: "mx-auto block text-sm", children: "Log out" }) - ] }) - ] }); -} -export { - VerifyEmail as default -}; diff --git a/bootstrap/ssr/assets/welcome-CtPb_rEB.js b/bootstrap/ssr/assets/welcome-CtPb_rEB.js deleted file mode 100644 index dc470184..00000000 --- a/bootstrap/ssr/assets/welcome-CtPb_rEB.js +++ /dev/null @@ -1,1157 +0,0 @@ -import { jsxs, Fragment, jsx } from "react/jsx-runtime"; -import { usePage, Head, Link } from "@inertiajs/react"; -function Welcome() { - const { auth } = usePage().props; - return /* @__PURE__ */ jsxs(Fragment, { children: [ - /* @__PURE__ */ jsxs(Head, { title: "Welcome", children: [ - /* @__PURE__ */ jsx("link", { rel: "preconnect", href: "https://fonts.bunny.net" }), - /* @__PURE__ */ jsx("link", { href: "https://fonts.bunny.net/css?family=instrument-sans:400,500,600", rel: "stylesheet" }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "flex min-h-screen flex-col items-center bg-[#FDFDFC] p-6 text-[#1b1b18] lg:justify-center lg:p-8 dark:bg-[#0a0a0a]", children: [ - /* @__PURE__ */ jsx("header", { className: "mb-6 w-full max-w-[335px] text-sm not-has-[nav]:hidden lg:max-w-4xl", children: /* @__PURE__ */ jsx("nav", { className: "flex items-center justify-end gap-4", children: auth.user ? /* @__PURE__ */ jsx( - Link, - { - href: route("dashboard"), - className: "inline-block rounded-sm border border-[#19140035] px-5 py-1.5 text-sm leading-normal text-[#1b1b18] hover:border-[#1915014a] dark:border-[#3E3E3A] dark:text-[#EDEDEC] dark:hover:border-[#62605b]", - children: "Dashboard" - } - ) : /* @__PURE__ */ jsxs(Fragment, { children: [ - /* @__PURE__ */ jsx( - Link, - { - href: route("login"), - className: "inline-block rounded-sm border border-transparent px-5 py-1.5 text-sm leading-normal text-[#1b1b18] hover:border-[#19140035] dark:text-[#EDEDEC] dark:hover:border-[#3E3E3A]", - children: "Log in" - } - ), - /* @__PURE__ */ jsx( - Link, - { - href: route("register"), - className: "inline-block rounded-sm border border-[#19140035] px-5 py-1.5 text-sm leading-normal text-[#1b1b18] hover:border-[#1915014a] dark:border-[#3E3E3A] dark:text-[#EDEDEC] dark:hover:border-[#62605b]", - children: "Register" - } - ) - ] }) }) }), - /* @__PURE__ */ jsx("div", { className: "flex w-full items-center justify-center opacity-100 transition-opacity duration-750 lg:grow starting:opacity-0", children: /* @__PURE__ */ jsxs("main", { className: "flex w-full max-w-[335px] flex-col-reverse lg:max-w-4xl lg:flex-row", children: [ - /* @__PURE__ */ jsxs("div", { className: "flex-1 rounded-br-lg rounded-bl-lg bg-white p-6 pb-12 text-[13px] leading-[20px] shadow-[inset_0px_0px_0px_1px_rgba(26,26,0,0.16)] lg:rounded-tl-lg lg:rounded-br-none lg:p-20 dark:bg-[#161615] dark:text-[#EDEDEC] dark:shadow-[inset_0px_0px_0px_1px_#fffaed2d]", children: [ - /* @__PURE__ */ jsx("h1", { className: "mb-1 font-medium", children: "Let's get started" }), - /* @__PURE__ */ jsxs("p", { className: "mb-2 text-[#706f6c] dark:text-[#A1A09A]", children: [ - "Laravel has an incredibly rich ecosystem.", - /* @__PURE__ */ jsx("br", {}), - "We suggest starting with the following." - ] }), - /* @__PURE__ */ jsxs("ul", { className: "mb-4 flex flex-col lg:mb-6", children: [ - /* @__PURE__ */ jsxs("li", { className: "relative flex items-center gap-4 py-2 before:absolute before:top-1/2 before:bottom-0 before:left-[0.4rem] before:border-l before:border-[#e3e3e0] dark:before:border-[#3E3E3A]", children: [ - /* @__PURE__ */ jsx("span", { className: "relative bg-white py-1 dark:bg-[#161615]", children: /* @__PURE__ */ jsx("span", { className: "flex h-3.5 w-3.5 items-center justify-center rounded-full border border-[#e3e3e0] bg-[#FDFDFC] shadow-[0px_0px_1px_0px_rgba(0,0,0,0.03),0px_1px_2px_0px_rgba(0,0,0,0.06)] dark:border-[#3E3E3A] dark:bg-[#161615]", children: /* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-[#dbdbd7] dark:bg-[#3E3E3A]" }) }) }), - /* @__PURE__ */ jsxs("span", { children: [ - "Read the", - /* @__PURE__ */ jsxs( - "a", - { - href: "https://laravel.com/docs", - target: "_blank", - className: "ml-1 inline-flex items-center space-x-1 font-medium text-[#f53003] underline underline-offset-4 dark:text-[#FF4433]", - children: [ - /* @__PURE__ */ jsx("span", { children: "Documentation" }), - /* @__PURE__ */ jsx( - "svg", - { - width: 10, - height: 11, - viewBox: "0 0 10 11", - fill: "none", - xmlns: "http://www.w3.org/2000/svg", - className: "h-2.5 w-2.5", - children: /* @__PURE__ */ jsx( - "path", - { - d: "M7.70833 6.95834V2.79167H3.54167M2.5 8L7.5 3.00001", - stroke: "currentColor", - strokeLinecap: "square" - } - ) - } - ) - ] - } - ) - ] }) - ] }), - /* @__PURE__ */ jsxs("li", { className: "relative flex items-center gap-4 py-2 before:absolute before:top-0 before:bottom-1/2 before:left-[0.4rem] before:border-l before:border-[#e3e3e0] dark:before:border-[#3E3E3A]", children: [ - /* @__PURE__ */ jsx("span", { className: "relative bg-white py-1 dark:bg-[#161615]", children: /* @__PURE__ */ jsx("span", { className: "flex h-3.5 w-3.5 items-center justify-center rounded-full border border-[#e3e3e0] bg-[#FDFDFC] shadow-[0px_0px_1px_0px_rgba(0,0,0,0.03),0px_1px_2px_0px_rgba(0,0,0,0.06)] dark:border-[#3E3E3A] dark:bg-[#161615]", children: /* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-[#dbdbd7] dark:bg-[#3E3E3A]" }) }) }), - /* @__PURE__ */ jsxs("span", { children: [ - "Watch video tutorials at", - /* @__PURE__ */ jsxs( - "a", - { - href: "https://laracasts.com", - target: "_blank", - className: "ml-1 inline-flex items-center space-x-1 font-medium text-[#f53003] underline underline-offset-4 dark:text-[#FF4433]", - children: [ - /* @__PURE__ */ jsx("span", { children: "Laracasts" }), - /* @__PURE__ */ jsx( - "svg", - { - width: 10, - height: 11, - viewBox: "0 0 10 11", - fill: "none", - xmlns: "http://www.w3.org/2000/svg", - className: "h-2.5 w-2.5", - children: /* @__PURE__ */ jsx( - "path", - { - d: "M7.70833 6.95834V2.79167H3.54167M2.5 8L7.5 3.00001", - stroke: "currentColor", - strokeLinecap: "square" - } - ) - } - ) - ] - } - ) - ] }) - ] }) - ] }), - /* @__PURE__ */ jsx("ul", { className: "flex gap-3 text-sm leading-normal", children: /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx( - "a", - { - href: "https://cloud.laravel.com", - target: "_blank", - className: "inline-block rounded-sm border border-black bg-[#1b1b18] px-5 py-1.5 text-sm leading-normal text-white hover:border-black hover:bg-black dark:border-[#eeeeec] dark:bg-[#eeeeec] dark:text-[#1C1C1A] dark:hover:border-white dark:hover:bg-white", - children: "Deploy now" - } - ) }) }) - ] }), - /* @__PURE__ */ jsxs("div", { className: "relative -mb-px aspect-[335/376] w-full shrink-0 overflow-hidden rounded-t-lg bg-[#fff2f2] lg:mb-0 lg:-ml-px lg:aspect-auto lg:w-[438px] lg:rounded-t-none lg:rounded-r-lg dark:bg-[#1D0002]", children: [ - /* @__PURE__ */ jsxs( - "svg", - { - className: "w-full max-w-none translate-y-0 text-[#F53003] opacity-100 transition-all duration-750 dark:text-[#F61500] starting:translate-y-6 starting:opacity-0", - viewBox: "0 0 438 104", - fill: "none", - xmlns: "http://www.w3.org/2000/svg", - children: [ - /* @__PURE__ */ jsx("path", { d: "M17.2036 -3H0V102.197H49.5189V86.7187H17.2036V-3Z", fill: "currentColor" }), - /* @__PURE__ */ jsx( - "path", - { - d: "M110.256 41.6337C108.061 38.1275 104.945 35.3731 100.905 33.3681C96.8667 31.3647 92.8016 30.3618 88.7131 30.3618C83.4247 30.3618 78.5885 31.3389 74.201 33.2923C69.8111 35.2456 66.0474 37.928 62.9059 41.3333C59.7643 44.7401 57.3198 48.6726 55.5754 53.1293C53.8287 57.589 52.9572 62.274 52.9572 67.1813C52.9572 72.1925 53.8287 76.8995 55.5754 81.3069C57.3191 85.7173 59.7636 89.6241 62.9059 93.0293C66.0474 96.4361 69.8119 99.1155 74.201 101.069C78.5885 103.022 83.4247 103.999 88.7131 103.999C92.8016 103.999 96.8667 102.997 100.905 100.994C104.945 98.9911 108.061 96.2359 110.256 92.7282V102.195H126.563V32.1642H110.256V41.6337ZM108.76 75.7472C107.762 78.4531 106.366 80.8078 104.572 82.8112C102.776 84.8161 100.606 86.4183 98.0637 87.6206C95.5202 88.823 92.7004 89.4238 89.6103 89.4238C86.5178 89.4238 83.7252 88.823 81.2324 87.6206C78.7388 86.4183 76.5949 84.8161 74.7998 82.8112C73.004 80.8078 71.6319 78.4531 70.6856 75.7472C69.7356 73.0421 69.2644 70.1868 69.2644 67.1821C69.2644 64.1758 69.7356 61.3205 70.6856 58.6154C71.6319 55.9102 73.004 53.5571 74.7998 51.5522C76.5949 49.5495 78.738 47.9451 81.2324 46.7427C83.7252 45.5404 86.5178 44.9396 89.6103 44.9396C92.7012 44.9396 95.5202 45.5404 98.0637 46.7427C100.606 47.9451 102.776 49.5487 104.572 51.5522C106.367 53.5571 107.762 55.9102 108.76 58.6154C109.756 61.3205 110.256 64.1758 110.256 67.1821C110.256 70.1868 109.756 73.0421 108.76 75.7472Z", - fill: "currentColor" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M242.805 41.6337C240.611 38.1275 237.494 35.3731 233.455 33.3681C229.416 31.3647 225.351 30.3618 221.262 30.3618C215.974 30.3618 211.138 31.3389 206.75 33.2923C202.36 35.2456 198.597 37.928 195.455 41.3333C192.314 44.7401 189.869 48.6726 188.125 53.1293C186.378 57.589 185.507 62.274 185.507 67.1813C185.507 72.1925 186.378 76.8995 188.125 81.3069C189.868 85.7173 192.313 89.6241 195.455 93.0293C198.597 96.4361 202.361 99.1155 206.75 101.069C211.138 103.022 215.974 103.999 221.262 103.999C225.351 103.999 229.416 102.997 233.455 100.994C237.494 98.9911 240.611 96.2359 242.805 92.7282V102.195H259.112V32.1642H242.805V41.6337ZM241.31 75.7472C240.312 78.4531 238.916 80.8078 237.122 82.8112C235.326 84.8161 233.156 86.4183 230.614 87.6206C228.07 88.823 225.251 89.4238 222.16 89.4238C219.068 89.4238 216.275 88.823 213.782 87.6206C211.289 86.4183 209.145 84.8161 207.35 82.8112C205.554 80.8078 204.182 78.4531 203.236 75.7472C202.286 73.0421 201.814 70.1868 201.814 67.1821C201.814 64.1758 202.286 61.3205 203.236 58.6154C204.182 55.9102 205.554 53.5571 207.35 51.5522C209.145 49.5495 211.288 47.9451 213.782 46.7427C216.275 45.5404 219.068 44.9396 222.16 44.9396C225.251 44.9396 228.07 45.5404 230.614 46.7427C233.156 47.9451 235.326 49.5487 237.122 51.5522C238.917 53.5571 240.312 55.9102 241.31 58.6154C242.306 61.3205 242.806 64.1758 242.806 67.1821C242.805 70.1868 242.305 73.0421 241.31 75.7472Z", - fill: "currentColor" - } - ), - /* @__PURE__ */ jsx("path", { d: "M438 -3H421.694V102.197H438V-3Z", fill: "currentColor" }), - /* @__PURE__ */ jsx("path", { d: "M139.43 102.197H155.735V48.2834H183.712V32.1665H139.43V102.197Z", fill: "currentColor" }), - /* @__PURE__ */ jsx( - "path", - { - d: "M324.49 32.1665L303.995 85.794L283.498 32.1665H266.983L293.748 102.197H314.242L341.006 32.1665H324.49Z", - fill: "currentColor" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M376.571 30.3656C356.603 30.3656 340.797 46.8497 340.797 67.1828C340.797 89.6597 356.094 104 378.661 104C391.29 104 399.354 99.1488 409.206 88.5848L398.189 80.0226C398.183 80.031 389.874 90.9895 377.468 90.9895C363.048 90.9895 356.977 79.3111 356.977 73.269H411.075C413.917 50.1328 398.775 30.3656 376.571 30.3656ZM357.02 61.0967C357.145 59.7487 359.023 43.3761 376.442 43.3761C393.861 43.3761 395.978 59.7464 396.099 61.0967H357.02Z", - fill: "currentColor" - } - ) - ] - } - ), - /* @__PURE__ */ jsxs( - "svg", - { - className: "relative -mt-[4.9rem] -ml-8 w-[448px] max-w-none lg:-mt-[6.6rem] lg:ml-0 dark:hidden", - viewBox: "0 0 440 376", - fill: "none", - xmlns: "http://www.w3.org/2000/svg", - children: [ - /* @__PURE__ */ jsxs("g", { className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", children: [ - /* @__PURE__ */ jsx( - "path", - { - d: "M188.263 355.73L188.595 355.73C195.441 348.845 205.766 339.761 219.569 328.477C232.93 317.193 242.978 308.205 249.714 301.511C256.34 294.626 260.867 287.358 263.296 279.708C265.725 272.058 264.565 264.121 259.816 255.896C254.516 246.716 247.062 239.352 237.454 233.805C227.957 228.067 217.908 225.198 207.307 225.198C196.927 225.197 190.136 227.97 186.934 233.516C183.621 238.872 184.726 246.331 190.247 255.894L125.647 255.891C116.371 239.825 112.395 225.481 113.72 212.858C115.265 200.235 121.559 190.481 132.602 183.596C143.754 176.52 158.607 172.982 177.159 172.983C196.594 172.984 215.863 176.523 234.968 183.6C253.961 190.486 271.299 200.241 286.98 212.864C302.661 225.488 315.14 239.833 324.416 255.899C333.03 270.817 336.841 283.918 335.847 295.203C335.075 306.487 331.376 316.336 324.75 324.751C318.346 333.167 308.408 343.494 294.936 355.734L377.094 355.737L405.917 405.656L217.087 405.649L188.263 355.73Z", - fill: "black" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M9.11884 226.339L-13.7396 226.338L-42.7286 176.132L43.0733 176.135L175.595 405.649L112.651 405.647L9.11884 226.339Z", - fill: "black" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M188.263 355.73L188.595 355.73C195.441 348.845 205.766 339.761 219.569 328.477C232.93 317.193 242.978 308.205 249.714 301.511C256.34 294.626 260.867 287.358 263.296 279.708C265.725 272.058 264.565 264.121 259.816 255.896C254.516 246.716 247.062 239.352 237.454 233.805C227.957 228.067 217.908 225.198 207.307 225.198C196.927 225.197 190.136 227.97 186.934 233.516C183.621 238.872 184.726 246.331 190.247 255.894L125.647 255.891C116.371 239.825 112.395 225.481 113.72 212.858C115.265 200.235 121.559 190.481 132.602 183.596C143.754 176.52 158.607 172.982 177.159 172.983C196.594 172.984 215.863 176.523 234.968 183.6C253.961 190.486 271.299 200.241 286.98 212.864C302.661 225.488 315.14 239.833 324.416 255.899C333.03 270.817 336.841 283.918 335.847 295.203C335.075 306.487 331.376 316.336 324.75 324.751C318.346 333.167 308.408 343.494 294.936 355.734L377.094 355.737L405.917 405.656L217.087 405.649L188.263 355.73Z", - stroke: "#1B1B18", - strokeWidth: 1 - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M9.11884 226.339L-13.7396 226.338L-42.7286 176.132L43.0733 176.135L175.595 405.649L112.651 405.647L9.11884 226.339Z", - stroke: "#1B1B18", - strokeWidth: 1 - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M204.592 327.449L204.923 327.449C211.769 320.564 222.094 311.479 235.897 300.196C249.258 288.912 259.306 279.923 266.042 273.23C272.668 266.345 277.195 259.077 279.624 251.427C282.053 243.777 280.893 235.839 276.145 227.615C270.844 218.435 263.39 211.071 253.782 205.524C244.285 199.786 234.236 196.917 223.635 196.916C213.255 196.916 206.464 199.689 203.262 205.235C199.949 210.59 201.054 218.049 206.575 227.612L141.975 227.61C132.699 211.544 128.723 197.2 130.048 184.577C131.593 171.954 137.887 162.2 148.93 155.315C160.083 148.239 174.935 144.701 193.487 144.702C212.922 144.703 232.192 148.242 251.296 155.319C270.289 162.205 287.627 171.96 303.308 184.583C318.989 197.207 331.468 211.552 340.745 227.618C349.358 242.536 353.169 255.637 352.175 266.921C351.403 278.205 347.704 288.055 341.078 296.47C334.674 304.885 324.736 315.213 311.264 327.453L393.422 327.456L422.246 377.375L233.415 377.368L204.592 327.449Z", - fill: "#F8B803" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M25.447 198.058L2.58852 198.057L-26.4005 147.851L59.4015 147.854L191.923 377.368L128.979 377.365L25.447 198.058Z", - fill: "#F8B803" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M204.592 327.449L204.923 327.449C211.769 320.564 222.094 311.479 235.897 300.196C249.258 288.912 259.306 279.923 266.042 273.23C272.668 266.345 277.195 259.077 279.624 251.427C282.053 243.777 280.893 235.839 276.145 227.615C270.844 218.435 263.39 211.071 253.782 205.524C244.285 199.786 234.236 196.917 223.635 196.916C213.255 196.916 206.464 199.689 203.262 205.235C199.949 210.59 201.054 218.049 206.575 227.612L141.975 227.61C132.699 211.544 128.723 197.2 130.048 184.577C131.593 171.954 137.887 162.2 148.93 155.315C160.083 148.239 174.935 144.701 193.487 144.702C212.922 144.703 232.192 148.242 251.296 155.319C270.289 162.205 287.627 171.96 303.308 184.583C318.989 197.207 331.468 211.552 340.745 227.618C349.358 242.536 353.169 255.637 352.175 266.921C351.403 278.205 347.704 288.055 341.078 296.47C334.674 304.885 324.736 315.213 311.264 327.453L393.422 327.456L422.246 377.375L233.415 377.368L204.592 327.449Z", - stroke: "#1B1B18", - strokeWidth: 1 - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M25.447 198.058L2.58852 198.057L-26.4005 147.851L59.4015 147.854L191.923 377.368L128.979 377.365L25.447 198.058Z", - stroke: "#1B1B18", - strokeWidth: 1 - } - ) - ] }), - /* @__PURE__ */ jsxs( - "g", - { - style: { mixBlendMode: "hard-light" }, - className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", - children: [ - /* @__PURE__ */ jsx( - "path", - { - d: "M217.342 305.363L217.673 305.363C224.519 298.478 234.844 289.393 248.647 278.11C262.008 266.826 272.056 257.837 278.792 251.144C285.418 244.259 289.945 236.991 292.374 229.341C294.803 221.691 293.643 213.753 288.895 205.529C283.594 196.349 276.14 188.985 266.532 183.438C257.035 177.7 246.986 174.831 236.385 174.83C226.005 174.83 219.214 177.603 216.012 183.149C212.699 188.504 213.804 195.963 219.325 205.527L154.725 205.524C145.449 189.458 141.473 175.114 142.798 162.491C144.343 149.868 150.637 140.114 161.68 133.229C172.833 126.153 187.685 122.615 206.237 122.616C225.672 122.617 244.942 126.156 264.046 133.233C283.039 140.119 300.377 149.874 316.058 162.497C331.739 175.121 344.218 189.466 353.495 205.532C362.108 220.45 365.919 233.551 364.925 244.835C364.153 256.12 360.454 265.969 353.828 274.384C347.424 282.799 337.486 293.127 324.014 305.367L406.172 305.37L434.996 355.289L246.165 355.282L217.342 305.363Z", - fill: "#F0ACB8" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M38.197 175.972L15.3385 175.971L-13.6505 125.765L72.1515 125.768L204.673 355.282L141.729 355.279L38.197 175.972Z", - fill: "#F0ACB8" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M217.342 305.363L217.673 305.363C224.519 298.478 234.844 289.393 248.647 278.11C262.008 266.826 272.056 257.837 278.792 251.144C285.418 244.259 289.945 236.991 292.374 229.341C294.803 221.691 293.643 213.753 288.895 205.529C283.594 196.349 276.14 188.985 266.532 183.438C257.035 177.7 246.986 174.831 236.385 174.83C226.005 174.83 219.214 177.603 216.012 183.149C212.699 188.504 213.804 195.963 219.325 205.527L154.725 205.524C145.449 189.458 141.473 175.114 142.798 162.491C144.343 149.868 150.637 140.114 161.68 133.229C172.833 126.153 187.685 122.615 206.237 122.616C225.672 122.617 244.942 126.156 264.046 133.233C283.039 140.119 300.377 149.874 316.058 162.497C331.739 175.121 344.218 189.466 353.495 205.532C362.108 220.45 365.919 233.551 364.925 244.835C364.153 256.12 360.454 265.969 353.828 274.384C347.424 282.799 337.486 293.127 324.014 305.367L406.172 305.37L434.996 355.289L246.165 355.282L217.342 305.363Z", - stroke: "#1B1B18", - strokeWidth: 1 - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M38.197 175.972L15.3385 175.971L-13.6505 125.765L72.1515 125.768L204.673 355.282L141.729 355.279L38.197 175.972Z", - stroke: "#1B1B18", - strokeWidth: 1 - } - ) - ] - } - ), - /* @__PURE__ */ jsxs( - "g", - { - style: { mixBlendMode: "plus-darker" }, - className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", - children: [ - /* @__PURE__ */ jsx( - "path", - { - d: "M230.951 281.792L231.282 281.793C238.128 274.907 248.453 265.823 262.256 254.539C275.617 243.256 285.666 234.267 292.402 227.573C299.027 220.688 303.554 213.421 305.983 205.771C308.412 198.12 307.253 190.183 302.504 181.959C297.203 172.778 289.749 165.415 280.142 159.868C270.645 154.13 260.596 151.26 249.995 151.26C239.615 151.26 232.823 154.033 229.621 159.579C226.309 164.934 227.413 172.393 232.935 181.956L168.335 181.954C159.058 165.888 155.082 151.543 156.407 138.92C157.953 126.298 164.247 116.544 175.289 109.659C186.442 102.583 201.294 99.045 219.846 99.0457C239.281 99.0464 258.551 102.585 277.655 109.663C296.649 116.549 313.986 126.303 329.667 138.927C345.349 151.551 357.827 165.895 367.104 181.961C375.718 196.88 379.528 209.981 378.535 221.265C377.762 232.549 374.063 242.399 367.438 250.814C361.033 259.229 351.095 269.557 337.624 281.796L419.782 281.8L448.605 331.719L259.774 331.712L230.951 281.792Z", - fill: "#F3BEC7" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M51.8063 152.402L28.9479 152.401L-0.0411453 102.195L85.7608 102.198L218.282 331.711L155.339 331.709L51.8063 152.402Z", - fill: "#F3BEC7" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M230.951 281.792L231.282 281.793C238.128 274.907 248.453 265.823 262.256 254.539C275.617 243.256 285.666 234.267 292.402 227.573C299.027 220.688 303.554 213.421 305.983 205.771C308.412 198.12 307.253 190.183 302.504 181.959C297.203 172.778 289.749 165.415 280.142 159.868C270.645 154.13 260.596 151.26 249.995 151.26C239.615 151.26 232.823 154.033 229.621 159.579C226.309 164.934 227.413 172.393 232.935 181.956L168.335 181.954C159.058 165.888 155.082 151.543 156.407 138.92C157.953 126.298 164.247 116.544 175.289 109.659C186.442 102.583 201.294 99.045 219.846 99.0457C239.281 99.0464 258.551 102.585 277.655 109.663C296.649 116.549 313.986 126.303 329.667 138.927C345.349 151.551 357.827 165.895 367.104 181.961C375.718 196.88 379.528 209.981 378.535 221.265C377.762 232.549 374.063 242.399 367.438 250.814C361.033 259.229 351.095 269.557 337.624 281.796L419.782 281.8L448.605 331.719L259.774 331.712L230.951 281.792Z", - stroke: "#1B1B18", - strokeWidth: 1 - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M51.8063 152.402L28.9479 152.401L-0.0411453 102.195L85.7608 102.198L218.282 331.711L155.339 331.709L51.8063 152.402Z", - stroke: "#1B1B18", - strokeWidth: 1 - } - ) - ] - } - ), - /* @__PURE__ */ jsxs("g", { className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", children: [ - /* @__PURE__ */ jsx( - "path", - { - d: "M188.467 355.363L188.798 355.363C195.644 348.478 205.969 339.393 219.772 328.11C233.133 316.826 243.181 307.837 249.917 301.144C253.696 297.217 256.792 293.166 259.205 288.991C261.024 285.845 262.455 282.628 263.499 279.341C265.928 271.691 264.768 263.753 260.02 255.529C254.719 246.349 247.265 238.985 237.657 233.438C228.16 227.7 218.111 224.831 207.51 224.83C197.13 224.83 190.339 227.603 187.137 233.149C183.824 238.504 184.929 245.963 190.45 255.527L125.851 255.524C116.574 239.458 112.598 225.114 113.923 212.491C114.615 206.836 116.261 201.756 118.859 197.253C122.061 191.704 126.709 187.03 132.805 183.229C143.958 176.153 158.81 172.615 177.362 172.616C196.797 172.617 216.067 176.156 235.171 183.233C254.164 190.119 271.502 199.874 287.183 212.497C302.864 225.121 315.343 239.466 324.62 255.532C333.233 270.45 337.044 283.551 336.05 294.835C335.46 303.459 333.16 311.245 329.151 318.194C327.915 320.337 326.515 322.4 324.953 324.384C318.549 332.799 308.611 343.127 295.139 355.367L377.297 355.37L406.121 405.289L217.29 405.282L188.467 355.363Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M9.32197 225.972L-13.5365 225.971L-42.5255 175.765L43.2765 175.768L175.798 405.282L112.854 405.279L9.32197 225.972Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M345.247 111.915C329.566 99.2919 312.229 89.5371 293.235 82.6512L235.167 183.228C254.161 190.114 271.498 199.869 287.179 212.492L345.247 111.915Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M382.686 154.964C373.41 138.898 360.931 124.553 345.25 111.93L287.182 212.506C302.863 225.13 315.342 239.475 324.618 255.541L382.686 154.964Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M293.243 82.6472C274.139 75.57 254.869 72.031 235.434 72.0303L177.366 172.607C196.801 172.608 216.071 176.147 235.175 183.224L293.243 82.6472Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M394.118 194.257C395.112 182.973 391.301 169.872 382.688 154.953L324.619 255.53C333.233 270.448 337.044 283.55 336.05 294.834L394.118 194.257Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M235.432 72.0311C216.88 72.0304 202.027 75.5681 190.875 82.6442L132.806 183.221C143.959 176.145 158.812 172.607 177.363 172.608L235.432 72.0311Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M265.59 124.25C276.191 124.251 286.24 127.12 295.737 132.858L237.669 233.435C228.172 227.697 218.123 224.828 207.522 224.827L265.59 124.25Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M295.719 132.859C305.326 138.406 312.78 145.77 318.081 154.95L260.013 255.527C254.712 246.347 247.258 238.983 237.651 233.436L295.719 132.859Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M387.218 217.608C391.227 210.66 393.527 202.874 394.117 194.25L336.049 294.827C335.459 303.451 333.159 311.237 329.15 318.185L387.218 217.608Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M245.211 132.577C248.413 127.03 255.204 124.257 265.584 124.258L207.516 224.835C197.136 224.834 190.345 227.607 187.143 233.154L245.211 132.577Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M318.094 154.945C322.842 163.17 324.002 171.107 321.573 178.757L263.505 279.334C265.934 271.684 264.774 263.746 260.026 255.522L318.094 154.945Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M176.925 96.6737C180.127 91.1249 184.776 86.4503 190.871 82.6499L132.803 183.227C126.708 187.027 122.059 191.702 118.857 197.25L176.925 96.6737Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M387.226 217.606C385.989 219.749 384.59 221.813 383.028 223.797L324.96 324.373C326.522 322.39 327.921 320.326 329.157 318.183L387.226 217.606Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M317.269 188.408C319.087 185.262 320.519 182.045 321.562 178.758L263.494 279.335C262.451 282.622 261.019 285.839 259.201 288.985L317.269 188.408Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M245.208 132.573C241.895 137.928 243 145.387 248.522 154.95L190.454 255.527C184.932 245.964 183.827 238.505 187.14 233.15L245.208 132.573Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M176.93 96.6719C174.331 101.175 172.686 106.255 171.993 111.91L113.925 212.487C114.618 206.831 116.263 201.752 118.862 197.249L176.93 96.6719Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M317.266 188.413C314.853 192.589 311.757 196.64 307.978 200.566L249.91 301.143C253.689 297.216 256.785 293.166 259.198 288.99L317.266 188.413Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M464.198 304.708L435.375 254.789L377.307 355.366L406.13 405.285L464.198 304.708Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M353.209 254.787C366.68 242.548 376.618 232.22 383.023 223.805L324.955 324.382C318.55 332.797 308.612 343.124 295.141 355.364L353.209 254.787Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M435.37 254.787L353.212 254.784L295.144 355.361L377.302 355.364L435.37 254.787Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M183.921 154.947L248.521 154.95L190.453 255.527L125.853 255.524L183.921 154.947Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M171.992 111.914C170.668 124.537 174.643 138.881 183.92 154.947L125.852 255.524C116.575 239.458 112.599 225.114 113.924 212.491L171.992 111.914Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M307.987 200.562C301.251 207.256 291.203 216.244 277.842 227.528L219.774 328.105C233.135 316.821 243.183 307.832 249.919 301.139L307.987 200.562Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M15.5469 75.1797L44.5359 125.386L-13.5321 225.963L-42.5212 175.756L15.5469 75.1797Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M277.836 227.536C264.033 238.82 253.708 247.904 246.862 254.789L188.794 355.366C195.64 348.481 205.965 339.397 219.768 328.113L277.836 227.536Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M275.358 304.706L464.189 304.713L406.12 405.29L217.29 405.283L275.358 304.706Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M44.5279 125.39L67.3864 125.39L9.31834 225.967L-13.5401 225.966L44.5279 125.39Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M101.341 75.1911L233.863 304.705L175.795 405.282L43.2733 175.768L101.341 75.1911ZM15.5431 75.19L-42.525 175.767L43.277 175.77L101.345 75.1932L15.5431 75.19Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M246.866 254.784L246.534 254.784L188.466 355.361L188.798 355.361L246.866 254.784Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M246.539 254.781L275.362 304.701L217.294 405.277L188.471 355.358L246.539 254.781Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M67.3906 125.391L170.923 304.698L112.855 405.275L9.32257 225.967L67.3906 125.391Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M170.921 304.699L233.865 304.701L175.797 405.278L112.853 405.276L170.921 304.699Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ) - ] }), - /* @__PURE__ */ jsxs( - "g", - { - style: { mixBlendMode: "hard-light" }, - className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", - children: [ - /* @__PURE__ */ jsx( - "path", - { - d: "M246.544 254.79L246.875 254.79C253.722 247.905 264.046 238.82 277.849 227.537C291.21 216.253 301.259 207.264 307.995 200.57C314.62 193.685 319.147 186.418 321.577 178.768C324.006 171.117 322.846 163.18 318.097 154.956C312.796 145.775 305.342 138.412 295.735 132.865C286.238 127.127 276.189 124.258 265.588 124.257C255.208 124.257 248.416 127.03 245.214 132.576C241.902 137.931 243.006 145.39 248.528 154.953L183.928 154.951C174.652 138.885 170.676 124.541 172 111.918C173.546 99.2946 179.84 89.5408 190.882 82.6559C202.035 75.5798 216.887 72.0421 235.439 72.0428C254.874 72.0435 274.144 75.5825 293.248 82.6598C312.242 89.5457 329.579 99.3005 345.261 111.924C360.942 124.548 373.421 138.892 382.697 154.958C391.311 169.877 395.121 182.978 394.128 194.262C393.355 205.546 389.656 215.396 383.031 223.811C376.627 232.226 366.688 242.554 353.217 254.794L435.375 254.797L464.198 304.716L275.367 304.709L246.544 254.79Z", - fill: "#F0ACB8" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M246.544 254.79L246.875 254.79C253.722 247.905 264.046 238.82 277.849 227.537C291.21 216.253 301.259 207.264 307.995 200.57C314.62 193.685 319.147 186.418 321.577 178.768C324.006 171.117 322.846 163.18 318.097 154.956C312.796 145.775 305.342 138.412 295.735 132.865C286.238 127.127 276.189 124.258 265.588 124.257C255.208 124.257 248.416 127.03 245.214 132.576C241.902 137.931 243.006 145.39 248.528 154.953L183.928 154.951C174.652 138.885 170.676 124.541 172 111.918C173.546 99.2946 179.84 89.5408 190.882 82.6559C202.035 75.5798 216.887 72.0421 235.439 72.0428C254.874 72.0435 274.144 75.5825 293.248 82.6598C312.242 89.5457 329.579 99.3005 345.261 111.924C360.942 124.548 373.421 138.892 382.697 154.958C391.311 169.877 395.121 182.978 394.128 194.262C393.355 205.546 389.656 215.396 383.031 223.811C376.627 232.226 366.688 242.554 353.217 254.794L435.375 254.797L464.198 304.716L275.367 304.709L246.544 254.79Z", - stroke: "#1B1B18", - strokeWidth: 1, - strokeLinejoin: "round" - } - ) - ] - } - ), - /* @__PURE__ */ jsxs( - "g", - { - style: { mixBlendMode: "hard-light" }, - className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", - children: [ - /* @__PURE__ */ jsx( - "path", - { - d: "M67.41 125.402L44.5515 125.401L15.5625 75.1953L101.364 75.1985L233.886 304.712L170.942 304.71L67.41 125.402Z", - fill: "#F0ACB8" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M67.41 125.402L44.5515 125.401L15.5625 75.1953L101.364 75.1985L233.886 304.712L170.942 304.71L67.41 125.402Z", - stroke: "#1B1B18", - strokeWidth: 1 - } - ) - ] - } - ) - ] - } - ), - /* @__PURE__ */ jsxs( - "svg", - { - className: "relative -mt-[4.9rem] -ml-8 hidden w-[448px] max-w-none lg:-mt-[6.6rem] lg:ml-0 dark:block", - viewBox: "0 0 440 376", - fill: "none", - xmlns: "http://www.w3.org/2000/svg", - children: [ - /* @__PURE__ */ jsxs("g", { className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", children: [ - /* @__PURE__ */ jsx( - "path", - { - d: "M188.263 355.73L188.595 355.73C195.441 348.845 205.766 339.761 219.569 328.477C232.93 317.193 242.978 308.205 249.714 301.511C256.34 294.626 260.867 287.358 263.296 279.708C265.725 272.058 264.565 264.121 259.816 255.896C254.516 246.716 247.062 239.352 237.454 233.805C227.957 228.067 217.908 225.198 207.307 225.198C196.927 225.197 190.136 227.97 186.934 233.516C183.621 238.872 184.726 246.331 190.247 255.894L125.647 255.891C116.371 239.825 112.395 225.481 113.72 212.858C115.265 200.235 121.559 190.481 132.602 183.596C143.754 176.52 158.607 172.982 177.159 172.983C196.594 172.984 215.863 176.523 234.968 183.6C253.961 190.486 271.299 200.241 286.98 212.864C302.661 225.488 315.14 239.833 324.416 255.899C333.03 270.817 336.841 283.918 335.847 295.203C335.075 306.487 331.376 316.336 324.75 324.751C318.346 333.167 308.408 343.494 294.936 355.734L377.094 355.737L405.917 405.656L217.087 405.649L188.263 355.73Z", - fill: "black" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M9.11884 226.339L-13.7396 226.338L-42.7286 176.132L43.0733 176.135L175.595 405.649L112.651 405.647L9.11884 226.339Z", - fill: "black" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M188.263 355.73L188.595 355.73C195.441 348.845 205.766 339.761 219.569 328.477C232.93 317.193 242.978 308.205 249.714 301.511C256.34 294.626 260.867 287.358 263.296 279.708C265.725 272.058 264.565 264.121 259.816 255.896C254.516 246.716 247.062 239.352 237.454 233.805C227.957 228.067 217.908 225.198 207.307 225.198C196.927 225.197 190.136 227.97 186.934 233.516C183.621 238.872 184.726 246.331 190.247 255.894L125.647 255.891C116.371 239.825 112.395 225.481 113.72 212.858C115.265 200.235 121.559 190.481 132.602 183.596C143.754 176.52 158.607 172.982 177.159 172.983C196.594 172.984 215.863 176.523 234.968 183.6C253.961 190.486 271.299 200.241 286.98 212.864C302.661 225.488 315.14 239.833 324.416 255.899C333.03 270.817 336.841 283.918 335.847 295.203C335.075 306.487 331.376 316.336 324.75 324.751C318.346 333.167 308.408 343.494 294.936 355.734L377.094 355.737L405.917 405.656L217.087 405.649L188.263 355.73Z", - stroke: "#FF750F", - strokeWidth: 1 - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M9.11884 226.339L-13.7396 226.338L-42.7286 176.132L43.0733 176.135L175.595 405.649L112.651 405.647L9.11884 226.339Z", - stroke: "#FF750F", - strokeWidth: 1 - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M204.592 327.449L204.923 327.449C211.769 320.564 222.094 311.479 235.897 300.196C249.258 288.912 259.306 279.923 266.042 273.23C272.668 266.345 277.195 259.077 279.624 251.427C282.053 243.777 280.893 235.839 276.145 227.615C270.844 218.435 263.39 211.071 253.782 205.524C244.285 199.786 234.236 196.917 223.635 196.916C213.255 196.916 206.464 199.689 203.262 205.235C199.949 210.59 201.054 218.049 206.575 227.612L141.975 227.61C132.699 211.544 128.723 197.2 130.048 184.577C131.593 171.954 137.887 162.2 148.93 155.315C160.083 148.239 174.935 144.701 193.487 144.702C212.922 144.703 232.192 148.242 251.296 155.319C270.289 162.205 287.627 171.96 303.308 184.583C318.989 197.207 331.468 211.552 340.745 227.618C349.358 242.536 353.169 255.637 352.175 266.921C351.403 278.205 347.704 288.055 341.078 296.47C334.674 304.885 324.736 315.213 311.264 327.453L393.422 327.456L422.246 377.375L233.415 377.368L204.592 327.449Z", - fill: "#391800" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M25.447 198.058L2.58852 198.057L-26.4005 147.851L59.4015 147.854L191.923 377.368L128.979 377.365L25.447 198.058Z", - fill: "#391800" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M204.592 327.449L204.923 327.449C211.769 320.564 222.094 311.479 235.897 300.196C249.258 288.912 259.306 279.923 266.042 273.23C272.668 266.345 277.195 259.077 279.624 251.427C282.053 243.777 280.893 235.839 276.145 227.615C270.844 218.435 263.39 211.071 253.782 205.524C244.285 199.786 234.236 196.917 223.635 196.916C213.255 196.916 206.464 199.689 203.262 205.235C199.949 210.59 201.054 218.049 206.575 227.612L141.975 227.61C132.699 211.544 128.723 197.2 130.048 184.577C131.593 171.954 137.887 162.2 148.93 155.315C160.083 148.239 174.935 144.701 193.487 144.702C212.922 144.703 232.192 148.242 251.296 155.319C270.289 162.205 287.627 171.96 303.308 184.583C318.989 197.207 331.468 211.552 340.745 227.618C349.358 242.536 353.169 255.637 352.175 266.921C351.403 278.205 347.704 288.055 341.078 296.47C334.674 304.885 324.736 315.213 311.264 327.453L393.422 327.456L422.246 377.375L233.415 377.368L204.592 327.449Z", - stroke: "#FF750F", - strokeWidth: 1 - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M25.447 198.058L2.58852 198.057L-26.4005 147.851L59.4015 147.854L191.923 377.368L128.979 377.365L25.447 198.058Z", - stroke: "#FF750F", - strokeWidth: 1 - } - ) - ] }), - /* @__PURE__ */ jsxs( - "g", - { - className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", - style: { mixBlendMode: "hard-light" }, - children: [ - /* @__PURE__ */ jsx( - "path", - { - d: "M217.342 305.363L217.673 305.363C224.519 298.478 234.844 289.393 248.647 278.11C262.008 266.826 272.056 257.837 278.792 251.144C285.418 244.259 289.945 236.991 292.374 229.341C294.803 221.691 293.643 213.753 288.895 205.529C283.594 196.349 276.14 188.985 266.532 183.438C257.035 177.7 246.986 174.831 236.385 174.83C226.005 174.83 219.214 177.603 216.012 183.149C212.699 188.504 213.804 195.963 219.325 205.527L154.725 205.524C145.449 189.458 141.473 175.114 142.798 162.491C144.343 149.868 150.637 140.114 161.68 133.229C172.833 126.153 187.685 122.615 206.237 122.616C225.672 122.617 244.942 126.156 264.046 133.233C283.039 140.119 300.377 149.874 316.058 162.497C331.739 175.121 344.218 189.466 353.495 205.532C362.108 220.45 365.919 233.551 364.925 244.835C364.153 256.12 360.454 265.969 353.828 274.384C347.424 282.799 337.486 293.127 324.014 305.367L406.172 305.37L434.996 355.289L246.165 355.282L217.342 305.363Z", - fill: "#733000" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M38.197 175.972L15.3385 175.971L-13.6505 125.765L72.1515 125.768L204.673 355.282L141.729 355.279L38.197 175.972Z", - fill: "#733000" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M217.342 305.363L217.673 305.363C224.519 298.478 234.844 289.393 248.647 278.11C262.008 266.826 272.056 257.837 278.792 251.144C285.418 244.259 289.945 236.991 292.374 229.341C294.803 221.691 293.643 213.753 288.895 205.529C283.594 196.349 276.14 188.985 266.532 183.438C257.035 177.7 246.986 174.831 236.385 174.83C226.005 174.83 219.214 177.603 216.012 183.149C212.699 188.504 213.804 195.963 219.325 205.527L154.725 205.524C145.449 189.458 141.473 175.114 142.798 162.491C144.343 149.868 150.637 140.114 161.68 133.229C172.833 126.153 187.685 122.615 206.237 122.616C225.672 122.617 244.942 126.156 264.046 133.233C283.039 140.119 300.377 149.874 316.058 162.497C331.739 175.121 344.218 189.466 353.495 205.532C362.108 220.45 365.919 233.551 364.925 244.835C364.153 256.12 360.454 265.969 353.828 274.384C347.424 282.799 337.486 293.127 324.014 305.367L406.172 305.37L434.996 355.289L246.165 355.282L217.342 305.363Z", - stroke: "#FF750F", - strokeWidth: 1 - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M38.197 175.972L15.3385 175.971L-13.6505 125.765L72.1515 125.768L204.673 355.282L141.729 355.279L38.197 175.972Z", - stroke: "#FF750F", - strokeWidth: 1 - } - ) - ] - } - ), - /* @__PURE__ */ jsxs("g", { className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", children: [ - /* @__PURE__ */ jsx( - "path", - { - d: "M217.342 305.363L217.673 305.363C224.519 298.478 234.844 289.393 248.647 278.11C262.008 266.826 272.056 257.837 278.792 251.144C285.418 244.259 289.945 236.991 292.374 229.341C294.803 221.691 293.643 213.753 288.895 205.529C283.594 196.349 276.14 188.985 266.532 183.438C257.035 177.7 246.986 174.831 236.385 174.83C226.005 174.83 219.214 177.603 216.012 183.149C212.699 188.504 213.804 195.963 219.325 205.527L154.726 205.524C145.449 189.458 141.473 175.114 142.798 162.491C144.343 149.868 150.637 140.114 161.68 133.229C172.833 126.153 187.685 122.615 206.237 122.616C225.672 122.617 244.942 126.156 264.046 133.233C283.039 140.119 300.377 149.874 316.058 162.497C331.739 175.121 344.218 189.466 353.495 205.532C362.108 220.45 365.919 233.551 364.925 244.835C364.153 256.12 360.454 265.969 353.828 274.384C347.424 282.799 337.486 293.127 324.014 305.367L406.172 305.37L434.996 355.289L246.165 355.282L217.342 305.363Z", - stroke: "#FF750F", - strokeWidth: 1 - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M38.197 175.972L15.3385 175.971L-13.6505 125.765L72.1515 125.768L204.673 355.282L141.729 355.279L38.197 175.972Z", - stroke: "#FF750F", - strokeWidth: 1 - } - ) - ] }), - /* @__PURE__ */ jsxs("g", { className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", children: [ - /* @__PURE__ */ jsx( - "path", - { - d: "M188.467 355.363L188.798 355.363C195.644 348.478 205.969 339.393 219.772 328.11C233.133 316.826 243.181 307.837 249.917 301.144C253.696 297.217 256.792 293.166 259.205 288.991C261.024 285.845 262.455 282.628 263.499 279.341C265.928 271.691 264.768 263.753 260.02 255.529C254.719 246.349 247.265 238.985 237.657 233.438C228.16 227.7 218.111 224.831 207.51 224.83C197.13 224.83 190.339 227.603 187.137 233.149C183.824 238.504 184.929 245.963 190.45 255.527L125.851 255.524C116.574 239.458 112.598 225.114 113.923 212.491C114.615 206.836 116.261 201.756 118.859 197.253C122.061 191.704 126.709 187.03 132.805 183.229C143.958 176.153 158.81 172.615 177.362 172.616C196.797 172.617 216.067 176.156 235.171 183.233C254.164 190.119 271.502 199.874 287.183 212.497C302.864 225.121 315.343 239.466 324.62 255.532C333.233 270.45 337.044 283.551 336.05 294.835C335.46 303.459 333.16 311.245 329.151 318.194C327.915 320.337 326.515 322.4 324.953 324.384C318.549 332.799 308.611 343.127 295.139 355.367L377.297 355.37L406.121 405.289L217.29 405.282L188.467 355.363Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M9.32197 225.972L-13.5365 225.971L-42.5255 175.765L43.2765 175.768L175.798 405.282L112.854 405.279L9.32197 225.972Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M345.247 111.915C329.566 99.2919 312.229 89.5371 293.235 82.6512L235.167 183.228C254.161 190.114 271.498 199.869 287.179 212.492L345.247 111.915Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M382.686 154.964C373.41 138.898 360.931 124.553 345.25 111.93L287.182 212.506C302.863 225.13 315.342 239.475 324.618 255.541L382.686 154.964Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M293.243 82.6472C274.139 75.57 254.869 72.031 235.434 72.0303L177.366 172.607C196.801 172.608 216.071 176.147 235.175 183.224L293.243 82.6472Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M394.118 194.257C395.112 182.973 391.301 169.872 382.688 154.953L324.619 255.53C333.233 270.448 337.044 283.55 336.05 294.834L394.118 194.257Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M235.432 72.0311C216.88 72.0304 202.027 75.5681 190.875 82.6442L132.806 183.221C143.959 176.145 158.812 172.607 177.363 172.608L235.432 72.0311Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M265.59 124.25C276.191 124.251 286.24 127.12 295.737 132.858L237.669 233.435C228.172 227.697 218.123 224.828 207.522 224.827L265.59 124.25Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M295.719 132.859C305.326 138.406 312.78 145.77 318.081 154.95L260.013 255.527C254.712 246.347 247.258 238.983 237.651 233.436L295.719 132.859Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M387.218 217.608C391.227 210.66 393.527 202.874 394.117 194.25L336.049 294.827C335.459 303.451 333.159 311.237 329.15 318.185L387.218 217.608Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M245.211 132.577C248.413 127.03 255.204 124.257 265.584 124.258L207.516 224.835C197.136 224.834 190.345 227.607 187.143 233.154L245.211 132.577Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M318.094 154.945C322.842 163.17 324.002 171.107 321.573 178.757L263.505 279.334C265.934 271.684 264.774 263.746 260.026 255.522L318.094 154.945Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M176.925 96.6737C180.127 91.1249 184.776 86.4503 190.871 82.6499L132.803 183.227C126.708 187.027 122.059 191.702 118.857 197.25L176.925 96.6737Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M387.226 217.606C385.989 219.749 384.59 221.813 383.028 223.797L324.96 324.373C326.522 322.39 327.921 320.326 329.157 318.183L387.226 217.606Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M317.269 188.408C319.087 185.262 320.519 182.045 321.562 178.758L263.494 279.335C262.451 282.622 261.019 285.839 259.201 288.985L317.269 188.408Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M245.208 132.573C241.895 137.928 243 145.387 248.522 154.95L190.454 255.527C184.932 245.964 183.827 238.505 187.14 233.15L245.208 132.573Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M176.93 96.6719C174.331 101.175 172.686 106.255 171.993 111.91L113.925 212.487C114.618 206.831 116.263 201.752 118.862 197.249L176.93 96.6719Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M317.266 188.413C314.853 192.589 311.757 196.64 307.978 200.566L249.91 301.143C253.689 297.216 256.785 293.166 259.198 288.99L317.266 188.413Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M464.198 304.708L435.375 254.789L377.307 355.366L406.13 405.285L464.198 304.708Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M353.209 254.787C366.68 242.548 376.618 232.22 383.023 223.805L324.955 324.382C318.55 332.797 308.612 343.124 295.141 355.364L353.209 254.787Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M435.37 254.787L353.212 254.784L295.144 355.361L377.302 355.364L435.37 254.787Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M183.921 154.947L248.521 154.95L190.453 255.527L125.853 255.524L183.921 154.947Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M171.992 111.914C170.668 124.537 174.643 138.881 183.92 154.947L125.852 255.524C116.575 239.458 112.599 225.114 113.924 212.491L171.992 111.914Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M307.987 200.562C301.251 207.256 291.203 216.244 277.842 227.528L219.774 328.105C233.135 316.821 243.183 307.832 249.919 301.139L307.987 200.562Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M15.5469 75.1797L44.5359 125.386L-13.5321 225.963L-42.5212 175.756L15.5469 75.1797Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M277.836 227.536C264.033 238.82 253.708 247.904 246.862 254.789L188.794 355.366C195.64 348.481 205.965 339.397 219.768 328.113L277.836 227.536Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M275.358 304.706L464.189 304.713L406.12 405.29L217.29 405.283L275.358 304.706Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M44.5279 125.39L67.3864 125.39L9.31834 225.967L-13.5401 225.966L44.5279 125.39Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M101.341 75.1911L233.863 304.705L175.795 405.282L43.2733 175.768L101.341 75.1911ZM15.5431 75.19L-42.525 175.767L43.277 175.77L101.345 75.1932L15.5431 75.19Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M246.866 254.784L246.534 254.784L188.466 355.361L188.798 355.361L246.866 254.784Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M246.539 254.781L275.362 304.701L217.294 405.277L188.471 355.358L246.539 254.781Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M67.3906 125.391L170.923 304.698L112.855 405.275L9.32257 225.967L67.3906 125.391Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M170.921 304.699L233.865 304.701L175.797 405.278L112.853 405.276L170.921 304.699Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "bevel" - } - ) - ] }), - /* @__PURE__ */ jsxs( - "g", - { - className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", - style: { mixBlendMode: "hard-light" }, - children: [ - /* @__PURE__ */ jsx( - "path", - { - d: "M246.544 254.79L246.875 254.79C253.722 247.905 264.046 238.82 277.849 227.537C291.21 216.253 301.259 207.264 307.995 200.57C314.62 193.685 319.147 186.418 321.577 178.768C324.006 171.117 322.846 163.18 318.097 154.956C312.796 145.775 305.342 138.412 295.735 132.865C286.238 127.127 276.189 124.258 265.588 124.257C255.208 124.257 248.416 127.03 245.214 132.576C241.902 137.931 243.006 145.39 248.528 154.953L183.928 154.951C174.652 138.885 170.676 124.541 172 111.918C173.546 99.2946 179.84 89.5408 190.882 82.6559C202.035 75.5798 216.887 72.0421 235.439 72.0428C254.874 72.0435 274.144 75.5825 293.248 82.6598C312.242 89.5457 329.579 99.3005 345.261 111.924C360.942 124.548 373.421 138.892 382.697 154.958C391.311 169.877 395.121 182.978 394.128 194.262C393.355 205.546 389.656 215.396 383.031 223.811C376.627 232.226 366.688 242.554 353.217 254.794L435.375 254.797L464.198 304.716L275.367 304.709L246.544 254.79Z", - fill: "#4B0600" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M246.544 254.79L246.875 254.79C253.722 247.905 264.046 238.82 277.849 227.537C291.21 216.253 301.259 207.264 307.995 200.57C314.62 193.685 319.147 186.418 321.577 178.768C324.006 171.117 322.846 163.18 318.097 154.956C312.796 145.775 305.342 138.412 295.735 132.865C286.238 127.127 276.189 124.258 265.588 124.257C255.208 124.257 248.416 127.03 245.214 132.576C241.902 137.931 243.006 145.39 248.528 154.953L183.928 154.951C174.652 138.885 170.676 124.541 172 111.918C173.546 99.2946 179.84 89.5408 190.882 82.6559C202.035 75.5798 216.887 72.0421 235.439 72.0428C254.874 72.0435 274.144 75.5825 293.248 82.6598C312.242 89.5457 329.579 99.3005 345.261 111.924C360.942 124.548 373.421 138.892 382.697 154.958C391.311 169.877 395.121 182.978 394.128 194.262C393.355 205.546 389.656 215.396 383.031 223.811C376.627 232.226 366.688 242.554 353.217 254.794L435.375 254.797L464.198 304.716L275.367 304.709L246.544 254.79Z", - stroke: "#FF750F", - strokeWidth: 1, - strokeLinejoin: "round" - } - ) - ] - } - ), - /* @__PURE__ */ jsxs( - "g", - { - className: "translate-y-0 opacity-100 transition-all delay-300 duration-750 starting:translate-y-4 starting:opacity-0", - style: { mixBlendMode: "hard-light" }, - children: [ - /* @__PURE__ */ jsx( - "path", - { - d: "M67.41 125.402L44.5515 125.401L15.5625 75.1953L101.364 75.1985L233.886 304.712L170.942 304.71L67.41 125.402Z", - fill: "#4B0600" - } - ), - /* @__PURE__ */ jsx( - "path", - { - d: "M67.41 125.402L44.5515 125.401L15.5625 75.1953L101.364 75.1985L233.886 304.712L170.942 304.71L67.41 125.402Z", - stroke: "#FF750F", - strokeWidth: 1 - } - ) - ] - } - ) - ] - } - ), - /* @__PURE__ */ jsx("div", { className: "absolute inset-0 rounded-t-lg shadow-[inset_0px_0px_0px_1px_rgba(26,26,0,0.16)] lg:rounded-t-none lg:rounded-r-lg dark:shadow-[inset_0px_0px_0px_1px_#fffaed2d]" }) - ] }) - ] }) }), - /* @__PURE__ */ jsx("div", { className: "hidden h-14.5 lg:block" }) - ] }) - ] }); -} -export { - Welcome as default -}; diff --git a/bootstrap/ssr/ssr-manifest.json b/bootstrap/ssr/ssr-manifest.json deleted file mode 100644 index 27bf6739..00000000 --- a/bootstrap/ssr/ssr-manifest.json +++ /dev/null @@ -1,164 +0,0 @@ -{ - "node_modules/laravel-vite-plugin/inertia-helpers/index.js": [], - "resources/js/components/app-content.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/app-logo-icon.tsx": [ - "/build/assets/app-logo-icon-CoogQ1E6.js" - ], - "resources/js/components/app-logo.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/app-shell.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/app-sidebar-header.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/app-sidebar.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/appearance-tabs.tsx": [ - "/build/assets/appearance-CMAYpXjP.js" - ], - "resources/js/components/breadcrumbs.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/delete-user.tsx": [ - "/build/assets/profile-qrFaR_Uf.js" - ], - "resources/js/components/heading-small.tsx": [ - "/build/assets/layout-jPnBvemX.js" - ], - "resources/js/components/heading.tsx": [ - "/build/assets/layout-jPnBvemX.js" - ], - "resources/js/components/icon.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/input-error.tsx": [ - "/build/assets/label-Byzlra19.js" - ], - "resources/js/components/nav-footer.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/nav-main.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/nav-user.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/text-link.tsx": [ - "/build/assets/text-link-D9-1YxGP.js" - ], - "resources/js/components/ui/avatar.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/ui/breadcrumb.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/ui/button.tsx": [ - "/build/assets/app-logo-icon-CoogQ1E6.js" - ], - "resources/js/components/ui/checkbox.tsx": [ - "/build/assets/login-nGtNK223.js" - ], - "resources/js/components/ui/dialog.tsx": [ - "/build/assets/profile-qrFaR_Uf.js" - ], - "resources/js/components/ui/dropdown-menu.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/ui/input.tsx": [ - "/build/assets/label-Byzlra19.js" - ], - "resources/js/components/ui/label.tsx": [ - "/build/assets/label-Byzlra19.js" - ], - "resources/js/components/ui/placeholder-pattern.tsx": [ - "/build/assets/dashboard-DRbhOQX8.js" - ], - "resources/js/components/ui/separator.tsx": [ - "/build/assets/layout-jPnBvemX.js" - ], - "resources/js/components/ui/sheet.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/ui/sidebar.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/ui/tooltip.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/user-info.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/components/user-menu-content.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/hooks/use-appearance.tsx": [ - "/build/assets/appearance-CMAYpXjP.js" - ], - "resources/js/hooks/use-initials.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/hooks/use-mobile-navigation.ts": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/hooks/use-mobile.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/layouts/app-layout.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/layouts/app/app-sidebar-layout.tsx": [ - "/build/assets/app-layout-D4gdSMSC.js" - ], - "resources/js/layouts/auth-layout.tsx": [ - "/build/assets/auth-layout-Cff_NC5i.js" - ], - "resources/js/layouts/auth/auth-simple-layout.tsx": [ - "/build/assets/auth-layout-Cff_NC5i.js" - ], - "resources/js/layouts/settings/layout.tsx": [ - "/build/assets/layout-jPnBvemX.js" - ], - "resources/js/lib/utils.ts": [ - "/build/assets/app-logo-icon-CoogQ1E6.js" - ], - "resources/js/pages/auth/confirm-password.tsx": [ - "/build/assets/confirm-password-G8rU-P06.js" - ], - "resources/js/pages/auth/forgot-password.tsx": [ - "/build/assets/forgot-password-Bm_VS9pf.js" - ], - "resources/js/pages/auth/login.tsx": [ - "/build/assets/login-nGtNK223.js" - ], - "resources/js/pages/auth/register.tsx": [ - "/build/assets/register-C_guXizf.js" - ], - "resources/js/pages/auth/reset-password.tsx": [ - "/build/assets/reset-password-uqjsfg_p.js" - ], - "resources/js/pages/auth/verify-email.tsx": [ - "/build/assets/verify-email-BdQbCV_K.js" - ], - "resources/js/pages/dashboard.tsx": [ - "/build/assets/dashboard-DRbhOQX8.js" - ], - "resources/js/pages/settings/appearance.tsx": [ - "/build/assets/appearance-CMAYpXjP.js" - ], - "resources/js/pages/settings/password.tsx": [ - "/build/assets/password-obBdSHh5.js" - ], - "resources/js/pages/settings/profile.tsx": [ - "/build/assets/profile-qrFaR_Uf.js" - ], - "resources/js/pages/welcome.tsx": [ - "/build/assets/welcome-CtPb_rEB.js" - ], - "resources/js/ssr.tsx": [], - "vendor/tightenco/ziggy/dist/index.js": [] -} \ No newline at end of file diff --git a/bootstrap/ssr/ssr.js b/bootstrap/ssr/ssr.js deleted file mode 100644 index 47b2805b..00000000 --- a/bootstrap/ssr/ssr.js +++ /dev/null @@ -1,362 +0,0 @@ -import { jsx } from "react/jsx-runtime"; -import { createInertiaApp } from "@inertiajs/react"; -import createServer from "@inertiajs/react/server"; -import ReactDOMServer from "react-dom/server"; -async function resolvePageComponent(path, pages) { - for (const p2 of Array.isArray(path) ? path : [path]) { - const page = pages[p2]; - if (typeof page === "undefined") { - continue; - } - return typeof page === "function" ? page() : page; - } - throw new Error(`Page not found: ${path}`); -} -function t() { - return t = Object.assign ? Object.assign.bind() : function(t4) { - for (var e2 = 1; e2 < arguments.length; e2++) { - var r2 = arguments[e2]; - for (var n2 in r2) ({}).hasOwnProperty.call(r2, n2) && (t4[n2] = r2[n2]); - } - return t4; - }, t.apply(null, arguments); -} -var e = String.prototype.replace, r = /%20/g, n = "RFC3986", o = { default: n, formatters: { RFC1738: function(t4) { - return e.call(t4, r, "+"); -}, RFC3986: function(t4) { - return String(t4); -} }, RFC1738: "RFC1738" }, i = Object.prototype.hasOwnProperty, u = Array.isArray, a = function() { - for (var t4 = [], e2 = 0; e2 < 256; ++e2) t4.push("%" + ((e2 < 16 ? "0" : "") + e2.toString(16)).toUpperCase()); - return t4; -}(), s = function(t4, e2) { - for (var r2 = e2 && e2.plainObjects ? /* @__PURE__ */ Object.create(null) : {}, n2 = 0; n2 < t4.length; ++n2) void 0 !== t4[n2] && (r2[n2] = t4[n2]); - return r2; -}, f = { arrayToObject: s, assign: function(t4, e2) { - return Object.keys(e2).reduce(function(t5, r2) { - return t5[r2] = e2[r2], t5; - }, t4); -}, combine: function(t4, e2) { - return [].concat(t4, e2); -}, compact: function(t4) { - for (var e2 = [{ obj: { o: t4 }, prop: "o" }], r2 = [], n2 = 0; n2 < e2.length; ++n2) for (var o2 = e2[n2], i2 = o2.obj[o2.prop], a2 = Object.keys(i2), s2 = 0; s2 < a2.length; ++s2) { - var f2 = a2[s2], c2 = i2[f2]; - "object" == typeof c2 && null !== c2 && -1 === r2.indexOf(c2) && (e2.push({ obj: i2, prop: f2 }), r2.push(c2)); - } - return function(t5) { - for (; t5.length > 1; ) { - var e3 = t5.pop(), r3 = e3.obj[e3.prop]; - if (u(r3)) { - for (var n3 = [], o3 = 0; o3 < r3.length; ++o3) void 0 !== r3[o3] && n3.push(r3[o3]); - e3.obj[e3.prop] = n3; - } - } - }(e2), t4; -}, decode: function(t4, e2, r2) { - var n2 = t4.replace(/\+/g, " "); - if ("iso-8859-1" === r2) return n2.replace(/%[0-9a-f]{2}/gi, unescape); - try { - return decodeURIComponent(n2); - } catch (t5) { - return n2; - } -}, encode: function(t4, e2, r2, n2, i2) { - if (0 === t4.length) return t4; - var u2 = t4; - if ("symbol" == typeof t4 ? u2 = Symbol.prototype.toString.call(t4) : "string" != typeof t4 && (u2 = String(t4)), "iso-8859-1" === r2) return escape(u2).replace(/%u[0-9a-f]{4}/gi, function(t5) { - return "%26%23" + parseInt(t5.slice(2), 16) + "%3B"; - }); - for (var s2 = "", f2 = 0; f2 < u2.length; ++f2) { - var c2 = u2.charCodeAt(f2); - 45 === c2 || 46 === c2 || 95 === c2 || 126 === c2 || c2 >= 48 && c2 <= 57 || c2 >= 65 && c2 <= 90 || c2 >= 97 && c2 <= 122 || i2 === o.RFC1738 && (40 === c2 || 41 === c2) ? s2 += u2.charAt(f2) : c2 < 128 ? s2 += a[c2] : c2 < 2048 ? s2 += a[192 | c2 >> 6] + a[128 | 63 & c2] : c2 < 55296 || c2 >= 57344 ? s2 += a[224 | c2 >> 12] + a[128 | c2 >> 6 & 63] + a[128 | 63 & c2] : (c2 = 65536 + ((1023 & c2) << 10 | 1023 & u2.charCodeAt(f2 += 1)), s2 += a[240 | c2 >> 18] + a[128 | c2 >> 12 & 63] + a[128 | c2 >> 6 & 63] + a[128 | 63 & c2]); - } - return s2; -}, isBuffer: function(t4) { - return !(!t4 || "object" != typeof t4 || !(t4.constructor && t4.constructor.isBuffer && t4.constructor.isBuffer(t4))); -}, isRegExp: function(t4) { - return "[object RegExp]" === Object.prototype.toString.call(t4); -}, maybeMap: function(t4, e2) { - if (u(t4)) { - for (var r2 = [], n2 = 0; n2 < t4.length; n2 += 1) r2.push(e2(t4[n2])); - return r2; - } - return e2(t4); -}, merge: function t2(e2, r2, n2) { - if (!r2) return e2; - if ("object" != typeof r2) { - if (u(e2)) e2.push(r2); - else { - if (!e2 || "object" != typeof e2) return [e2, r2]; - (n2 && (n2.plainObjects || n2.allowPrototypes) || !i.call(Object.prototype, r2)) && (e2[r2] = true); - } - return e2; - } - if (!e2 || "object" != typeof e2) return [e2].concat(r2); - var o2 = e2; - return u(e2) && !u(r2) && (o2 = s(e2, n2)), u(e2) && u(r2) ? (r2.forEach(function(r3, o3) { - if (i.call(e2, o3)) { - var u2 = e2[o3]; - u2 && "object" == typeof u2 && r3 && "object" == typeof r3 ? e2[o3] = t2(u2, r3, n2) : e2.push(r3); - } else e2[o3] = r3; - }), e2) : Object.keys(r2).reduce(function(e3, o3) { - var u2 = r2[o3]; - return e3[o3] = i.call(e3, o3) ? t2(e3[o3], u2, n2) : u2, e3; - }, o2); -} }, c = Object.prototype.hasOwnProperty, l = { brackets: function(t4) { - return t4 + "[]"; -}, comma: "comma", indices: function(t4, e2) { - return t4 + "[" + e2 + "]"; -}, repeat: function(t4) { - return t4; -} }, p = Array.isArray, h = String.prototype.split, y = Array.prototype.push, d = function(t4, e2) { - y.apply(t4, p(e2) ? e2 : [e2]); -}, g = Date.prototype.toISOString, b = o.default, v = { addQueryPrefix: false, allowDots: false, charset: "utf-8", charsetSentinel: false, delimiter: "&", encode: true, encoder: f.encode, encodeValuesOnly: false, format: b, formatter: o.formatters[b], indices: false, serializeDate: function(t4) { - return g.call(t4); -}, skipNulls: false, strictNullHandling: false }, m = function t3(e2, r2, n2, o2, i2, u2, a2, s2, c2, l2, y2, g2, b2, m2) { - var j2, w2 = e2; - if ("function" == typeof a2 ? w2 = a2(r2, w2) : w2 instanceof Date ? w2 = l2(w2) : "comma" === n2 && p(w2) && (w2 = f.maybeMap(w2, function(t4) { - return t4 instanceof Date ? l2(t4) : t4; - })), null === w2) { - if (o2) return u2 && !b2 ? u2(r2, v.encoder, m2, "key", y2) : r2; - w2 = ""; - } - if ("string" == typeof (j2 = w2) || "number" == typeof j2 || "boolean" == typeof j2 || "symbol" == typeof j2 || "bigint" == typeof j2 || f.isBuffer(w2)) { - if (u2) { - var $2 = b2 ? r2 : u2(r2, v.encoder, m2, "key", y2); - if ("comma" === n2 && b2) { - for (var O2 = h.call(String(w2), ","), E2 = "", R2 = 0; R2 < O2.length; ++R2) E2 += (0 === R2 ? "" : ",") + g2(u2(O2[R2], v.encoder, m2, "value", y2)); - return [g2($2) + "=" + E2]; - } - return [g2($2) + "=" + g2(u2(w2, v.encoder, m2, "value", y2))]; - } - return [g2(r2) + "=" + g2(String(w2))]; - } - var S2, x2 = []; - if (void 0 === w2) return x2; - if ("comma" === n2 && p(w2)) S2 = [{ value: w2.length > 0 ? w2.join(",") || null : void 0 }]; - else if (p(a2)) S2 = a2; - else { - var N2 = Object.keys(w2); - S2 = s2 ? N2.sort(s2) : N2; - } - for (var T2 = 0; T2 < S2.length; ++T2) { - var k = S2[T2], C = "object" == typeof k && void 0 !== k.value ? k.value : w2[k]; - if (!i2 || null !== C) { - var _ = p(w2) ? "function" == typeof n2 ? n2(r2, k) : r2 : r2 + (c2 ? "." + k : "[" + k + "]"); - d(x2, t3(C, _, n2, o2, i2, u2, a2, s2, c2, l2, y2, g2, b2, m2)); - } - } - return x2; -}, j = Object.prototype.hasOwnProperty, w = Array.isArray, $ = { allowDots: false, allowPrototypes: false, arrayLimit: 20, charset: "utf-8", charsetSentinel: false, comma: false, decoder: f.decode, delimiter: "&", depth: 5, ignoreQueryPrefix: false, interpretNumericEntities: false, parameterLimit: 1e3, parseArrays: true, plainObjects: false, strictNullHandling: false }, O = function(t4) { - return t4.replace(/&#(\d+);/g, function(t5, e2) { - return String.fromCharCode(parseInt(e2, 10)); - }); -}, E = function(t4, e2) { - return t4 && "string" == typeof t4 && e2.comma && t4.indexOf(",") > -1 ? t4.split(",") : t4; -}, R = function(t4, e2, r2, n2) { - if (t4) { - var o2 = r2.allowDots ? t4.replace(/\.([^.[]+)/g, "[$1]") : t4, i2 = /(\[[^[\]]*])/g, u2 = r2.depth > 0 && /(\[[^[\]]*])/.exec(o2), a2 = u2 ? o2.slice(0, u2.index) : o2, s2 = []; - if (a2) { - if (!r2.plainObjects && j.call(Object.prototype, a2) && !r2.allowPrototypes) return; - s2.push(a2); - } - for (var f2 = 0; r2.depth > 0 && null !== (u2 = i2.exec(o2)) && f2 < r2.depth; ) { - if (f2 += 1, !r2.plainObjects && j.call(Object.prototype, u2[1].slice(1, -1)) && !r2.allowPrototypes) return; - s2.push(u2[1]); - } - return u2 && s2.push("[" + o2.slice(u2.index) + "]"), function(t5, e3, r3, n3) { - for (var o3 = n3 ? e3 : E(e3, r3), i3 = t5.length - 1; i3 >= 0; --i3) { - var u3, a3 = t5[i3]; - if ("[]" === a3 && r3.parseArrays) u3 = [].concat(o3); - else { - u3 = r3.plainObjects ? /* @__PURE__ */ Object.create(null) : {}; - var s3 = "[" === a3.charAt(0) && "]" === a3.charAt(a3.length - 1) ? a3.slice(1, -1) : a3, f3 = parseInt(s3, 10); - r3.parseArrays || "" !== s3 ? !isNaN(f3) && a3 !== s3 && String(f3) === s3 && f3 >= 0 && r3.parseArrays && f3 <= r3.arrayLimit ? (u3 = [])[f3] = o3 : "__proto__" !== s3 && (u3[s3] = o3) : u3 = { 0: o3 }; - } - o3 = u3; - } - return o3; - }(s2, e2, r2, n2); - } -}, S = function(t4, e2) { - var r2 = /* @__PURE__ */ function(t5) { - return $; - }(); - if ("" === t4 || null == t4) return r2.plainObjects ? /* @__PURE__ */ Object.create(null) : {}; - for (var n2 = "string" == typeof t4 ? function(t5, e3) { - var r3, n3 = {}, o3 = (e3.ignoreQueryPrefix ? t5.replace(/^\?/, "") : t5).split(e3.delimiter, Infinity === e3.parameterLimit ? void 0 : e3.parameterLimit), i3 = -1, u3 = e3.charset; - if (e3.charsetSentinel) for (r3 = 0; r3 < o3.length; ++r3) 0 === o3[r3].indexOf("utf8=") && ("utf8=%E2%9C%93" === o3[r3] ? u3 = "utf-8" : "utf8=%26%2310003%3B" === o3[r3] && (u3 = "iso-8859-1"), i3 = r3, r3 = o3.length); - for (r3 = 0; r3 < o3.length; ++r3) if (r3 !== i3) { - var a3, s3, c2 = o3[r3], l2 = c2.indexOf("]="), p2 = -1 === l2 ? c2.indexOf("=") : l2 + 1; - -1 === p2 ? (a3 = e3.decoder(c2, $.decoder, u3, "key"), s3 = e3.strictNullHandling ? null : "") : (a3 = e3.decoder(c2.slice(0, p2), $.decoder, u3, "key"), s3 = f.maybeMap(E(c2.slice(p2 + 1), e3), function(t6) { - return e3.decoder(t6, $.decoder, u3, "value"); - })), s3 && e3.interpretNumericEntities && "iso-8859-1" === u3 && (s3 = O(s3)), c2.indexOf("[]=") > -1 && (s3 = w(s3) ? [s3] : s3), n3[a3] = j.call(n3, a3) ? f.combine(n3[a3], s3) : s3; - } - return n3; - }(t4, r2) : t4, o2 = r2.plainObjects ? /* @__PURE__ */ Object.create(null) : {}, i2 = Object.keys(n2), u2 = 0; u2 < i2.length; ++u2) { - var a2 = i2[u2], s2 = R(a2, n2[a2], r2, "string" == typeof t4); - o2 = f.merge(o2, s2, r2); - } - return f.compact(o2); -}; -class x { - constructor(t4, e2, r2) { - var n2, o2; - this.name = t4, this.definition = e2, this.bindings = null != (n2 = e2.bindings) ? n2 : {}, this.wheres = null != (o2 = e2.wheres) ? o2 : {}, this.config = r2; - } - get template() { - const t4 = `${this.origin}/${this.definition.uri}`.replace(/\/+$/, ""); - return "" === t4 ? "/" : t4; - } - get origin() { - return this.config.absolute ? this.definition.domain ? `${this.config.url.match(/^\w+:\/\//)[0]}${this.definition.domain}${this.config.port ? `:${this.config.port}` : ""}` : this.config.url : ""; - } - get parameterSegments() { - var t4, e2; - return null != (t4 = null == (e2 = this.template.match(/{[^}?]+\??}/g)) ? void 0 : e2.map((t5) => ({ name: t5.replace(/{|\??}/g, ""), required: !/\?}$/.test(t5) }))) ? t4 : []; - } - matchesUrl(t4) { - var e2; - if (!this.definition.methods.includes("GET")) return false; - const r2 = this.template.replace(/[.*+$()[\]]/g, "\\$&").replace(/(\/?){([^}?]*)(\??)}/g, (t5, e3, r3, n3) => { - var o3; - const i3 = `(?<${r3}>${(null == (o3 = this.wheres[r3]) ? void 0 : o3.replace(/(^\^)|(\$$)/g, "")) || "[^/?]+"})`; - return n3 ? `(${e3}${i3})?` : `${e3}${i3}`; - }).replace(/^\w+:\/\//, ""), [n2, o2] = t4.replace(/^\w+:\/\//, "").split("?"), i2 = null != (e2 = new RegExp(`^${r2}/?$`).exec(n2)) ? e2 : new RegExp(`^${r2}/?$`).exec(decodeURI(n2)); - if (i2) { - for (const t5 in i2.groups) i2.groups[t5] = "string" == typeof i2.groups[t5] ? decodeURIComponent(i2.groups[t5]) : i2.groups[t5]; - return { params: i2.groups, query: S(o2) }; - } - return false; - } - compile(t4) { - return this.parameterSegments.length ? this.template.replace(/{([^}?]+)(\??)}/g, (e2, r2, n2) => { - var o2, i2; - if (!n2 && [null, void 0].includes(t4[r2])) throw new Error(`Ziggy error: '${r2}' parameter is required for route '${this.name}'.`); - if (this.wheres[r2] && !new RegExp(`^${n2 ? `(${this.wheres[r2]})?` : this.wheres[r2]}$`).test(null != (i2 = t4[r2]) ? i2 : "")) throw new Error(`Ziggy error: '${r2}' parameter '${t4[r2]}' does not match required format '${this.wheres[r2]}' for route '${this.name}'.`); - return encodeURI(null != (o2 = t4[r2]) ? o2 : "").replace(/%7C/g, "|").replace(/%25/g, "%").replace(/\$/g, "%24"); - }).replace(this.config.absolute ? /(\.[^/]+?)(\/\/)/ : /(^)(\/\/)/, "$1/").replace(/\/+$/, "") : this.template; - } -} -class N extends String { - constructor(e2, r2, n2 = true, o2) { - if (super(), this.t = null != o2 ? o2 : "undefined" != typeof Ziggy ? Ziggy : null == globalThis ? void 0 : globalThis.Ziggy, this.t = t({}, this.t, { absolute: n2 }), e2) { - if (!this.t.routes[e2]) throw new Error(`Ziggy error: route '${e2}' is not in the route list.`); - this.i = new x(e2, this.t.routes[e2], this.t), this.u = this.l(r2); - } - } - toString() { - const e2 = Object.keys(this.u).filter((t4) => !this.i.parameterSegments.some(({ name: e3 }) => e3 === t4)).filter((t4) => "_query" !== t4).reduce((e3, r2) => t({}, e3, { [r2]: this.u[r2] }), {}); - return this.i.compile(this.u) + function(t4, e3) { - var r2, n2 = t4, i2 = function(t5) { - if (!t5) return v; - if (null != t5.encoder && "function" != typeof t5.encoder) throw new TypeError("Encoder has to be a function."); - var e4 = t5.charset || v.charset; - if (void 0 !== t5.charset && "utf-8" !== t5.charset && "iso-8859-1" !== t5.charset) throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined"); - var r3 = o.default; - if (void 0 !== t5.format) { - if (!c.call(o.formatters, t5.format)) throw new TypeError("Unknown format option provided."); - r3 = t5.format; - } - var n3 = o.formatters[r3], i3 = v.filter; - return ("function" == typeof t5.filter || p(t5.filter)) && (i3 = t5.filter), { addQueryPrefix: "boolean" == typeof t5.addQueryPrefix ? t5.addQueryPrefix : v.addQueryPrefix, allowDots: void 0 === t5.allowDots ? v.allowDots : !!t5.allowDots, charset: e4, charsetSentinel: "boolean" == typeof t5.charsetSentinel ? t5.charsetSentinel : v.charsetSentinel, delimiter: void 0 === t5.delimiter ? v.delimiter : t5.delimiter, encode: "boolean" == typeof t5.encode ? t5.encode : v.encode, encoder: "function" == typeof t5.encoder ? t5.encoder : v.encoder, encodeValuesOnly: "boolean" == typeof t5.encodeValuesOnly ? t5.encodeValuesOnly : v.encodeValuesOnly, filter: i3, format: r3, formatter: n3, serializeDate: "function" == typeof t5.serializeDate ? t5.serializeDate : v.serializeDate, skipNulls: "boolean" == typeof t5.skipNulls ? t5.skipNulls : v.skipNulls, sort: "function" == typeof t5.sort ? t5.sort : null, strictNullHandling: "boolean" == typeof t5.strictNullHandling ? t5.strictNullHandling : v.strictNullHandling }; - }(e3); - "function" == typeof i2.filter ? n2 = (0, i2.filter)("", n2) : p(i2.filter) && (r2 = i2.filter); - var u2 = []; - if ("object" != typeof n2 || null === n2) return ""; - var a2 = l[e3 && e3.arrayFormat in l ? e3.arrayFormat : e3 && "indices" in e3 ? e3.indices ? "indices" : "repeat" : "indices"]; - r2 || (r2 = Object.keys(n2)), i2.sort && r2.sort(i2.sort); - for (var s2 = 0; s2 < r2.length; ++s2) { - var f2 = r2[s2]; - i2.skipNulls && null === n2[f2] || d(u2, m(n2[f2], f2, a2, i2.strictNullHandling, i2.skipNulls, i2.encode ? i2.encoder : null, i2.filter, i2.sort, i2.allowDots, i2.serializeDate, i2.format, i2.formatter, i2.encodeValuesOnly, i2.charset)); - } - var h2 = u2.join(i2.delimiter), y2 = true === i2.addQueryPrefix ? "?" : ""; - return i2.charsetSentinel && (y2 += "iso-8859-1" === i2.charset ? "utf8=%26%2310003%3B&" : "utf8=%E2%9C%93&"), h2.length > 0 ? y2 + h2 : ""; - }(t({}, e2, this.u._query), { addQueryPrefix: true, arrayFormat: "indices", encodeValuesOnly: true, skipNulls: true, encoder: (t4, e3) => "boolean" == typeof t4 ? Number(t4) : e3(t4) }); - } - p(e2) { - e2 ? this.t.absolute && e2.startsWith("/") && (e2 = this.h().host + e2) : e2 = this.v(); - let r2 = {}; - const [n2, o2] = Object.entries(this.t.routes).find(([t4, n3]) => r2 = new x(t4, n3, this.t).matchesUrl(e2)) || [void 0, void 0]; - return t({ name: n2 }, r2, { route: o2 }); - } - v() { - const { host: t4, pathname: e2, search: r2 } = this.h(); - return (this.t.absolute ? t4 + e2 : e2.replace(this.t.url.replace(/^\w*:\/\/[^/]+/, ""), "").replace(/^\/+/, "/")) + r2; - } - current(e2, r2) { - const { name: n2, params: o2, query: i2, route: u2 } = this.p(); - if (!e2) return n2; - const a2 = new RegExp(`^${e2.replace(/\./g, "\\.").replace(/\*/g, ".*")}$`).test(n2); - if ([null, void 0].includes(r2) || !a2) return a2; - const s2 = new x(n2, u2, this.t); - r2 = this.l(r2, s2); - const f2 = t({}, o2, i2); - if (Object.values(r2).every((t4) => !t4) && !Object.values(f2).some((t4) => void 0 !== t4)) return true; - const c2 = (t4, e3) => Object.entries(t4).every(([t5, r3]) => Array.isArray(r3) && Array.isArray(e3[t5]) ? r3.every((r4) => e3[t5].includes(r4)) : "object" == typeof r3 && "object" == typeof e3[t5] && null !== r3 && null !== e3[t5] ? c2(r3, e3[t5]) : e3[t5] == r3); - return c2(r2, f2); - } - h() { - var t4, e2, r2, n2, o2, i2; - const { host: u2 = "", pathname: a2 = "", search: s2 = "" } = "undefined" != typeof window ? window.location : {}; - return { host: null != (t4 = null == (e2 = this.t.location) ? void 0 : e2.host) ? t4 : u2, pathname: null != (r2 = null == (n2 = this.t.location) ? void 0 : n2.pathname) ? r2 : a2, search: null != (o2 = null == (i2 = this.t.location) ? void 0 : i2.search) ? o2 : s2 }; - } - get params() { - const { params: e2, query: r2 } = this.p(); - return t({}, e2, r2); - } - get routeParams() { - return this.p().params; - } - get queryParams() { - return this.p().query; - } - has(t4) { - return this.t.routes.hasOwnProperty(t4); - } - l(e2 = {}, r2 = this.i) { - null != e2 || (e2 = {}), e2 = ["string", "number"].includes(typeof e2) ? [e2] : e2; - const n2 = r2.parameterSegments.filter(({ name: t4 }) => !this.t.defaults[t4]); - return Array.isArray(e2) ? e2 = e2.reduce((e3, r3, o2) => t({}, e3, n2[o2] ? { [n2[o2].name]: r3 } : "object" == typeof r3 ? r3 : { [r3]: "" }), {}) : 1 !== n2.length || e2[n2[0].name] || !e2.hasOwnProperty(Object.values(r2.bindings)[0]) && !e2.hasOwnProperty("id") || (e2 = { [n2[0].name]: e2 }), t({}, this.m(r2), this.j(e2, r2)); - } - m(e2) { - return e2.parameterSegments.filter(({ name: t4 }) => this.t.defaults[t4]).reduce((e3, { name: r2 }, n2) => t({}, e3, { [r2]: this.t.defaults[r2] }), {}); - } - j(e2, { bindings: r2, parameterSegments: n2 }) { - return Object.entries(e2).reduce((e3, [o2, i2]) => { - if (!i2 || "object" != typeof i2 || Array.isArray(i2) || !n2.some(({ name: t4 }) => t4 === o2)) return t({}, e3, { [o2]: i2 }); - if (!i2.hasOwnProperty(r2[o2])) { - if (!i2.hasOwnProperty("id")) throw new Error(`Ziggy error: object passed as '${o2}' parameter is missing route model binding key '${r2[o2]}'.`); - r2[o2] = "id"; - } - return t({}, e3, { [o2]: i2[r2[o2]] }); - }, {}); - } - valueOf() { - return this.toString(); - } -} -function T(t4, e2, r2, n2) { - const o2 = new N(t4, e2, r2, n2); - return t4 ? o2.toString() : o2; -} -const appName = "Laravel"; -createServer( - (page) => createInertiaApp({ - page, - render: ReactDOMServer.renderToString, - title: (title) => `${title} - ${appName}`, - resolve: (name) => resolvePageComponent( - `./pages/${name}.tsx`, - /* @__PURE__ */ Object.assign({ "./pages/auth/confirm-password.tsx": () => import("./assets/confirm-password-G8rU-P06.js"), "./pages/auth/forgot-password.tsx": () => import("./assets/forgot-password-Bm_VS9pf.js"), "./pages/auth/login.tsx": () => import("./assets/login-nGtNK223.js"), "./pages/auth/register.tsx": () => import("./assets/register-C_guXizf.js"), "./pages/auth/reset-password.tsx": () => import("./assets/reset-password-uqjsfg_p.js"), "./pages/auth/verify-email.tsx": () => import("./assets/verify-email-BdQbCV_K.js"), "./pages/dashboard.tsx": () => import("./assets/dashboard-DRbhOQX8.js"), "./pages/settings/appearance.tsx": () => import("./assets/appearance-CMAYpXjP.js"), "./pages/settings/password.tsx": () => import("./assets/password-obBdSHh5.js"), "./pages/settings/profile.tsx": () => import("./assets/profile-qrFaR_Uf.js"), "./pages/welcome.tsx": () => import("./assets/welcome-CtPb_rEB.js") }) - ), - setup: ({ App, props }) => { - global.route = (name, params, absolute) => T(name, params, absolute, { - // @ts-expect-error - ...page.props.ziggy, - // @ts-expect-error - location: new URL(page.props.ziggy.location) - }); - return /* @__PURE__ */ jsx(App, { ...props }); - } - }) -); From 3e7b127b315be34839270b556980ab96a1c8b2e7 Mon Sep 17 00:00:00 2001 From: Joey McKenzie Date: Wed, 26 Feb 2025 10:16:46 -0800 Subject: [PATCH 03/11] fix: add ziggy to inertia middleware for ssr --- .gitignore | 1 + app/Http/Middleware/HandleInertiaRequests.php | 5 +++++ resources/js/layouts/settings/layout.tsx | 5 +++++ resources/js/types/{index.ts => index.d.ts} | 2 ++ 4 files changed, 13 insertions(+) rename resources/js/types/{index.ts => index.d.ts} (90%) diff --git a/.gitignore b/.gitignore index c7cf1fa6..d3fa2bf2 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ yarn-error.log /.nova /.vscode /.zed +/bootstrap/ssr diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Http/Middleware/HandleInertiaRequests.php index c987856b..5226e82e 100644 --- a/app/Http/Middleware/HandleInertiaRequests.php +++ b/app/Http/Middleware/HandleInertiaRequests.php @@ -5,6 +5,7 @@ use Illuminate\Foundation\Inspiring; use Illuminate\Http\Request; use Inertia\Middleware; +use Tighten\Ziggy\Ziggy; class HandleInertiaRequests extends Middleware { @@ -45,6 +46,10 @@ public function share(Request $request): array 'auth' => [ 'user' => $request->user(), ], + 'ziggy' => fn (): array => [ + ...(new Ziggy)->toArray(), + 'location' => $request->url(), + ], ]; } } diff --git a/resources/js/layouts/settings/layout.tsx b/resources/js/layouts/settings/layout.tsx index 2a50de96..45bf13b8 100644 --- a/resources/js/layouts/settings/layout.tsx +++ b/resources/js/layouts/settings/layout.tsx @@ -24,6 +24,11 @@ const sidebarNavItems: NavItem[] = [ ]; export default function SettingsLayout({ children }: { children: React.ReactNode }) { + // For SSR, we can't access the window location, so can only render the layout on the client + if (typeof window === 'undefined') { + return null; + } + const currentPath = window.location.pathname; return ( diff --git a/resources/js/types/index.ts b/resources/js/types/index.d.ts similarity index 90% rename from resources/js/types/index.ts rename to resources/js/types/index.d.ts index 9929c24d..42b74387 100644 --- a/resources/js/types/index.ts +++ b/resources/js/types/index.d.ts @@ -1,4 +1,5 @@ import { LucideIcon } from 'lucide-react'; +import type { Config } from "ziggy-js"; export interface Auth { user: User; @@ -25,6 +26,7 @@ export interface SharedData { name: string; quote: { message: string; author: string }; auth: Auth; + ziggy: Config & { location: string }; [key: string]: unknown; } From 4e292f70611dbc2149d8715fdf9278499c96cdc8 Mon Sep 17 00:00:00 2001 From: Joey McKenzie Date: Wed, 26 Feb 2025 10:17:27 -0800 Subject: [PATCH 04/11] chore: remove bootstrap ssr --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index d3fa2bf2..c7cf1fa6 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,3 @@ yarn-error.log /.nova /.vscode /.zed -/bootstrap/ssr From 011ee040c1274219d55e32f870b14c31bdc85cee Mon Sep 17 00:00:00 2001 From: Joey McKenzie Date: Wed, 26 Feb 2025 14:24:23 -0800 Subject: [PATCH 05/11] chore: add script for ssr --- composer.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/composer.json b/composer.json index fc1bab73..a9d76851 100644 --- a/composer.json +++ b/composer.json @@ -55,6 +55,11 @@ "dev": [ "Composer\\Config::disableProcessTimeout", "npx concurrently -c \"#93c5fd,#c4b5fd,#fb7185,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1\" \"php artisan pail --timeout=0\" \"npm run dev\" --names=server,queue,logs,vite" + ], + "dev:ssr": [ + "npm run build", + "Composer\\Config::disableProcessTimeout", + "npx concurrently -c \"#93c5fd,#c4b5fd,#fb7185,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1\" \"php artisan pail --timeout=0\" \"php artisan inertia:start-ssr\" --names=server,queue,logs,ssr" ] }, "extra": { From 4951bcdb8f2570716d199e9ad332f3cc87144861 Mon Sep 17 00:00:00 2001 From: Joey McKenzie Date: Tue, 4 Mar 2025 08:40:05 -0800 Subject: [PATCH 06/11] chore: update composer script --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index a9d76851..c6dcc259 100644 --- a/composer.json +++ b/composer.json @@ -57,7 +57,7 @@ "npx concurrently -c \"#93c5fd,#c4b5fd,#fb7185,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1\" \"php artisan pail --timeout=0\" \"npm run dev\" --names=server,queue,logs,vite" ], "dev:ssr": [ - "npm run build", + "npm run build:ssr", "Composer\\Config::disableProcessTimeout", "npx concurrently -c \"#93c5fd,#c4b5fd,#fb7185,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1\" \"php artisan pail --timeout=0\" \"php artisan inertia:start-ssr\" --names=server,queue,logs,ssr" ] From 0039931b1f18bcc10cbb92eb8559a399827b9969 Mon Sep 17 00:00:00 2001 From: Tony Lea Date: Wed, 5 Mar 2025 11:33:56 -0500 Subject: [PATCH 07/11] Adding solution for Dark Mode flicker with SSR --- app/Http/Middleware/HandleAppearance.php | 27 +++++++++++++++++++ app/Http/Middleware/HandleInertiaRequests.php | 2 +- app/Providers/AppServiceProvider.php | 3 ++- bootstrap/app.php | 2 ++ resources/js/hooks/use-appearance.tsx | 16 +++++++++++ resources/views/app.blade.php | 2 +- 6 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 app/Http/Middleware/HandleAppearance.php diff --git a/app/Http/Middleware/HandleAppearance.php b/app/Http/Middleware/HandleAppearance.php new file mode 100644 index 00000000..dc5f1865 --- /dev/null +++ b/app/Http/Middleware/HandleAppearance.php @@ -0,0 +1,27 @@ +cookie('appearance') ?? 'system'; + + // Share the appearance with all views + view()->share('appearance', $appearance); + + return $next($request); + } +} diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Http/Middleware/HandleInertiaRequests.php index 5226e82e..6d13c5d1 100644 --- a/app/Http/Middleware/HandleInertiaRequests.php +++ b/app/Http/Middleware/HandleInertiaRequests.php @@ -49,7 +49,7 @@ public function share(Request $request): array 'ziggy' => fn (): array => [ ...(new Ziggy)->toArray(), 'location' => $request->url(), - ], + ] ]; } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 452e6b65..287aa58f 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,6 +3,7 @@ namespace App\Providers; use Illuminate\Support\ServiceProvider; +use Illuminate\Cookie\Middleware\EncryptCookies; class AppServiceProvider extends ServiceProvider { @@ -19,6 +20,6 @@ public function register(): void */ public function boot(): void { - // + EncryptCookies::except('appearance'); } } diff --git a/bootstrap/app.php b/bootstrap/app.php index a827a7f5..fde9d4fb 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -1,5 +1,6 @@ withMiddleware(function (Middleware $middleware) { $middleware->web(append: [ + HandleAppearance::class, // Add appearance middleware before Inertia HandleInertiaRequests::class, AddLinkHeadersForPreloadedAssets::class, ]); diff --git a/resources/js/hooks/use-appearance.tsx b/resources/js/hooks/use-appearance.tsx index f46617ca..10042a0c 100644 --- a/resources/js/hooks/use-appearance.tsx +++ b/resources/js/hooks/use-appearance.tsx @@ -10,6 +10,16 @@ const prefersDark = () => { return window.matchMedia('(prefers-color-scheme: dark)').matches; } +const setCookie = (name: string, value: string, days = 365) => { + if (typeof document === 'undefined') { + return; + } + + const maxAge = days * 24 * 60 * 60; + document.cookie = `${name}=${value};path=/;max-age=${maxAge};SameSite=Lax`; + //document.cookie = `${name}=${value}; path=/; max-age=${maxAge}`; +}; + const applyTheme = (appearance: Appearance) => { const isDark = appearance === 'dark' || (appearance === 'system' && prefersDark()); @@ -43,7 +53,13 @@ export function useAppearance() { const updateAppearance = useCallback((mode: Appearance) => { setAppearance(mode); + + // Store in localStorage for client-side persistence localStorage.setItem('appearance', mode); + + // Store in cookie for SSR access + setCookie('appearance', mode); + applyTheme(mode); }, []); diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php index 8560cbc0..322e7d5f 100644 --- a/resources/views/app.blade.php +++ b/resources/views/app.blade.php @@ -1,5 +1,5 @@ - + ($appearance ?? 'system') == 'dark'])> From 51059afd7ba0a958e2b08547754872b343332ee8 Mon Sep 17 00:00:00 2001 From: Tony Lea Date: Wed, 5 Mar 2025 11:44:36 -0500 Subject: [PATCH 08/11] Adding condition for system appearance and detecting via client-side immediately --- resources/views/app.blade.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php index 322e7d5f..be61c8b2 100644 --- a/resources/views/app.blade.php +++ b/resources/views/app.blade.php @@ -3,6 +3,22 @@ + + {{-- Inline script to detect system dark mode preference and apply it immediately --}} + {{ config('app.name', 'Laravel') }} From b11cf1e5757dfada4a44f373d0fc103376dcdc76 Mon Sep 17 00:00:00 2001 From: Joey McKenzie Date: Wed, 5 Mar 2025 10:47:54 -0800 Subject: [PATCH 09/11] feat: add inline style to prevent flash during CSR --- resources/views/app.blade.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php index be61c8b2..15c47682 100644 --- a/resources/views/app.blade.php +++ b/resources/views/app.blade.php @@ -3,7 +3,7 @@ - + {{-- Inline script to detect system dark mode preference and apply it immediately --}} + {{-- Inline style to preemtively set the HTML background color based on our theme in app.css --}} + {{-- For best results, make sure to match these values based on the theme you have set for global styles --}} + + {{ config('app.name', 'Laravel') }} From 09dad2e58fe6b73266e41dc96740df0fa2a6f41d Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Wed, 5 Mar 2025 14:12:38 -0600 Subject: [PATCH 10/11] formatting --- app/Http/Middleware/HandleAppearance.php | 10 +++------- app/Providers/AppServiceProvider.php | 3 +-- bootstrap/app.php | 4 +++- resources/js/components/app-header.tsx | 2 +- resources/js/hooks/use-appearance.tsx | 15 +++++++-------- resources/js/layouts/settings/layout.tsx | 2 +- resources/js/pages/auth/login.tsx | 8 +++++++- resources/js/types/global.d.ts | 2 +- resources/js/types/index.d.ts | 2 +- resources/views/app.blade.php | 8 +++----- 10 files changed, 28 insertions(+), 28 deletions(-) diff --git a/app/Http/Middleware/HandleAppearance.php b/app/Http/Middleware/HandleAppearance.php index dc5f1865..f1a02bbc 100644 --- a/app/Http/Middleware/HandleAppearance.php +++ b/app/Http/Middleware/HandleAppearance.php @@ -4,8 +4,8 @@ use Closure; use Illuminate\Http\Request; +use Illuminate\Support\Facades\View; use Symfony\Component\HttpFoundation\Response; -use Illuminate\Support\Facades\Cookie; class HandleAppearance { @@ -16,12 +16,8 @@ class HandleAppearance */ public function handle(Request $request, Closure $next): Response { - // Get appearance preference from cookie (defaults to 'system') - $appearance = $request->cookie('appearance') ?? 'system'; - - // Share the appearance with all views - view()->share('appearance', $appearance); - + View::share('appearance', $request->cookie('appearance') ?? 'system'); + return $next($request); } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 287aa58f..452e6b65 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,7 +3,6 @@ namespace App\Providers; use Illuminate\Support\ServiceProvider; -use Illuminate\Cookie\Middleware\EncryptCookies; class AppServiceProvider extends ServiceProvider { @@ -20,6 +19,6 @@ public function register(): void */ public function boot(): void { - EncryptCookies::except('appearance'); + // } } diff --git a/bootstrap/app.php b/bootstrap/app.php index fde9d4fb..18d301a4 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -14,8 +14,10 @@ health: '/up', ) ->withMiddleware(function (Middleware $middleware) { + $middleware->encryptCookies(except: ['appearance']); + $middleware->web(append: [ - HandleAppearance::class, // Add appearance middleware before Inertia + HandleAppearance::class, HandleInertiaRequests::class, AddLinkHeadersForPreloadedAssets::class, ]); diff --git a/resources/js/components/app-header.tsx b/resources/js/components/app-header.tsx index 11ef2ed9..eeac3e62 100644 --- a/resources/js/components/app-header.tsx +++ b/resources/js/components/app-header.tsx @@ -63,7 +63,7 @@ export function AppHeader({ breadcrumbs = [] }: AppHeaderProps) { -
+
{mainNavItems.map((item) => ( diff --git a/resources/js/hooks/use-appearance.tsx b/resources/js/hooks/use-appearance.tsx index 10042a0c..c9ede816 100644 --- a/resources/js/hooks/use-appearance.tsx +++ b/resources/js/hooks/use-appearance.tsx @@ -8,16 +8,15 @@ const prefersDark = () => { } return window.matchMedia('(prefers-color-scheme: dark)').matches; -} +}; const setCookie = (name: string, value: string, days = 365) => { if (typeof document === 'undefined') { return; } - + const maxAge = days * 24 * 60 * 60; document.cookie = `${name}=${value};path=/;max-age=${maxAge};SameSite=Lax`; - //document.cookie = `${name}=${value}; path=/; max-age=${maxAge}`; }; const applyTheme = (appearance: Appearance) => { @@ -53,13 +52,13 @@ export function useAppearance() { const updateAppearance = useCallback((mode: Appearance) => { setAppearance(mode); - - // Store in localStorage for client-side persistence + + // Store in localStorage for client-side persistence... localStorage.setItem('appearance', mode); - - // Store in cookie for SSR access + + // Store in cookie for SSR... setCookie('appearance', mode); - + applyTheme(mode); }, []); diff --git a/resources/js/layouts/settings/layout.tsx b/resources/js/layouts/settings/layout.tsx index b3436560..9246b781 100644 --- a/resources/js/layouts/settings/layout.tsx +++ b/resources/js/layouts/settings/layout.tsx @@ -25,7 +25,7 @@ const sidebarNavItems: NavItem[] = [ ]; export default function SettingsLayout({ children }: PropsWithChildren) { - // For SSR, we can't access the window location, so we only render the layout on the client + // When server-side rendering, we only render the layout on the client... if (typeof window === 'undefined') { return null; } diff --git a/resources/js/pages/auth/login.tsx b/resources/js/pages/auth/login.tsx index c53508cb..f0705e72 100644 --- a/resources/js/pages/auth/login.tsx +++ b/resources/js/pages/auth/login.tsx @@ -80,7 +80,13 @@ export default function Login({ status, canResetPassword }: LoginProps) {
- setData('remember', !data.remember)} tabIndex={3} /> + setData('remember', !data.remember)} + tabIndex={3} + />
diff --git a/resources/js/types/global.d.ts b/resources/js/types/global.d.ts index a9f2470e..b3c9b786 100644 --- a/resources/js/types/global.d.ts +++ b/resources/js/types/global.d.ts @@ -1,4 +1,4 @@ -import type { route as routeFn } from "ziggy-js"; +import type { route as routeFn } from 'ziggy-js'; declare global { const route: typeof routeFn; diff --git a/resources/js/types/index.d.ts b/resources/js/types/index.d.ts index 42b74387..2c03ad9c 100644 --- a/resources/js/types/index.d.ts +++ b/resources/js/types/index.d.ts @@ -1,5 +1,5 @@ import { LucideIcon } from 'lucide-react'; -import type { Config } from "ziggy-js"; +import type { Config } from 'ziggy-js'; export interface Auth { user: User; diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php index 15c47682..30938355 100644 --- a/resources/views/app.blade.php +++ b/resources/views/app.blade.php @@ -7,21 +7,19 @@ {{-- Inline script to detect system dark mode preference and apply it immediately --}} - {{-- Inline style to preemtively set the HTML background color based on our theme in app.css --}} - {{-- For best results, make sure to match these values based on the theme you have set for global styles --}} + {{-- Inline style to set the HTML background color based on our theme in app.css --}}