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.
This commit is contained in:
PxlLoewe
2025-05-07 00:43:45 -07:00
parent 152b3d4689
commit 50f42e99d3
49 changed files with 1040 additions and 701 deletions

View File

@@ -1,7 +1,7 @@
"use client";
import { useEffect, useState } from "react";
import { useConnectionStore } from "_store/connectionStore";
import { useDispatchConnectionStore } from "_store/pilot/connectionStore";
import {
Disc,
Mic,
@@ -20,7 +20,7 @@ import { ConnectionQuality } from "livekit-client";
import { ROOMS } from "_data/livekitRooms";
export const Audio = () => {
const connection = useConnectionStore();
const connection = useDispatchConnectionStore();
const {
isTalking,
toggleTalking,
@@ -36,7 +36,7 @@ export const Audio = () => {
useEffect(() => {
const joinRoom = async () => {
if (!connection.isConnected) return;
if (connection.status != "connected") return;
if (state === "connected") return;
connect(selectedRoom);
};
@@ -46,7 +46,8 @@ export const Audio = () => {
return () => {
disconnect();
};
}, [connection.isConnected]);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [connection.status]);
return (
<>