mirror of
https://github.com/narrrl/narl-workspace.git
synced 2026-11-04 00:47:01 +01:00
agenda, capture and finder: what needs doing comes to you
GET /api/agenda gathers unfinished cards from every board that are late, due within a week, or in hand, plus whether the diary has today; the reminder mail and the agenda share one diary check. t opens it (and it opens itself once a day when something is late or due), T writes today's entry, the bar counts late and due cards, Ctrl-P searches every space, and a document o made that is left empty is removed on the way out.
This commit is contained in:
1 parent
e1c8e22ea5
commit
9255d36b61
14 files changed
+686
-40
No files matched your search
@@ -5,10 +5,12 @@
|
||||
|
||||
interface Props {
|
||||
initial: string
|
||||
/** A `/` search across every space rather than this one — Ctrl-P. */
|
||||
global?: boolean
|
||||
close: () => void
|
||||
}
|
||||
|
||||
const { initial, close }: Props = $props()
|
||||
const { initial, global = false, close }: Props = $props()
|
||||
|
||||
let value = $state(untrack(() => initial))
|
||||
let input = $state<HTMLInputElement>()
|
||||
@@ -23,7 +25,7 @@
|
||||
$effect(() => {
|
||||
if (!isSearch) return
|
||||
const query = value.slice(1)
|
||||
const timer = setTimeout(() => void workspace.guard(() => workspace.search(query)), 120)
|
||||
const timer = setTimeout(() => void workspace.guard(() => workspace.search(query, global)), 120)
|
||||
return () => clearTimeout(timer)
|
||||
})
|
||||
|
||||
@@ -67,6 +69,7 @@
|
||||
{/if}
|
||||
|
||||
<form onsubmit={submit}>
|
||||
{#if isSearch}<span class="scope label">{global ? 'all spaces' : (workspace.space?.slug ?? '')}</span>{/if}
|
||||
<input bind:this={input} bind:value {onkeydown} spellcheck="false" autocomplete="off" />
|
||||
</form>
|
||||
</div>
|
||||
@@ -92,7 +95,8 @@
|
||||
animation: rise var(--t-slow) var(--ease-snap) both;
|
||||
}
|
||||
|
||||
form { display: flex; padding: 6px; }
|
||||
form { display: flex; align-items: center; gap: 8px; padding: 6px; }
|
||||
.scope { flex: none; padding-left: 6px; font-size: 10px; color: var(--muted); }
|
||||
|
||||
input {
|
||||
flex: 1;
|
||||
|
||||
Reference in new issue
Block a user