diff --git a/src/components/Widget/MapWarningWidget.tsx b/src/components/Widget/MapWarningWidget.tsx
index 76735b0..569e583 100644
--- a/src/components/Widget/MapWarningWidget.tsx
+++ b/src/components/Widget/MapWarningWidget.tsx
@@ -1,50 +1,11 @@
import type { MapWarningWidget as MapWarningWidgetType } from 'src/types/widget';
-import IconElement from '../Element/Simple/IconElement';
-
-import threatRadarLgReg from 'src/assets/icons/threats/radar-lg-reg.svg';
-import threatRadarSmReg from 'src/assets/icons/threats/radar-sm-reg.svg';
-import threatRadarLgEmph from 'src/assets/icons/threats/radar-lg-emph.svg';
-import threatRadarSmEmph from 'src/assets/icons/threats/radar-sm-emph.svg';
-import threatMissileLgReg from 'src/assets/icons/threats/missile-lg-reg.svg';
-import threatMissileSmReg from 'src/assets/icons/threats/missile-sm-reg.svg';
-import threatMissileLgEmph from 'src/assets/icons/threats/missile-lg-emph.svg';
-import threatMissileSmEmph from 'src/assets/icons/threats/missile-sm-emph.svg';
-import threatArtilleryLgReg from 'src/assets/icons/threats/artillery-lg-reg.svg';
-import threatArtillerySmReg from 'src/assets/icons/threats/artillery-sm-reg.svg';
-import threatArtilleryLgEmph from 'src/assets/icons/threats/artillery-lg-emph.svg';
-import threatArtillerySmEmph from 'src/assets/icons/threats/artillery-sm-emph.svg';
-import threatAirDefenseLgReg from 'src/assets/icons/threats/airdefense-lg-reg.svg';
-import threatAirDefenseSmReg from 'src/assets/icons/threats/airdefense-sm-reg.svg';
-import threatAirDefenseLgEmph from 'src/assets/icons/threats/airdefense-lg-emph.svg';
-import threatAirDefenseSmEmph from 'src/assets/icons/threats/airdefense-sm-emph.svg';
+import Element from '../Element/Element';
type MapWarningWidgetProps = {
widget: MapWarningWidgetType;
};
-// [type][small (0 = false, 1 = true)][emphasised (0 = false, 1 = true)]
-const ICONS = {
- radar: [
- [threatRadarLgReg, threatRadarLgEmph],
- [threatRadarSmReg, threatRadarSmEmph],
- ],
- artillery: [
- [threatArtilleryLgReg, threatArtilleryLgEmph],
- [threatArtillerySmReg, threatArtillerySmEmph],
- ],
- 'air-defense': [
- [threatAirDefenseLgReg, threatAirDefenseLgEmph],
- [threatAirDefenseSmReg, threatAirDefenseSmEmph],
- ],
- missile: [
- [threatMissileLgReg, threatMissileLgEmph],
- [threatMissileSmReg, threatMissileSmEmph],
- ],
-};
-
const MapWarningWidget = ({ widget }: MapWarningWidgetProps) => {
- const img = ICONS[widget.threatType][+widget.small][+widget.emphasised];
-
return (
{
left: ~~widget.x,
}}
>
-
+
+ {/* Nested children here if wanted */}
+
);
};
diff --git a/src/types/widget.ts b/src/types/widget.ts
index 4c8c626..e8b9be0 100644
--- a/src/types/widget.ts
+++ b/src/types/widget.ts
@@ -44,9 +44,6 @@ export type VehicleWidget = BaseWidget & {
export type MapWarningWidget = BaseWidget & {
type: 'map-warning';
- small: boolean;
- emphasised: boolean;
- threatType: 'radar' | 'artillery' | 'air-defense' | 'missile';
};
export type CustomWidget = BaseWidget & {
diff --git a/src/utils/initialMapWarnings.ts b/src/utils/initialMapWarnings.ts
index a6fdc10..d7e4ac3 100644
--- a/src/utils/initialMapWarnings.ts
+++ b/src/utils/initialMapWarnings.ts
@@ -3,10 +3,12 @@
import type { MapWarningWidget, WidgetMap } from 'src/types/widget';
import { v4 as uuid } from 'uuid';
-const defaults = {
- w: 1, // w and h are ignored currently since `small` is used to determine which size the widget should have
- h: 1,
+import threatMissileLgEmph from 'src/assets/icons/threats/missile-lg-emph.svg';
+import threatArtillerySmReg from 'src/assets/icons/threats/artillery-sm-reg.svg';
+import threatAirDefenseSmReg from 'src/assets/icons/threats/airdefense-sm-reg.svg';
+import threatRadarSmReg from 'src/assets/icons/threats/radar-sm-reg.svg';
+const defaultWidget = {
screen: '/minimap',
sectionType: 'free',
type: 'map-warning',
@@ -16,116 +18,155 @@ const defaults = {
maxAmount: 10,
} as const;
+const defaultIcon = {
+ type: 'icon',
+ modality: 'visual',
+ xWidget: 0,
+ yWidget: 0,
+} as const;
+
const warn1: MapWarningWidget = {
- ...defaults,
- elements: [],
-
+ ...defaultWidget,
id: uuid(),
-
x: 750,
y: 200,
-
- emphasised: true,
- small: false,
- threatType: 'missile',
+ w: 128,
+ h: 129,
+ elements: [
+ {
+ ...defaultIcon,
+ id: uuid(),
+ src: threatMissileLgEmph,
+ w: 128,
+ h: 129,
+ },
+ ],
};
const warn2: MapWarningWidget = {
- ...defaults,
- elements: [],
-
+ ...defaultWidget,
id: uuid(),
-
x: 900,
y: 50,
-
- emphasised: false,
- small: true,
- threatType: 'air-defense',
+ w: 80,
+ h: 81,
+ elements: [
+ {
+ ...defaultIcon,
+ id: uuid(),
+ src: threatAirDefenseSmReg,
+ w: 80,
+ h: 81,
+ },
+ ],
};
const warn3: MapWarningWidget = {
- ...defaults,
- elements: [],
-
+ ...defaultWidget,
id: uuid(),
-
x: 300,
y: 100,
-
- emphasised: false,
- small: true,
- threatType: 'air-defense',
+ w: 80,
+ h: 81,
+ elements: [
+ {
+ ...defaultIcon,
+ id: uuid(),
+ src: threatAirDefenseSmReg,
+ w: 80,
+ h: 81,
+ },
+ ],
};
const warn4: MapWarningWidget = {
- ...defaults,
- elements: [],
-
+ ...defaultWidget,
id: uuid(),
-
x: 500,
y: 200,
-
- emphasised: false,
- small: true,
- threatType: 'radar',
+ w: 80,
+ h: 81,
+ elements: [
+ {
+ ...defaultIcon,
+ id: uuid(),
+ src: threatRadarSmReg,
+ w: 80,
+ h: 81,
+ },
+ ],
};
const warn5: MapWarningWidget = {
- ...defaults,
- elements: [],
-
+ ...defaultWidget,
id: uuid(),
-
x: 950,
y: 400,
-
- emphasised: false,
- small: true,
- threatType: 'artillery',
+ w: 80,
+ h: 81,
+ elements: [
+ {
+ ...defaultIcon,
+ id: uuid(),
+ src: threatArtillerySmReg,
+ w: 80,
+ h: 81,
+ },
+ ],
};
const warn6: MapWarningWidget = {
- ...defaults,
- elements: [],
-
+ ...defaultWidget,
id: uuid(),
-
x: 850,
y: 700,
-
- emphasised: false,
- small: true,
- threatType: 'radar',
+ w: 80,
+ h: 81,
+ elements: [
+ {
+ ...defaultIcon,
+ id: uuid(),
+ src: threatRadarSmReg,
+ w: 80,
+ h: 81,
+ },
+ ],
};
const warn7: MapWarningWidget = {
- ...defaults,
- elements: [],
-
+ ...defaultWidget,
id: uuid(),
-
x: 1300,
y: 100,
-
- emphasised: false,
- small: true,
- threatType: 'radar',
+ w: 80,
+ h: 81,
+ elements: [
+ {
+ ...defaultIcon,
+ id: uuid(),
+ src: threatRadarSmReg,
+ w: 80,
+ h: 81,
+ },
+ ],
};
const warn8: MapWarningWidget = {
- ...defaults,
- elements: [],
-
+ ...defaultWidget,
id: uuid(),
-
x: 1600,
y: 350,
-
- emphasised: false,
- small: true,
- threatType: 'air-defense',
+ w: 80,
+ h: 81,
+ elements: [
+ {
+ ...defaultIcon,
+ id: uuid(),
+ src: threatAirDefenseSmReg,
+ w: 80,
+ h: 81,
+ },
+ ],
};
export const initailMapWarnings: WidgetMap = {