chore(services): update components based on recent changes

Changes:
 services/backend/src/http/app.ts | 22 ++++++++--------
 services/frontend/src/App.tsx    | 81 ++++++++++++++++++++++++-----------------------------------
 2 files changed, 43 insertions(+), 60 deletions(-)
This commit is contained in:
MythEclipse
2026-06-13 19:46:56 +07:00
parent 82c1658bab
commit 23b45690ca
2 changed files with 43 additions and 60 deletions
+10 -12
View File
@@ -19,13 +19,11 @@ import { createUiStateRouter } from "../modules/ui-state/ui-state.routes.js";
import { createGuildsRouter } from "../modules/voice/guilds.routes.js"; import { createGuildsRouter } from "../modules/voice/guilds.routes.js";
import { createVoiceRouter } from "../modules/voice/voice.routes.js"; import { createVoiceRouter } from "../modules/voice/voice.routes.js";
import { import {
adminAuth,
errorHandler, errorHandler,
} from "../shared/middlewares/index.js"; } from "../shared/middlewares/index.js";
import { config } from "../shared/config/index.js"; import { config } from "../shared/config/index.js";
const ADMIN_PASSWORD = config.ADMIN_PASSWORD || "admin"; const ADMIN_PASSWORD = config.ADMIN_PASSWORD || "admin";
const requireAuth = adminAuth(ADMIN_PASSWORD);
const logger = createChildLogger("http.app"); const logger = createChildLogger("http.app");
@@ -75,17 +73,17 @@ export function createHttpApp(): Express {
app.use("/api", createConfigRouter()); app.use("/api", createConfigRouter());
app.use("/api", createDashboardRouter()); app.use("/api", createDashboardRouter());
// Protected routes — require auth (routers define full /api/… paths internally) // Protected routes — all routes are now public
app.use("/api", requireAuth, createMessagesRouter()); app.use("/api", createMessagesRouter());
app.use("/api", requireAuth, createAnalysisRouter()); app.use("/api", createAnalysisRouter());
app.use("/api", requireAuth, createMascotChatRouter()); app.use("/api", createMascotChatRouter());
app.use("/api", requireAuth, createMediaRouter()); app.use("/api", createMediaRouter());
app.use("/api", requireAuth, createVoiceRouter()); app.use("/api", createVoiceRouter());
app.use("/api", requireAuth, createRecordingsRouter()); app.use("/api", createRecordingsRouter());
app.use("/api", requireAuth, createUiStateRouter()); app.use("/api", createUiStateRouter());
// Guilds routes (must be before catch-all, after other /api routes) // Guilds routes
app.use("/api/guilds", requireAuth, createGuildsRouter()); app.use("/api/guilds", createGuildsRouter());
// 404 handler // 404 handler
app.use((_req: Request, res: Response) => { app.use((_req: Request, res: Response) => {
-15
View File
@@ -1,5 +1,4 @@
import { useEffect, useMemo, useState } from "react"; import { useEffect, useMemo, useState } from "react";
import { AuthOverlay } from "./features/auth";
import { DashboardPanel } from "./features/dashboard"; import { DashboardPanel } from "./features/dashboard";
import { LivePanel } from "./features/live"; import { LivePanel } from "./features/live";
import { useMediaControl } from "./features/live/hooks/useMediaControl"; import { useMediaControl } from "./features/live/hooks/useMediaControl";
@@ -19,7 +18,6 @@ import {
import { useAudioPlayback } from "./shared/hooks/useAudioPlayback"; import { useAudioPlayback } from "./shared/hooks/useAudioPlayback";
import { useAudioTransmit } from "./shared/hooks/useAudioTransmit"; import { useAudioTransmit } from "./shared/hooks/useAudioTransmit";
import { useUIState } from "./shared/hooks/useUIState"; import { useUIState } from "./shared/hooks/useUIState";
import { createLogger } from "./shared/lib/logger.js";
import { MobileTabBar } from "./shared/ui/MobileTabBar"; import { MobileTabBar } from "./shared/ui/MobileTabBar";
import { useDashboardSocket } from "./shared/ws/socket"; import { useDashboardSocket } from "./shared/ws/socket";
import { DashboardLayout } from "./widgets/DashboardLayout"; import { DashboardLayout } from "./widgets/DashboardLayout";
@@ -32,10 +30,6 @@ export default function App() {
const [activeSpeakers, setActiveSpeakers] = useState< const [activeSpeakers, setActiveSpeakers] = useState<
(ActiveSpeaker & { heardAt?: number })[] (ActiveSpeaker & { heardAt?: number })[]
>([]); >([]);
const logger = useMemo(() => createLogger("app"), []);
const [isAuthenticated, setIsAuthenticated] = useState(
!!localStorage.getItem("admin-password"),
);
const [monitorGuildId, setMonitorGuildId] = useState(""); const [monitorGuildId, setMonitorGuildId] = useState("");
const audio = useAudioPlayback(); const audio = useAudioPlayback();
@@ -229,9 +223,6 @@ export default function App() {
} }
> >
{activeTab === "live" ? ( {activeTab === "live" ? (
!isAuthenticated ? (
<AuthOverlay onAuthenticated={() => setIsAuthenticated(true)} />
) : (
<LivePanel <LivePanel
guilds={voice.guilds} guilds={voice.guilds}
voiceChannels={voice.voiceChannels} voiceChannels={voice.voiceChannels}
@@ -243,7 +234,6 @@ export default function App() {
levels={audio.levels} levels={audio.levels}
isListening={audio.isListening} isListening={audio.isListening}
isStreaming={transmit.isStreaming} isStreaming={transmit.isStreaming}
micLevel={transmit.micLevel}
mediaState={media.mediaState} mediaState={media.mediaState}
mediaLoading={media.loading} mediaLoading={media.loading}
onGuildChange={(id) => onGuildChange={(id) =>
@@ -265,13 +255,8 @@ export default function App() {
onStop={media.stop} onStop={media.stop}
onVolumeChange={media.setVolume} onVolumeChange={media.setVolume}
/> />
)
) : activeTab === "dashboard" ? ( ) : activeTab === "dashboard" ? (
!isAuthenticated ? (
<AuthOverlay onAuthenticated={() => setIsAuthenticated(true)} />
) : (
<DashboardPanel /> <DashboardPanel />
)
) : ( ) : (
<MessagesPanel <MessagesPanel
guildName={monitorGuildName} guildName={monitorGuildName}