import app from "ags/gtk3/app" import { Astal, Gtk, Gdk } from "ags/gtk3" import { createPoll } from "ags/time" import { getBrainState } from "../../lib/brain" function BrainContent() { const state = createPoll("", 10000, () => JSON.stringify(getBrainState())) const version = state((s: string) => { try { return `kernel v${JSON.parse(s).kernelVersion}` } catch { return "" } }) const focus = state((s: string) => { try { return JSON.parse(s).focus } catch { return "..." } }) const session = state((s: string) => { try { const sess = JSON.parse(s).session return sess || "aucune session active" } catch { return "..." } }) const intentionsTitle = state((s: string) => { try { const i = JSON.parse(s).intentions return ` INTENTIONS (${i.active} active${i.active > 1 ? "s" : ""})` } catch { return " INTENTIONS" } }) const intentionsList = state((s: string) => { try { const names = JSON.parse(s).intentions.names return names.map((n: string) => ` • ${n}`).join("\n") || " aucune" } catch { return "..." } }) const todosTitle = state((s: string) => { try { const t = JSON.parse(s).todos return `${t.open} ouverts / ${t.done} faits` } catch { return "" } }) const todosList = state((s: string) => { try { const t = JSON.parse(s).todos.top3 return t.map((item: string) => ` ⬜ ${item}`).join("\n") || " rien" } catch { return "..." } }) const reposStatus = state((s: string) => { try { const repos = JSON.parse(s).repos return repos.map((r: any) => ` ${r.name.padEnd(14)} ${r.status}`).join("\n") } catch { return "..." } }) const commitsList = state((s: string) => { try { const commits = JSON.parse(s).commits return commits.map((c: string) => ` ${c}`).join("\n") || " aucun" } catch { return "..." } }) return ( {/* FOCUS */}