feat(Map): Add ability to open jump planner from routes

Fixes #13
This commit is contained in:
achichenkov
2024-09-29 21:47:35 +03:00
parent 01e0b24d9d
commit 19eb45bfa1
10 changed files with 180 additions and 12 deletions

View File

@@ -54,7 +54,7 @@ export const RoutesWidgetContent = () => {
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [hubs, systems, systemStatics, lastUpdateKey]);
const preparedRoutes = useMemo(() => {
const preparedRoutes: Route[] = useMemo(() => {
return (
routes?.routes
.sort(sortByDist)
@@ -71,15 +71,17 @@ export const RoutesWidgetContent = () => {
);
}, [routes?.routes, routes?.systems_static_data, systemId]);
const refData = useRef({ open, loadSystems });
refData.current = { open, loadSystems };
const refData = useRef({ open, loadSystems, preparedRoutes });
refData.current = { open, loadSystems, preparedRoutes };
useEffect(() => {
(async () => await refData.current.loadSystems(hubs))();
}, [hubs]);
const handleClick = useCallback((e: MouseEvent, systemId: string) => {
refData.current.open(e, systemId);
const route = refData.current.preparedRoutes.find(x => x.destination.toString() === systemId);
refData.current.open(e, systemId, route?.mapped_systems ?? []);
}, []);
const handleContextMenu = useCallback(
@@ -146,7 +148,14 @@ export const RoutesWidgetContent = () => {
</div>
)}
<ContextMenuSystemInfo hubs={hubs} systems={systems} systemStatics={systemStatics} {...systemCtxProps} />
<ContextMenuSystemInfo
hubs={hubs}
routes={preparedRoutes}
systems={systems}
systemStatics={systemStatics}
systemIdFrom={systemId}
{...systemCtxProps}
/>
</>
);
};