Files
TREK/client/src/components/Tours/TourWorkspaceRail.tsx
T
Maurice 782e613506 Tours: day GPX import, wanderer trails and planning over an import
- GPX files drop onto the map or a day; the import lands on that day
- wanderer connection per user in Integrations; the workspace offers the
  user's own trails only, behind an admin switch under the Tours addon
- wanderer difficulty is stored on the SAC scale (T1 to T3), backfilled
- a GPX or wanderer import can be planned as an editable tour, either in
  place (the recorded track is kept and can be restored) or as a new tour
  that remembers the import it came from
- rails, rows and detail dialog follow the plan sidebar's cards and badges
- admin addon shelves with more than one row fold, collapsed by default
- reverse-geocoded waypoint names are cached on the device
2026-10-15 17:44:15 +02:00

37 lines
1.1 KiB
TypeScript

import type { GpxConversion } from './conversion/useGpxConversion';
import { TourPlannerRail } from './planner/TourPlannerPanels';
import type { TourPlannerController } from './planner/useTourPlanner';
import type { RecordedTrack } from './useRecordedTrack';
import WandererBrowserRail from './wanderer/WandererBrowserRail';
import type { WandererBrowser } from './wanderer/useWandererBrowser';
/** The tours workspace's left rail: the tour editor, or the wanderer trails while those are browsed. */
export default function TourWorkspaceRail({
planner,
wanderer,
conversion,
recordedTrack,
canEdit,
canAssign,
}: {
planner: TourPlannerController;
wanderer: WandererBrowser;
conversion: GpxConversion;
recordedTrack: RecordedTrack;
canEdit: boolean;
canAssign: boolean;
}) {
return wanderer.open ? (
<WandererBrowserRail browser={wanderer} />
) : (
<TourPlannerRail
planner={planner}
canEdit={canEdit}
canAssign={canAssign}
conversion={conversion}
recordedTrack={recordedTrack}
onOpenWanderer={wanderer.enabled ? wanderer.openBrowser : undefined}
/>
);
}