Fix som Bugs #33

This commit is contained in:
nocnico
2025-06-05 23:36:11 +02:00
parent ea21c8d141
commit 91d811e289
7 changed files with 27 additions and 20 deletions

View File

@@ -96,6 +96,7 @@ const ModalBtn = ({
eventCompleted(event, participant) && "btn-success", eventCompleted(event, participant) && "btn-success",
)} )}
onClick={openModal} onClick={openModal}
disabled={eventCompleted(event, participant)}
> >
{participant && !eventCompleted(event, participant) && ( {participant && !eventCompleted(event, participant) && (
<> <>
@@ -234,6 +235,7 @@ const ModalBtn = ({
router.refresh(); router.refresh();
closeModal(); closeModal();
}} }}
disabled={!selectAppointmentForm.watch("eventAppointmentId")}
> >
<EnterIcon /> Anmelden <EnterIcon /> Anmelden
</button> </button>

View File

@@ -5,6 +5,7 @@ import { Toaster } from "react-hot-toast";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { getServerSession } from "../api/auth/[...nextauth]/auth"; import { getServerSession } from "../api/auth/[...nextauth]/auth";
import { Error } from "_components/Error"; import { Error } from "_components/Error";
import { EmailVerification } from "_components/EmailVerification";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "VAR: Hub", title: "VAR: Hub",
@@ -47,6 +48,11 @@ export default async function RootLayout({
{/* Scrollbarer Content-Bereich */} {/* Scrollbarer Content-Bereich */}
<div className="flex-grow bg-base-100 px-6 rounded-lg shadow-md ml-4 overflow-auto h-full max-w-full w-full"> <div className="flex-grow bg-base-100 px-6 rounded-lg shadow-md ml-4 overflow-auto h-full max-w-full w-full">
{!session?.user.emailVerified && (
<div className="mb-4">
<EmailVerification />
</div>
)}
{children} {children}
</div> </div>
</div> </div>

View File

@@ -1,8 +1,6 @@
import Events from "./_components/Events"; import Events from "./_components/Events";
import { Stats } from "./_components/Stats"; import { Stats } from "./_components/Stats";
import { Badges } from "./_components/Badges"; import { Badges } from "./_components/Badges";
import { getServerSession } from "api/auth/[...nextauth]/auth";
import { EmailVerification } from "_components/EmailVerification";
import { RecentFlights } from "(app)/_components/RecentFlights"; import { RecentFlights } from "(app)/_components/RecentFlights";
export default async function Home({ export default async function Home({
@@ -10,12 +8,10 @@ export default async function Home({
}: { }: {
searchParams: Promise<{ stats?: "pilot" | "dispo" }>; searchParams: Promise<{ stats?: "pilot" | "dispo" }>;
}) { }) {
const session = await getServerSession();
const { stats } = await searchParams; const { stats } = await searchParams;
const view = stats || "pilot"; const view = stats || "pilot";
return ( return (
<div> <div>
{!session?.user.emailVerified && <EmailVerification />}
<Stats stats={view} /> <Stats stats={view} />
<div className="grid grid-cols-6 gap-4"> <div className="grid grid-cols-6 gap-4">
<div className="card bg-base-200 shadow-xl mb-4 col-span-6 xl:col-span-3"> <div className="card bg-base-200 shadow-xl mb-4 col-span-6 xl:col-span-3">

View File

@@ -289,7 +289,7 @@ export const PasswordForm = (): React.JSX.Element => {
</span> </span>
<input <input
{...form.register("password")} {...form.register("password")}
type="text" type="password"
className="input input-bordered w-full" className="input input-bordered w-full"
defaultValue={""} defaultValue={""}
/> />
@@ -303,7 +303,7 @@ export const PasswordForm = (): React.JSX.Element => {
</span> </span>
<input <input
{...form.register("newPassword")} {...form.register("newPassword")}
type="text" type="password"
className="input input-bordered w-full" className="input input-bordered w-full"
defaultValue={""} defaultValue={""}
/> />
@@ -317,7 +317,7 @@ export const PasswordForm = (): React.JSX.Element => {
</span> </span>
<input <input
{...form.register("newPasswordConfirm")} {...form.register("newPasswordConfirm")}
type="text" type="password"
className="input input-bordered w-full" className="input input-bordered w-full"
defaultValue={""} defaultValue={""}
/> />

View File

@@ -1,11 +1,5 @@
import DatePicker, { DatePickerProps, registerLocale } from "react-datepicker"; import DatePicker, { DatePickerProps, registerLocale } from "react-datepicker";
import { import { Control, Controller, FieldValues, Path } from "react-hook-form";
Control,
Controller,
FieldValues,
Path,
PathValue,
} from "react-hook-form";
import { de } from "date-fns/locale"; import { de } from "date-fns/locale";
registerLocale("de", de); registerLocale("de", de);
@@ -26,6 +20,7 @@ export const DateInput = <T extends FieldValues>({
name={name} name={name}
render={({ field }) => ( render={({ field }) => (
<DatePicker <DatePicker
className="input input-bordered mt-2"
locale={"de"} locale={"de"}
onChange={(date) => field.onChange(date)} onChange={(date) => field.onChange(date)}
selected={field.value} selected={field.value}

View File

@@ -15,19 +15,19 @@ export const WarningAlert = async () => {
let msgColor; let msgColor;
switch (mainMessage?.color) { switch (mainMessage?.color) {
case "WARNING": case "WARNING":
msgColor = "alert alert-warning ml-3"; msgColor = "alert alert-soft alert-warning ml-3 py-2";
break; break;
case "INFO": case "INFO":
msgColor = "alert alert-info ml-3"; msgColor = "alert alert-soft alert-info ml-3 py-2";
break; break;
case "SUCCESS": case "SUCCESS":
msgColor = "alert alert-success ml-3"; msgColor = "alert alert-soft alert-success ml-3 py-2";
break; break;
case "ERROR": case "ERROR":
msgColor = "alert alert-error ml-3"; msgColor = "alert alert-error ml-3 py-2";
break; break;
default: default:
msgColor = "alert ml-3"; msgColor = "alert alert-soft ml-3 py-2";
} }
if (mainMessage?.message == "" || !mainMessage) { if (mainMessage?.message == "" || !mainMessage) {
@@ -36,7 +36,7 @@ export const WarningAlert = async () => {
return ( return (
<div role="alert" className={msgColor}> <div role="alert" className={msgColor}>
<MessageCircleWarning /> <MessageCircleWarning />
<span className="font-bold">{mainMessage?.message}</span> <span className="font-bold m-0">{mainMessage?.message}</span>
</div> </div>
); );
} }

View File

@@ -19,6 +19,14 @@
} }
} }
:root:has(:is(.modal-open, .modal:target, .modal-toggle:checked + .modal, .modal[open])) {
scrollbar-gutter: unset;
}
.react-datepicker-popper {
z-index: 9999 !important;
}
:root { :root {
--background: #ffffff; --background: #ffffff;
--foreground: #171717; --foreground: #171717;