ui block fix

This commit is contained in:
legop3
2026-03-25 21:56:23 -04:00
parent 904f28eeef
commit 998933f4c2
5 changed files with 137 additions and 129 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
1. fix controls remapping [x]
2. trusted user system [x]
3. private rovers [x]
4. optional bump-off in drive macro
4. optional bump-off in drive macro [x]
5. allow admins to click on locked rovers from the roster
6. add faster way for admins to login
7. custom webhook profile pictures for chat bridge in discord
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -11,7 +11,7 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Multi Roomba Rover" />
<title>Multi Roomba Rover</title>
<script type="module" crossorigin src="/assets/index-DWSaRjmF.js"></script>
<script type="module" crossorigin src="/assets/index-Dmezqb_N.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-CwUXm7Ls.css">
</head>
<body>
+10 -2
View File
@@ -47,6 +47,13 @@ export default function RoverQueuesPanel({ title = 'Rovers' }) {
const [now, setNow] = useState(() => Date.now());
const canRequest = useMemo(() => session?.role && session.role !== 'spectator', [session?.role]);
const adminCapable = useMemo(
() =>
session?.role === 'admin' ||
session?.role === 'lockdown' ||
session?.role === 'lockdown-admin',
[session?.role],
);
const roster = session?.roster ?? [];
const turnQueues = session?.turnQueues ?? {};
const users = session?.users ?? [];
@@ -113,10 +120,11 @@ export default function RoverQueuesPanel({ title = 'Rovers' }) {
const isSelfNext = Boolean(selfId && nextId && nextId === selfId);
const showTimer = remainingSeconds != null && (isSelfCurrent || isSelfNext);
const locked = Boolean(rover.locked);
const lockedBlocked = locked && !adminCapable;
const isPrivateOpen = Boolean(rover?.private?.enabled && rover?.private?.open);
const lockLabel = rover.lockReason ? `locked: ${rover.lockReason}` : 'locked';
const buttonLabel = locked ? lockLabel : pending[roverId] ? '...' : 'request';
const canClickRow = canRequest && !locked && !pending[roverId];
const canClickRow = canRequest && !lockedBlocked && !pending[roverId];
return (
<li
key={rover.id}
@@ -188,7 +196,7 @@ export default function RoverQueuesPanel({ title = 'Rovers' }) {
event.stopPropagation();
handleRequest(rover.id);
}}
disabled={pending[roverId] || locked}
disabled={pending[roverId] || lockedBlocked}
className={classNames(
'button-dark disabled:opacity-40',
locked && 'bg-red-600/70 text-white hover:bg-red-600',