diff --git a/harp_apps/dashboard/frontend/index.html b/harp_apps/dashboard/frontend/index.html index 40a62d4d..9e710132 100644 --- a/harp_apps/dashboard/frontend/index.html +++ b/harp_apps/dashboard/frontend/index.html @@ -1,11 +1,11 @@ - + - Harp UI + Harp
diff --git a/harp_apps/dashboard/frontend/package.json b/harp_apps/dashboard/frontend/package.json index c1a4fef5..7b5bbc61 100644 --- a/harp_apps/dashboard/frontend/package.json +++ b/harp_apps/dashboard/frontend/package.json @@ -39,6 +39,7 @@ "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.13", "@types/lodash": "^4.17.4", + "@types/react-helmet": "^6.1.11", "date-fns": "^3.6.0", "http-status-codes": "^2.3.0", "localforage": "^1.10.0", @@ -49,6 +50,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "react-error-boundary": "^4.0.13", + "react-helmet": "^6.1.0", "react-is": "18.2.0", "react-query": "^3.39.3", "react-router-dom": "^6.23.1", diff --git a/harp_apps/dashboard/frontend/pnpm-lock.yaml b/harp_apps/dashboard/frontend/pnpm-lock.yaml index 792a92f6..0121b42d 100644 --- a/harp_apps/dashboard/frontend/pnpm-lock.yaml +++ b/harp_apps/dashboard/frontend/pnpm-lock.yaml @@ -38,6 +38,9 @@ importers: '@types/lodash': specifier: ^4.17.4 version: 4.17.4 + '@types/react-helmet': + specifier: ^6.1.11 + version: 6.1.11 date-fns: specifier: ^3.6.0 version: 3.6.0 @@ -68,6 +71,9 @@ importers: react-error-boundary: specifier: ^4.0.13 version: 4.0.13(react@18.3.1) + react-helmet: + specifier: ^6.1.0 + version: 6.1.0(react@18.3.1) react-is: specifier: 18.2.0 version: 18.2.0 @@ -1142,6 +1148,9 @@ packages: '@types/react-dom@18.3.0': resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + '@types/react-helmet@6.1.11': + resolution: {integrity: sha512-0QcdGLddTERotCXo3VFlUSWO3ztraw8nZ6e3zJSgG7apwV5xt+pJUS8ewPBqT4NYB1optGLprNQzFleIY84u/g==} + '@types/react-sparklines@1.7.5': resolution: {integrity: sha512-rIAmNyRKUqWWnaQMjNrxMNkgEFi5f9PrdczSNxj5DscAa48y4i9P0fRKZ72FmNcFsdg6Jx4o6CXWZtIaC0OJOg==} @@ -3445,6 +3454,14 @@ packages: peerDependencies: react: '>=16.13.1' + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + react-helmet@6.1.0: + resolution: {integrity: sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==} + peerDependencies: + react: '>=16.3.0' + react-hotkeys-hook@4.5.0: resolution: {integrity: sha512-Samb85GSgAWFQNvVt3PS90LPPGSf9mkH/r4au81ZP1yOIFayLC3QAvqTgGtJ8YEDMXtPmaVBs6NgipHO6h4Mug==} peerDependencies: @@ -3502,6 +3519,11 @@ packages: peerDependencies: react: ^16.0.0 || ^17.0.0 || ^18.0.0 + react-side-effect@2.1.2: + resolution: {integrity: sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==} + peerDependencies: + react: ^16.3.0 || ^17.0.0 || ^18.0.0 + react-smooth@4.0.1: resolution: {integrity: sha512-OE4hm7XqR0jNOq3Qmk9mFLyd6p2+j6bvbPJ7qlB7+oo0eNcL2l7WQzG6MBnT3EXY6xzkLMUBec3AfewJdA0J8w==} peerDependencies: @@ -5271,6 +5293,10 @@ snapshots: dependencies: '@types/react': 18.3.3 + '@types/react-helmet@6.1.11': + dependencies: + '@types/react': 18.3.3 + '@types/react-sparklines@1.7.5': dependencies: '@types/react': 18.3.3 @@ -8122,6 +8148,16 @@ snapshots: '@babel/runtime': 7.24.1 react: 18.3.1 + react-fast-compare@3.2.2: {} + + react-helmet@6.1.0(react@18.3.1): + dependencies: + object-assign: 4.1.1 + prop-types: 15.8.1 + react: 18.3.1 + react-fast-compare: 3.2.2 + react-side-effect: 2.1.2(react@18.3.1) + react-hotkeys-hook@4.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: react: 18.3.1 @@ -8168,6 +8204,10 @@ snapshots: react: 18.3.1 react-is: 18.3.1 + react-side-effect@2.1.2(react@18.3.1): + dependencies: + react: 18.3.1 + react-smooth@4.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: fast-equals: 5.0.1 diff --git a/harp_apps/dashboard/frontend/src/Pages/Overview/OverviewPage.tsx b/harp_apps/dashboard/frontend/src/Pages/Overview/OverviewPage.tsx index a7b17b4e..0c28db77 100644 --- a/harp_apps/dashboard/frontend/src/Pages/Overview/OverviewPage.tsx +++ b/harp_apps/dashboard/frontend/src/Pages/Overview/OverviewPage.tsx @@ -1,11 +1,16 @@ +import { Helmet } from "react-helmet" + import { Page, PageTitle } from "Components/Page" import { HistorySection } from "./Sections/HistorySection.tsx" import { SummarySection } from "./Sections/SummarySection.tsx" - export const OverviewPage = () => { return ( }> + + Harp + + diff --git a/harp_apps/dashboard/frontend/src/Pages/System/SystemPage.tsx b/harp_apps/dashboard/frontend/src/Pages/System/SystemPage.tsx index 5a1f08b5..fa1cc67c 100644 --- a/harp_apps/dashboard/frontend/src/Pages/System/SystemPage.tsx +++ b/harp_apps/dashboard/frontend/src/Pages/System/SystemPage.tsx @@ -1,3 +1,5 @@ +import { Helmet } from "react-helmet" + import { Page, PageTitle } from "Components/Page" import { Tab } from "ui/Components/Tabs" @@ -8,6 +10,10 @@ import { SystemStorageTabPanel } from "./SystemStorageTabPanel.tsx" export const SystemPage = () => { return ( }> + + System | Harp + + Settings diff --git a/harp_apps/dashboard/frontend/src/Pages/Transactions/TransactionListPage.tsx b/harp_apps/dashboard/frontend/src/Pages/Transactions/TransactionListPage.tsx index e3a93434..6dd6dabe 100644 --- a/harp_apps/dashboard/frontend/src/Pages/Transactions/TransactionListPage.tsx +++ b/harp_apps/dashboard/frontend/src/Pages/Transactions/TransactionListPage.tsx @@ -1,5 +1,6 @@ import { isEqual } from "lodash" import { useCallback, useEffect, useRef, useState } from "react" +import { Helmet } from "react-helmet" import { useLocation, useNavigate, useSearchParams } from "react-router-dom" import { Page } from "Components/Page" @@ -124,6 +125,11 @@ export function TransactionListPage() { } > + + Transactions | Harp + + + {(query) => }