v0.73.0: remove new-package toast notifications
CI / build + unit + e2e (pull_request) Successful in 13m31s
CI / build + unit + e2e (pull_request) Successful in 13m31s
This commit is contained in:
+4
-9
@@ -15,8 +15,7 @@ export interface GameEvent {
|
||||
const planeName = (model: string): string => PLANE_TYPES[model]?.name ?? model;
|
||||
|
||||
export function diffSnapshots(prev: StateSnapshot | null, next: StateSnapshot): GameEvent[] {
|
||||
// No baseline yet (first snapshot after load) — nothing to compare against. Emitting a
|
||||
// "new package" event for every existing row would spam the stack on page load.
|
||||
// No baseline yet (first snapshot after load) — nothing to diff against, so no events.
|
||||
if (prev === null) return [];
|
||||
|
||||
const events: GameEvent[] = [];
|
||||
@@ -40,16 +39,12 @@ export function diffSnapshots(prev: StateSnapshot | null, next: StateSnapshot):
|
||||
}
|
||||
}
|
||||
|
||||
// Packages: delivered (loaded → delivered, reward paid out in the same tick), expired
|
||||
// (open|loaded → expired), newly appeared (id only in next — terminal packages are never
|
||||
// deleted, so an id appearing is always a genuinely new one).
|
||||
// Packages: delivered (loaded → delivered, reward paid out in the same tick) and expired
|
||||
// (open|loaded → expired). Ids that appear for the first time emit nothing.
|
||||
const prevPackages = new Map(prev.packages.map((p) => [p.id, p]));
|
||||
for (const pkg of next.packages) {
|
||||
const before = prevPackages.get(pkg.id);
|
||||
if (!before) {
|
||||
events.push({ kind: 'info', message: `New package available: ${pkg.originName} → ${pkg.destName}` });
|
||||
continue;
|
||||
}
|
||||
if (!before) continue;
|
||||
if (before.status === 'loaded' && pkg.status === 'delivered') {
|
||||
events.push({ kind: 'info', message: `Package delivered: +${formatCash(pkg.reward)}` });
|
||||
} else if ((before.status === 'open' || before.status === 'loaded') && pkg.status === 'expired') {
|
||||
|
||||
Reference in New Issue
Block a user