From 70cd19ddbcf0b08d1972ca0d57aeca97a69dfddc Mon Sep 17 00:00:00 2001 From: Marc Brooks Date: Wed, 1 Oct 2025 11:49:31 -0500 Subject: [PATCH] Removed duplicate code between main and devices.$id The isOneDevice and checkAuth can be leveraged from devices.$id.tsx --- ui/src/main.tsx | 2 +- ui/src/routes/devices.$id.tsx | 24 +++++------------------- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/ui/src/main.tsx b/ui/src/main.tsx index 79ca6717..ccd40934 100644 --- a/ui/src/main.tsx +++ b/ui/src/main.tsx @@ -85,7 +85,7 @@ export async function checkDeviceAuth() { } export async function checkAuth() { - return import.meta.env.MODE === "device" ? checkDeviceAuth() : checkCloudAuth(); + return isOnDevice ? checkDeviceAuth() : checkCloudAuth(); } let router; diff --git a/ui/src/routes/devices.$id.tsx b/ui/src/routes/devices.$id.tsx index 1fcd46ab..85e3c729 100644 --- a/ui/src/routes/devices.$id.tsx +++ b/ui/src/routes/devices.$id.tsx @@ -1,7 +1,6 @@ import { lazy, useCallback, useEffect, useMemo, useRef, useState } from "react"; import { Outlet, - redirect, useLoaderData, useLocation, useNavigate, @@ -15,7 +14,7 @@ import { FocusTrap } from "focus-trap-react"; import { motion, AnimatePresence } from "framer-motion"; import useWebSocket from "react-use-websocket"; -import { CLOUD_API, DEVICE_API } from "@/ui.config"; +import { CLOUD_API } from "@/ui.config"; import api from "@/api"; import { checkAuth, isInCloud, isOnDevice } from "@/main"; import { cx } from "@/cva.config"; @@ -48,7 +47,6 @@ import { } from "@/components/VideoOverlay"; import { useDeviceUiNavigation } from "@/hooks/useAppNavigation"; import { FeatureFlagProvider } from "@/providers/FeatureFlagProvider"; -import { DeviceStatus } from "@routes/welcome-local"; import { useVersion } from "@/hooks/useVersion"; interface LocalLoaderResp { @@ -70,20 +68,8 @@ export interface LocalDevice { } const deviceLoader = async () => { - const res = await api - .GET(`${DEVICE_API}/device/status`) - .then(res => res.json() as Promise); - - if (!res.isSetup) return redirect("/welcome"); - - const deviceRes = await api.GET(`${DEVICE_API}/device`); - if (deviceRes.status === 401) return redirect("/login-local"); - if (deviceRes.ok) { - const device = (await deviceRes.json()) as LocalDevice; - return { authMode: device.authMode }; - } - - throw new Error("Error fetching device"); + const device = await checkAuth(); + return { authMode: device.authMode } as LocalLoaderResp; }; const cloudLoader = async (params: Params): Promise => { @@ -106,11 +92,11 @@ const cloudLoader = async (params: Params): Promise => device: { id: string; name: string; user: { googleId: string } }; }; - return { user, iceConfig, deviceName: device.name || device.id }; + return { user, iceConfig, deviceName: device.name || device.id } as CloudLoaderResp; }; const loader: LoaderFunction = ({ params }: LoaderFunctionArgs) => { - return import.meta.env.MODE === "device" ? deviceLoader() : cloudLoader(params); + return isOnDevice ? deviceLoader() : cloudLoader(params); }; export default function KvmIdRoute() {