web: add forwarding history download button

This commit is contained in:
Joost Jager 2023-10-21 13:50:11 +02:00
parent 9cb88f29a4
commit bcd5ef6091
11 changed files with 38 additions and 10 deletions

View file

@ -2,6 +2,7 @@
"cancel": "Cancel",
"edit": "Edit",
"edit-defaults": "Edit defaults",
"download-fwd-history": "Download forwarding history (json)",
"max-hourly-rate": "Max hourly rate",
"max-pending": "Max pending",
"mode": "Mode",

View file

@ -1,14 +1,23 @@
import { Box, Typography } from '@mui/material';
import { Box, Typography, Tooltip, IconButton } from '@mui/material';
import DownloadIcon from '@mui/icons-material/Download';
import Image from 'next/image';
import { HEADER_HEIGHT_DESKTOP, HEADER_HEIGHT_MOBILE } from 'constant';
import { useInfo } from 'hooks';
import { useTranslation } from 'react-i18next';
import NodeInfo from './NodeInfo';
import DefaultLimits from './DefaultLimits';
const Header = () => {
const { info } = useInfo();
const { t } = useTranslation();
const openFwdHistory = () => {
const url = '/api/forwarding_history';
window.location.href = url;
};
return (
<Box
@ -53,6 +62,23 @@ const Header = () => {
}}
/>
<NodeInfo />
<Box
sx={{
mx: 2,
backgroundColor: 'grey.700',
height: '4px',
width: '4px',
borderRadius: '50%',
}}
/>
<Tooltip
enterTouchDelay={0}
title={<Typography sx={{ color: 'black' }}>{t('download-fwd-history')}</Typography>}
>
<IconButton sx={{padding: 0, mt:0.5}} onClick={openFwdHistory}>
<DownloadIcon sx={{ color: '#5C6484' }}/>
</IconButton>
</Tooltip>
</Box>
</Box>
</Box>

View file

@ -13,7 +13,7 @@
transition: opacity 250ms ease-in-out 0ms;
opacity: 1;
}
</style><link rel="preload" href="/_next/static/css/779cbc72c8a1eff6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/779cbc72c8a1eff6.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-36d12a75f0098f30.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-ac344eb87244516d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-f2c78e63b56a3ec3.js" defer=""></script><script src="/_next/static/chunks/pages/_error-8353112a01355ec2.js" defer=""></script><script src="/_next/static/circuitbreaker-build-id/_buildManifest.js" defer=""></script><script src="/_next/static/circuitbreaker-build-id/_ssgManifest.js" defer=""></script></head><body><div id="globalLoader"><img class="globalLoaderSpinner" src="/images/circuitbreaker-logo.svg" height="40" width="40" alt="loader"/></div><div id="__next"><style data-emotion="css-global 15wno9g">@font-face{font-family:'Helvetica Neue';src:url('/fonts/HelveticaNeue.eot') format('embedded-opentype'),url('/fonts/HelveticaNeue.woff2') format('woff2'),url('/fonts/HelveticaNeue.woff') format('woff'),url('/fonts/HelveticaNeue.ttf') format('truetype');font-weight:500;font-display:auto;}@font-face{font-family:'Helvetica Neue';src:url('/fonts/HelveticaNeueBold.eot') format('embedded-opentype'),url('/fonts/HelveticaNeueBold.woff2') format('woff2'),url('/fonts/HelveticaNeueBold.ttf') format('truetype');font-weight:700;font-display:auto;}</style><div style="font-family:-apple-system, BlinkMacSystemFont, Roboto, &quot;Segoe UI&quot;, &quot;Fira Sans&quot;, Avenir, &quot;Helvetica Neue&quot;, &quot;Lucida Grande&quot;, sans-serif;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>
</style><link rel="preload" href="/_next/static/css/779cbc72c8a1eff6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/779cbc72c8a1eff6.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-36d12a75f0098f30.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-ac344eb87244516d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-94e942cdef13bf2d.js" defer=""></script><script src="/_next/static/chunks/pages/_error-8353112a01355ec2.js" defer=""></script><script src="/_next/static/circuitbreaker-build-id/_buildManifest.js" defer=""></script><script src="/_next/static/circuitbreaker-build-id/_ssgManifest.js" defer=""></script></head><body><div id="globalLoader"><img class="globalLoaderSpinner" src="/images/circuitbreaker-logo.svg" height="40" width="40" alt="loader"/></div><div id="__next"><style data-emotion="css-global 15wno9g">@font-face{font-family:'Helvetica Neue';src:url('/fonts/HelveticaNeue.eot') format('embedded-opentype'),url('/fonts/HelveticaNeue.woff2') format('woff2'),url('/fonts/HelveticaNeue.woff') format('woff'),url('/fonts/HelveticaNeue.ttf') format('truetype');font-weight:500;font-display:auto;}@font-face{font-family:'Helvetica Neue';src:url('/fonts/HelveticaNeueBold.eot') format('embedded-opentype'),url('/fonts/HelveticaNeueBold.woff2') format('woff2'),url('/fonts/HelveticaNeueBold.ttf') format('truetype');font-weight:700;font-display:auto;}</style><div style="font-family:-apple-system, BlinkMacSystemFont, Roboto, &quot;Segoe UI&quot;, &quot;Fira Sans&quot;, Avenir, &quot;Helvetica Neue&quot;, &quot;Lucida Grande&quot;, sans-serif;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>
body { margin: 0; color: #000; background: #fff; }
.next-error-h1 {
border-right: 1px solid rgba(0, 0, 0, .3);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
self.__BUILD_MANIFEST={__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/128-9254255b6c84c993.js","static/chunks/pages/index-da1d4b362851c9fc.js"],"/_error":["static/chunks/pages/_error-8353112a01355ec2.js"],sortedPages:["/","/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
self.__BUILD_MANIFEST={__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/891-8bf07850cd47e076.js","static/chunks/pages/index-46a2438053d26b8b.js"],"/_error":["static/chunks/pages/_error-8353112a01355ec2.js"],sortedPages:["/","/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();

View file

@ -13,4 +13,4 @@
transition: opacity 250ms ease-in-out 0ms;
opacity: 1;
}
</style><link rel="preload" href="/_next/static/css/779cbc72c8a1eff6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/779cbc72c8a1eff6.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-36d12a75f0098f30.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-ac344eb87244516d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-f2c78e63b56a3ec3.js" defer=""></script><script src="/_next/static/chunks/128-9254255b6c84c993.js" defer=""></script><script src="/_next/static/chunks/pages/index-da1d4b362851c9fc.js" defer=""></script><script src="/_next/static/circuitbreaker-build-id/_buildManifest.js" defer=""></script><script src="/_next/static/circuitbreaker-build-id/_ssgManifest.js" defer=""></script></head><body><div id="globalLoader"><img class="globalLoaderSpinner" src="/images/circuitbreaker-logo.svg" height="40" width="40" alt="loader"/></div><div id="__next"><style data-emotion="css-global 15wno9g">@font-face{font-family:'Helvetica Neue';src:url('/fonts/HelveticaNeue.eot') format('embedded-opentype'),url('/fonts/HelveticaNeue.woff2') format('woff2'),url('/fonts/HelveticaNeue.woff') format('woff'),url('/fonts/HelveticaNeue.ttf') format('truetype');font-weight:500;font-display:auto;}@font-face{font-family:'Helvetica Neue';src:url('/fonts/HelveticaNeueBold.eot') format('embedded-opentype'),url('/fonts/HelveticaNeueBold.woff2') format('woff2'),url('/fonts/HelveticaNeueBold.ttf') format('truetype');font-weight:700;font-display:auto;}</style></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"circuitbreaker-build-id","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
</style><link rel="preload" href="/_next/static/css/779cbc72c8a1eff6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/779cbc72c8a1eff6.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-36d12a75f0098f30.js" defer=""></script><script src="/_next/static/chunks/framework-2c79e2a64abdb08b.js" defer=""></script><script src="/_next/static/chunks/main-ac344eb87244516d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-94e942cdef13bf2d.js" defer=""></script><script src="/_next/static/chunks/891-8bf07850cd47e076.js" defer=""></script><script src="/_next/static/chunks/pages/index-46a2438053d26b8b.js" defer=""></script><script src="/_next/static/circuitbreaker-build-id/_buildManifest.js" defer=""></script><script src="/_next/static/circuitbreaker-build-id/_ssgManifest.js" defer=""></script></head><body><div id="globalLoader"><img class="globalLoaderSpinner" src="/images/circuitbreaker-logo.svg" height="40" width="40" alt="loader"/></div><div id="__next"><style data-emotion="css-global 15wno9g">@font-face{font-family:'Helvetica Neue';src:url('/fonts/HelveticaNeue.eot') format('embedded-opentype'),url('/fonts/HelveticaNeue.woff2') format('woff2'),url('/fonts/HelveticaNeue.woff') format('woff'),url('/fonts/HelveticaNeue.ttf') format('truetype');font-weight:500;font-display:auto;}@font-face{font-family:'Helvetica Neue';src:url('/fonts/HelveticaNeueBold.eot') format('embedded-opentype'),url('/fonts/HelveticaNeueBold.woff2') format('woff2'),url('/fonts/HelveticaNeueBold.ttf') format('truetype');font-weight:700;font-display:auto;}</style></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"circuitbreaker-build-id","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>

View file

@ -2,6 +2,7 @@
"cancel": "Cancel",
"edit": "Edit",
"edit-defaults": "Edit defaults",
"download-fwd-history": "Download forwarding history (json)",
"max-hourly-rate": "Max hourly rate",
"max-pending": "Max pending",
"mode": "Mode",