import data from "../../assets/data/2.0/data.json"; // Adjust path if needed import ModuleSlots from "./ModuleSlots"; import type { Beacon } from "../../../scripts/factorio-dump/process-data.models"; import { qualityShortcut, useQualityScroller } from "../../hooks/useQualityScroller"; import Icon from "../icon"; import NumberInput from "../components/NumberInput"; import styles from "./BeaconConfigurator.module.css"; import type { BeaconGroup } from "../../engine"; const beaconsData = data.beacons as Beacon[]; export type BeaconGroupConf = BeaconGroup & { id: string; }; type BeaconConfiguratorProps = { groups: BeaconGroupConf[]; onChange: (g: BeaconGroupConf[]) => void; direction?: "horizontal" | "vertical"; }; function BeaconIconWrapper({ beacon, qualityLevel, onChangeQuality, }: { beacon: Beacon; qualityLevel: number; onChangeQuality: (qualityLevel: number) => void; }) { // Use the hook in controlled mode by passing qualityLevel const { scrollRef, activeQuality } = useQualityScroller("normal", qualityLevel, (q) => onChangeQuality(q.level)); return (