diff --git a/packages/web/src/routes/_app/devices.$deviceId.tsx b/packages/web/src/routes/_app/devices.$deviceId.tsx index 3740100..2353081 100644 --- a/packages/web/src/routes/_app/devices.$deviceId.tsx +++ b/packages/web/src/routes/_app/devices.$deviceId.tsx @@ -1,6 +1,6 @@ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { createFileRoute, Link, useNavigate } from "@tanstack/react-router"; -import { ArrowLeft, ExternalLink } from "lucide-react"; +import { ArrowLeft, ExternalLink, Smartphone } from "lucide-react"; import { type ReactNode, useCallback, useEffect, useRef, useState } from "react"; import { toast } from "sonner"; import { DeviceConsole } from "@/components/device-console"; @@ -377,14 +377,7 @@ function DevicePage() { )} ) - ) : ( - - )} + ) : null}
@@ -399,12 +392,30 @@ function DevicePage() { ? "Your request to join is waiting for an answer." : "Ask to join, or wait for it to come free."}

- ) : device.status === "cleaning" ? ( -

- This device is being reset after its last session. It will be available in a moment. -

) : ( -

Reserve this device to open a session.

+ // The reserve action lives here rather than in the header: this + // empty panel is where the eye already is, and it is the only + // thing the page is asking for. +
+ +
+

+ {device.status === "cleaning" ? "Being cleaned" : "This device is free"} +

+

+ {device.status === "cleaning" + ? "It is being reset after its last session, and will be available in a moment." + : "Reserve it to open a session and start streaming."} +

+
+ +
)}
) : poppedOut ? (