diff --git a/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/Connections.module.scss b/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/Connections.module.scss
index 42c9c058..fd2d2393 100644
--- a/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/Connections.module.scss
+++ b/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/Connections.module.scss
@@ -3,7 +3,7 @@
}
.SidebarOnTheMap {
- width: 400px;
+ width: 460px;
padding: 0 !important;
:global {
diff --git a/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/Connections.tsx b/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/Connections.tsx
index d88d6b24..35b95b7e 100644
--- a/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/Connections.tsx
+++ b/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/Connections.tsx
@@ -5,6 +5,7 @@ import {
ConnectionType,
OutCommand,
Passage,
+ PassageWithSourceTarget,
SolarSystemConnection,
} from '@/hooks/Mapper/types';
import clsx from 'clsx';
@@ -19,7 +20,7 @@ import { PassageCard } from './PassageCard';
const sortByDate = (a: string, b: string) => new Date(a).getTime() - new Date(b).getTime();
-const itemTemplate = (item: Passage, options: VirtualScrollerTemplateOptions) => {
+const itemTemplate = (item: PassageWithSourceTarget, options: VirtualScrollerTemplateOptions) => {
return (
};
export interface ConnectionPassagesContentProps {
- passages: Passage[];
+ passages: PassageWithSourceTarget[];
}
export const ConnectionPassages = ({ passages = [] }: ConnectionPassagesContentProps) => {
@@ -113,6 +114,20 @@ export const Connections = ({ selectedConnection, onHide }: OnTheMapProps) => {
[outCommand],
);
+ const preparedPassages = useMemo(() => {
+ if (!cnInfo) {
+ return [];
+ }
+
+ return passages
+ .sort((a, b) => sortByDate(b.inserted_at, a.inserted_at))
+ .map
(x => ({
+ ...x,
+ source: x.from ? cnInfo.target : cnInfo.source,
+ target: x.from ? cnInfo.source : cnInfo.target,
+ }));
+ }, [cnInfo, passages]);
+
useEffect(() => {
if (!selectedConnection) {
return;
@@ -145,12 +160,14 @@ export const Connections = ({ selectedConnection, onHide }: OnTheMapProps) => {
);
diff --git a/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/PassageCard/PassageCard.module.scss b/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/PassageCard/PassageCard.module.scss
index f36b6021..08af7c64 100644
--- a/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/PassageCard/PassageCard.module.scss
+++ b/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/PassageCard/PassageCard.module.scss
@@ -35,6 +35,10 @@
&.ThreeColumns {
grid-template-columns: auto 1fr auto;
}
+
+ &.FourColumns {
+ grid-template-columns: auto auto 1fr auto;
+ }
}
.CardBorderLeftIsOwn {
diff --git a/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/PassageCard/PassageCard.tsx b/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/PassageCard/PassageCard.tsx
index 04669de2..fe7ff986 100644
--- a/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/PassageCard/PassageCard.tsx
+++ b/assets/js/hooks/Mapper/components/mapRootContent/components/Connections/PassageCard/PassageCard.tsx
@@ -1,7 +1,7 @@
import clsx from 'clsx';
import classes from './PassageCard.module.scss';
-import { Passage } from '@/hooks/Mapper/types';
-import { TimeAgo } from '@/hooks/Mapper/components/ui-kit';
+import { PassageWithSourceTarget } from '@/hooks/Mapper/types';
+import { SystemView, TimeAgo, TooltipPosition } from '@/hooks/Mapper/components/ui-kit';
import { WdTooltipWrapper } from '@/hooks/Mapper/components/ui-kit/WdTooltipWrapper';
import { kgToTons } from '@/hooks/Mapper/utils/kgToTons.ts';
import { useMemo } from 'react';
@@ -11,7 +11,7 @@ type PassageCardType = {
showShipName?: boolean;
// showSystem?: boolean;
// useSystemsCache?: boolean;
-} & Passage;
+} & PassageWithSourceTarget;
const SHIP_NAME_RX = /u'|'/g;
export const getShipName = (name: string) => {
@@ -25,7 +25,7 @@ export const getShipName = (name: string) => {
});
};
-export const PassageCard = ({ inserted_at, character: char, ship }: PassageCardType) => {
+export const PassageCard = ({ inserted_at, character: char, ship, source, target, from }: PassageCardType) => {
const isOwn = false;
const insertedAt = useMemo(() => {
@@ -37,7 +37,39 @@ export const PassageCard = ({ inserted_at, character: char, ship }: PassageCardT
{/*here icon and other*/}
-
+
+
+
+
+
+
+ }
+ >
+
+
+
{/*portrait*/}
;
export type Passage = {
+ from: boolean;
inserted_at: string; // Date
ship: ShipTypeRaw;
character: PassageLimitedCharacterType;
};
+export type PassageWithSourceTarget = {
+ source: string;
+ target: string;
+} & Passage;
+
export type ConnectionInfoOutput = {
marl_eol_time: string;
};