mirror of
https://github.com/sortedcord/omnia.git
synced 2026-07-22 03:52:48 +05:30
fix(gui): Prevent fully autonomous simulation to auto start on load
This commit is contained in:
@@ -242,7 +242,8 @@ export function PlayView() {
|
||||
return;
|
||||
}
|
||||
setSnapshot(res.snapshot);
|
||||
if (res.snapshot.status === "running") {
|
||||
const hasPlayer = res.snapshot.entities.some((e) => e.isPlayer);
|
||||
if (res.snapshot.status === "running" && hasPlayer) {
|
||||
await runSteps(res.snapshot.id);
|
||||
} else {
|
||||
setLoading(false);
|
||||
@@ -306,12 +307,26 @@ export function PlayView() {
|
||||
switch (snapshot.status) {
|
||||
case "waiting_player":
|
||||
return `Waiting for your input as "${snapshot.waitingEntity?.name}"...`;
|
||||
case "done":
|
||||
return "Simulation complete.";
|
||||
case "error":
|
||||
return `Error: ${snapshot.error}`;
|
||||
default:
|
||||
return "Simulation running...";
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
const getUnifiedStatus = () => {
|
||||
if (!snapshot) return "";
|
||||
switch (snapshot.status) {
|
||||
case "running":
|
||||
return loading ? "RUNNING" : "PAUSED";
|
||||
case "waiting_player":
|
||||
return "WAITING FOR INPUT";
|
||||
case "done":
|
||||
return "COMPLETE";
|
||||
case "error":
|
||||
return "ERROR";
|
||||
default:
|
||||
return (snapshot.status as string).toUpperCase();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -449,7 +464,7 @@ export function PlayView() {
|
||||
<span className="text-muted-foreground">
|
||||
Status:{" "}
|
||||
<span className="text-primary font-bold">
|
||||
{snapshot.status.toUpperCase()}
|
||||
{getUnifiedStatus()}
|
||||
</span>
|
||||
</span>
|
||||
<span className="text-muted-foreground">
|
||||
@@ -457,10 +472,12 @@ export function PlayView() {
|
||||
<span className="text-foreground font-bold">{snapshot.turn}</span>
|
||||
</span>
|
||||
</div>
|
||||
<p className="text-xs font-medium text-primary mt-1 font-mono">
|
||||
{loading && "⏳ "}
|
||||
{statusMessage()}
|
||||
</p>
|
||||
{statusMessage() && (
|
||||
<p className="text-xs font-medium text-primary mt-1 font-mono">
|
||||
{loading && "⏳ "}
|
||||
{statusMessage()}
|
||||
</p>
|
||||
)}
|
||||
</header>
|
||||
|
||||
{/* Scrollable Center Viewport */}
|
||||
|
||||
@@ -239,7 +239,7 @@ ${candidatesList}
|
||||
}
|
||||
|
||||
const result = response.data;
|
||||
const db = (this.bufferRepo as any).db;
|
||||
const db = (this.bufferRepo as unknown as { db: Record<string, unknown> }).db;
|
||||
|
||||
const ledgerEntries: LedgerEntry[] = [];
|
||||
for (const chunk of result.chunks) {
|
||||
|
||||
@@ -182,7 +182,7 @@ export class LedgerRepository {
|
||||
`;
|
||||
params.push(limit);
|
||||
|
||||
const rows = this.db.prepare(query).all(...params) as Record<string, any>[];
|
||||
const rows = this.db.prepare(query).all(...params) as Record<string, unknown>[];
|
||||
|
||||
if (rows.length === 0) return [];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user