2024-05-16 18:18:42 +02:00
|
|
|
<script lang="ts">
|
2025-02-02 11:17:22 +01:00
|
|
|
import CollapsibleTree from '$lib/components/collapsible-tree/CollapsibleTree.svelte';
|
|
|
|
|
import FileListNode from '$lib/components/file-list/FileListNode.svelte';
|
2024-05-16 18:18:42 +02:00
|
|
|
|
2025-02-02 11:17:22 +01:00
|
|
|
import { getContext } from 'svelte';
|
|
|
|
|
import type { Readable } from 'svelte/store';
|
2025-10-05 19:34:05 +02:00
|
|
|
import { ListFileItem } from './file-list';
|
2025-10-17 23:54:45 +02:00
|
|
|
import type { GPXFileWithStatistics } from '$lib/logic/statistics';
|
2024-05-16 18:18:42 +02:00
|
|
|
|
2025-06-21 21:07:36 +02:00
|
|
|
let {
|
|
|
|
|
file,
|
|
|
|
|
}: {
|
|
|
|
|
file: Readable<GPXFileWithStatistics | undefined>;
|
|
|
|
|
} = $props();
|
2024-05-17 15:02:45 +02:00
|
|
|
|
2025-02-02 11:17:22 +01:00
|
|
|
let recursive = getContext<boolean>('recursive');
|
2024-05-16 18:18:42 +02:00
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
{#if $file}
|
2025-02-02 11:17:22 +01:00
|
|
|
{#if recursive}
|
|
|
|
|
<CollapsibleTree side="left" defaultState="closed" slotInsideTrigger={false}>
|
|
|
|
|
<FileListNode node={$file.file} item={new ListFileItem($file.file._data.id)} />
|
|
|
|
|
</CollapsibleTree>
|
|
|
|
|
{:else}
|
|
|
|
|
<FileListNode node={$file.file} item={new ListFileItem($file.file._data.id)} />
|
|
|
|
|
{/if}
|
2024-05-16 18:18:42 +02:00
|
|
|
{/if}
|