import { JSX } from 'solid-js'; import { Line } from './types'; const validTransportModes = ["bus", "tram", "metro", "rer", "transilien", "funicular", "ter", "unknown"]; export const TransportModeWeights: Record = { bus: 1, tram: 2, val: 3, funicular: 4, metro: 5, rer: 6, transilien: 7, ter: 8, }; export function getTransportModeSrc(mode: string, color: boolean = true): string | undefined { let ret = undefined; if (validTransportModes.includes(mode)) { ret = `/public/symbole_${mode}_${color ? "" : "support_fonce_"}RVB.svg`; } return ret; } export function renderLineTransportMode(line: Line): JSX.Element { return } function renderBusLinePicto(line: Line, styles: CSSModuleClasses): JSX.Element { return (
{line.shortName}
); } function renderTramLinePicto(line: Line, styles: CSSModuleClasses): JSX.Element { const lineStyle = { fill: `#${line.backColorHexa}` }; return (
{line.shortName}
); } function renderMetroLinePicto(line: Line, styles: CSSModuleClasses): JSX.Element { return (
{line.shortName}
); } function renderTrainLinePicto(line: Line, styles: CSSModuleClasses): JSX.Element { return (
{line.shortName}
); } export function renderLinePicto(line: Line, styles: CSSModuleClasses): JSX.Element { switch (line.transportMode) { case "bus": case "funicular": return renderBusLinePicto(line, styles); case "tram": return renderTramLinePicto(line, styles); /* case "val": */ case "metro": return renderMetroLinePicto(line, styles); case "transilien": case "rer": case "ter": return renderTrainLinePicto(line, styles); } }