From b9f1ba95683472003ba2168502e723d0e94b7e60 Mon Sep 17 00:00:00 2001 From: mroxso <24775431+mroxso@users.noreply.github.com> Date: Fri, 18 Apr 2025 20:55:00 +0200 Subject: [PATCH] feat: add Relays page and integrate relay status display (#72) feat: add Relays link to AvatarDropdown menu feat: create Badge component for status indicators fix: update @radix-ui/react-slot version in package.json and package-lock.json Co-authored-by: highperfocused --- app/relays/page.tsx | 186 ++++++++++++++++++ bun.lockb | Bin 342419 -> 358375 bytes .../headerComponents/AvatarDropdown.tsx | 5 + components/ui/badge.tsx | 36 ++++ package-lock.json | 121 +++++++++++- package.json | 2 +- 6 files changed, 344 insertions(+), 6 deletions(-) create mode 100644 app/relays/page.tsx create mode 100644 components/ui/badge.tsx diff --git a/app/relays/page.tsx b/app/relays/page.tsx new file mode 100644 index 0000000..d99ba17 --- /dev/null +++ b/app/relays/page.tsx @@ -0,0 +1,186 @@ +"use client"; + +import { useNostr } from "nostr-react"; +import { useEffect, useState } from "react"; +import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@/components/ui/card"; +import { Badge } from "@/components/ui/badge"; +import { CheckCircle2, XCircle, AlertCircle, SignalHigh, Clock } from "lucide-react"; +import { Skeleton } from "@/components/ui/skeleton"; +import { ScrollArea } from "@/components/ui/scroll-area"; +import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; +import { Button } from "@/components/ui/button"; + +export default function RelaysPage() { + const { connectedRelays } = useNostr(); + const [relayStatus, setRelayStatus] = useState<{ [url: string]: 'connected' | 'connecting' | 'disconnected' | 'error' }>({}); + const [loading, setLoading] = useState(true); + + useEffect(() => { + document.title = `Relays | LUMINA`; + + if (connectedRelays) { + const status: { [url: string]: 'connected' | 'connecting' | 'disconnected' | 'error' } = {}; + + // Get status of each relay + connectedRelays.forEach(relay => { + if (relay.status === 1) { + status[relay.url] = 'connected'; + } else if (relay.status === 0) { + status[relay.url] = 'connecting'; + } else { + status[relay.url] = 'disconnected'; + } + }); + + setRelayStatus(status); + setLoading(false); + } + }, [connectedRelays]); + + // Function to get the appropriate status icon + const getStatusIcon = (status: string) => { + switch (status) { + case 'connected': + return ; + case 'connecting': + return ; + case 'disconnected': + return ; + case 'error': + return ; + default: + return null; + } + }; + + // Function to get the appropriate status badge + const getStatusBadge = (status: string) => { + switch (status) { + case 'connected': + return Connected; + case 'connecting': + return Connecting; + case 'disconnected': + return Disconnected; + case 'error': + return Error; + default: + return null; + } + }; + + return ( +
+

Nostr Relays

+ + + + List View + Card View + + + + + + Connected Relays + Current active relay connections ({Object.keys(relayStatus).length}) + + + + {loading ? ( +
+ + + +
+ ) : ( +
+ {Object.entries(relayStatus).map(([url, status]) => ( +
+
+ {getStatusIcon(status)} +
+

{url}

+
+
+
+ {getStatusBadge(status)} +
+
+ ))} +
+ )} +
+
+ + {/*
+ Active subscriptions: {activeSubscriptions?.length || 0} +
*/} + +
+
+
+ + + {loading ? ( +
+ + + +
+ ) : ( +
+ {Object.entries(relayStatus).map(([url, status]) => ( + + + + {getStatusIcon(status)} + + {url.replace(/^wss:\/\//, '')} + + + + +
+
+ + + {status === 'connected' ? 'Ready for events' : 'Not receiving events'} + +
+ {getStatusBadge(status)} +
+
+
+ ))} +
+ )} +
+
+ +
+ + + About Nostr Relays + + +

+ Relays are servers that receive, store, and forward Nostr events. They act as the infrastructure + that makes the decentralized social network possible. You can connect to multiple relays to + increase the reach and resilience of your posts and profile. +

+
+
+
+
+ ); +} \ No newline at end of file diff --git a/bun.lockb b/bun.lockb index 09a103c33c7b9aab6b221daba1aa4a6829f5053f..c98738859ad534c4accedcc05e5f60350a847eab 100755 GIT binary patch delta 76040 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 diff --git a/components/headerComponents/AvatarDropdown.tsx b/components/headerComponents/AvatarDropdown.tsx index c75ae49..cad8cf8 100644 --- a/components/headerComponents/AvatarDropdown.tsx +++ b/components/headerComponents/AvatarDropdown.tsx @@ -39,6 +39,11 @@ export function AvatarDropdown() { Profile + + + Relays + + Settings diff --git a/components/ui/badge.tsx b/components/ui/badge.tsx new file mode 100644 index 0000000..f000e3e --- /dev/null +++ b/components/ui/badge.tsx @@ -0,0 +1,36 @@ +import * as React from "react" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const badgeVariants = cva( + "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", + { + variants: { + variant: { + default: + "border-transparent bg-primary text-primary-foreground hover:bg-primary/80", + secondary: + "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80", + destructive: + "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80", + outline: "text-foreground", + }, + }, + defaultVariants: { + variant: "default", + }, + } +) + +export interface BadgeProps + extends React.HTMLAttributes, + VariantProps {} + +function Badge({ className, variant, ...props }: BadgeProps) { + return ( +
+ ) +} + +export { Badge, badgeVariants } diff --git a/package-lock.json b/package-lock.json index bf54b46..6590e7f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@radix-ui/react-navigation-menu": "^1.1.4", "@radix-ui/react-scroll-area": "^1.0.5", "@radix-ui/react-select": "^2.1.6", - "@radix-ui/react-slot": "^1.0.2", + "@radix-ui/react-slot": "^1.2.0", "@radix-ui/react-switch": "^1.1.3", "@radix-ui/react-tabs": "^1.0.4", "@radix-ui/react-toast": "^1.1.5", @@ -2698,6 +2698,25 @@ } } }, + "node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-compose-refs": { "version": "1.0.1", "license": "MIT", @@ -2765,6 +2784,25 @@ } } }, + "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-direction": { "version": "1.0.1", "license": "MIT", @@ -2964,6 +3002,25 @@ } } }, + "node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-navigation-menu": { "version": "1.1.4", "license": "MIT", @@ -3097,6 +3154,25 @@ } } }, + "node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-roving-focus": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", @@ -3636,15 +3712,31 @@ } }, "node_modules/@radix-ui/react-slot": { - "version": "1.0.2", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.0.tgz", + "integrity": "sha512-ujc+V6r0HNDviYqIK3rW4ffgYiZ8g5DEHrGJVk4x7kTlLXRDILnKX9vAUYeIsLOoDpDJ0ujpqMkjH4w2ofuo6w==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1" + "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot/node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -3936,6 +4028,25 @@ } } }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-use-callback-ref": { "version": "1.0.1", "license": "MIT", diff --git a/package.json b/package.json index ea04868..de6ea2f 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "@radix-ui/react-navigation-menu": "^1.1.4", "@radix-ui/react-scroll-area": "^1.0.5", "@radix-ui/react-select": "^2.1.6", - "@radix-ui/react-slot": "^1.0.2", + "@radix-ui/react-slot": "^1.2.0", "@radix-ui/react-switch": "^1.1.3", "@radix-ui/react-tabs": "^1.0.4", "@radix-ui/react-toast": "^1.1.5",