import type { CardProps } from "@thorium/cards/CardProps";
import {
SensorsDamageOverlay,
useSensorGridOffline,
} from "@thorium/cards/Sensors/SensorsDamageOverlay";
import { BeamVisualization, PhaserArcs, Phasers } from "@thorium/cards/Targeting/Phasers";
import { Shields } from "@thorium/cards/Targeting/Shields";
import { Torpedoes } from "@thorium/cards/Targeting/Torpedoes";
import { q } from "@thorium/context/AppContext";
import { useStation } from "@thorium/routes/station/useStation";
import { cn } from "@thorium/utils/cn";
import * as React from "react";
import { ObjectImage, useObjectData } from "../Navigation/ObjectDetails";
import { CircleGrid, CircleGridTiltButton, GridCanvas } from "../Pilot/CircleGrid";
import { CircleGridContacts } from "../Pilot/PilotContacts";
import { PilotZoomSlider } from "../Pilot/PilotZoomSlider";
import { CircleGridStoreProvider } from "../Pilot/useCircleGridStore";
/**
* TODO:
* Add overlays to the targeting grid showing where the torpedo will fire from
* Add explosions to the Viewscreen, and maybe even the targeting grid.
*/
export function Targeting({ cardLoaded }: CardProps) {
const { shipId, ship } = useStation();
const setTarget = q.targeting.setTarget.useNetSend();
const [targetedContact] = q.targeting.targetedContact.useNetRequest({
shipId,
});
q.targeting.stream.useDataStream({ shipId });
q.pilot.stream.useDataStream({ shipId, systemId: ship.currentSystem });
const [hull] = q.targeting.hull.useNetRequest({ shipId });
const clickRef = React.useRef(false);
const { gridOffline } = useSensorGridOffline();
return (
No Object Targeted
)}