From 31b9a6df9621bd8adc05edaff831d452958a5de5 Mon Sep 17 00:00:00 2001 From: Arnaud Date: Thu, 26 Sep 2024 19:23:10 +0200 Subject: [PATCH] Add disclaimer --- src/components/Welcome/Welcome.css | 4 +++ src/components/Welcome/Welcome.tsx | 9 ++++++- src/routeTree.gen.ts | 26 +++++++++++++++++++ src/routes/dashboard.tsx | 18 ++++++++++++- src/routes/dashboard/disclaimer.css | 13 ++++++++++ src/routes/dashboard/disclaimer.tsx | 39 +++++++++++++++++++++++++++++ 6 files changed, 107 insertions(+), 2 deletions(-) create mode 100644 src/routes/dashboard/disclaimer.css create mode 100644 src/routes/dashboard/disclaimer.tsx diff --git a/src/components/Welcome/Welcome.css b/src/components/Welcome/Welcome.css index 705a0e3..491b9d8 100644 --- a/src/components/Welcome/Welcome.css +++ b/src/components/Welcome/Welcome.css @@ -8,6 +8,10 @@ flex-direction: column; } +.welcome-disclaimer { + margin: 1rem 0; +} + .welcome-title { font-weight: bold; font-size: 1.125rem; diff --git a/src/components/Welcome/Welcome.tsx b/src/components/Welcome/Welcome.tsx index 0c31579..e376ff1 100644 --- a/src/components/Welcome/Welcome.tsx +++ b/src/components/Welcome/Welcome.tsx @@ -1,4 +1,4 @@ -import { SimpleText } from "@codex-storage/marketplace-ui-components"; +import { Alert, SimpleText } from "@codex-storage/marketplace-ui-components"; import "./Welcome.css"; import { Link } from "@tanstack/react-router"; import { ChevronRight } from "lucide-react"; @@ -14,6 +14,13 @@ export function Welcome() { explore its features. Your feedback is invaluable as we continue to improve! + + The website and the content herein is not intended for public use and + is for informational and demonstration purposes only. + diff --git a/src/routeTree.gen.ts b/src/routeTree.gen.ts index 47e911b..2484188 100644 --- a/src/routeTree.gen.ts +++ b/src/routeTree.gen.ts @@ -19,6 +19,7 @@ import { Route as DashboardRequestsImport } from './routes/dashboard/requests' import { Route as DashboardPurchasesImport } from './routes/dashboard/purchases' import { Route as DashboardHelpImport } from './routes/dashboard/help' import { Route as DashboardFavoritesImport } from './routes/dashboard/favorites' +import { Route as DashboardDisclaimerImport } from './routes/dashboard/disclaimer' import { Route as DashboardAvailabilitiesImport } from './routes/dashboard/availabilities' import { Route as DashboardAboutImport } from './routes/dashboard/about' @@ -64,6 +65,11 @@ const DashboardFavoritesRoute = DashboardFavoritesImport.update({ getParentRoute: () => DashboardRoute, } as any) +const DashboardDisclaimerRoute = DashboardDisclaimerImport.update({ + path: '/disclaimer', + getParentRoute: () => DashboardRoute, +} as any) + const DashboardAvailabilitiesRoute = DashboardAvailabilitiesImport.update({ path: '/availabilities', getParentRoute: () => DashboardRoute, @@ -106,6 +112,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof DashboardAvailabilitiesImport parentRoute: typeof DashboardImport } + '/dashboard/disclaimer': { + id: '/dashboard/disclaimer' + path: '/disclaimer' + fullPath: '/dashboard/disclaimer' + preLoaderRoute: typeof DashboardDisclaimerImport + parentRoute: typeof DashboardImport + } '/dashboard/favorites': { id: '/dashboard/favorites' path: '/favorites' @@ -156,6 +169,7 @@ declare module '@tanstack/react-router' { interface DashboardRouteChildren { DashboardAboutRoute: typeof DashboardAboutRoute DashboardAvailabilitiesRoute: typeof DashboardAvailabilitiesRoute + DashboardDisclaimerRoute: typeof DashboardDisclaimerRoute DashboardFavoritesRoute: typeof DashboardFavoritesRoute DashboardHelpRoute: typeof DashboardHelpRoute DashboardPurchasesRoute: typeof DashboardPurchasesRoute @@ -167,6 +181,7 @@ interface DashboardRouteChildren { const DashboardRouteChildren: DashboardRouteChildren = { DashboardAboutRoute: DashboardAboutRoute, DashboardAvailabilitiesRoute: DashboardAvailabilitiesRoute, + DashboardDisclaimerRoute: DashboardDisclaimerRoute, DashboardFavoritesRoute: DashboardFavoritesRoute, DashboardHelpRoute: DashboardHelpRoute, DashboardPurchasesRoute: DashboardPurchasesRoute, @@ -184,6 +199,7 @@ export interface FileRoutesByFullPath { '/dashboard': typeof DashboardRouteWithChildren '/dashboard/about': typeof DashboardAboutRoute '/dashboard/availabilities': typeof DashboardAvailabilitiesRoute + '/dashboard/disclaimer': typeof DashboardDisclaimerRoute '/dashboard/favorites': typeof DashboardFavoritesRoute '/dashboard/help': typeof DashboardHelpRoute '/dashboard/purchases': typeof DashboardPurchasesRoute @@ -196,6 +212,7 @@ export interface FileRoutesByTo { '/': typeof IndexRoute '/dashboard/about': typeof DashboardAboutRoute '/dashboard/availabilities': typeof DashboardAvailabilitiesRoute + '/dashboard/disclaimer': typeof DashboardDisclaimerRoute '/dashboard/favorites': typeof DashboardFavoritesRoute '/dashboard/help': typeof DashboardHelpRoute '/dashboard/purchases': typeof DashboardPurchasesRoute @@ -210,6 +227,7 @@ export interface FileRoutesById { '/dashboard': typeof DashboardRouteWithChildren '/dashboard/about': typeof DashboardAboutRoute '/dashboard/availabilities': typeof DashboardAvailabilitiesRoute + '/dashboard/disclaimer': typeof DashboardDisclaimerRoute '/dashboard/favorites': typeof DashboardFavoritesRoute '/dashboard/help': typeof DashboardHelpRoute '/dashboard/purchases': typeof DashboardPurchasesRoute @@ -225,6 +243,7 @@ export interface FileRouteTypes { | '/dashboard' | '/dashboard/about' | '/dashboard/availabilities' + | '/dashboard/disclaimer' | '/dashboard/favorites' | '/dashboard/help' | '/dashboard/purchases' @@ -236,6 +255,7 @@ export interface FileRouteTypes { | '/' | '/dashboard/about' | '/dashboard/availabilities' + | '/dashboard/disclaimer' | '/dashboard/favorites' | '/dashboard/help' | '/dashboard/purchases' @@ -248,6 +268,7 @@ export interface FileRouteTypes { | '/dashboard' | '/dashboard/about' | '/dashboard/availabilities' + | '/dashboard/disclaimer' | '/dashboard/favorites' | '/dashboard/help' | '/dashboard/purchases' @@ -291,6 +312,7 @@ export const routeTree = rootRoute "children": [ "/dashboard/about", "/dashboard/availabilities", + "/dashboard/disclaimer", "/dashboard/favorites", "/dashboard/help", "/dashboard/purchases", @@ -307,6 +329,10 @@ export const routeTree = rootRoute "filePath": "dashboard/availabilities.tsx", "parent": "/dashboard" }, + "/dashboard/disclaimer": { + "filePath": "dashboard/disclaimer.tsx", + "parent": "/dashboard" + }, "/dashboard/favorites": { "filePath": "dashboard/favorites.tsx", "parent": "/dashboard" diff --git a/src/routes/dashboard.tsx b/src/routes/dashboard.tsx index f16d2b6..0e0efd8 100644 --- a/src/routes/dashboard.tsx +++ b/src/routes/dashboard.tsx @@ -5,7 +5,14 @@ import { MenuItemComponentProps, Page, } from "@codex-storage/marketplace-ui-components"; -import { Home, ShoppingBag, Server, Settings, HelpCircle } from "lucide-react"; +import { + Home, + ShoppingBag, + Server, + Settings, + HelpCircle, + TriangleAlert, +} from "lucide-react"; import { ICON_SIZE } from "../utils/constants"; import { NodeIndicator } from "../components/NodeIndicator/NodeIndicator"; import { HttpNetworkIndicator } from "../components/HttpNetworkIndicator/HttpNetworkIndicator"; @@ -80,6 +87,15 @@ const Layout = () => { ), }, + { + type: "menu-item", + Component: (p: MenuItemComponentProps) => ( + + + Disclaimer + + ), + }, ] satisfies MenuItem[]; return ( diff --git a/src/routes/dashboard/disclaimer.css b/src/routes/dashboard/disclaimer.css new file mode 100644 index 0000000..be0e3ac --- /dev/null +++ b/src/routes/dashboard/disclaimer.css @@ -0,0 +1,13 @@ +.disclaimer { + max-width: 600px; + margin: auto; +} + +.disclaimer-title { + margin-bottom: 3rem; + margin-top: 3rem; +} + +.disclaimer-text { + line-height: 1.5rem; +} diff --git a/src/routes/dashboard/disclaimer.tsx b/src/routes/dashboard/disclaimer.tsx new file mode 100644 index 0000000..2e3d41f --- /dev/null +++ b/src/routes/dashboard/disclaimer.tsx @@ -0,0 +1,39 @@ +import { createFileRoute } from "@tanstack/react-router"; +import "./disclaimer.css"; + +export const Route = createFileRoute("/dashboard/disclaimer")({ + component: () => ( +
+
+

Disclaimer

+ +

+ The website and the content herein is not intended for public use and + is for informational and demonstration purposes only. +

+ +
+ +

+ The website and any associated functionalities are provided on an “as + is” basis without any guarantees, warranties, or representations of + any kind, either express or implied. The website and any associated + functionalities may not reflect the final version of the project and + is subject to changes, updates, or removal at any time and without + notice. +

+ +
+ +

+ By accessing and using this website, you agree that we, Logos + Collective Association and its affiliates, will not be liable for any + direct, indirect, incidental, or consequential damages arising from + the use of, or inability to use, this website. Any data, content, or + interactions on this site are non-binding and should not be considered + final or actionable. Your use of this website is at your sole risk. +

+
+
+ ), +});