mirror of
https://github.com/wanderer-industries/wanderer
synced 2025-12-12 10:45:54 +00:00
fix(Map): Add support RU signatures and fix filtering
This commit is contained in:
@@ -2,7 +2,10 @@ import { useMapRootState } from '@/hooks/Mapper/mapRootProvider';
|
|||||||
import { parseSignatures } from '@/hooks/Mapper/helpers';
|
import { parseSignatures } from '@/hooks/Mapper/helpers';
|
||||||
import { Commands, OutCommand } from '@/hooks/Mapper/types/mapHandlers.ts';
|
import { Commands, OutCommand } from '@/hooks/Mapper/types/mapHandlers.ts';
|
||||||
import { WdTooltip, WdTooltipHandlers } from '@/hooks/Mapper/components/ui-kit';
|
import { WdTooltip, WdTooltipHandlers } from '@/hooks/Mapper/components/ui-kit';
|
||||||
import { GROUPS_LIST } from '@/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/constants.ts';
|
import {
|
||||||
|
getGroupIdByRawGroup,
|
||||||
|
GROUPS_LIST,
|
||||||
|
} from '@/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/constants.ts';
|
||||||
|
|
||||||
import { DataTable, DataTableRowClickEvent, DataTableRowMouseEvent, SortOrder } from 'primereact/datatable';
|
import { DataTable, DataTableRowClickEvent, DataTableRowMouseEvent, SortOrder } from 'primereact/datatable';
|
||||||
import { Column } from 'primereact/column';
|
import { Column } from 'primereact/column';
|
||||||
@@ -122,13 +125,14 @@ export const SystemSignaturesContent = ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const isCosmicSignature = x.kind === COSMIC_SIGNATURE;
|
const isCosmicSignature = x.kind === COSMIC_SIGNATURE;
|
||||||
|
const preparedGroup = getGroupIdByRawGroup(x.group);
|
||||||
|
|
||||||
if (isCosmicSignature) {
|
if (isCosmicSignature) {
|
||||||
const showCosmicSignatures = settings.find(y => y.key === COSMIC_SIGNATURE)?.value;
|
const showCosmicSignatures = settings.find(y => y.key === COSMIC_SIGNATURE)?.value;
|
||||||
if (showCosmicSignatures) {
|
if (showCosmicSignatures) {
|
||||||
return !x.group || groupSettings.find(y => y.key === x.group)?.value;
|
return !x.group || groupSettings.find(y => y.key === preparedGroup)?.value;
|
||||||
} else {
|
} else {
|
||||||
return !!x.group && groupSettings.find(y => y.key === x.group)?.value;
|
return !!x.group && groupSettings.find(y => y.key === preparedGroup)?.value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,6 +161,9 @@ export const SystemSignaturesContent = ({
|
|||||||
skipUpdateUntouched,
|
skipUpdateUntouched,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// eslint-disable-next-line no-console
|
||||||
|
console.log('JOipP', `added, updated, removed`, { added, updated, removed });
|
||||||
|
|
||||||
const { signatures: updatedSignatures } = await outCommand({
|
const { signatures: updatedSignatures } = await outCommand({
|
||||||
type: OutCommand.updateSignatures,
|
type: OutCommand.updateSignatures,
|
||||||
data: {
|
data: {
|
||||||
|
|||||||
@@ -1,4 +1,12 @@
|
|||||||
import { GroupType, SignatureGroup } from '@/hooks/Mapper/types';
|
import {
|
||||||
|
GroupType,
|
||||||
|
SignatureGroup,
|
||||||
|
SignatureGroupENG,
|
||||||
|
SignatureGroupRU,
|
||||||
|
SignatureKind,
|
||||||
|
SignatureKindENG,
|
||||||
|
SignatureKindRU,
|
||||||
|
} from '@/hooks/Mapper/types';
|
||||||
|
|
||||||
export const TIME_ONE_MINUTE = 1000 * 60;
|
export const TIME_ONE_MINUTE = 1000 * 60;
|
||||||
export const TIME_TEN_MINUTES = 1000 * 60 * 10;
|
export const TIME_TEN_MINUTES = 1000 * 60 * 10;
|
||||||
@@ -24,3 +32,43 @@ export const GROUPS: Record<SignatureGroup, GroupType> = {
|
|||||||
[SignatureGroup.Wormhole]: { id: SignatureGroup.Wormhole, icon: '/icons/brackets/wormhole.png', ...wh },
|
[SignatureGroup.Wormhole]: { id: SignatureGroup.Wormhole, icon: '/icons/brackets/wormhole.png', ...wh },
|
||||||
[SignatureGroup.CosmicSignature]: { id: SignatureGroup.CosmicSignature, icon: '/icons/x_close14.png', w: 9, h: 9 },
|
[SignatureGroup.CosmicSignature]: { id: SignatureGroup.CosmicSignature, icon: '/icons/x_close14.png', w: 9, h: 9 },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const MAPPING_GROUP_TO_ENG = {
|
||||||
|
// ENGLISH
|
||||||
|
[SignatureGroupENG.GasSite]: SignatureGroup.GasSite,
|
||||||
|
[SignatureGroupENG.RelicSite]: SignatureGroup.RelicSite,
|
||||||
|
[SignatureGroupENG.DataSite]: SignatureGroup.DataSite,
|
||||||
|
[SignatureGroupENG.OreSite]: SignatureGroup.OreSite,
|
||||||
|
[SignatureGroupENG.CombatSite]: SignatureGroup.CombatSite,
|
||||||
|
[SignatureGroupENG.Wormhole]: SignatureGroup.Wormhole,
|
||||||
|
[SignatureGroupENG.CosmicSignature]: SignatureGroup.CosmicSignature,
|
||||||
|
|
||||||
|
// RUSSIAN
|
||||||
|
[SignatureGroupRU.GasSite]: SignatureGroup.GasSite,
|
||||||
|
[SignatureGroupRU.RelicSite]: SignatureGroup.RelicSite,
|
||||||
|
[SignatureGroupRU.DataSite]: SignatureGroup.DataSite,
|
||||||
|
[SignatureGroupRU.OreSite]: SignatureGroup.OreSite,
|
||||||
|
[SignatureGroupRU.CombatSite]: SignatureGroup.CombatSite,
|
||||||
|
[SignatureGroupRU.Wormhole]: SignatureGroup.Wormhole,
|
||||||
|
[SignatureGroupRU.CosmicSignature]: SignatureGroup.CosmicSignature,
|
||||||
|
};
|
||||||
|
|
||||||
|
export const MAPPING_TYPE_TO_ENG = {
|
||||||
|
// ENGLISH
|
||||||
|
[SignatureKindENG.CosmicSignature]: SignatureKind.CosmicSignature,
|
||||||
|
[SignatureKindENG.CosmicAnomaly]: SignatureKind.CosmicAnomaly,
|
||||||
|
[SignatureKindENG.Structure]: SignatureKind.Structure,
|
||||||
|
[SignatureKindENG.Ship]: SignatureKind.Ship,
|
||||||
|
[SignatureKindENG.Deployable]: SignatureKind.Deployable,
|
||||||
|
[SignatureKindENG.Drone]: SignatureKind.Drone,
|
||||||
|
|
||||||
|
// RUSSIAN
|
||||||
|
[SignatureKindRU.CosmicSignature]: SignatureKind.CosmicSignature,
|
||||||
|
[SignatureKindRU.CosmicAnomaly]: SignatureKind.CosmicAnomaly,
|
||||||
|
[SignatureKindRU.Structure]: SignatureKind.Structure,
|
||||||
|
[SignatureKindRU.Ship]: SignatureKind.Ship,
|
||||||
|
[SignatureKindRU.Deployable]: SignatureKind.Deployable,
|
||||||
|
[SignatureKindRU.Drone]: SignatureKind.Drone,
|
||||||
|
};
|
||||||
|
|
||||||
|
export const getGroupIdByRawGroup = (val: string) => MAPPING_GROUP_TO_ENG[val as SignatureGroup];
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { COSMIC_SIGNATURE } from '@/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/SystemSignatureSettingsDialog';
|
import { SignatureGroup, SignatureKind, SystemSignature } from '@/hooks/Mapper/types';
|
||||||
import { SystemSignature } from '@/hooks/Mapper/types';
|
import { MAPPING_TYPE_TO_ENG } from '@/hooks/Mapper/components/mapInterface/widgets/SystemSignatures/constants.ts';
|
||||||
|
|
||||||
export const parseSignatures = (value: string, availableKeys: string[]): SystemSignature[] => {
|
export const parseSignatures = (value: string, availableKeys: string[]): SystemSignature[] => {
|
||||||
const outArr: SystemSignature[] = [];
|
const outArr: SystemSignature[] = [];
|
||||||
@@ -14,10 +14,12 @@ export const parseSignatures = (value: string, availableKeys: string[]): SystemS
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const kind = MAPPING_TYPE_TO_ENG[sigArrInfo[1] as SignatureKind];
|
||||||
|
|
||||||
outArr.push({
|
outArr.push({
|
||||||
eve_id: sigArrInfo[0],
|
eve_id: sigArrInfo[0],
|
||||||
kind: availableKeys.includes(sigArrInfo[1]) ? sigArrInfo[1] : COSMIC_SIGNATURE,
|
kind: availableKeys.includes(kind) ? kind : SignatureKind.CosmicSignature,
|
||||||
group: sigArrInfo[2],
|
group: sigArrInfo[2] as SignatureGroup,
|
||||||
name: sigArrInfo[3],
|
name: sigArrInfo[3],
|
||||||
type: '',
|
type: '',
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -10,6 +10,15 @@ export enum SignatureGroup {
|
|||||||
CombatSite = 'Combat Site',
|
CombatSite = 'Combat Site',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum SignatureKind {
|
||||||
|
CosmicSignature = 'Cosmic Signature',
|
||||||
|
CosmicAnomaly = 'Cosmic Anomaly',
|
||||||
|
Structure = 'Structure',
|
||||||
|
Ship = 'Ship',
|
||||||
|
Deployable = 'Deployable',
|
||||||
|
Drone = 'Drone',
|
||||||
|
}
|
||||||
|
|
||||||
export type GroupType = {
|
export type GroupType = {
|
||||||
id: string;
|
id: string;
|
||||||
icon: string;
|
icon: string;
|
||||||
@@ -19,7 +28,7 @@ export type GroupType = {
|
|||||||
|
|
||||||
export type SystemSignature = {
|
export type SystemSignature = {
|
||||||
eve_id: string;
|
eve_id: string;
|
||||||
kind: string;
|
kind: SignatureKind;
|
||||||
name: string;
|
name: string;
|
||||||
custom_info?: string;
|
custom_info?: string;
|
||||||
description?: string;
|
description?: string;
|
||||||
@@ -30,3 +39,41 @@ export type SystemSignature = {
|
|||||||
inserted_at?: string;
|
inserted_at?: string;
|
||||||
updated_at?: string;
|
updated_at?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export enum SignatureKindENG {
|
||||||
|
CosmicSignature = 'Cosmic Signature',
|
||||||
|
CosmicAnomaly = 'Cosmic Anomaly',
|
||||||
|
Structure = 'Structure',
|
||||||
|
Ship = 'Ship',
|
||||||
|
Deployable = 'Deployable',
|
||||||
|
Drone = 'Drone',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SignatureKindRU {
|
||||||
|
CosmicSignature = 'Скрытый сигнал',
|
||||||
|
CosmicAnomaly = 'Космическая аномалия',
|
||||||
|
Structure = 'Сооружение',
|
||||||
|
Ship = 'Корабль',
|
||||||
|
Deployable = 'Полевые блоки',
|
||||||
|
Drone = 'Дрон',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SignatureGroupENG {
|
||||||
|
CosmicSignature = 'Cosmic Signature',
|
||||||
|
Wormhole = 'Wormhole',
|
||||||
|
GasSite = 'Gas Site',
|
||||||
|
RelicSite = 'Relic Site',
|
||||||
|
DataSite = 'Data Site',
|
||||||
|
OreSite = 'Ore Site',
|
||||||
|
CombatSite = 'Combat Site',
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SignatureGroupRU {
|
||||||
|
CosmicSignature = 'Скрытый сигнал',
|
||||||
|
Wormhole = 'Червоточина',
|
||||||
|
GasSite = 'Газовый район',
|
||||||
|
RelicSite = 'Археологический район',
|
||||||
|
DataSite = 'Информационный район',
|
||||||
|
OreSite = 'Астероидный район',
|
||||||
|
CombatSite = 'Боевой район',
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user