mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-16 01:21:20 -04:00
replay panel tweaking..
This commit is contained in:
+8
-5
@@ -1,9 +1,12 @@
|
|||||||
1. add faster way for admins to login, like an invisible button in top left or something
|
1. add faster way for admins to login, like an invisible button in top left or something
|
||||||
2. add tool call embeds or something for the llm bot in discord, probably not in web ui
|
2. make camera card not wait for ack before sending next command. speed is inconsistent and this is bad.
|
||||||
3. add discord bot typing thing for when someone requests a replay
|
3. add tool call embeds or something for the llm bot in discord, probably not in web ui
|
||||||
4. change replay title for ones requested from discord, something other than "requester driving rover"
|
1. fix overseer prompt so it doesnt talk every run
|
||||||
5. fix rover request spam queue cheat
|
2. rename neato locate to neato playsound for overseer
|
||||||
6. enable scrolling on horn frequencies, turn down frequency limit to like 3500
|
3. you can't control the rovers
|
||||||
|
4. add discord bot typing thing for when someone requests a replay
|
||||||
|
5. change replay title for ones requested from discord, something other than "requester driving rover"
|
||||||
|
6. fix rover request spam queue cheat
|
||||||
7. make replays more instant, probably make segments shorter
|
7. make replays more instant, probably make segments shorter
|
||||||
1. fix replay UI so it doesnt save anything in cookie
|
1. fix replay UI so it doesnt save anything in cookie
|
||||||
|
|
||||||
|
|||||||
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="Roomba Rover" />
|
<meta name="apple-mobile-web-app-title" content="Roomba Rover" />
|
||||||
<title>Roomba Rover</title>
|
<title>Roomba Rover</title>
|
||||||
<script type="module" crossorigin src="/assets/index-ZJG0zdLU.js"></script>
|
<script type="module" crossorigin src="/assets/index-3_2nPjxD.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-LJWnKvT4.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-LJWnKvT4.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -63,13 +63,8 @@ export default function ReplaySourcesPanel({ panelId = 'replay-sources', fillHei
|
|||||||
}, [users, selfSocketId, assignmentRoverId, roster]);
|
}, [users, selfSocketId, assignmentRoverId, roster]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const saved = settings?.[panelId];
|
|
||||||
if (Array.isArray(saved) && saved.length) {
|
|
||||||
setSelected(saved);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
setSelected(defaults);
|
setSelected(defaults);
|
||||||
}, [settings?.[panelId], defaults, panelId]);
|
}, [defaults]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const saved = settings?.[`${panelId}:includeSidebar`];
|
const saved = settings?.[`${panelId}:includeSidebar`];
|
||||||
@@ -80,6 +75,16 @@ export default function ReplaySourcesPanel({ panelId = 'replay-sources', fillHei
|
|||||||
setIncludeSidebar(true);
|
setIncludeSidebar(true);
|
||||||
}, [settings?.[`${panelId}:includeSidebar`], panelId]);
|
}, [settings?.[`${panelId}:includeSidebar`], panelId]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const saved = settings?.[`${panelId}:title`];
|
||||||
|
if (typeof saved === 'string') {
|
||||||
|
setTitle(saved);
|
||||||
|
setTitleDirty(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
setTitleDirty(false);
|
||||||
|
}, [settings?.[`${panelId}:title`], panelId]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!titleDirty) {
|
if (!titleDirty) {
|
||||||
setTitle(defaultTitle);
|
setTitle(defaultTitle);
|
||||||
@@ -116,9 +121,7 @@ export default function ReplaySourcesPanel({ panelId = 'replay-sources', fillHei
|
|||||||
|
|
||||||
const toggleKey = (key) => {
|
const toggleKey = (key) => {
|
||||||
setSelected((prev) => {
|
setSelected((prev) => {
|
||||||
const next = prev.includes(key) ? prev.filter((value) => value !== key) : [...prev, key];
|
return prev.includes(key) ? prev.filter((value) => value !== key) : [...prev, key];
|
||||||
saveSettings((current) => ({ ...(current || {}), [panelId]: next }));
|
|
||||||
return next;
|
|
||||||
});
|
});
|
||||||
setSuccess(null);
|
setSuccess(null);
|
||||||
};
|
};
|
||||||
@@ -166,8 +169,10 @@ export default function ReplaySourcesPanel({ panelId = 'replay-sources', fillHei
|
|||||||
className="field-input w-full text-xs"
|
className="field-input w-full text-xs"
|
||||||
value={title}
|
value={title}
|
||||||
onChange={(event) => {
|
onChange={(event) => {
|
||||||
setTitle(event.target.value);
|
const next = event.target.value;
|
||||||
|
setTitle(next);
|
||||||
setTitleDirty(true);
|
setTitleDirty(true);
|
||||||
|
saveSettings((current) => ({ ...(current || {}), [`${panelId}:title`]: next }));
|
||||||
}}
|
}}
|
||||||
placeholder={defaultTitle}
|
placeholder={defaultTitle}
|
||||||
maxLength={120}
|
maxLength={120}
|
||||||
|
|||||||
Reference in New Issue
Block a user