From 1c578b9536513e68218591553fe903909418a31f Mon Sep 17 00:00:00 2001 From: Dastine Date: Mon, 18 May 2026 12:13:34 -0600 Subject: [PATCH 01/15] Add Grafana links to AnalysisTab and update environment variables --- packages/client/.env.example | 5 ++ .../client/public/assets/grafana_icon.svg | 57 +++++++++++++++++++ .../src/components/tabs/AnalysisTab.tsx | 43 +++++++++++++- 3 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 packages/client/public/assets/grafana_icon.svg diff --git a/packages/client/.env.example b/packages/client/.env.example index 4991ae47..28e55986 100644 --- a/packages/client/.env.example +++ b/packages/client/.env.example @@ -1,2 +1,7 @@ NEXT_PUBLIC_MAPSAPIKEY='' SOCKET_URL=localhost:3001 + +# Grafana dashboard links (opens in new tab from the Analysis page) +# Use the browser address bar URL of each dashboard +NEXT_PUBLIC_GRAFANA_LIVE_OPEN_URL='' +NEXT_PUBLIC_GRAFANA_HISTORY_OPEN_URL='' diff --git a/packages/client/public/assets/grafana_icon.svg b/packages/client/public/assets/grafana_icon.svg new file mode 100644 index 00000000..e91f3abd --- /dev/null +++ b/packages/client/public/assets/grafana_icon.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + diff --git a/packages/client/src/components/tabs/AnalysisTab.tsx b/packages/client/src/components/tabs/AnalysisTab.tsx index 9017ba55..b9ffe881 100644 --- a/packages/client/src/components/tabs/AnalysisTab.tsx +++ b/packages/client/src/components/tabs/AnalysisTab.tsx @@ -1,3 +1,4 @@ +import { OpenInNew } from "@mui/icons-material"; import { useTheme } from "next-themes"; import Image from "next/image"; import React, { useState } from "react"; @@ -52,6 +53,38 @@ export function TabContent({ ); } +const grafanaLinks = [ + { + label: "Grafana Live", + url: process.env.NEXT_PUBLIC_GRAFANA_LIVE_OPEN_URL, + }, + { + label: "Grafana History", + url: process.env.NEXT_PUBLIC_GRAFANA_HISTORY_OPEN_URL, + }, +].filter((link): link is { url: string; label: string } => Boolean(link.url)); + +function GrafanaLink({ href, label }: { href: string; label: string }) { + return ( + + Grafana + {label} + + + ); +} + function AnalysisTab() { const [value, setValue] = useState(0); const { resolvedTheme } = useTheme(); @@ -60,7 +93,7 @@ function AnalysisTab() {
{/* NAVBAR */}