diff --git a/apps/hub/app/(app)/_components/Header.tsx b/apps/hub/app/(app)/_components/Header.tsx new file mode 100644 index 00000000..7a9a3549 --- /dev/null +++ b/apps/hub/app/(app)/_components/Header.tsx @@ -0,0 +1,44 @@ +import { PlaneIcon, Workflow } from "lucide-react"; +import { useSession } from "next-auth/react"; + +interface HeaderProps { + isChecked: boolean; + handleCheckboxChange: (event: React.ChangeEvent) => void; +} + +export const Header = ({ isChecked, handleCheckboxChange }: HeaderProps) => { + const session = useSession(); + console.log(session); + return ( +
+

+ Hallo,{" "} + {session.status === "authenticated" + ? session.data?.user.firstname + : ""} + {"!"} +

+
+
+ +
+
+
+ ); +}; diff --git a/apps/hub/app/(app)/_components/stats.tsx b/apps/hub/app/(app)/_components/stats.tsx new file mode 100644 index 00000000..b5c6ad2e --- /dev/null +++ b/apps/hub/app/(app)/_components/stats.tsx @@ -0,0 +1,129 @@ +import { PlaneIcon } from "lucide-react"; + +interface StatsProps { + isChecked: boolean; +} + +export const Stats = ({ isChecked }: StatsProps) => { + return isChecked ? PilotStats() : DispoStats(); +}; + +export const PilotStats = (): JSX.Element => { + return ( +
+
+
+ + + +
+
Einsätze geflogen
+
127
+
Du bist damit unter den top 5%!
+
+ +
+
+ + + +
+
Pilot Login Zeit
+
35h 12m
+
Mehr als 58% aller anderen User!
+
+ +
+
+ +
+
Christoph 31
+
+ War bisher dein Rettungsmittel der Wahl +
+
+ 87 Stationen warten noch auf dich! +
+
+
+ ); +}; + +export const DispoStats = (): JSX.Element => { + return ( +
+
+
+ + + +
+
Einsätze disponiert
+
578
+
Du bist damit unter den top 9%!
+
+ +
+
+ + + +
+
Disponent Login Zeit
+
53h 12m
+
Mehr als 69% aller anderen User!
+
+ +
+
+ +
+
Christoph Berlin
+
Wurde von dir am meisten Disponiert
+
+ 43 Stationen warten auf deine Einsätze! +
+
+
+ ); +}; diff --git a/apps/hub/app/(app)/page.tsx b/apps/hub/app/(app)/page.tsx index a33f02a5..9573b411 100644 --- a/apps/hub/app/(app)/page.tsx +++ b/apps/hub/app/(app)/page.tsx @@ -1,81 +1,35 @@ -import Link from "next/link"; -import { PaginatedTable } from "../_components/PaginatedTable"; -import { Header } from "../_components/ui/Header"; +"use client"; + +import { useState } from "react"; +import { Header } from "./_components/Header"; +import { Stats } from "./_components/stats"; + +/* +✔️ Einlog-Zeit +✔️ Stats +✔️ Pilot / Disponent TODO: Selection persistent machen +Map - I dont know man, passt hier vielleicht nicht rein +Logbuch / Einsatzhistorie +Badges +Aktive Events / Mandatory Events +*/ + +export default function Home() { + const [isChecked, setIsChecked] = useState(true); + + const handleCheckboxChange = (event: React.ChangeEvent) => { + setIsChecked(event.target.checked); + }; -export default async function Home() { return (
-
- - Map -
- Logbuch -
- Einlog-Zeit (7 Tage, total) -
- Stats -
- Badges -
- gd -
- gd -
- gd -
- gd -
- gd -
- gd -
- gd -
- gd -
- gd -
- gd -
- gd -
- gd -
- gd -
- gd -
- gd -
- gd -
- gd -
- gd -
+
+ +
); } diff --git a/apps/hub/app/(app)/settings/_components/forms.tsx b/apps/hub/app/(app)/settings/_components/forms.tsx index 8873634a..778b9d3c 100644 --- a/apps/hub/app/(app)/settings/_components/forms.tsx +++ b/apps/hub/app/(app)/settings/_components/forms.tsx @@ -170,17 +170,11 @@ export const SocialForm = ({ }); })} > -

+

Verbindungen & Benachrichtigungen

-
- - Discord - -
- {discordAccount ? ( - - )} -
- - ); -};