|
1 | 1 | <script lang="ts"> |
2 | 2 | import Weather from "$lib/components/Weather.svelte"; |
3 | | - import type { SessionInfo } from "$lib/types"; |
| 3 | + import { kanbanapiurl } from "$lib/config"; |
| 4 | + import type { Card, SessionInfo } from "$lib/types"; |
4 | 5 | import { |
5 | 6 | FlexWrapper, |
6 | 7 | Icon, |
|
11 | 12 | refreshAccessToken, |
12 | 13 | formatDate_PREFERREDTIME, |
13 | 14 | BlockNote, |
14 | | - isMachineTimeSameAsPreferred |
| 15 | + isMachineTimeSameAsPreferred, |
| 16 | +
|
| 17 | + authFetch |
| 18 | +
|
15 | 19 | } from "@davidnet/svelte-ui"; |
16 | 20 | import { sign } from "crypto"; |
17 | 21 | import { onMount, onDestroy } from "svelte"; |
|
105 | 109 | }, 1000); |
106 | 110 |
|
107 | 111 | goodtime = await isMachineTimeSameAsPreferred(correlationID); |
| 112 | + await LoadDaily(); |
108 | 113 | }); |
109 | 114 |
|
110 | 115 | let width = $state(window.innerWidth); |
|
162 | 167 | if (!url) return; |
163 | 168 | edit_custom_link(link.id, name, url); |
164 | 169 | } |
| 170 | +
|
| 171 | + let cards_due_today: Card[] = $state([]); |
| 172 | + async function LoadDaily() { |
| 173 | + const cards_due_today_res = await authFetch(`${kanbanapiurl}boards/recent`, correlationID, { method: "GET" }); |
| 174 | + cards_due_today = await cards_due_today_res.json(); |
| 175 | + console.log("Cards due today:", cards_due_today); |
| 176 | + } |
| 177 | +
|
165 | 178 | </script> |
166 | 179 |
|
167 | 180 | <FlexWrapper direction="column" width="100%"> |
|
406 | 419 |
|
407 | 420 | <FlexWrapper alignitems="flex-start" width="80%"> |
408 | 421 | <h2>Today:</h2> |
| 422 | + {#if cards_due_today.length > 0} |
| 423 | + <FlexWrapper gap="var(--token-space-3)" justifycontent={width > 600 ? "flex-start" : "space-evenly"} direction="row" wrap="wrap"> |
| 424 | + {#each cards_due_today as card (card.id)} |
| 425 | + <a class="option" href={"https://kanban.davidnet.net"}> |
| 426 | + <FlexWrapper width="100%" height="100%" gap="var(--token-space-2)"> |
| 427 | + <Icon size="4rem" icon="task_alt" /> |
| 428 | + <p class="option-text">{card.name}</p> |
| 429 | + </FlexWrapper> |
| 430 | + </a> |
| 431 | + {/each} |
| 432 | + </FlexWrapper> |
| 433 | + {:else} |
409 | 434 | <span style="color: var(--token-color-text-secondary); margin-left: var(--token-space-3);">No activity for today.</span> |
| 435 | + {/if} |
410 | 436 | </FlexWrapper> |
411 | 437 |
|
412 | 438 | <Space height="var(--token-space-4)" /> |
|
432 | 458 | </a> |
433 | 459 | {/each} |
434 | 460 | <!-- Button to add a new link --> |
| 461 | + <!-- svelte-ignore a11y_click_events_have_key_events --> |
| 462 | + <!-- svelte-ignore a11y_no_static_element_interactions --> |
435 | 463 | <div class="option" onclick={addLinkPrompt}> |
436 | 464 | <FlexWrapper width="100%" height="100%" justifycontent="center" alignitems="center"> |
437 | 465 | <Icon icon="add" size="5rem"/> |
|
0 commit comments