diff --git a/apps/nextjs/src/app/[locale]/manage/about/about.module.css b/apps/nextjs/src/app/[locale]/manage/about/about.module.css index c1d362c48..457d36526 100644 --- a/apps/nextjs/src/app/[locale]/manage/about/about.module.css +++ b/apps/nextjs/src/app/[locale]/manage/about/about.module.css @@ -1,3 +1,7 @@ .contributorCard { background-color: light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-5)); } + +.dependencyCard:hover { + background-color: light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-5)); +} diff --git a/apps/nextjs/src/app/[locale]/manage/about/page.tsx b/apps/nextjs/src/app/[locale]/manage/about/page.tsx index 8e336449d..9aa4aeb10 100644 --- a/apps/nextjs/src/app/[locale]/manage/about/page.tsx +++ b/apps/nextjs/src/app/[locale]/manage/about/page.tsx @@ -12,8 +12,7 @@ import { Flex, Group, Kbd, - List, - ListItem, + SimpleGrid, Stack, Table, TableTbody, @@ -22,9 +21,11 @@ import { TableThead, TableTr, Text, + ThemeIcon, Title, + UnstyledButton, } from "@mantine/core"; -import { IconKeyboard, IconLanguage, IconLibrary, IconUsers } from "@tabler/icons-react"; +import { IconKeyboard, IconLanguage, IconLibrary, IconPackage, IconUsers } from "@tabler/icons-react"; import { capitalize, objectEntries } from "@homarr/common"; import { hotkeys } from "@homarr/definitions"; @@ -33,7 +34,8 @@ import { getScopedI18n } from "@homarr/translation/server"; import { homarrLogoPath } from "~/components/layout/logo/homarr-logo"; import { DynamicBreadcrumb } from "~/components/navigation/dynamic-breadcrumb"; import { createMetaTitle } from "~/metadata"; -import { getPackageAttributesAsync } from "~/versions/package-reader"; +import type { PackageJsonDependencies } from "~/versions/package-reader"; +import { getPackageVersion } from "~/versions/package-reader"; import type githubContributorsJson from "../../../../../../../static-data/contributors.json"; import type crowdinContributorsJson from "../../../../../../../static-data/translators.json"; import classes from "./about.module.css"; @@ -57,7 +59,10 @@ const getHostAsync = async () => { export default async function AboutPage() { const baseServerUrl = `http://${await getHostAsync()}`; const t = await getScopedI18n("management.page.about"); - const attributes = await getPackageAttributesAsync(); + const version = getPackageVersion(); + const dependencies = (await fetch(`${baseServerUrl}/api/about/dependencies`).then((res) => + res.json(), + )) as PackageJsonDependencies; const githubContributors = (await fetch(`${baseServerUrl}/api/about/contributors/github`).then((res) => res.json(), )) as typeof githubContributorsJson; @@ -76,7 +81,7 @@ export default async function AboutPage() {