From 2d21627affa25bbf24f6c206bf2434fe4fd9a78a Mon Sep 17 00:00:00 2001 From: Adorian Doran Date: Tue, 24 Mar 2026 23:20:20 +0200 Subject: [PATCH] client/about dialog: refactor --- apps/client/src/widgets/dialogs/about.tsx | 46 ++++++++++++++++------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/apps/client/src/widgets/dialogs/about.tsx b/apps/client/src/widgets/dialogs/about.tsx index 45944d210c..a8ae1781c2 100644 --- a/apps/client/src/widgets/dialogs/about.tsx +++ b/apps/client/src/widgets/dialogs/about.tsx @@ -15,6 +15,7 @@ import iconAlt from "../../assets/icon-alt.svg"; import { useCallback, useEffect } from "react"; import contributors from "../../../../../contributors.json"; import { Fragment } from "preact/jsx-runtime"; +import { ComponentChildren } from "preact"; export default function AboutDialog() { const [appInfo, setAppInfo] = useState(null); @@ -64,7 +65,7 @@ export default function AboutDialog() { buildDate: appInfo?.buildDate ? formatDateTime(appInfo.buildDate) : "" }} components={{ - buildRevision: revisionLink(appInfo) + buildRevision: RevisionLink(appInfo) }} /> @@ -91,27 +92,37 @@ export default function AboutDialog() { ); } -function revisionLink(appInfo: AppInfo | null) { +function RevisionLink(appInfo: AppInfo | null) { return <> {appInfo?.buildRevision && {appInfo.buildRevision.substring(0, 7)} @@ -119,8 +130,15 @@ function revisionLink(appInfo: AppInfo | null) { as React.ReactElement; } -function Contributors(params: {data: ContributorList}) { - return params.data.contributors.slice(0, 10).map((c, index, array) => { +function FooterLink(props: {children: ComponentChildren, text: string, url: string, tooltip: string, className?: string}) { + return + {props.children} + {props.text} + +} + +function Contributors({data}: {data: ContributorList}) { + return data.contributors.slice(0, 10).map((c, index, array) => { return