From ea1d2bdf38fdf640c10dbd8a14e50506ed426487 Mon Sep 17 00:00:00 2001 From: Christian Fehmer Date: Sat, 17 Jan 2026 10:36:14 +0100 Subject: [PATCH 01/15] refactor: convert connections to store (@fehmer) --- .../src/ts/components/pages/AboutPage.tsx | 26 ++++ frontend/src/ts/firebase.ts | 3 + frontend/src/ts/signals/connections.ts | 25 ++++ frontend/src/ts/signals/user.ts | 3 + .../ts/signals/util/resourceBackedStore.ts | 133 ++++++++++++++++++ 5 files changed, 190 insertions(+) create mode 100644 frontend/src/ts/signals/connections.ts create mode 100644 frontend/src/ts/signals/user.ts create mode 100644 frontend/src/ts/signals/util/resourceBackedStore.ts diff --git a/frontend/src/ts/components/pages/AboutPage.tsx b/frontend/src/ts/components/pages/AboutPage.tsx index ec73dd894481..80b5a2c1683c 100644 --- a/frontend/src/ts/components/pages/AboutPage.tsx +++ b/frontend/src/ts/components/pages/AboutPage.tsx @@ -11,6 +11,8 @@ import { intervalToDuration } from "date-fns"; import { getNumberWithMagnitude, numberWithSpaces } from "../../utils/numbers"; import { ChartJs } from "../common/ChartJs"; import { getThemeColors } from "../../signals/theme"; +import { connections } from "../../signals/connections"; +import { isAuthenticated } from "../../signals/user"; export function AboutPage(): JSXElement { const isOpen = (): boolean => getActivePage() === "about"; @@ -35,6 +37,30 @@ export function AboutPage(): JSXElement { return ( +

Connections {connections.store.length}

+ + +