Files
var-monorepo/apps/dispatch/app/pilot/_components/navbar/Navbar.tsx
PxlLoewe 50f42e99d3 feat: Implement connected user API and integrate chat and report components
- Added API routes for fetching connected users, keywords, missions, and stations.
- Created a new QueryProvider component for managing query states and socket events.
- Introduced connection stores for dispatch and pilot, managing socket connections and states.
- Updated Prisma schema for connected aircraft model.
- Enhanced UI with toast notifications for status updates and chat interactions.
- Implemented query functions for fetching connected users and keywords with error handling.
2025-05-07 00:43:45 -07:00

56 lines
1.4 KiB
TypeScript

"use client";
import { Connection } from "./Connection";
import { ThemeSwap } from "./ThemeSwap";
import { Audio } from "./Audio";
import { useState } from "react";
import { ExitIcon, ExternalLinkIcon } from "@radix-ui/react-icons";
import Link from "next/link";
export default function Navbar() {
const [isDark, setIsDark] = useState(false);
const toggleTheme = () => {
const newTheme = !isDark;
setIsDark(newTheme);
document.documentElement.setAttribute(
"data-theme",
newTheme ? "nord" : "dark",
);
};
return (
<div className="navbar bg-base-100 shadow-sm flex gap-5 justify-between">
<div className="flex items-center gap-2">
<a className="btn btn-ghost text-xl">VAR Leitstelle V2</a>
</div>
<div className="flex items-center gap-5">
<div className="flex items-center gap-2">
<Audio />
</div>
<div className="flex items-center">
<Connection />
</div>
<ThemeSwap isDark={isDark} toggleTheme={toggleTheme} />
<div className="flex items-center">
<Link
href={process.env.NEXT_PUBLIC_HUB_URL || "#!"}
target="_blank"
rel="noopener noreferrer"
>
<button className="btn btn-ghost">
<ExternalLinkIcon className="w-4 h-4" /> HUB
</button>
</Link>
<Link href={"/logout"}>
<button className="btn btn-ghost">
<ExitIcon className="w-4 h-4" />
</button>
</Link>
</div>
</div>
</div>
);
}