From 98aca5e8ed8e8c5fd074653ed9bd2deb2bcd470f Mon Sep 17 00:00:00 2001 From: Elena Schramme Date: Thu, 9 May 2024 16:23:08 -0700 Subject: [PATCH] fixed stress level but message list still broken --- src/prototype/lpd/stress/highLPD.ts | 244 ++++++++++++------------ src/prototype/lpd/stress/lowLPD.ts | 187 ++++++++++--------- src/prototype/lpd/stress/mediumLPD.ts | 256 +++++++++++++------------- src/utils/lpdHelper.ts | 6 +- 4 files changed, 347 insertions(+), 346 deletions(-) diff --git a/src/prototype/lpd/stress/highLPD.ts b/src/prototype/lpd/stress/highLPD.ts index a62386e..3fc735d 100644 --- a/src/prototype/lpd/stress/highLPD.ts +++ b/src/prototype/lpd/stress/highLPD.ts @@ -1,11 +1,44 @@ import type { Message } from "src/types/schema-types"; import { v4 as uuid } from 'uuid'; import lpdHelper from "src/utils/lpdHelper"; -import WARNING_LOGO from "src/icons/warning-5-256.ico" -import { MissileToOwnshipDetected_ID, acaFuelLow_ID } from "./lowLPD"; +import DANGER_ICON from 'src/icons/danger.svg'; +import DRONE_ICON from 'src/icons/drone.svg'; +import type { Element } from "src/types/element"; +import { elements } from "./lowLPD"; + +export const MissileToOwnshipDetected_ID = uuid(); +export const acaFuelLow_ID = uuid(); // Functions to create widgets, elements, and sections for each message type const requestApprovalToAttackMessageHigh = () => { + elements.push( + lpdHelper.generateIconElement( + lpdHelper.generateBaseElement( + uuid(), + 'visual', + 30, + 30, + 0, + 0, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ), + DRONE_ICON, + ), + lpdHelper.generateButtonElement( + lpdHelper.generateBaseElement(uuid(), 'visual', 30, 80, 0, 0), + 'Deny', + ), + lpdHelper.generateButtonElement( + lpdHelper.generateBaseElement(uuid(), 'visual', 30, 80, 0, 0), + 'Approve', + ), + ); return { sections: [], possibleWidgets: [lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( @@ -19,49 +52,26 @@ const requestApprovalToAttackMessageHigh = () => { false, false, 1, - [ - lpdHelper.generateIconElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 30, - 30, - 0, - 0, - undefined, - undefined, - undefined, - undefined, - undefined, - undefined, - undefined, - ), - 'DRONE_ICON', - ), - lpdHelper.generateButtonElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 30, - 80, - 0, - 0, - ), - 'Deny', - ), - lpdHelper.generateButtonElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 30, - 80, - 0, - 0, - ), - 'Approve',), - ], + elements, ))], }; } const acaFuelLowMessageHigh = () => { + elements.push( + lpdHelper.generateTableElement(lpdHelper.generateBaseElement( + uuid(), + 'visual', + 50, + 200, + 0, + 0, + ), + 2, + 2, + [['Fuel', 'Low'],['Altitude', 'Low']], + ) + ); return { sections: [], possibleWidgets: [lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( @@ -75,41 +85,14 @@ const acaFuelLowMessageHigh = () => { false, false, 1, - [ - lpdHelper.generateTableElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 50, - 200, - 0, - 0, - ), - 2, - 2, - [['Fuel', 'Low'],['Altitude', 'Low']], - ) - ], + elements, ))], }; } const missileToOwnshipDetectedMessageHigh = () => { - return { - sections: [], - possibleWidgets: [ - lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( - 'list', - 'highWarning', - 100, - 100, - 200, - 200, - '/pearce-screen', - false, - true, - 1, - [ - lpdHelper.generateIconElement( + elements.push( + lpdHelper.generateIconElement( lpdHelper.generateBaseElement( uuid(), 'visual', @@ -154,71 +137,86 @@ const missileToOwnshipDetectedMessageHigh = () => { ), 'Low Stress: Missile to ownship detected! T-30 till impact', ), - ], - undefined, - undefined, + ); + return { + sections: [], + possibleWidgets: [ + lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( + 'list', + 'highWarning', + 100, + 100, + 200, + 200, + '/pearce-screen', + false, + true, + 1, + elements, ), )], }; } const acaDefectMessageHigh = () => { - return { - sections: [], - possibleWidgets: [lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( - 'list', - 'highWarning', - 500, - 500, - 20, - 200, - '/pearce-screen', - false, - true, - 1, - [ - lpdHelper.generateTableElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 50, - 200, - 0, - 0, - ), - 2, - 2, + elements.push( + lpdHelper.generateTableElement(lpdHelper.generateBaseElement( + uuid(), + 'visual', + 50, + 200, + 0, + 0, + ), + 2, + 2, [['Defect', 'Engine'], ['Altitude', 'Low']]), - ], - ))], + ); + return { + sections: [], + possibleWidgets: [lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( + 'list', + 'highWarning', + 500, + 500, + 20, + 200, + '/pearce-screen', + false, + true, + 1, + elements, + ))], }; } const acaHeadingToBaseMessageHigh = () => { + elements.push( + lpdHelper.generateTextElement(lpdHelper.generateBaseElement( + uuid(), + 'visual', + 30, + 200, + 0, + 0, + ), + 'Aircraft heading to base'), + ); return { - sections: [], - possibleWidgets: [lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( - 'list', - 'message', - 500, - 500, - 20, - 200, - '/pearce-screen', - false, - true, - 1, - [ - lpdHelper.generateTextElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 30, - 200, - 0, - 0, - ), - 'Aircraft heading to base'), - ], - ))], + sections: [], + possibleWidgets: [lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( + 'list', + 'message', + 500, + 500, + 20, + 200, + '/pearce-screen', + false, + true, + 1, + elements, + ))], }; } diff --git a/src/prototype/lpd/stress/lowLPD.ts b/src/prototype/lpd/stress/lowLPD.ts index 03a31d4..b27e3da 100644 --- a/src/prototype/lpd/stress/lowLPD.ts +++ b/src/prototype/lpd/stress/lowLPD.ts @@ -1,9 +1,10 @@ import type { Message } from "src/types/schema-types"; import lpdHelper from "src/utils/lpdHelper"; import { v4 as uuid } from 'uuid'; -import WARNING_LOGO from "src/icons/warning-5-256.ico" import { l } from "node_modules/vite/dist/node/types.d-aGj9QkWt"; import type { Element } from "src/types/element"; +import DANGER_ICON from 'src/icons/danger.svg'; +import DRONE_ICON from 'src/icons/drone.svg'; export const MissileToOwnshipDetected_ID = uuid(); export const acaFuelLow_ID = uuid(); @@ -20,7 +21,7 @@ const requestApprovalToAttackMessageLow = () => { 30, 0, 0, - undefined, + true, undefined, undefined, undefined, @@ -28,7 +29,7 @@ const requestApprovalToAttackMessageLow = () => { undefined, undefined, ), - 'DRONE_ICON', + DRONE_ICON, ), lpdHelper.generateButtonElement( lpdHelper.generateBaseElement(uuid(), 'visual', 30, 80, 0, 0), @@ -58,6 +59,20 @@ const requestApprovalToAttackMessageLow = () => { } const acaFuelLowMessageLow = () => { + elements.push( + lpdHelper.generateTableElement(lpdHelper.generateBaseElement( + uuid(), + 'visual', + 50, + 200, + 0, + 0, + ), + 2, + 2, + [['Fuel', 'Low'],['Altitude', 'Low']], + ) + ); return { sections: [], possibleWidgets: [lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( @@ -71,25 +86,59 @@ const acaFuelLowMessageLow = () => { false, false, 1, - [ - lpdHelper.generateTableElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 50, - 200, - 0, - 0, - ), - 2, - 2, - [['Fuel', 'Low'],['Altitude', 'Low']], - ) - ], + elements, ))], }; } const missileToOwnshipDetectedMessageLow = () => { + elements.push( + lpdHelper.generateIconElement( + lpdHelper.generateBaseElement( + uuid(), + 'visual', + 80, + 80, + 0, + 0, + undefined, + undefined, + undefined, + undefined, + false, + false, + { + display: 'block', + margin: 'auto', + width: '50%', + }, + ), + 'DANGER_ICON', + ), + lpdHelper.generateTextElement( + lpdHelper.generateBaseElement( + uuid(), + 'visual', + 70, + 200, + 75, + 0, + undefined, + undefined, + undefined, + undefined, + false, + false, + { + background: 'black', + color: '#02d118', + fontWeight: 'bold', + fontSize: '16px', + }, + ), + 'Low Stress: Missile to ownship detected! T-30 till impact', + ), + ); return { sections: [], possibleWidgets: [ @@ -104,61 +153,28 @@ const missileToOwnshipDetectedMessageLow = () => { false, true, 1, - [ - lpdHelper.generateIconElement( - lpdHelper.generateBaseElement( - uuid(), - 'visual', - 80, - 80, - 0, - 0, - undefined, - undefined, - undefined, - undefined, - false, - false, - { - display: 'block', - margin: 'auto', - width: '50%', - }, - ), - 'DANGER_ICON', - ), - lpdHelper.generateTextElement( - lpdHelper.generateBaseElement( - uuid(), - 'visual', - 70, - 200, - 75, - 0, - undefined, - undefined, - undefined, - undefined, - false, - false, - { - background: 'black', - color: '#02d118', - fontWeight: 'bold', - fontSize: '16px', - }, - ), - 'Low Stress: Missile to ownship detected! T-30 till impact', - ), - ], - undefined, - undefined, + elements, ), - )], + ) + ] }; + } const acaDefectMessageLow = () => { + elements.push( + lpdHelper.generateTableElement(lpdHelper.generateBaseElement( + uuid(), + 'visual', + 50, + 200, + 0, + 0, + ), + 2, + 2, + [['Defect', 'Engine'], ['Altitude', 'Low']]), + ); return { sections: [], possibleWidgets: [lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( @@ -172,24 +188,23 @@ const acaDefectMessageLow = () => { false, true, 1, - [ - lpdHelper.generateTableElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 50, - 200, - 0, - 0, - ), - 2, - 2, - [['Defect', 'Engine'], ['Altitude', 'Low']]), - ], + elements, ))], }; } const acaHeadingToBaseMessageLow = () => { + elements.push( + lpdHelper.generateTextElement(lpdHelper.generateBaseElement( + uuid(), + 'visual', + 30, + 200, + 0, + 0, + ), + 'Aircraft heading to base'), + ); return { sections: [], possibleWidgets: [lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( @@ -203,17 +218,7 @@ const acaHeadingToBaseMessageLow = () => { false, true, 1, - [ - lpdHelper.generateTextElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 30, - 200, - 0, - 0, - ), - 'Aircraft heading to base'), - ], + elements, ))], }; } diff --git a/src/prototype/lpd/stress/mediumLPD.ts b/src/prototype/lpd/stress/mediumLPD.ts index 9353429..6eaacd2 100644 --- a/src/prototype/lpd/stress/mediumLPD.ts +++ b/src/prototype/lpd/stress/mediumLPD.ts @@ -1,11 +1,45 @@ import type { Message } from "src/types/schema-types"; import lpdHelper from "src/utils/lpdHelper"; import { v4 as uuid } from 'uuid'; -import WARNING_LOGO from "src/icons/warning-5-256.ico" -import { MissileToOwnshipDetected_ID, acaFuelLow_ID } from "./lowLPD"; +import DANGER_ICON from 'src/icons/danger.svg'; +import DRONE_ICON from 'src/icons/drone.svg'; +import { elements } from "./lowLPD"; + +import type { Element } from "src/types/element"; + +export const MissileToOwnshipDetected_ID = uuid(); +export const acaFuelLow_ID = uuid(); // Functions to create widgets, elements, and sections for each message type const requestApprovalToAttackMessageMedium = () => { + elements.push( + lpdHelper.generateIconElement( + lpdHelper.generateBaseElement( + uuid(), + 'visual', + 30, + 30, + 0, + 0, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + undefined, + ), + DRONE_ICON, + ), + lpdHelper.generateButtonElement( + lpdHelper.generateBaseElement(uuid(), 'visual', 30, 80, 0, 0), + 'Deny', + ), + lpdHelper.generateButtonElement( + lpdHelper.generateBaseElement(uuid(), 'visual', 30, 80, 0, 0), + 'Approve', + ), + ); return { sections: [], possibleWidgets: [lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( @@ -19,49 +53,25 @@ const requestApprovalToAttackMessageMedium = () => { false, false, 1, - [ - lpdHelper.generateIconElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 30, - 30, - 0, - 0, - undefined, - undefined, - undefined, - undefined, - undefined, - undefined, - undefined, - ), - 'DRONE_ICON', - ), - lpdHelper.generateButtonElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 30, - 80, - 0, - 0, - ), - 'Deny', - ), - lpdHelper.generateButtonElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 30, - 80, - 0, - 0, - ), - 'Approve',), - ], + elements, ))], }; } const acaFuelLowMessageMedium = () => { + elements.push( + lpdHelper.generateTableElement(lpdHelper.generateBaseElement( + uuid(), + 'visual', + 50, + 200, + 0, + 0, + ), + 2, + 2, + [['Fuel', 'Low'],['Altitude', 'Low']], + )); return { sections: [], possibleWidgets: [lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( @@ -75,25 +85,59 @@ const acaFuelLowMessageMedium = () => { false, false, 1, - [ - lpdHelper.generateTableElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 50, - 200, - 0, - 0, - ), - 2, - 2, - [['Fuel', 'Low'],['Altitude', 'Low']], - ) - ], + elements, ))], }; } const missileToOwnshipDetectedMessageMedium = () => { + elements.push( + lpdHelper.generateIconElement( + lpdHelper.generateBaseElement( + uuid(), + 'visual', + 80, + 80, + 0, + 0, + undefined, + undefined, + undefined, + undefined, + false, + false, + { + display: 'block', + margin: 'auto', + width: '50%', + }, + ), + 'DANGER_ICON', + ), + lpdHelper.generateTextElement( + lpdHelper.generateBaseElement( + uuid(), + 'visual', + 70, + 200, + 75, + 0, + undefined, + undefined, + undefined, + undefined, + false, + false, + { + background: 'black', + color: '#02d118', + fontWeight: 'bold', + fontSize: '16px', + }, + ), + 'Low Stress: Missile to ownship detected! T-30 till impact', + ), +); return { sections: [], possibleWidgets: [ @@ -108,61 +152,27 @@ const missileToOwnshipDetectedMessageMedium = () => { false, true, 1, - [ - lpdHelper.generateIconElement( - lpdHelper.generateBaseElement( - uuid(), - 'visual', - 80, - 80, - 0, - 0, - undefined, - undefined, - undefined, - undefined, - false, - false, - { - display: 'block', - margin: 'auto', - width: '50%', - }, - ), - 'DANGER_ICON', - ), - lpdHelper.generateTextElement( - lpdHelper.generateBaseElement( - uuid(), - 'visual', - 70, - 200, - 75, - 0, - undefined, - undefined, - undefined, - undefined, - false, - false, - { - background: 'black', - color: '#02d118', - fontWeight: 'bold', - fontSize: '16px', - }, - ), - 'Low Stress: Missile to ownship detected! T-30 till impact', - ), - ], - undefined, - undefined, - ), - )], + elements, + )), + ], }; } const acaDefectMessageMedium = () => { + elements.push( + + lpdHelper.generateTableElement(lpdHelper.generateBaseElement( + uuid(), + 'visual', + 50, + 200, + 0, + 0, + ), + 2, + 2, + [['Defect', 'Engine'], ['Altitude', 'Low']]), + ); return { sections: [], possibleWidgets: [lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( @@ -176,24 +186,22 @@ const acaDefectMessageMedium = () => { false, true, 1, - [ - lpdHelper.generateTableElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 50, - 200, - 0, - 0, - ), - 2, - 2, - [['Defect', 'Engine'], ['Altitude', 'Low']]), - ], + elements, ))], }; } const acaHeadingToBaseMessageMedium = () => { + elements.push( + lpdHelper.generateTextElement(lpdHelper.generateBaseElement( + uuid(), + 'visual', + 30, + 200, + 0, + 0, + ), + 'Aircraft heading to base'),); return { sections: [], possibleWidgets: [lpdHelper.generateListWidget(lpdHelper.generateBaseWidget( @@ -207,17 +215,7 @@ const acaHeadingToBaseMessageMedium = () => { false, true, 1, - [ - lpdHelper.generateTextElement(lpdHelper.generateBaseElement( - uuid(), - 'visual', - 30, - 200, - 0, - 0, - ), - 'Aircraft heading to base'), - ], + elements, ))], }; } diff --git a/src/utils/lpdHelper.ts b/src/utils/lpdHelper.ts index a6690ff..ec1ddb0 100644 --- a/src/utils/lpdHelper.ts +++ b/src/utils/lpdHelper.ts @@ -4,12 +4,12 @@ import type * as Widget from "src/types/widget"; import type { Properties } from "csstype"; import type { Modality } from "src/types/modality"; -import type { ScreenType, Section, SectionType } from "src/types/support-types"; +import type { Screen, Section, SectionType } from "src/types/support-types"; // Functions to create sections, widgets, and elements const generateSection = ( id: string, - screen: ScreenType, + screen: Screen, x: number, y: number, w: number, @@ -37,7 +37,7 @@ const generateBaseWidget = ( y: number, w: number, h: number, - screen: ScreenType, + screen: Screen, canOverlap: boolean, useElementLocation: boolean, maxAmount: number,