diff --git a/client/src/lib/ui/DateRangePicker.svelte b/client/src/lib/ui/DateRangePicker.svelte new file mode 100644 index 0000000..6b69fc6 --- /dev/null +++ b/client/src/lib/ui/DateRangePicker.svelte @@ -0,0 +1,141 @@ + + + { + if (v.start && v.end) { + start = v.start.toDate(getLocalTimeZone()); + end = v.end.toDate(getLocalTimeZone()); + if (onchange) { + onchange(start, end); + } + } + }} +> + + + {#each ['start', 'end'] as const as type} + + {#snippet children({ segments })} + {#each segments as { part, value }} + + {#if part === 'literal'} + + {value} + + {:else} + + {value} + + {/if} + + {/each} + {/snippet} + + {#if type === 'start'} + + + + {/if} + {/each} + + + + + + {#snippet child({ props, open })} + {#if open} + + + {#snippet children({ months, weekdays })} + + + + + + + + + + + {#each months as month} + + + + {#each weekdays as day} + + {day.slice(0, 2)} + + {/each} + + + + {#each month.weeks as weekDates} + + {#each weekDates as date} + + + + {date.day} + + + {/each} + + {/each} + + + {/each} + + {/snippet} + + + {/if} + {/snippet} + + diff --git a/client/src/routes/(app)/items/+page.svelte b/client/src/routes/(app)/items/+page.svelte index 2ef2739..6e8923f 100644 --- a/client/src/routes/(app)/items/+page.svelte +++ b/client/src/routes/(app)/items/+page.svelte @@ -1,11 +1,12 @@ +