forked from coracle/flotilla
Remember user minute selection
This commit is contained in:
@@ -12,11 +12,7 @@
|
|||||||
|
|
||||||
const pad = (n: number) => ("00" + String(n)).slice(-2)
|
const pad = (n: number) => ("00" + String(n)).slice(-2)
|
||||||
|
|
||||||
const getTime = (d: Date, inheritMinutes: boolean) => {
|
const getTime = (d: Date) => `${pad(d.getHours())}:${minutes}`
|
||||||
const minutes = inheritMinutes ? pad(d.getMinutes()) : "00"
|
|
||||||
|
|
||||||
return `${pad(d.getHours())}:${minutes}`
|
|
||||||
}
|
|
||||||
|
|
||||||
const setTime = (d: Date, time: string) => {
|
const setTime = (d: Date, time: string) => {
|
||||||
const [hours, minutes] = time.split(":").map(x => parseInt(x))
|
const [hours, minutes] = time.split(":").map(x => parseInt(x))
|
||||||
@@ -29,6 +25,7 @@
|
|||||||
|
|
||||||
const onTimeChange = () => {
|
const onTimeChange = () => {
|
||||||
if (time) {
|
if (time) {
|
||||||
|
minutes = time.slice(-2)
|
||||||
date = setTime(date || new Date(), time)
|
date = setTime(date || new Date(), time)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -42,12 +39,13 @@
|
|||||||
|
|
||||||
let date: Date | undefined = $state()
|
let date: Date | undefined = $state()
|
||||||
let time: string | undefined = $state()
|
let time: string | undefined = $state()
|
||||||
|
let minutes: string = $state("00")
|
||||||
let element: HTMLElement
|
let element: HTMLElement
|
||||||
|
|
||||||
// Sync date to time and value
|
// Sync date to time and value
|
||||||
$effect(() => {
|
$effect(() => {
|
||||||
if (date) {
|
if (date) {
|
||||||
time = getTime(date, false)
|
time = getTime(date)
|
||||||
value = dateToSeconds(date)
|
value = dateToSeconds(date)
|
||||||
} else {
|
} else {
|
||||||
value = undefined
|
value = undefined
|
||||||
@@ -57,7 +55,7 @@
|
|||||||
// Sync updates to value to date/time
|
// Sync updates to value to date/time
|
||||||
$effect(() => {
|
$effect(() => {
|
||||||
const derivedDate = value ? secondsToDate(value) : undefined
|
const derivedDate = value ? secondsToDate(value) : undefined
|
||||||
const derivedTime = derivedDate ? getTime(derivedDate, true) : undefined
|
const derivedTime = derivedDate ? getTime(derivedDate) : undefined
|
||||||
|
|
||||||
date = derivedDate
|
date = derivedDate
|
||||||
time = derivedTime
|
time = derivedTime
|
||||||
|
|||||||
Reference in New Issue
Block a user