feat(shell,api,keys): firefly v1 shell over the api with cookie auth, period, palette and keymap

This commit is contained in:
hh committed 2026-10-16 02:21:45 +00:00
1 parent ae4de7911b
commit c74dac3e00
37 files changed
+58163 -79

No files matched your search

+38
View File
@@ -0,0 +1,38 @@
<script lang="ts">
import { formatMoney, type Money, toNumber } from "#lib/format.js";
export type Tone = "income" | "expense" | "transfer" | "neutral" | "auto";
let {
amount,
code,
symbol,
decimals,
tone = "auto",
signed = false,
class: className = "",
}: Money & { tone?: Tone; signed?: boolean; class?: string } = $props();
const value = $derived(toNumber(amount));
const resolved = $derived.by(() => {
if (tone !== "auto") {
return tone;
}
if (value > 0) {
return "income";
}
return value < 0 ? "expense" : "neutral";
});
const color = $derived(
{
expense: "text-expense",
income: "text-income",
neutral: "text-cladd-fg-softer",
transfer: "text-transfer",
}[resolved]
);
</script>
<span class="num {color} {className}"
>{formatMoney({ amount, code, decimals, symbol }, signed)}</span
>