"use client"; import { Accordion, Badge, Group, Stack, Text } from "@mantine/core"; import { IconCloud } from "@tabler/icons-react"; import type { CoolifyApplicationWithContext } from "@homarr/integrations/types"; import { useScopedI18n } from "@homarr/translation/client"; import { getBadgeColor, parseStatus } from "./coolify-utils"; import { ResourceRow } from "./resource-row"; interface ApplicationsSectionProps { applications: CoolifyApplicationWithContext[]; baseUrl: string; isTiny: boolean; } export function ApplicationsSection({ applications, baseUrl, isTiny }: ApplicationsSectionProps) { const t = useScopedI18n("widget.coolify"); const tCommon = useScopedI18n("common"); const runningApps = applications.filter((app) => parseStatus(app.status ?? "") === "running").length; return ( }> {tCommon("applications")} {runningApps} / {applications.length} {applications.length > 0 ? ( {applications.map((app) => ( ))} ) : ( {t("empty.applications")} )} ); }