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] 1. fix controls remapping [x]
2. trusted user system [x] 2. trusted user system [x]
3. private rovers [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 5. allow admins to click on locked rovers from the roster
6. add faster way for admins to login 6. add faster way for admins to login
7. custom webhook profile pictures for chat bridge in discord 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-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Multi Roomba Rover" /> <meta name="apple-mobile-web-app-title" content="Multi Roomba Rover" />
<title>Multi Roomba Rover</title> <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"> <link rel="stylesheet" crossorigin href="/assets/index-CwUXm7Ls.css">
</head> </head>
<body> <body>
+10 -2
View File
@@ -47,6 +47,13 @@ export default function RoverQueuesPanel({ title = 'Rovers' }) {
const [now, setNow] = useState(() => Date.now()); const [now, setNow] = useState(() => Date.now());
const canRequest = useMemo(() => session?.role && session.role !== 'spectator', [session?.role]); 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 roster = session?.roster ?? [];
const turnQueues = session?.turnQueues ?? {}; const turnQueues = session?.turnQueues ?? {};
const users = session?.users ?? []; const users = session?.users ?? [];
@@ -113,10 +120,11 @@ export default function RoverQueuesPanel({ title = 'Rovers' }) {
const isSelfNext = Boolean(selfId && nextId && nextId === selfId); const isSelfNext = Boolean(selfId && nextId && nextId === selfId);
const showTimer = remainingSeconds != null && (isSelfCurrent || isSelfNext); const showTimer = remainingSeconds != null && (isSelfCurrent || isSelfNext);
const locked = Boolean(rover.locked); const locked = Boolean(rover.locked);
const lockedBlocked = locked && !adminCapable;
const isPrivateOpen = Boolean(rover?.private?.enabled && rover?.private?.open); const isPrivateOpen = Boolean(rover?.private?.enabled && rover?.private?.open);
const lockLabel = rover.lockReason ? `locked: ${rover.lockReason}` : 'locked'; const lockLabel = rover.lockReason ? `locked: ${rover.lockReason}` : 'locked';
const buttonLabel = locked ? lockLabel : pending[roverId] ? '...' : 'request'; const buttonLabel = locked ? lockLabel : pending[roverId] ? '...' : 'request';
const canClickRow = canRequest && !locked && !pending[roverId]; const canClickRow = canRequest && !lockedBlocked && !pending[roverId];
return ( return (
<li <li
key={rover.id} key={rover.id}
@@ -188,7 +196,7 @@ export default function RoverQueuesPanel({ title = 'Rovers' }) {
event.stopPropagation(); event.stopPropagation();
handleRequest(rover.id); handleRequest(rover.id);
}} }}
disabled={pending[roverId] || locked} disabled={pending[roverId] || lockedBlocked}
className={classNames( className={classNames(
'button-dark disabled:opacity-40', 'button-dark disabled:opacity-40',
locked && 'bg-red-600/70 text-white hover:bg-red-600', locked && 'bg-red-600/70 text-white hover:bg-red-600',