From e2c8312f24bd858a54956f28b1d40a701267b715 Mon Sep 17 00:00:00 2001 From: Danish Arora Date: Fri, 4 Apr 2025 02:51:04 +0530 Subject: [PATCH] feat: add footer --- examples/keystore-management/README.md | 5 +- examples/keystore-management/next.config.js | 13 +++ .../keystore-management/src/app/layout.tsx | 6 +- .../src/components/Footer.tsx | 100 ++++++++++++++++++ .../src/components/ui/tooltip.tsx | 28 +++++ .../keystore-management/src/content/index.ts | 6 -- 6 files changed, 147 insertions(+), 11 deletions(-) create mode 100644 examples/keystore-management/next.config.js create mode 100644 examples/keystore-management/src/components/Footer.tsx create mode 100644 examples/keystore-management/src/components/ui/tooltip.tsx diff --git a/examples/keystore-management/README.md b/examples/keystore-management/README.md index f5a3b40..8de7f1a 100644 --- a/examples/keystore-management/README.md +++ b/examples/keystore-management/README.md @@ -41,7 +41,6 @@ If you encounter an "ERC20: insufficient allowance" error, it means the token ap ## TODO - [ ] add help type info on the webapp - [ ] update descriptions, and link specs/resources -- [ ] footer for discord help +- [x] footer for discord help - [ ] add info about exporting/using keystore/credential and using with nwaku/nwaku-compose/waku-simulator -- [ x ] exporting entire keystore -- [ ] clean comments \ No newline at end of file +- [x] exporting entire keystore \ No newline at end of file diff --git a/examples/keystore-management/next.config.js b/examples/keystore-management/next.config.js new file mode 100644 index 0000000..3e4252a --- /dev/null +++ b/examples/keystore-management/next.config.js @@ -0,0 +1,13 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + images: { + domains: [ + 'waku.org', + 'logos.co', + 'contributors.free.technology' + ], + }, + reactStrictMode: true, +} + +module.exports = nextConfig \ No newline at end of file diff --git a/examples/keystore-management/src/app/layout.tsx b/examples/keystore-management/src/app/layout.tsx index 27b3f9b..77076e5 100644 --- a/examples/keystore-management/src/app/layout.tsx +++ b/examples/keystore-management/src/app/layout.tsx @@ -10,6 +10,7 @@ import "@fontsource-variable/jetbrains-mono"; import { WalletProvider, RLNImplementationProvider, KeystoreProvider, RLNProvider } from "../contexts/index"; import { Header } from "../components/Header"; import { AppStateProvider } from "../contexts/AppStateContext"; +import { Footer } from "@/components/Footer"; export const fontSans = FontSans({ subsets: ["latin"], @@ -53,11 +54,12 @@ export default function RootLayout({ children }: RootLayoutProps) { -
+
-
+
{children}
+
diff --git a/examples/keystore-management/src/components/Footer.tsx b/examples/keystore-management/src/components/Footer.tsx new file mode 100644 index 0000000..33420a6 --- /dev/null +++ b/examples/keystore-management/src/components/Footer.tsx @@ -0,0 +1,100 @@ +import Link from "next/link"; +import { Github } from "lucide-react"; +import { + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from "@/components/ui/tooltip"; + +export function Footer() { + return ( +
+
+
+ {/* Waku Section */} +
+ + + Waku + + + + {/* Community Links */} +
+ + + + + + + + + + +

Join our Discord community for support & feedback

+
+
+
+ + + + + Docs + + + Specs + +
+
+ + {/* Organizational Structure */} +
+ + Logos + + + + + + IFT + +
+
+
+
+ ); +} \ No newline at end of file diff --git a/examples/keystore-management/src/components/ui/tooltip.tsx b/examples/keystore-management/src/components/ui/tooltip.tsx new file mode 100644 index 0000000..f36785f --- /dev/null +++ b/examples/keystore-management/src/components/ui/tooltip.tsx @@ -0,0 +1,28 @@ +import * as React from "react" +import * as TooltipPrimitive from "@radix-ui/react-tooltip" + +import { cn } from "@/lib/utils" + +const TooltipProvider = TooltipPrimitive.Provider + +const Tooltip = TooltipPrimitive.Root + +const TooltipTrigger = TooltipPrimitive.Trigger + +const TooltipContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, sideOffset = 4, ...props }, ref) => ( + +)) +TooltipContent.displayName = TooltipPrimitive.Content.displayName + +export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } \ No newline at end of file diff --git a/examples/keystore-management/src/content/index.ts b/examples/keystore-management/src/content/index.ts index f5db952..d508239 100644 --- a/examples/keystore-management/src/content/index.ts +++ b/examples/keystore-management/src/content/index.ts @@ -1,9 +1,3 @@ -// Types for content structure -type Link = { - text: string; - url: string; -}; - export type ContentSegment = { type: 'text' | 'link'; content: string;