diff options
| author | Adam Malczewski <[email protected]> | 2026-10-14 17:04:35 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-10-14 17:04:35 +0900 |
| commit | 10e78065201c8387494b8aafabb987da87183b3a (patch) | |
| tree | f038f368459acbd3b817974100fb4bd4817ecbff /src/app/views | |
| parent | 551a7a050e8cd25e795026a1060c9d5b5ea028bf (diff) | |
| download | dispatch-web-10e78065201c8387494b8aafabb987da87183b3a.tar.gz dispatch-web-10e78065201c8387494b8aafabb987da87183b3a.zip | |
feat(account-usage): sidebar Usage view with Claude/Codex quota bars + on-track pace markers
Consumes GET /usage (transport-contract 0.25.0). DaisyUI progress bars per quota
window with a dot at the elapsed fraction of the window (the 'on track' level),
ahead/under-pace labels, reset countdowns, stale/unavailable/not-configured states.
Diffstat (limited to 'src/app/views')
| -rw-r--r-- | src/app/views/AccountUsagePane.svelte | 16 | ||||
| -rw-r--r-- | src/app/views/ExtensionsPane.svelte | 2 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/app/views/AccountUsagePane.svelte b/src/app/views/AccountUsagePane.svelte new file mode 100644 index 0000000..4315d4c --- /dev/null +++ b/src/app/views/AccountUsagePane.svelte @@ -0,0 +1,16 @@ +<script lang="ts"> + /** + * The `account-usage` view — Claude + Codex subscription usage bars with + * on-track pace markers. GLOBAL (not workspace/conversation scoped), so it + * stays mounted across tab switches (no {#key}). + */ + import { AccountUsageView, type LoadAccountUsage } from "../../features/account-usage"; + import type { AppViewPorts } from "../view-ports"; + + let { ports }: { ports: AppViewPorts } = $props(); + const store = $derived(ports.store); + + const loadAccountUsage: LoadAccountUsage = (opts) => store.accountUsage(opts); +</script> + +<AccountUsageView load={loadAccountUsage} /> diff --git a/src/app/views/ExtensionsPane.svelte b/src/app/views/ExtensionsPane.svelte index 6afc2bf..d5baa39 100644 --- a/src/app/views/ExtensionsPane.svelte +++ b/src/app/views/ExtensionsPane.svelte @@ -6,6 +6,7 @@ * surface is a SEPARATE, backend-owned list. Unkeyed (like today). */ import Table from "../../components/Table.svelte"; + import { manifest as accountUsageManifest } from "../../features/account-usage"; import { manifest as cacheWarmingManifest } from "../../features/cache-warming"; import { manifest as chatManifest } from "../../features/chat"; import { manifest as concurrencyManifest } from "../../features/concurrency"; @@ -59,6 +60,7 @@ systemPromptManifest, heartbeatManifest, concurrencyManifest, + accountUsageManifest, visionManifest, namedAgentsManifest, searchSettingsManifest, |
