From df40ee5bcae03976acfd9a188705ec9283d75b78 Mon Sep 17 00:00:00 2001 From: Arnaud Date: Tue, 5 Nov 2024 12:07:40 +0100 Subject: [PATCH] Add logs page --- package-lock.json | 8 +-- package.json | 2 +- public/img/assistance.png | Bin 0 -> 64081 bytes src/components/AppBar/AppBar.tsx | 12 +++-- src/components/LogLevel/LogLevel.css | 27 ++++++++-- src/components/LogLevel/LogLevel.tsx | 43 ++++++++------- src/components/LogLevel/SaveIcon.tsx | 15 ++++++ .../RequireAssitance/RequireAssitance.css | 38 ++++++++++++++ .../RequireAssitance/RequireAssitance.tsx | 20 +++++++ src/components/Welcome/WelcomeCard.tsx | 2 +- src/routes/dashboard/logs.css | 49 ++++++++++++++++++ src/routes/dashboard/logs.tsx | 41 ++++++++++++++- src/routes/dashboard/settings.tsx | 25 --------- src/vite-env.d.ts | 1 + 14 files changed, 226 insertions(+), 57 deletions(-) create mode 100644 public/img/assistance.png create mode 100644 src/components/LogLevel/SaveIcon.tsx create mode 100644 src/components/RequireAssitance/RequireAssitance.css create mode 100644 src/components/RequireAssitance/RequireAssitance.tsx create mode 100644 src/routes/dashboard/logs.css diff --git a/package-lock.json b/package-lock.json index af21257..90df296 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.7", "license": "MIT", "dependencies": { - "@codex-storage/marketplace-ui-components": "^0.0.34", + "@codex-storage/marketplace-ui-components": "^0.0.35", "@codex-storage/sdk-js": "^0.0.15", "@sentry/browser": "^8.32.0", "@sentry/react": "^8.31.0", @@ -379,9 +379,9 @@ "peer": true }, "node_modules/@codex-storage/marketplace-ui-components": { - "version": "0.0.34", - "resolved": "https://registry.npmjs.org/@codex-storage/marketplace-ui-components/-/marketplace-ui-components-0.0.34.tgz", - "integrity": "sha512-WRSgQU/OiERKBqpUIq95tgz1jKizM8fd28hottD4Ra8Z0gHkFZThxoVGad2pq96ha7U/Q/U+VEW+f+t4Z251rg==", + "version": "0.0.35", + "resolved": "file:../storybook/codex-storage-marketplace-ui-components-0.0.35.tgz", + "integrity": "sha512-wHh+oDRAt2NoIDxehzogDxowKEOwg6xxDHT3KkXfwawBhcmZIrfff9melJ4/hdAXRPo9IPTO/Zpi6Yj0KmlyWQ==", "dependencies": { "lucide-react": "^0.453.0" }, diff --git a/package.json b/package.json index 58b3f5f..6117fdc 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "React" ], "dependencies": { - "@codex-storage/marketplace-ui-components": "^0.0.34", + "@codex-storage/marketplace-ui-components": "^0.0.35", "@codex-storage/sdk-js": "^0.0.15", "@sentry/browser": "^8.32.0", "@sentry/react": "^8.31.0", diff --git a/public/img/assistance.png b/public/img/assistance.png new file mode 100644 index 0000000000000000000000000000000000000000..306c5130deba240c50fc7daf75d6f189c9f64deb GIT binary patch literal 64081 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 void; @@ -20,12 +22,16 @@ const icons: Record = { dashboard: , peers: , settings: , + files: , + logs: , }; const descriptions: Record = { - dashboard: "Get Overview of your Codex Vault", - peers: "Monitor your Codex peer connections", - settings: "Manage your Codex Vault", + dashboard: "Get Overview of your Codex Vault.", + peers: "Monitor your Codex peer connections.", + settings: "Manage your Codex Vault.", + files: "Manage your files in your local vault.", + logs: "Manage your logs and debug console.", }; export function AppBar({ onIconClick }: Props) { diff --git a/src/components/LogLevel/LogLevel.css b/src/components/LogLevel/LogLevel.css index a544411..86ad747 100644 --- a/src/components/LogLevel/LogLevel.css +++ b/src/components/LogLevel/LogLevel.css @@ -1,7 +1,26 @@ -.logLevel { +.log-level { flex-grow: 1; -} + display: flex; + gap: 16px; + margin-top: 14px; -.logLevel-select { - margin-bottom: 0.75rem; + > div { + position: relative; + + svg { + position: absolute; + top: 12px; + left: 16px; + color: #969696; + } + } + + .select { + background-position: url(/icons/logs.svg); + } + + select { + border-color: #969696; + padding-left: 40px; + } } diff --git a/src/components/LogLevel/LogLevel.tsx b/src/components/LogLevel/LogLevel.tsx index c2f3978..5e3926a 100644 --- a/src/components/LogLevel/LogLevel.tsx +++ b/src/components/LogLevel/LogLevel.tsx @@ -9,6 +9,8 @@ import { Toast, } from "@codex-storage/marketplace-ui-components"; import { Promises } from "../../utils/promises"; +import { LogsIcon } from "../Menu/LogsIcon"; +import { SaveIcon } from "./SaveIcon"; export function LogLevel() { const queryClient = useQueryClient(); @@ -52,34 +54,39 @@ export function LogLevel() { }; const levels = [ - ["DEBUG", "DEBUG"], - ["TRACE", "TRACE"], - ["INFO", "INFO"], - ["NOTICE", "NOTICE"], - ["WARN", "WARN"], - ["ERROR", "ERROR"], - ["FATAL", "FATAL"], + ["DEBUG", "Debug"], + ["TRACE", "Trace"], + ["INFO", "Info"], + ["NOTICE", "Notice"], + ["WARN", "Warn"], + ["ERROR", "Error"], + ["FATAL", "Fatal"], ] satisfies [string, string][]; return ( - <> - +
+
+ + +
+ - +
); } diff --git a/src/components/LogLevel/SaveIcon.tsx b/src/components/LogLevel/SaveIcon.tsx new file mode 100644 index 0000000..d8ad9ea --- /dev/null +++ b/src/components/LogLevel/SaveIcon.tsx @@ -0,0 +1,15 @@ +export function SaveIcon() { + return ( + + + + ); +} diff --git a/src/components/RequireAssitance/RequireAssitance.css b/src/components/RequireAssitance/RequireAssitance.css new file mode 100644 index 0000000..0573a41 --- /dev/null +++ b/src/components/RequireAssitance/RequireAssitance.css @@ -0,0 +1,38 @@ +.require-assistance { + background-color: #0a1410; + box-sizing: border-box; + padding: 16px; + border-radius: 16px; + border-left: 4px solid #6ccc93; + height: 144px; + display: flex; + flex-direction: column; + justify-content: space-around; + background-image: url(/img/assistance.png); + background-position: right; + background-repeat: no-repeat; + width: 500px; + flex: 1 1 auto; + cursor: pointer; + text-decoration: none; + + h5 { + font-family: Azeret Mono; + font-size: 10px; + font-weight: 400; + line-height: 20px; + text-align: left; + color: #6ccc93; + } + + h6 { + font-family: Inter; + font-size: 16px; + font-weight: 600; + line-height: 19.36px; + letter-spacing: 0.01em; + text-align: left; + color: #7bfbaf; + margin-bottom: 4px; + } +} diff --git a/src/components/RequireAssitance/RequireAssitance.tsx b/src/components/RequireAssitance/RequireAssitance.tsx new file mode 100644 index 0000000..fc19870 --- /dev/null +++ b/src/components/RequireAssitance/RequireAssitance.tsx @@ -0,0 +1,20 @@ +import { DiscordIcon } from "../Welcome/DiscordIcon"; +import "./RequireAssitance.css"; + +export function RequireAssitance() { + return ( + +
Require Assistance?
+ + + +
+
Join Codex Discord
+ Get direct access to the Core Team. +
+
+ ); +} diff --git a/src/components/Welcome/WelcomeCard.tsx b/src/components/Welcome/WelcomeCard.tsx index ee92998..d8a7ed2 100644 --- a/src/components/Welcome/WelcomeCard.tsx +++ b/src/components/Welcome/WelcomeCard.tsx @@ -62,7 +62,7 @@ export function WelcomeCard() { Learn more - + Join Codex Discord diff --git a/src/routes/dashboard/logs.css b/src/routes/dashboard/logs.css new file mode 100644 index 0000000..0bc65a6 --- /dev/null +++ b/src/routes/dashboard/logs.css @@ -0,0 +1,49 @@ +.logs-card { + display: flex; + justify-content: space-between; + border: 1px solid #96969633; + border-radius: 16px; + margin-bottom: 16px; + + > div:first-child { + padding: 16px; + } + + h5 { + font-family: Inter; + font-size: 18px; + font-weight: 500; + line-height: 24px; + letter-spacing: -0.015em; + text-align: left; + margin-bottom: 16px; + } + + small { + font-family: Inter; + font-size: 12px; + font-weight: 400; + line-height: 16px; + text-align: left; + color: #969696cc; + } + + .button { + width: 187px; + gap: 8px; + } +} + +.logs { + .node { + pre { + font-family: Inter; + font-size: 16px; + font-weight: 500; + line-height: 24px; + letter-spacing: -0.011em; + text-align: left; + color: #757575; + } + } +} diff --git a/src/routes/dashboard/logs.tsx b/src/routes/dashboard/logs.tsx index 2a08145..86be869 100644 --- a/src/routes/dashboard/logs.tsx +++ b/src/routes/dashboard/logs.tsx @@ -1,5 +1,44 @@ import { createFileRoute } from "@tanstack/react-router"; +import "./logs.css"; +import { RequireAssitance } from "../../components/RequireAssitance/RequireAssitance"; +import { LogLevel } from "../../components/LogLevel/LogLevel"; +import { LogsIcon } from "../../components/Menu/LogsIcon"; +import { useDebug } from "../../hooks/useDebug"; + +const throwOnError = false; export const Route = createFileRoute("/dashboard/logs")({ - component: () =>
Hello /dashboard/logs!
, + component: () => { + const { data } = useDebug(throwOnError); + + const { table, ...rest } = data ?? {}; + + return ( +
+
+
+
Log level
+ + Manage the type of logs being displayed on your CLI for Codex + Node. + + +
+ +
+ +
+
+
+ +
Node
+
+
+
+
{JSON.stringify(rest, null, 2)}
+
+
+
+ ); + }, }); diff --git a/src/routes/dashboard/settings.tsx b/src/routes/dashboard/settings.tsx index 460c656..7b5c28c 100644 --- a/src/routes/dashboard/settings.tsx +++ b/src/routes/dashboard/settings.tsx @@ -82,31 +82,6 @@ export const Route = createFileRoute("/dashboard/settings")({ */} - - {/*
- - -
- -
- - -
*/} ), }); diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index bb5e7a0..1d3bb0f 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -3,6 +3,7 @@ interface ImportMetaEnv { VITE_CODEX_API_URL: string; VITE_GEO_IP_URL: string; + VITE_DISCORD_LINK: string; } interface ImportMeta {