github-issue-tower-defence-management 2.7.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/bin/adapter/entry-points/cli/index.js +3 -1
- package/bin/adapter/entry-points/cli/index.js.map +1 -1
- package/bin/adapter/entry-points/console/consoleAirplaneSnapshotApi.js +347 -0
- package/bin/adapter/entry-points/console/consoleAirplaneSnapshotApi.js.map +1 -0
- package/bin/adapter/entry-points/console/ui-dist/assets/index-DkMqSpkk.js +88 -0
- package/bin/adapter/entry-points/console/ui-dist/index.html +1 -1
- package/bin/adapter/entry-points/console/webServer.js +28 -0
- package/bin/adapter/entry-points/console/webServer.js.map +1 -1
- package/jest.config.js +1 -0
- package/package.json +1 -1
- package/src/adapter/entry-points/cli/index.ts +4 -1
- package/src/adapter/entry-points/console/consoleAirplaneSnapshotApi.test.ts +658 -0
- package/src/adapter/entry-points/console/consoleAirplaneSnapshotApi.ts +482 -0
- package/src/adapter/entry-points/console/ui/jest-globals.cjs +26 -0
- package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleFileDiff.test.tsx +10 -0
- package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleFileDiff.tsx +23 -16
- package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleAirplaneModeButton.stories.tsx +56 -0
- package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleAirplaneModeButton.test.tsx +111 -0
- package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleAirplaneModeButton.tsx +92 -0
- package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.stories.tsx +15 -0
- package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.test.tsx +19 -0
- package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.tsx +30 -1
- package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleErrorToast.stories.tsx +10 -0
- package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleUndoToast.test.tsx +1 -3
- package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleUndoToast.tsx +8 -7
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useAirplaneMode.test.ts +304 -0
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useAirplaneMode.ts +167 -0
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleActionQueue.test.ts +15 -0
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleActionQueue.ts +6 -1
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleCaches.test.ts +77 -0
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleCaches.ts +48 -3
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleFeaturesConfig.test.ts +51 -0
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleFeaturesConfig.ts +39 -0
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTabData.test.ts +215 -0
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTabData.ts +20 -1
- package/src/adapter/entry-points/console/ui/src/features/console/lib/airplaneSnapshot.test.ts +361 -0
- package/src/adapter/entry-points/console/ui/src/features/console/lib/airplaneSnapshot.ts +401 -0
- package/src/adapter/entry-points/console/ui/src/features/console/lib/resourceCache.ts +4 -0
- package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.test.tsx +209 -0
- package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.tsx +27 -2
- package/src/adapter/entry-points/console/ui-dist/assets/index-DkMqSpkk.js +88 -0
- package/src/adapter/entry-points/console/ui-dist/index.html +1 -1
- package/src/adapter/entry-points/console/webServer.test.ts +189 -0
- package/src/adapter/entry-points/console/webServer.ts +38 -0
- package/types/adapter/entry-points/cli/index.d.ts.map +1 -1
- package/types/adapter/entry-points/console/consoleAirplaneSnapshotApi.d.ts +90 -0
- package/types/adapter/entry-points/console/consoleAirplaneSnapshotApi.d.ts.map +1 -0
- package/types/adapter/entry-points/console/webServer.d.ts +1 -0
- package/types/adapter/entry-points/console/webServer.d.ts.map +1 -1
- package/bin/adapter/entry-points/console/ui-dist/assets/index-CaxYBHiT.js +0 -86
- package/src/adapter/entry-points/console/ui-dist/assets/index-CaxYBHiT.js +0 -86
|
@@ -7,9 +7,11 @@ import {
|
|
|
7
7
|
ConsoleErrorToast,
|
|
8
8
|
ConsoleUndoToast,
|
|
9
9
|
} from '../components/operations/ConsoleUndoToast';
|
|
10
|
+
import { useAirplaneMode } from '../hooks/useAirplaneMode';
|
|
10
11
|
import { useConsoleActionQueue } from '../hooks/useConsoleActionQueue';
|
|
11
12
|
import { useConsoleCaches } from '../hooks/useConsoleCaches';
|
|
12
13
|
import { useConsoleDetailPrefetch } from '../hooks/useConsoleDetailPrefetch';
|
|
14
|
+
import { useConsoleFeaturesConfig } from '../hooks/useConsoleFeaturesConfig';
|
|
13
15
|
import { useConsoleNavigation } from '../hooks/useConsoleNavigation';
|
|
14
16
|
import { useConsoleOperations } from '../hooks/useConsoleOperations';
|
|
15
17
|
import { useConsoleOverlay } from '../hooks/useConsoleOverlay';
|
|
@@ -72,7 +74,14 @@ const OVERLAY_NAMESPACE_FALLBACK = 'console';
|
|
|
72
74
|
|
|
73
75
|
export const ConsolePage = () => {
|
|
74
76
|
const pjcode = useConsolePjcode();
|
|
75
|
-
const
|
|
77
|
+
const featuresConfig = useConsoleFeaturesConfig();
|
|
78
|
+
const airplaneMode = useAirplaneMode();
|
|
79
|
+
const airplaneSnapshot =
|
|
80
|
+
airplaneMode.status === 'on' ? airplaneMode.snapshot : null;
|
|
81
|
+
const { snapshots, isLoading, error } = useConsoleTabData(
|
|
82
|
+
pjcode,
|
|
83
|
+
airplaneSnapshot,
|
|
84
|
+
);
|
|
76
85
|
const {
|
|
77
86
|
timerMode,
|
|
78
87
|
projectMinutes,
|
|
@@ -131,7 +140,7 @@ export const ConsolePage = () => {
|
|
|
131
140
|
[selectedItemKey],
|
|
132
141
|
);
|
|
133
142
|
|
|
134
|
-
const caches = useConsoleCaches();
|
|
143
|
+
const caches = useConsoleCaches(airplaneSnapshot);
|
|
135
144
|
const operations = useConsoleOperations(
|
|
136
145
|
pjcode,
|
|
137
146
|
activeTab,
|
|
@@ -271,6 +280,13 @@ export const ConsolePage = () => {
|
|
|
271
280
|
|
|
272
281
|
const handleQueueAction = useCallback(
|
|
273
282
|
(input: ConsoleQueueActionInput): void => {
|
|
283
|
+
if (airplaneMode.status === 'on') {
|
|
284
|
+
actionQueue.showError(
|
|
285
|
+
'Airplane mode',
|
|
286
|
+
'This action requires a network connection. Turn off airplane mode and try again.',
|
|
287
|
+
);
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
274
290
|
const actedKey = overlayKeyForItem(input.item);
|
|
275
291
|
actionQueue.enqueue({
|
|
276
292
|
message: formatActionToast(input.kind, input.item, activeTab),
|
|
@@ -301,6 +317,7 @@ export const ConsolePage = () => {
|
|
|
301
317
|
actionQueue,
|
|
302
318
|
activeTab,
|
|
303
319
|
advanceToNext,
|
|
320
|
+
airplaneMode.status,
|
|
304
321
|
timerMode,
|
|
305
322
|
isTimerExpired,
|
|
306
323
|
projectMinutes,
|
|
@@ -482,6 +499,7 @@ export const ConsolePage = () => {
|
|
|
482
499
|
)}
|
|
483
500
|
{actionQueue.error !== null && (
|
|
484
501
|
<ConsoleErrorToast
|
|
502
|
+
title={actionQueue.error.message}
|
|
485
503
|
message={`Operation failed: ${actionQueue.error.reason}`}
|
|
486
504
|
onDismiss={actionQueue.dismissError}
|
|
487
505
|
/>
|
|
@@ -510,6 +528,13 @@ export const ConsolePage = () => {
|
|
|
510
528
|
onClose={closeSettings}
|
|
511
529
|
/>
|
|
512
530
|
}
|
|
531
|
+
airplaneModeEnabled={featuresConfig.airplaneMode}
|
|
532
|
+
airplaneModeStatus={airplaneMode.status}
|
|
533
|
+
airplaneModeProgress={airplaneMode.progress}
|
|
534
|
+
airplaneModeCapturedAt={airplaneSnapshot?.capturedAt ?? null}
|
|
535
|
+
airplaneModeFailures={airplaneMode.failures}
|
|
536
|
+
onAirplaneModeStartSync={airplaneMode.startSync}
|
|
537
|
+
onAirplaneModeTurnOff={airplaneMode.turnOff}
|
|
513
538
|
/>
|
|
514
539
|
{activeTab === 'stories' ? (
|
|
515
540
|
<ConsoleStoryList
|