From ebd049c8be9268647c15755088e47841609d4fc1 Mon Sep 17 00:00:00 2001 From: Theodore Kruczek Date: Wed, 31 Dec 2025 07:27:09 -0500 Subject: [PATCH 1/2] fix: :bug: Correct LNB noise temperature in scenario1 --- src/campaigns/nats/scenario1.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/campaigns/nats/scenario1.ts b/src/campaigns/nats/scenario1.ts index 197ca886..f97abe66 100644 --- a/src/campaigns/nats/scenario1.ts +++ b/src/campaigns/nats/scenario1.ts @@ -90,7 +90,7 @@ export const scenario1Data: ScenarioData = { 'No reading - LNB is offline', ], correctIndex: 0, - explanation: 'The LNB noise temperature of 433K is excellent. Lower noise temperature means better receive sensitivity. Anything under 100K is considered good for C-band.', + explanation: 'The LNB noise temperature of 43K is excellent. Lower noise temperature means better receive sensitivity. Anything under 100K is considered good for C-band.', pointPenalty: 10, }, mustMaintain: false, From 4ec876605cb3a273070614f418c857cb21e6d272 Mon Sep 17 00:00:00 2001 From: Theodore Kruczek Date: Wed, 31 Dec 2025 10:28:32 -0500 Subject: [PATCH 2/2] refactor: :recycle: Add checkpoint handling to failure modal Closes #161 --- src/modal/objective-failed-modal.ts | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/modal/objective-failed-modal.ts b/src/modal/objective-failed-modal.ts index 1a44d365..9701b2a6 100644 --- a/src/modal/objective-failed-modal.ts +++ b/src/modal/objective-failed-modal.ts @@ -26,6 +26,7 @@ export class ObjectiveFailedModal extends DraggableModal { isScenarioTimeout: false, }; private progressSaveManager_: ProgressSaveManager; + private hasCheckpoint_: boolean = false; private constructor() { if (ObjectiveFailedModal.instance_) { @@ -46,6 +47,13 @@ export class ObjectiveFailedModal extends DraggableModal { } protected getModalContentHtml(): string { + const checkpointButton = this.hasCheckpoint_ + ? `` + : ''; + + // Make Restart Scenario primary when it's the only option + const scenarioButtonClass = this.hasCheckpoint_ ? 'btn btn-secondary' : 'btn btn-primary'; + return html`
Time expired
@@ -53,10 +61,8 @@ export class ObjectiveFailedModal extends DraggableModal {
${this.options_.message}
- -
@@ -106,7 +112,7 @@ export class ObjectiveFailedModal extends DraggableModal { window.location.reload(); } - showFailure(options: Partial): void { + async showFailure(options: Partial): Promise { this.options_ = { title: 'Objective Failed', message: 'Time has expired.', @@ -114,6 +120,14 @@ export class ObjectiveFailedModal extends DraggableModal { ...options, }; + // Check if checkpoint exists for current scenario + const scenario = ScenarioManager.getInstance(); + if (scenario?.data?.id) { + this.hasCheckpoint_ = await this.progressSaveManager_.hasCheckpoint(scenario.data.id); + } else { + this.hasCheckpoint_ = false; + } + // Close any open popups before showing failure modal this.closeAllPopups_();