From d370ee2d99083e9159bf9a194407a95d9440a8fd Mon Sep 17 00:00:00 2001 From: Adorian Doran Date: Wed, 25 Mar 2026 00:28:38 +0200 Subject: [PATCH] style/about dialog: select the icon using CSS class names --- apps/client/src/assets/icon-classic.svg | 1 + .../assets/{icon-alt.svg => icon-nightly.svg} | 0 apps/client/src/widgets/dialogs/about.css | 18 ++++++++++++++++++ apps/client/src/widgets/dialogs/about.tsx | 10 ++++++++-- 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 apps/client/src/assets/icon-classic.svg rename apps/client/src/assets/{icon-alt.svg => icon-nightly.svg} (100%) diff --git a/apps/client/src/assets/icon-classic.svg b/apps/client/src/assets/icon-classic.svg new file mode 100644 index 0000000000..0fbc903d8a --- /dev/null +++ b/apps/client/src/assets/icon-classic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/client/src/assets/icon-alt.svg b/apps/client/src/assets/icon-nightly.svg similarity index 100% rename from apps/client/src/assets/icon-alt.svg rename to apps/client/src/assets/icon-nightly.svg diff --git a/apps/client/src/widgets/dialogs/about.css b/apps/client/src/widgets/dialogs/about.css index ef98b26f78..20182f1104 100644 --- a/apps/client/src/widgets/dialogs/about.css +++ b/apps/client/src/widgets/dialogs/about.css @@ -10,6 +10,24 @@ --bs-modal-width: 680px; + .icon { + width: 160px; + height: 160px; + + &.icon-default { + background-image: url(../../assets/icon.svg); + } + + &.icon-nightly { + background-image: url(../../assets/icon-nightly.svg); + } + + &.icon-classic { + mask-image: url(../../assets/icon-classic.svg); + background-color: var(--muted-text-color); + } + } + h2 { all: unset; font-size: 2em; diff --git a/apps/client/src/widgets/dialogs/about.tsx b/apps/client/src/widgets/dialogs/about.tsx index b70f4ef7f5..b45cd19905 100644 --- a/apps/client/src/widgets/dialogs/about.tsx +++ b/apps/client/src/widgets/dialogs/about.tsx @@ -16,11 +16,13 @@ import { useCallback, useEffect } from "react"; import contributors from "../../../../../contributors.json"; import { Fragment } from "preact/jsx-runtime"; import { ComponentChildren } from "preact"; +import clsx from "clsx"; export default function AboutDialog() { const [appInfo, setAppInfo] = useState(null); const [shown, setShown] = useState(false); const [isNightly, setNightly] = useState(false); + const [iconClassName, setIconClassName] = useState("icon-default"); const onLoad = useCallback(async () => { if (!appInfo) { @@ -33,17 +35,21 @@ export default function AboutDialog() { useEffect(() => { setNightly(!!appInfo?.appVersion.includes("test")); + if (isNightly) { + setIconClassName("icon-nightly"); + } }, [appInfo]) return ( setShown(false)} >
- + +

Trilium Notes {isNightly && Nightly}

triliumnotes.org