mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-15 17:12:59 -04:00
ui block fix
This commit is contained in:
+1
-1
@@ -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
@@ -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>
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
Reference in New Issue
Block a user