diff --git a/web/src/lib/Figure.svelte b/web/src/lib/Figure.svelte index 3be3fb6..0388246 100644 --- a/web/src/lib/Figure.svelte +++ b/web/src/lib/Figure.svelte @@ -1,7 +1,7 @@ + +
+ + + + + + 时间筛选 + + + 时间不限 + 今天 + 最近一周 + 最近一个月 + 最近三个月 + + 自定义 + + + + + + + +
\ No newline at end of file diff --git a/web/src/lib/components/ui/date-range-picker.svelte b/web/src/lib/components/ui/DateRangePicker.svelte similarity index 56% rename from web/src/lib/components/ui/date-range-picker.svelte rename to web/src/lib/components/ui/DateRangePicker.svelte index 5297441..e698d25 100644 --- a/web/src/lib/components/ui/date-range-picker.svelte +++ b/web/src/lib/components/ui/DateRangePicker.svelte @@ -11,16 +11,38 @@ import { Button } from "$lib/components/ui/button/index.js"; import { RangeCalendar } from "$lib/components/ui/range-calendar/index.js"; import * as Popover from "$lib/components/ui/popover/index.js"; - + import { onMount } from "svelte"; + const df = new DateFormatter("en-US", { dateStyle: "medium" }); + + export let startTimestamp: number; + export let endTimestamp: number; - let value: DateRange | undefined = { - start: new CalendarDate(2022, 1, 20), - end: new CalendarDate(2022, 1, 20).add({ days: 20 }) - }; - + let value: DateRange | undefined; + let initialized = false; // Flag to control reactive updates + let userSelected = false; // New flag to track user selection + + onMount(() => { + const now = new Date(); + const year = now.getFullYear(); + const month = now.getMonth() + 1; // getMonth() returns 0-11 + const date = now.getDate(); + value = { + start: new CalendarDate(year, month, date).subtract({ days: 30 }), + end: new CalendarDate(year, month, date) + }; + console.log(initialized); + initialized = true; + }); + + $: if (initialized && value && value.start && value.end && !userSelected) { + userSelected = true; // Set flag when user selects a range + startTimestamp = value.start.toDate(getLocalTimeZone()).getTime() / 1000; + endTimestamp = value.end.toDate(getLocalTimeZone()).getTime() / 1000; + } + let startValue: DateValue | undefined = undefined; @@ -30,13 +52,15 @@