import { map } from 'common/collections'; import { Fragment } from 'inferno'; import { useBackend } from '../backend'; import { Button, LabeledList, Section, Table, Tabs } from '../components'; export const ShuttleManipulator = props => { const { act, data } = useBackend(props); const shuttles = data.shuttles || []; const templateObject = data.templates || {}; const selected = data.selected || {}; const existingShuttle = data.existing_shuttle || {}; return ( {() => (
{shuttles.map(shuttle => (
)}
{() => (
{map((template, templateId) => { const templates = template.templates || []; return ( {templates.map(actualTemplate => { const isSelected = ( actualTemplate.shuttle_id === selected.shuttle_id ); // Whoever made the structure being sent is an asshole return (
act('select_template', { shuttle_id: actualTemplate.shuttle_id, })} /> )}> {(!!actualTemplate.description || !!actualTemplate.admin_notes ) && ( {!!actualTemplate.description && ( {actualTemplate.description} )} {!!actualTemplate.admin_notes && ( {actualTemplate.admin_notes} )} )}
); })}
); })(templateObject)}
)}
{selected ? (
{(!!selected.description || !!selected.admin_notes) && ( {!!selected.description && ( {selected.description} )} {!!selected.admin_notes && ( {selected.admin_notes} )} )}
{existingShuttle ? (
act('jump_to', { type: 'mobile', id: existingShuttle.id, })} /> )}> {existingShuttle.status} {!!existingShuttle.timer && ( ({existingShuttle.timeleft}) )}
) : (
)}
) : 'No shuttle selected'}
); };