diff --git a/client/public/stylesheets/atc.css b/client/public/stylesheets/atc.css index c19e19fd..e9fa7441 100644 --- a/client/public/stylesheets/atc.css +++ b/client/public/stylesheets/atc.css @@ -1,4 +1,8 @@ - +.ol-strip-board .ol-dialog-header { + align-items: center; + display:flex; + justify-content: space-between; +} .ol-strip-board-strips { display:flex; @@ -178,6 +182,7 @@ .ol-strip-board-add-flight .ol-auto-suggest[data-has-suggestions] { display:flex; + row-gap: 4px; } .ol-strip-board-add-flight .ol-auto-suggest[data-has-suggestions] a { @@ -192,4 +197,9 @@ [data-board-type="tower"] { right:10px; top:10px; +} + +[data-board-type="tower"] .ol-auto-suggest { + top:30px; + translate:0; } \ No newline at end of file diff --git a/client/src/featureswitches.ts b/client/src/featureswitches.ts index c5776683..600a17a2 100644 --- a/client/src/featureswitches.ts +++ b/client/src/featureswitches.ts @@ -1,7 +1,7 @@ export interface FeatureSwitchInterface { - "defaultEnabled": boolean, // default on/off state (if allowed by masterSwitch) + "defaultEnabled": boolean, // default on/off state (if allowed by forceState) + "forceState": number, // -1 don't force; 0 force off; 1 force on "label": string, - "masterSwitch": boolean, // on/off regardless of user preference "name": string, "onEnabled"?: CallableFunction, "options"?: object, @@ -13,8 +13,8 @@ class FeatureSwitch { // From config param defaultEnabled; + forceState = -1; label; - masterSwitch; name; onEnabled; removeArtifactsIfDisabled = true; @@ -26,8 +26,8 @@ class FeatureSwitch { constructor( config:FeatureSwitchInterface ) { this.defaultEnabled = config.defaultEnabled; + this.forceState = config.forceState; this.label = config.label; - this.masterSwitch = config.masterSwitch; this.name = config.name; this.onEnabled = config.onEnabled; @@ -47,10 +47,14 @@ class FeatureSwitch { isEnabled() { - if ( !this.masterSwitch ) { + if ( this.forceState === 0 ) { return false; } + if ( this.forceState === 1 ) { + return true; + } + return this.userPreference; } @@ -62,37 +66,37 @@ export class FeatureSwitches { new FeatureSwitch({ "defaultEnabled": false, + "forceState": -1, "label": "AIC", - "masterSwitch": true, "name": "aic" }), new FeatureSwitch({ "defaultEnabled": false, + "forceState": -1, "label": "AI Formations", - "masterSwitch": true, "name": "ai-formations", "removeArtifactsIfDisabled": false }), new FeatureSwitch({ "defaultEnabled": false, + "forceState": 1, "label": "ATC", - "masterSwitch": true, "name": "atc" }), new FeatureSwitch({ "defaultEnabled": false, + "forceState": -1, "label": "Force show unit control panel", - "masterSwitch": true, "name": "forceShowUnitControlPanel" }), new FeatureSwitch({ "defaultEnabled": true, + "forceState": -1, "label": "Show splash screen", - "masterSwitch": true, "name": "splashScreen" }) diff --git a/client/src/missionhandler/missionhandler.ts b/client/src/missionhandler/missionhandler.ts index 22051aa3..ba6ef35a 100644 --- a/client/src/missionhandler/missionhandler.ts +++ b/client/src/missionhandler/missionhandler.ts @@ -128,8 +128,13 @@ export class MissionHandler getNowDate() { + const date = this.getDate(); const time = this.getTime(); + + if ( !date ) { + return new Date(); + } let year = date.Year; let month = date.Month - 1; diff --git a/client/views/atc/board.ejs b/client/views/atc/board.ejs index 007b91f2..58d3dfcc 100644 --- a/client/views/atc/board.ejs +++ b/client/views/atc/board.ejs @@ -1,9 +1,10 @@ -
+

<%= boardType %>

+ <%- include('addflight.ejs') %>
@@ -18,8 +19,4 @@
- -
\ No newline at end of file