diff --git a/src/components/gpx/GpxViewer.tsx b/src/components/gpx/GpxViewer.tsx index fdd71d8..5bf82b8 100644 --- a/src/components/gpx/GpxViewer.tsx +++ b/src/components/gpx/GpxViewer.tsx @@ -2,6 +2,7 @@ import { Component, For } from 'solid-js'; import { peekCachedSignal } from '../../workers/cached-signals'; import { RteViewer } from '../rte'; import Tree from '../tree'; +import { TrkViewer } from '../trk'; import { WptViewer } from '../wpt'; import GpxIcon from './GpxIcon'; @@ -38,6 +39,9 @@ const GpxViewer: Component = ({ gpxId, restrictToHierarchy }) => { if (child.type === 'rte') { return ; } + if (child.type === 'trk') { + return ; + } return <>; }} diff --git a/src/components/rte/RteViewer.tsx b/src/components/rte/RteViewer.tsx index f708d5d..85f06ed 100644 --- a/src/components/rte/RteViewer.tsx +++ b/src/components/rte/RteViewer.tsx @@ -19,7 +19,7 @@ const RteViewer: Component = ({ rteId }) => { - {title()} + {title()} } content={undefined} diff --git a/src/components/trk/TrkViewer.tsx b/src/components/trk/TrkViewer.tsx new file mode 100644 index 0000000..4ed7b69 --- /dev/null +++ b/src/components/trk/TrkViewer.tsx @@ -0,0 +1,42 @@ +import { Component, For, from } from 'solid-js'; +import { peekCachedSignal } from '../../workers/cached-signals'; +import Tree from '../tree'; +import TrkIcon from '../../icons/human-footprints-svgrepo-com.svg?component-solid'; +import { TrksegViewer } from '../trkseg'; + +interface Props { + trkId: string; + restrictToHierarchy?: any; +} + +const TrkViewer: Component = ({ trkId, restrictToHierarchy }) => { + const trk = peekCachedSignal({ id: trkId, method: 'getTrk' }); + console.log({ caller: 'TrkViewer', trkId, restrictToHierarchy, trk: trk() }); + const title = () => { + return trk().name; + }; + + return ( + + {title()} + + } + content={undefined} + subTree={ + + key.startsWith('gpx/') + )} + > + {(key: string) => { + return ; + }} + + } + /> + ); +}; + +export default TrkViewer; diff --git a/src/components/trk/index.ts b/src/components/trk/index.ts index d12c91a..4ec4eaf 100644 --- a/src/components/trk/index.ts +++ b/src/components/trk/index.ts @@ -1 +1,3 @@ export { default } from './Trk'; + +export { default as TrkViewer } from './TrkViewer'; diff --git a/src/components/trkseg/TrksegViewer.tsx b/src/components/trkseg/TrksegViewer.tsx new file mode 100644 index 0000000..23244ba --- /dev/null +++ b/src/components/trkseg/TrksegViewer.tsx @@ -0,0 +1,30 @@ +import { Component } from 'solid-js'; +import { peekCachedSignal } from '../../workers/cached-signals'; +import Tree from '../tree'; +import TrkIcon from '../../icons/human-footprints-svgrepo-com.svg?component-solid'; + +interface Props { + trksegId: string; +} + +const TrksegViewer: Component = ({ trksegId }) => { + const trkseg = peekCachedSignal({ id: trksegId, method: 'getTrkseg' }); + console.log({ caller: 'TrksegViewer', trksegId, trkseg: trkseg() }); + const title = () => { + return trkseg().name; + }; + + return ( + + {title()} + + } + content={undefined} + subTree={undefined} + /> + ); +}; + +export default TrksegViewer; diff --git a/src/components/trkseg/index.ts b/src/components/trkseg/index.ts index fe197ad..5f96d4f 100644 --- a/src/components/trkseg/index.ts +++ b/src/components/trkseg/index.ts @@ -1 +1,3 @@ export { default } from './Trkseg'; + +export { default as TrksegViewer } from './TrksegViewer'; diff --git a/src/components/wpt/WptViewer.tsx b/src/components/wpt/WptViewer.tsx index f8a8155..888d73a 100644 --- a/src/components/wpt/WptViewer.tsx +++ b/src/components/wpt/WptViewer.tsx @@ -18,7 +18,7 @@ const WptViewer: Component = ({ wptId }) => { - {title()} + {title()} } content={undefined} diff --git a/src/icons/human-footprints-svgrepo-com.svg b/src/icons/human-footprints-svgrepo-com.svg new file mode 100644 index 0000000..796eff4 --- /dev/null +++ b/src/icons/human-footprints-svgrepo-com.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file