mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-09 16:09:15 +00:00
I spent a ridiculous amount of time on this. Arm order now works like: input disk input nuke code, press E input time, press E press ARM to activate press ARM again to deactivate (with disk) press C to clear code input while ready but not armed
378 lines
10 KiB
JavaScript
378 lines
10 KiB
JavaScript
import { Achievements } from './interfaces/Achievements';
|
|
import { AiAirlock } from './interfaces/AiAirlock';
|
|
import { AirAlarm } from './interfaces/AirAlarm';
|
|
import { AirlockElectronics } from './interfaces/AirlockElectronics';
|
|
import { Apc } from './interfaces/Apc';
|
|
import { AtmosAlertConsole } from './interfaces/AtmosAlertConsole';
|
|
import { AtmosControlConsole } from './interfaces/AtmosControlConsole';
|
|
import { AtmosFilter } from './interfaces/AtmosFilter';
|
|
import { AtmosMixer } from './interfaces/AtmosMixer';
|
|
import { AtmosPump } from './interfaces/AtmosPump';
|
|
import { BluespaceArtillery } from './interfaces/BluespaceArtillery';
|
|
import { BorgPanel } from './interfaces/BorgPanel';
|
|
import { BrigTimer } from './interfaces/BrigTimer';
|
|
import { Canister } from './interfaces/Canister';
|
|
import { Cargo, CargoExpress } from './interfaces/Cargo';
|
|
import { CellularEmporium } from './interfaces/CellularEmporium';
|
|
import { CentcomPodLauncher } from './interfaces/CentcomPodLauncher';
|
|
import { ChemAcclimator } from './interfaces/ChemAcclimator';
|
|
import { ChemDebugSynthesizer } from './interfaces/ChemDebugSynthesizer';
|
|
import { ChemDispenser } from './interfaces/ChemDispenser';
|
|
import { ChemFilter } from './interfaces/ChemFilter';
|
|
import { ChemHeater } from './interfaces/ChemHeater';
|
|
import { ChemMaster } from './interfaces/ChemMaster';
|
|
import { ChemPress } from './interfaces/ChemPress';
|
|
import { ChemSplitter } from './interfaces/ChemSplitter';
|
|
import { ChemSynthesizer } from './interfaces/ChemSynthesizer';
|
|
import { CodexGigas } from './interfaces/CodexGigas';
|
|
import { ComputerFabricator } from './interfaces/ComputerFabricator';
|
|
import { Crayon } from './interfaces/Crayon';
|
|
import { CrewConsole } from './interfaces/CrewConsole';
|
|
import { Cryo } from './interfaces/Cryo';
|
|
import { DisposalUnit } from './interfaces/DisposalUnit';
|
|
import { DnaVault } from './interfaces/DnaVault';
|
|
import { EngravedMessage } from './interfaces/EngravedMessage';
|
|
import { Gps } from './interfaces/Gps';
|
|
import { Holodeck } from './interfaces/Holodeck';
|
|
import { ImplantChair } from './interfaces/ImplantChair';
|
|
import { KeycardAuth } from './interfaces/KeycardAuth';
|
|
import { LanguageMenu } from './interfaces/LanguageMenu';
|
|
import { MechBayPowerConsole } from './interfaces/MechBayPowerConsole';
|
|
import { MedicalKiosk } from './interfaces/MedicalKiosk';
|
|
import { Mint } from './interfaces/Mint';
|
|
import { NtosMain } from './interfaces/NtosMain';
|
|
import { NtosNetDownloader } from './interfaces/NtosNetDownloader';
|
|
import { NtosSupermatterMonitor } from './interfaces/NtosSupermatterMonitor';
|
|
import { NtosWrapper } from './interfaces/NtosWrapper';
|
|
import { NuclearBomb } from './interfaces/NuclearBomb';
|
|
import { OperatingComputer } from './interfaces/OperatingComputer';
|
|
import { OreRedemptionMachine } from './interfaces/OreRedemptionMachine';
|
|
import { PersonalCrafting } from './interfaces/PersonalCrafting';
|
|
import { PortableGenerator } from './interfaces/PortableGenerator';
|
|
import { PowerMonitor } from './interfaces/PowerMonitor';
|
|
import { Radio } from './interfaces/Radio';
|
|
import { RapidPipeDispenser } from './interfaces/RapidPipeDispenser';
|
|
import { ShuttleManipulator } from './interfaces/ShuttleManipulator';
|
|
import { SmartVend } from './interfaces/SmartVend';
|
|
import { Smes } from './interfaces/Smes';
|
|
import { SolarControl } from './interfaces/SolarControl';
|
|
import { SpaceHeater } from './interfaces/SpaceHeater';
|
|
import { SpawnersMenu } from './interfaces/SpawnersMenu';
|
|
import { StationAlertConsole } from './interfaces/StationAlertConsole';
|
|
import { SuitStorageUnit } from './interfaces/SuitStorageUnit';
|
|
import { Tank } from './interfaces/Tank';
|
|
import { TankDispenser } from './interfaces/TankDispenser';
|
|
import { ThermoMachine } from './interfaces/ThermoMachine';
|
|
import { TurbineComputer } from './interfaces/TurbineComputer';
|
|
import { Uplink } from './interfaces/Uplink';
|
|
import { VaultController } from './interfaces/VaultController';
|
|
import { Wires } from './interfaces/Wires';
|
|
|
|
const ROUTES = {
|
|
achievements: {
|
|
component: () => Achievements,
|
|
scrollable: true,
|
|
},
|
|
ai_airlock: {
|
|
component: () => AiAirlock,
|
|
scrollable: false,
|
|
},
|
|
airalarm: {
|
|
component: () => AirAlarm,
|
|
scrollable: true,
|
|
},
|
|
airlock_electronics: {
|
|
component: () => AirlockElectronics,
|
|
scrollable: false,
|
|
},
|
|
apc: {
|
|
component: () => Apc,
|
|
scrollable: false,
|
|
},
|
|
atmos_alert: {
|
|
component: () => AtmosAlertConsole,
|
|
scrollable: true,
|
|
},
|
|
atmos_control: {
|
|
component: () => AtmosControlConsole,
|
|
scrollable: true,
|
|
},
|
|
atmos_filter: {
|
|
component: () => AtmosFilter,
|
|
scrollable: false,
|
|
},
|
|
atmos_mixer: {
|
|
component: () => AtmosMixer,
|
|
scrollable: false,
|
|
},
|
|
atmos_pump: {
|
|
component: () => AtmosPump,
|
|
scrollable: false,
|
|
},
|
|
borgopanel: {
|
|
component: () => BorgPanel,
|
|
scrollable: true,
|
|
},
|
|
brig_timer: {
|
|
component: () => BrigTimer,
|
|
scrollable: false,
|
|
},
|
|
bsa: {
|
|
component: () => BluespaceArtillery,
|
|
scrollable: false,
|
|
},
|
|
canister: {
|
|
component: () => Canister,
|
|
scrollable: false,
|
|
},
|
|
cargo: {
|
|
component: () => Cargo,
|
|
scrollable: true,
|
|
},
|
|
cargo_express: {
|
|
component: () => CargoExpress,
|
|
scrollable: true,
|
|
},
|
|
cellular_emporium: {
|
|
component: () => CellularEmporium,
|
|
scrollable: true,
|
|
},
|
|
centcom_podlauncher: {
|
|
component: () => CentcomPodLauncher,
|
|
scrollable: false,
|
|
},
|
|
acclimator: {
|
|
component: () => ChemAcclimator,
|
|
scrollable: false,
|
|
},
|
|
chem_dispenser: {
|
|
component: () => ChemDispenser,
|
|
scrollable: true,
|
|
},
|
|
chemical_filter: {
|
|
component: () => ChemFilter,
|
|
scrollable: true,
|
|
},
|
|
chem_heater: {
|
|
component: () => ChemHeater,
|
|
scrollable: true,
|
|
},
|
|
chem_master: {
|
|
component: () => ChemMaster,
|
|
scrollable: true,
|
|
},
|
|
chem_press: {
|
|
component: () => ChemPress,
|
|
scrollable: false,
|
|
},
|
|
chem_splitter: {
|
|
component: () => ChemSplitter,
|
|
scrollable: false,
|
|
},
|
|
chem_synthesizer: {
|
|
component: () => ChemDebugSynthesizer,
|
|
scrollable: false,
|
|
},
|
|
synthesizer: {
|
|
component: () => ChemSynthesizer,
|
|
scrollable: false,
|
|
},
|
|
codex_gigas: {
|
|
component: () => CodexGigas,
|
|
scrollable: false,
|
|
},
|
|
computer_fabricator: {
|
|
component: () => ComputerFabricator,
|
|
scrollable: false,
|
|
},
|
|
crayon: {
|
|
component: () => Crayon,
|
|
scrollable: true,
|
|
},
|
|
crew: {
|
|
component: () => CrewConsole,
|
|
scrollable: true,
|
|
},
|
|
cryo: {
|
|
component: () => Cryo,
|
|
scrollable: false,
|
|
},
|
|
disposal_unit: {
|
|
component: () => DisposalUnit,
|
|
scrollable: false,
|
|
},
|
|
dna_vault: {
|
|
component: () => DnaVault,
|
|
scrollable: false,
|
|
},
|
|
engraved_message: {
|
|
component: () => EngravedMessage,
|
|
scrollable: false,
|
|
},
|
|
gps: {
|
|
component: () => Gps,
|
|
scrollable: true,
|
|
},
|
|
holodeck: {
|
|
component: () => Holodeck,
|
|
scrollable: true,
|
|
},
|
|
implantchair: {
|
|
component: () => ImplantChair,
|
|
scrollable: false,
|
|
},
|
|
keycard_auth: {
|
|
component: () => KeycardAuth,
|
|
scrollable: false,
|
|
},
|
|
language_menu: {
|
|
component: () => LanguageMenu,
|
|
scrollable: true,
|
|
},
|
|
mech_bay_power_console: {
|
|
component: () => MechBayPowerConsole,
|
|
scrollable: false,
|
|
},
|
|
medical_kiosk: {
|
|
component: () => MedicalKiosk,
|
|
scrollable: false,
|
|
},
|
|
mint: {
|
|
component: () => Mint,
|
|
scrollable: false,
|
|
},
|
|
ntos_main: {
|
|
component: () => NtosMain,
|
|
wrapper: () => NtosWrapper,
|
|
scrollable: true,
|
|
theme: 'ntos',
|
|
},
|
|
ntos_net_downloader: {
|
|
component: () => NtosNetDownloader,
|
|
wrapper: () => NtosWrapper,
|
|
scrollable: true,
|
|
theme: 'ntos',
|
|
},
|
|
ntos_power_monitor: {
|
|
component: () => PowerMonitor,
|
|
wrapper: () => NtosWrapper,
|
|
scrollable: true,
|
|
theme: 'ntos',
|
|
},
|
|
ntos_supermatter_monitor: {
|
|
component: () => NtosSupermatterMonitor,
|
|
wrapper: () => NtosWrapper,
|
|
scrollable: true,
|
|
theme: 'ntos',
|
|
},
|
|
nuclear_bomb: {
|
|
component: () => NuclearBomb,
|
|
scrollable: false,
|
|
theme: 'retro',
|
|
},
|
|
ore_redemption_machine: {
|
|
component: () => OreRedemptionMachine,
|
|
scrollable: true,
|
|
},
|
|
operating_computer: {
|
|
component: () => OperatingComputer,
|
|
scrollable: true,
|
|
},
|
|
personal_crafting: {
|
|
component: () => PersonalCrafting,
|
|
scrollable: true,
|
|
},
|
|
portable_generator: {
|
|
component: () => PortableGenerator,
|
|
scrollable: false,
|
|
},
|
|
power_monitor: {
|
|
component: () => PowerMonitor,
|
|
scrollable: true,
|
|
},
|
|
radio: {
|
|
component: () => Radio,
|
|
scrollable: false,
|
|
},
|
|
rpd: {
|
|
component: () => RapidPipeDispenser,
|
|
scrollable: true,
|
|
},
|
|
shuttle_manipulator: {
|
|
component: () => ShuttleManipulator,
|
|
scrollable: true,
|
|
},
|
|
smartvend: {
|
|
component: () => SmartVend,
|
|
scrollable: true,
|
|
},
|
|
smes: {
|
|
component: () => Smes,
|
|
scrollable: false,
|
|
},
|
|
solar_control: {
|
|
component: () => SolarControl,
|
|
scrollable: false,
|
|
},
|
|
space_heater: {
|
|
component: () => SpaceHeater,
|
|
scrollable: false,
|
|
},
|
|
spawners_menu: {
|
|
component: () => SpawnersMenu,
|
|
scrollable: true,
|
|
},
|
|
station_alert: {
|
|
component: () => StationAlertConsole,
|
|
scrollable: true,
|
|
},
|
|
suit_storage_unit: {
|
|
component: () => SuitStorageUnit,
|
|
scrollable: false,
|
|
},
|
|
tanks: {
|
|
component: () => Tank,
|
|
scrollable: false,
|
|
},
|
|
tank_dispenser: {
|
|
component: () => TankDispenser,
|
|
scrollable: false,
|
|
},
|
|
thermomachine: {
|
|
component: () => ThermoMachine,
|
|
scrollable: false,
|
|
},
|
|
turbine_computer: {
|
|
component: () => TurbineComputer,
|
|
scrollable: false,
|
|
},
|
|
uplink: {
|
|
component: () => Uplink,
|
|
scrollable: true,
|
|
theme: 'syndicate',
|
|
},
|
|
vault_controller: {
|
|
component: () => VaultController,
|
|
scrollable: false,
|
|
},
|
|
wires: {
|
|
component: () => Wires,
|
|
scrollable: false,
|
|
},
|
|
};
|
|
|
|
export const getRoute = state => {
|
|
if (process.env.NODE_ENV !== 'production') {
|
|
// Show a kitchen sink
|
|
if (state.showKitchenSink) {
|
|
const { KitchenSink } = require('./interfaces/KitchenSink');
|
|
return {
|
|
component: () => KitchenSink,
|
|
scrollable: true,
|
|
};
|
|
}
|
|
}
|
|
// Refer to the routing table
|
|
return ROUTES[state.config && state.config.interface];
|
|
};
|