Skip to content

Commit 60f6fb4

Browse files
committed
chore: resolve conflicts
1 parent adf8a28 commit 60f6fb4

20 files changed

+12229
-0
lines changed

bootstrap/ssr/assets/app-layout-D4gdSMSC.js

Lines changed: 928 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import { jsx } from "react/jsx-runtime";
2+
import { Slot } from "@radix-ui/react-slot";
3+
import { cva } from "class-variance-authority";
4+
import { clsx } from "clsx";
5+
import { twMerge } from "tailwind-merge";
6+
function cn(...inputs) {
7+
return twMerge(clsx(inputs));
8+
}
9+
const buttonVariants = cva(
10+
"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",
11+
{
12+
variants: {
13+
variant: {
14+
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
15+
destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
16+
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",
17+
secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
18+
ghost: "hover:bg-accent hover:text-accent-foreground",
19+
link: "text-primary underline-offset-4 hover:underline"
20+
},
21+
size: {
22+
default: "h-9 px-4 py-2 has-[>svg]:px-3",
23+
sm: "h-8 rounded-md px-3 has-[>svg]:px-2.5",
24+
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
25+
icon: "size-9"
26+
}
27+
},
28+
defaultVariants: {
29+
variant: "default",
30+
size: "default"
31+
}
32+
}
33+
);
34+
function Button({
35+
className,
36+
variant,
37+
size,
38+
asChild = false,
39+
...props
40+
}) {
41+
const Comp = asChild ? Slot : "button";
42+
return /* @__PURE__ */ jsx(
43+
Comp,
44+
{
45+
"data-slot": "button",
46+
className: cn(buttonVariants({ variant, size, className })),
47+
...props
48+
}
49+
);
50+
}
51+
function AppLogoIcon(props) {
52+
return /* @__PURE__ */ jsx("svg", { ...props, viewBox: "0 0 40 42", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx(
53+
"path",
54+
{
55+
fillRule: "evenodd",
56+
clipRule: "evenodd",
57+
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"
58+
}
59+
) });
60+
}
61+
export {
62+
AppLogoIcon as A,
63+
Button as B,
64+
cn as c
65+
};
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
import { jsx, jsxs } from "react/jsx-runtime";
2+
import { Head } from "@inertiajs/react";
3+
import { useState, useEffect } from "react";
4+
import { c as cn } from "./app-logo-icon-CoogQ1E6.js";
5+
import { Sun, Moon, Monitor } from "lucide-react";
6+
import { S as SettingsLayout, H as HeadingSmall } from "./layout-jPnBvemX.js";
7+
import { A as AppLayout } from "./app-layout-D4gdSMSC.js";
8+
import "@radix-ui/react-slot";
9+
import "class-variance-authority";
10+
import "clsx";
11+
import "tailwind-merge";
12+
import "@radix-ui/react-separator";
13+
import "@radix-ui/react-dialog";
14+
import "@radix-ui/react-tooltip";
15+
import "@radix-ui/react-dropdown-menu";
16+
import "@radix-ui/react-avatar";
17+
const prefersDark = () => {
18+
if (typeof window === "undefined") {
19+
return false;
20+
}
21+
return window.matchMedia("(prefers-color-scheme: dark)").matches;
22+
};
23+
const applyTheme = (appearance) => {
24+
const isDark = appearance === "dark" || appearance === "system" && prefersDark();
25+
document.documentElement.classList.toggle("dark", isDark);
26+
};
27+
const mediaQuery = () => {
28+
if (typeof window === "undefined") {
29+
return null;
30+
}
31+
return window.matchMedia("(prefers-color-scheme: dark)");
32+
};
33+
const handleSystemThemeChange = () => {
34+
const currentAppearance = localStorage.getItem("appearance");
35+
applyTheme(currentAppearance || "system");
36+
};
37+
function useAppearance() {
38+
const [appearance, setAppearance] = useState("system");
39+
const updateAppearance = (mode) => {
40+
setAppearance(mode);
41+
localStorage.setItem("appearance", mode);
42+
applyTheme(mode);
43+
};
44+
useEffect(() => {
45+
const savedAppearance = localStorage.getItem("appearance");
46+
updateAppearance(savedAppearance || "system");
47+
return () => {
48+
var _a;
49+
return (_a = mediaQuery()) == null ? void 0 : _a.removeEventListener("change", handleSystemThemeChange);
50+
};
51+
}, []);
52+
return { appearance, updateAppearance };
53+
}
54+
function AppearanceToggleTab({ className = "", ...props }) {
55+
const { appearance, updateAppearance } = useAppearance();
56+
const tabs = [
57+
{ value: "light", icon: Sun, label: "Light" },
58+
{ value: "dark", icon: Moon, label: "Dark" },
59+
{ value: "system", icon: Monitor, label: "System" }
60+
];
61+
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(
62+
"button",
63+
{
64+
onClick: () => updateAppearance(value),
65+
className: cn(
66+
"flex items-center rounded-md px-3.5 py-1.5 transition-colors",
67+
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"
68+
),
69+
children: [
70+
/* @__PURE__ */ jsx(Icon, { className: "-ml-1 h-4 w-4" }),
71+
/* @__PURE__ */ jsx("span", { className: "ml-1.5 text-sm", children: label })
72+
]
73+
},
74+
value
75+
)) });
76+
}
77+
const breadcrumbs = [
78+
{
79+
title: "Appearance settings",
80+
href: "/settings/appearance"
81+
}
82+
];
83+
function Appearance() {
84+
return /* @__PURE__ */ jsxs(AppLayout, { breadcrumbs, children: [
85+
/* @__PURE__ */ jsx(Head, { title: "Appearance settings" }),
86+
/* @__PURE__ */ jsx(SettingsLayout, { children: /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
87+
/* @__PURE__ */ jsx(HeadingSmall, { title: "Appearance settings", description: "Update your account's appearance settings" }),
88+
/* @__PURE__ */ jsx(AppearanceToggleTab, {})
89+
] }) })
90+
] });
91+
}
92+
export {
93+
Appearance as default
94+
};
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { jsx, jsxs } from "react/jsx-runtime";
2+
import { A as AppLogoIcon } from "./app-logo-icon-CoogQ1E6.js";
3+
import { Link } from "@inertiajs/react";
4+
function AuthSimpleLayout({ children, title, description }) {
5+
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: [
6+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-4", children: [
7+
/* @__PURE__ */ jsxs(Link, { href: route("home"), className: "flex flex-col items-center gap-2 font-medium", children: [
8+
/* @__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" }) }),
9+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: title })
10+
] }),
11+
/* @__PURE__ */ jsxs("div", { className: "space-y-2 text-center", children: [
12+
/* @__PURE__ */ jsx("h1", { className: "text-xl font-medium", children: title }),
13+
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-center text-sm", children: description })
14+
] })
15+
] }),
16+
children
17+
] }) }) });
18+
}
19+
function AuthLayout({ children, title, description, ...props }) {
20+
return /* @__PURE__ */ jsx(AuthSimpleLayout, { title, description, ...props, children });
21+
}
22+
export {
23+
AuthLayout as A
24+
};
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
import { jsxs, jsx } from "react/jsx-runtime";
2+
import { useForm, Head } from "@inertiajs/react";
3+
import { LoaderCircle } from "lucide-react";
4+
import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js";
5+
import { B as Button } from "./app-logo-icon-CoogQ1E6.js";
6+
import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js";
7+
import "@radix-ui/react-label";
8+
import "@radix-ui/react-slot";
9+
import "class-variance-authority";
10+
import "clsx";
11+
import "tailwind-merge";
12+
function ConfirmPassword() {
13+
const { data, setData, post, processing, errors, reset } = useForm({
14+
password: ""
15+
});
16+
const submit = (e) => {
17+
e.preventDefault();
18+
post(route("password.confirm"), {
19+
onFinish: () => reset("password")
20+
});
21+
};
22+
return /* @__PURE__ */ jsxs(
23+
AuthLayout,
24+
{
25+
title: "Confirm your password",
26+
description: "This is a secure area of the application. Please confirm your password before continuing.",
27+
children: [
28+
/* @__PURE__ */ jsx(Head, { title: "Confirm password" }),
29+
/* @__PURE__ */ jsx("form", { onSubmit: submit, children: /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
30+
/* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [
31+
/* @__PURE__ */ jsx(Label, { htmlFor: "password", children: "Password" }),
32+
/* @__PURE__ */ jsx(
33+
Input,
34+
{
35+
id: "password",
36+
type: "password",
37+
name: "password",
38+
placeholder: "Password",
39+
autoComplete: "current-password",
40+
value: data.password,
41+
autoFocus: true,
42+
onChange: (e) => setData("password", e.target.value)
43+
}
44+
),
45+
/* @__PURE__ */ jsx(InputError, { message: errors.password })
46+
] }),
47+
/* @__PURE__ */ jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxs(Button, { className: "w-full", disabled: processing, children: [
48+
processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }),
49+
"Confirm password"
50+
] }) })
51+
] }) })
52+
]
53+
}
54+
);
55+
}
56+
export {
57+
ConfirmPassword as default
58+
};
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import { jsxs, jsx } from "react/jsx-runtime";
2+
import { useId } from "react";
3+
import { A as AppLayout } from "./app-layout-D4gdSMSC.js";
4+
import { Head } from "@inertiajs/react";
5+
import "@radix-ui/react-slot";
6+
import "class-variance-authority";
7+
import "lucide-react";
8+
import "./app-logo-icon-CoogQ1E6.js";
9+
import "clsx";
10+
import "tailwind-merge";
11+
import "@radix-ui/react-dialog";
12+
import "@radix-ui/react-tooltip";
13+
import "@radix-ui/react-dropdown-menu";
14+
import "@radix-ui/react-avatar";
15+
function PlaceholderPattern({ className }) {
16+
const patternId = useId();
17+
return /* @__PURE__ */ jsxs("svg", { className, fill: "none", children: [
18+
/* @__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" }) }) }),
19+
/* @__PURE__ */ jsx("rect", { stroke: "none", fill: `url(#${patternId})`, width: "100%", height: "100%" })
20+
] });
21+
}
22+
const breadcrumbs = [
23+
{
24+
title: "Dashboard",
25+
href: "/dashboard"
26+
}
27+
];
28+
function Dashboard() {
29+
return /* @__PURE__ */ jsxs(AppLayout, { breadcrumbs, children: [
30+
/* @__PURE__ */ jsx(Head, { title: "Dashboard" }),
31+
/* @__PURE__ */ jsxs("div", { className: "flex h-full flex-1 flex-col gap-4 rounded-xl p-4", children: [
32+
/* @__PURE__ */ jsxs("div", { className: "grid auto-rows-min gap-4 md:grid-cols-3", children: [
33+
/* @__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" }) }),
34+
/* @__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" }) }),
35+
/* @__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" }) })
36+
] }),
37+
/* @__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" }) })
38+
] })
39+
] });
40+
}
41+
export {
42+
Dashboard as default
43+
};
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import { jsxs, jsx } from "react/jsx-runtime";
2+
import { useForm, Head } from "@inertiajs/react";
3+
import { LoaderCircle } from "lucide-react";
4+
import { L as Label, I as Input, a as InputError } from "./label-Byzlra19.js";
5+
import { T as TextLink } from "./text-link-D9-1YxGP.js";
6+
import { B as Button } from "./app-logo-icon-CoogQ1E6.js";
7+
import { A as AuthLayout } from "./auth-layout-Cff_NC5i.js";
8+
import "@radix-ui/react-label";
9+
import "@radix-ui/react-slot";
10+
import "class-variance-authority";
11+
import "clsx";
12+
import "tailwind-merge";
13+
function ForgotPassword({ status }) {
14+
const { data, setData, post, processing, errors } = useForm({
15+
email: ""
16+
});
17+
const submit = (e) => {
18+
e.preventDefault();
19+
post(route("password.email"));
20+
};
21+
return /* @__PURE__ */ jsxs(AuthLayout, { title: "Forgot password", description: "Enter your email to receive a password reset link", children: [
22+
/* @__PURE__ */ jsx(Head, { title: "Forgot password" }),
23+
status && /* @__PURE__ */ jsx("div", { className: "mb-4 text-center text-sm font-medium text-green-600", children: status }),
24+
/* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
25+
/* @__PURE__ */ jsxs("form", { onSubmit: submit, children: [
26+
/* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [
27+
/* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email address" }),
28+
/* @__PURE__ */ jsx(
29+
Input,
30+
{
31+
id: "email",
32+
type: "email",
33+
name: "email",
34+
autoComplete: "off",
35+
value: data.email,
36+
autoFocus: true,
37+
onChange: (e) => setData("email", e.target.value),
38+
placeholder: "[email protected]"
39+
}
40+
),
41+
/* @__PURE__ */ jsx(InputError, { message: errors.email })
42+
] }),
43+
/* @__PURE__ */ jsx("div", { className: "my-6 flex items-center justify-start", children: /* @__PURE__ */ jsxs(Button, { className: "w-full", disabled: processing, children: [
44+
processing && /* @__PURE__ */ jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }),
45+
"Email password reset link"
46+
] }) })
47+
] }),
48+
/* @__PURE__ */ jsxs("div", { className: "text-muted-foreground space-x-1 text-center text-sm", children: [
49+
/* @__PURE__ */ jsx("span", { children: "Or, return to" }),
50+
/* @__PURE__ */ jsx(TextLink, { href: route("login"), children: "log in" })
51+
] })
52+
] })
53+
] });
54+
}
55+
export {
56+
ForgotPassword as default
57+
};
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import { jsx } from "react/jsx-runtime";
2+
import { c as cn } from "./app-logo-icon-CoogQ1E6.js";
3+
import * as LabelPrimitive from "@radix-ui/react-label";
4+
function InputError({ message, className = "", ...props }) {
5+
return message ? /* @__PURE__ */ jsx("p", { ...props, className: cn("text-sm text-red-600 dark:text-red-400", className), children: message }) : null;
6+
}
7+
function Input({ className, type, ...props }) {
8+
return /* @__PURE__ */ jsx(
9+
"input",
10+
{
11+
type,
12+
"data-slot": "input",
13+
className: cn(
14+
"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",
15+
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
16+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
17+
className
18+
),
19+
...props
20+
}
21+
);
22+
}
23+
function Label({
24+
className,
25+
...props
26+
}) {
27+
return /* @__PURE__ */ jsx(
28+
LabelPrimitive.Root,
29+
{
30+
"data-slot": "label",
31+
className: cn(
32+
"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",
33+
className
34+
),
35+
...props
36+
}
37+
);
38+
}
39+
export {
40+
Input as I,
41+
Label as L,
42+
InputError as a
43+
};

0 commit comments

Comments
 (0)