removed event-chronjobs, used Events in hub-app insteand, added admin Btn to set Discord-User and run Event-completed-workflow. Fixed Bug of wrong participants-count in Event-Modal
This commit is contained in:
@@ -4,6 +4,7 @@ import {
|
||||
BADGES,
|
||||
ConnectedAircraft,
|
||||
ConnectedDispatcher,
|
||||
DiscordAccount,
|
||||
PERMISSION,
|
||||
Report,
|
||||
Station,
|
||||
@@ -22,6 +23,7 @@ import {
|
||||
LockOpen1Icon,
|
||||
HobbyKnifeIcon,
|
||||
ExclamationTriangleIcon,
|
||||
DiscordLogoIcon,
|
||||
} from "@radix-ui/react-icons";
|
||||
import { Button } from "../../../../../_components/ui/Button";
|
||||
import { Select } from "../../../../../_components/ui/Select";
|
||||
@@ -34,6 +36,7 @@ import Link from "next/link";
|
||||
import { ColumnDef } from "@tanstack/react-table";
|
||||
import { Error } from "_components/Error";
|
||||
import { useSession } from "next-auth/react";
|
||||
import { setStandardName } from "../../../../../../helper/discord";
|
||||
|
||||
interface ProfileFormProps {
|
||||
user: User;
|
||||
@@ -362,6 +365,7 @@ export const UserReports = ({ user }: { user: User }) => {
|
||||
};
|
||||
|
||||
interface AdminFormProps {
|
||||
discordAccount?: DiscordAccount;
|
||||
user: User;
|
||||
dispoTime: {
|
||||
hours: number;
|
||||
@@ -380,7 +384,13 @@ interface AdminFormProps {
|
||||
};
|
||||
}
|
||||
|
||||
export const AdminForm = ({ user, dispoTime, pilotTime, reports }: AdminFormProps) => {
|
||||
export const AdminForm = ({
|
||||
user,
|
||||
dispoTime,
|
||||
pilotTime,
|
||||
reports,
|
||||
discordAccount,
|
||||
}: AdminFormProps) => {
|
||||
const router = useRouter();
|
||||
|
||||
return (
|
||||
@@ -444,6 +454,27 @@ export const AdminForm = ({ user, dispoTime, pilotTime, reports }: AdminFormProp
|
||||
<HobbyKnifeIcon /> User Entperren
|
||||
</Button>
|
||||
)}
|
||||
{discordAccount && (
|
||||
<div className="tooltip flex-1" data-tip={`Name: ${discordAccount.username}`}>
|
||||
<Button
|
||||
onClick={async () => {
|
||||
await setStandardName({
|
||||
memberId: discordAccount.discordId,
|
||||
userId: user.id,
|
||||
});
|
||||
toast.success("Standard Name wurde gesetzt!", {
|
||||
style: {
|
||||
background: "var(--color-base-100)",
|
||||
color: "var(--color-base-content)",
|
||||
},
|
||||
});
|
||||
}}
|
||||
className="btn-sm w-full btn-outline btn-info"
|
||||
>
|
||||
<DiscordLogoIcon /> Name und Berechtigungen setzen
|
||||
</Button>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
<h2 className="card-title">
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
import { PersonIcon } from "@radix-ui/react-icons";
|
||||
import { prisma, User } from "@repo/db";
|
||||
import { prisma } from "@repo/db";
|
||||
import { AdminForm, ConnectionHistory, ProfileForm, UserReports } from "./_components/forms";
|
||||
import { Error } from "../../../../_components/Error";
|
||||
|
||||
export default async function Page({ params }: { params: Promise<{ id: string }> }) {
|
||||
const { id } = await params;
|
||||
|
||||
const user: User | null = await prisma.user.findUnique({
|
||||
const user = await prisma.user.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
include: {
|
||||
discordAccounts: true,
|
||||
},
|
||||
});
|
||||
|
||||
const dispoSessions = await prisma.connectedDispatcher.findMany({
|
||||
@@ -88,7 +91,6 @@ export default async function Page({ params }: { params: Promise<{ id: string }>
|
||||
open: totalReportsOpen,
|
||||
total60Days: totalReports60Days,
|
||||
};
|
||||
|
||||
if (!user) return <Error statusCode={404} title="User not found" />;
|
||||
return (
|
||||
<div className="grid grid-cols-6 gap-4">
|
||||
@@ -102,7 +104,13 @@ export default async function Page({ params }: { params: Promise<{ id: string }>
|
||||
<ProfileForm user={user} />
|
||||
</div>
|
||||
<div className="card bg-base-200 shadow-xl mb-4 col-span-6 xl:col-span-3">
|
||||
<AdminForm user={user} dispoTime={dispoTime} pilotTime={pilotTime} reports={reports} />
|
||||
<AdminForm
|
||||
user={user}
|
||||
dispoTime={dispoTime}
|
||||
pilotTime={pilotTime}
|
||||
reports={reports}
|
||||
discordAccount={user.discordAccounts[0]}
|
||||
/>
|
||||
</div>
|
||||
<div className="card bg-base-200 shadow-xl mb-4 col-span-6 xl:col-span-6">
|
||||
<UserReports user={user} />
|
||||
|
||||
Reference in New Issue
Block a user