diff --git a/src/lib/components/DateTimeInput.svelte b/src/lib/components/DateTimeInput.svelte
index 5b84786e..a98c6307 100644
--- a/src/lib/components/DateTimeInput.svelte
+++ b/src/lib/components/DateTimeInput.svelte
@@ -1,58 +1,74 @@
diff --git a/src/lib/components/Suggestions.svelte b/src/lib/components/Suggestions.svelte
index f85132b2..1c13c229 100644
--- a/src/lib/components/Suggestions.svelte
+++ b/src/lib/components/Suggestions.svelte
@@ -8,8 +8,6 @@
let index = $state(0)
let items: string[] = $state([])
- $inspect(items)
-
const populateItems = throttle(300, term => {
items = search(term).slice(0, 5)
})
diff --git a/src/lib/html.ts b/src/lib/html.ts
index c1f989a5..0d664c6d 100644
--- a/src/lib/html.ts
+++ b/src/lib/html.ts
@@ -21,7 +21,6 @@ export type ScrollerOpts = {
onScroll: () => any
element: Element
threshold?: number
- reverse?: boolean
delay?: number
}
@@ -35,7 +34,6 @@ export const createScroller = ({
element,
delay = 1000,
threshold = 2000,
- reverse = false,
}: ScrollerOpts) => {
let done = false
diff --git a/src/lib/util.ts b/src/lib/util.ts
index 6514a79f..5d76eee7 100644
--- a/src/lib/util.ts
+++ b/src/lib/util.ts
@@ -1,6 +1,6 @@
import {hexToBytes, bytesToHex} from "@noble/hashes/utils"
import * as nip19 from "nostr-tools/nip19"
-import {HOUR} from "@welshman/lib"
+import {HOUR, MONTH, DAY} from "@welshman/lib"
export const displayList =
(xs: T[], conj = "and", n = 6, locale = "en-US") => {
const stringItems = xs.map(String)
@@ -44,10 +44,7 @@ export const timeHash = (seconds: number, precision = 32) => {
return hash
}
-export const timeHashesBetween = (a: number, b: number) => {
- const precisions = [10, 15, 20]
- const start = Math.min(a, b) >>> 0
- const end = Math.min(Math.max(a, b) >>> 0, 0xffffffff)
+export const timeHashesBetween = (start: number, end: number, precisions = [10, 15, 20]) => {
const hashes = new Set()
for (let seconds = start; seconds <= end; seconds += HOUR) {
@@ -58,3 +55,12 @@ export const timeHashesBetween = (a: number, b: number) => {
return Array.from(hashes).sort()
}
+
+export const timeHashesForFilter = (start: number, end: number) => {
+ const diff = end - start
+
+ if (diff < 3 * DAY) return timeHashesBetween(start, end, [20])
+ if (diff < 3 * MONTH) return timeHashesBetween(start, end, [15])
+
+ return timeHashesBetween(start, end, [10])
+}
diff --git a/src/routes/spaces/[relay]/calendar/+page.svelte b/src/routes/spaces/[relay]/calendar/+page.svelte
index 8093dc2e..de9b1dee 100644
--- a/src/routes/spaces/[relay]/calendar/+page.svelte
+++ b/src/routes/spaces/[relay]/calendar/+page.svelte
@@ -1,10 +1,11 @@