diff --git a/package-lock.json b/package-lock.json
index 14f6a174..91cefe73 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18,6 +18,7 @@
"ua-parser-js": "^1.0.37"
},
"devDependencies": {
+ "@internationalized/date": "^3.5.5",
"@playwright/test": "^1.43.1",
"@rollup/plugin-dynamic-import-vars": "^2.1.2",
"@sveltejs/adapter-vercel": "^5.3.0",
@@ -1744,10 +1745,11 @@
}
},
"node_modules/@internationalized/date": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.4.tgz",
- "integrity": "sha512-qoVJVro+O0rBaw+8HPjUB1iH8Ihf8oziEnqMnvhJUSuVIrHOuZ6eNLHNvzXJKUvAtaDiqMnRlg8Z2mgh09BlUw==",
+ "version": "3.5.5",
+ "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.5.tgz",
+ "integrity": "sha512-H+CfYvOZ0LTJeeLOqm19E3uj/4YjrmOFtBufDHPfvtI80hFAMqtrp7oCACpe4Cil5l8S0Qu/9dYfZc/5lY8WQQ==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@swc/helpers": "^0.5.0"
}
diff --git a/package.json b/package.json
index b606524a..64df2d03 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,7 @@
"test:safari": "npx playwright test --headed --project=safari"
},
"devDependencies": {
+ "@internationalized/date": "^3.5.5",
"@playwright/test": "^1.43.1",
"@rollup/plugin-dynamic-import-vars": "^2.1.2",
"@sveltejs/adapter-vercel": "^5.3.0",
diff --git a/src/lib/components/shadcn/calendar/calendar-cell.svelte b/src/lib/components/shadcn/calendar/calendar-cell.svelte
new file mode 100644
index 00000000..f2962b22
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/calendar-cell.svelte
@@ -0,0 +1,21 @@
+
+
+
+
+
diff --git a/src/lib/components/shadcn/calendar/calendar-day.svelte b/src/lib/components/shadcn/calendar/calendar-day.svelte
new file mode 100644
index 00000000..3b81d8ff
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/calendar-day.svelte
@@ -0,0 +1,42 @@
+
+
+
+
+ {date.day}
+
+
diff --git a/src/lib/components/shadcn/calendar/calendar-grid-body.svelte b/src/lib/components/shadcn/calendar/calendar-grid-body.svelte
new file mode 100644
index 00000000..80b6f84a
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/calendar-grid-body.svelte
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/src/lib/components/shadcn/calendar/calendar-grid-head.svelte b/src/lib/components/shadcn/calendar/calendar-grid-head.svelte
new file mode 100644
index 00000000..dbe3e8e8
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/calendar-grid-head.svelte
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/src/lib/components/shadcn/calendar/calendar-grid-row.svelte b/src/lib/components/shadcn/calendar/calendar-grid-row.svelte
new file mode 100644
index 00000000..3a1473c7
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/calendar-grid-row.svelte
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/src/lib/components/shadcn/calendar/calendar-grid.svelte b/src/lib/components/shadcn/calendar/calendar-grid.svelte
new file mode 100644
index 00000000..981ec0e5
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/calendar-grid.svelte
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/src/lib/components/shadcn/calendar/calendar-head-cell.svelte b/src/lib/components/shadcn/calendar/calendar-head-cell.svelte
new file mode 100644
index 00000000..bd35c184
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/calendar-head-cell.svelte
@@ -0,0 +1,16 @@
+
+
+
+
+
diff --git a/src/lib/components/shadcn/calendar/calendar-header.svelte b/src/lib/components/shadcn/calendar/calendar-header.svelte
new file mode 100644
index 00000000..014ff28b
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/calendar-header.svelte
@@ -0,0 +1,16 @@
+
+
+
+
+
diff --git a/src/lib/components/shadcn/calendar/calendar-heading.svelte b/src/lib/components/shadcn/calendar/calendar-heading.svelte
new file mode 100644
index 00000000..409a182d
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/calendar-heading.svelte
@@ -0,0 +1,19 @@
+
+
+
+
+ {headingValue}
+
+
diff --git a/src/lib/components/shadcn/calendar/calendar-months.svelte b/src/lib/components/shadcn/calendar/calendar-months.svelte
new file mode 100644
index 00000000..828e0fc8
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/calendar-months.svelte
@@ -0,0 +1,16 @@
+
+
+
+
+
diff --git a/src/lib/components/shadcn/calendar/calendar-next-button.svelte b/src/lib/components/shadcn/calendar/calendar-next-button.svelte
new file mode 100644
index 00000000..334bc1a8
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/calendar-next-button.svelte
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
diff --git a/src/lib/components/shadcn/calendar/calendar-prev-button.svelte b/src/lib/components/shadcn/calendar/calendar-prev-button.svelte
new file mode 100644
index 00000000..d39bd751
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/calendar-prev-button.svelte
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
diff --git a/src/lib/components/shadcn/calendar/calendar.svelte b/src/lib/components/shadcn/calendar/calendar.svelte
new file mode 100644
index 00000000..663c00bf
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/calendar.svelte
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+ {#each months as month}
+
+
+
+ {#each weekdays as weekday}
+
+ {weekday.slice(0, 2)}
+
+ {/each}
+
+
+
+ {#each month.weeks as weekDates}
+
+ {#each weekDates as date}
+
+
+
+ {/each}
+
+ {/each}
+
+
+ {/each}
+
+
diff --git a/src/lib/components/shadcn/calendar/index.ts b/src/lib/components/shadcn/calendar/index.ts
new file mode 100644
index 00000000..ab257ab3
--- /dev/null
+++ b/src/lib/components/shadcn/calendar/index.ts
@@ -0,0 +1,30 @@
+import Root from "./calendar.svelte";
+import Cell from "./calendar-cell.svelte";
+import Day from "./calendar-day.svelte";
+import Grid from "./calendar-grid.svelte";
+import Header from "./calendar-header.svelte";
+import Months from "./calendar-months.svelte";
+import GridRow from "./calendar-grid-row.svelte";
+import Heading from "./calendar-heading.svelte";
+import GridBody from "./calendar-grid-body.svelte";
+import GridHead from "./calendar-grid-head.svelte";
+import HeadCell from "./calendar-head-cell.svelte";
+import NextButton from "./calendar-next-button.svelte";
+import PrevButton from "./calendar-prev-button.svelte";
+
+export {
+ Day,
+ Cell,
+ Grid,
+ Header,
+ Months,
+ GridRow,
+ Heading,
+ GridBody,
+ GridHead,
+ HeadCell,
+ NextButton,
+ PrevButton,
+ //
+ Root as Calendar,
+};
diff --git a/src/routes/options-flow/+page.svelte b/src/routes/options-flow/+page.svelte
index 9f4dad7f..72b8c378 100644
--- a/src/routes/options-flow/+page.svelte
+++ b/src/routes/options-flow/+page.svelte
@@ -3,11 +3,19 @@
import { screenWidth, numberOfUnreadNotification, etfTicker, stockTicker, isOpen } from '$lib/store';
import notifySound from '$lib/audio/options-flow-reader.mp3';
//import UpgradeToPro from '$lib/components/UpgradeToPro.svelte';
- import { abbreviateNumber } from '$lib/utils';
+ import { abbreviateNumber,cn } from '$lib/utils';
import { onMount, onDestroy } from 'svelte';
import toast from 'svelte-french-toast';
- import * as DropdownMenu from "$lib/components/shadcn/dropdown-menu/index.js";
+ import {
+ DateFormatter,
+ type DateValue,
+ } from "@internationalized/date";
+ import * as DropdownMenu from "$lib/components/shadcn/dropdown-menu/index.js";
+ import * as Popover from "$lib/components/shadcn/popover/index.js";
import { Button } from "$lib/components/shadcn/button/index.js";
+ import { Calendar } from "$lib/components/shadcn/calendar/index.js";
+ import CalendarIcon from "lucide-svelte/icons/calendar";
+
import VirtualList from 'svelte-tiny-virtual-list';
import { writable } from 'svelte/store';
@@ -34,6 +42,13 @@
let showFilters = true;
let filteredRows = [];
let shouldLoadWorker = writable(false);
+ const df = new DateFormatter("en-US", {
+ day: "2-digit",
+ month: "short",
+ year: "numeric"
+ });
+
+ let selectedDate: DateValue | undefined = undefined;
const allRules = {
volume: { label: 'Volume', step: ['100K','10K','1K'], defaultCondition: 'over', defaultValue: 'any' },
@@ -737,7 +752,7 @@ $: {
-
+