Add custom relays etc

Fixes #67

Add a dedicated page to show the currently active relays with their status.

* **New Relays Page**: Create `app/relays/page.tsx` to display the currently active relays and their status. Fetch relay status from the relay URLs defined in `app/layout.tsx` and display them in a user-friendly format.
* **BottomBar Component**: Update `components/BottomBar.tsx` to include a new link to the relays page in the navigation bar. Ensure the new link is styled consistently with the existing links and update the `isActive` function to include the new relays page.
* **Layout File**: Modify `app/layout.tsx` to export the `relayUrls` array for use in the new relays page. Update the `relayUrls` array to use the stored relay URLs if available and pass the relay URLs as props to the `NostrProvider` component. Fetch the relay URLs and update the `relayUrls` array dynamically on login.
* **Login Page**: Modify `app/login/page.tsx` to store the relay URLs in local storage when the user logs in. Pass the relay URLs as props to the `NostrProvider` component in `app/layout.tsx`.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/lumina-rocks/lumina/issues/67?shareId=XXXX-XXXX-XXXX-XXXX).
This commit is contained in:
mroxso
2025-04-18 17:34:17 +02:00
parent bd8c670a3a
commit e60fd442c9
4 changed files with 69 additions and 8 deletions

View File

@@ -71,6 +71,9 @@ export default function BottomBar() {
<span className="sr-only">Notifications</span>
</Link>
)}
<Link className={`flex flex-col items-center justify-center w-full text-xs gap-1 px-4 ${isActive('/relays', pathname)}`} href="/relays">
<span className="sr-only">Relays</span>
</Link>
</nav>
)
}
}