Registration Success
-
+
Welcome, {registeredMerchant.business_name}!
diff --git a/frontend/src/components/Sidebar.tsx b/frontend/src/components/Sidebar.tsx
index 6ace6482..62883e41 100644
--- a/frontend/src/components/Sidebar.tsx
+++ b/frontend/src/components/Sidebar.tsx
@@ -106,30 +106,34 @@ function NavLinks({
const navItems = getNavItems(t);
return (
-
);
}
diff --git a/frontend/src/components/WalletSelector.tsx b/frontend/src/components/WalletSelector.tsx
index a61b881a..feba5e37 100644
--- a/frontend/src/components/WalletSelector.tsx
+++ b/frontend/src/components/WalletSelector.tsx
@@ -1,6 +1,6 @@
"use client";
-import { useEffect, useState } from "react";
+import { useCallback, useEffect, useMemo, useState } from "react";
import { useTranslations } from "next-intl";
import { useWallet } from "@/lib/wallet-context";
import { connectWalletConnect } from "@/lib/wallet-walletconnect";
@@ -44,10 +44,9 @@ export default function WalletSelector({
};
}, [providers]);
- // If the active provider is already selected, nothing to show
- if (activeProvider) return null;
- async function handleSelect(id: string) {
+
+ const handleSelect = useCallback(async (id: string) => {
if (id === "walletconnect") {
setWcError(null);
setWcPairing(true);
@@ -68,7 +67,43 @@ export default function WalletSelector({
selectProvider(id);
onConnected();
- }
+ }, [networkPassphrase, onConnected, selectProvider, t]);
+
+ const providerButtons = useMemo(() => {
+ return providers.map((p) => {
+ const available = providerAvailability[p.id] ?? false;
+ const isWc = p.id === "walletconnect";
+
+ return (
+
+ );
+ });
+ }, [providers, providerAvailability, wcPairing, handleSelect, t]);
+
+ // If the active provider is already selected, nothing to show
+ if (activeProvider) return null;
return (
@@ -77,36 +112,7 @@ export default function WalletSelector({
- {providers.map((p) => {
- const available = providerAvailability[p.id] ?? false;
- const isWc = p.id === "walletconnect";
-
- return (
-
- );
- })}
+ {providerButtons}
{/* WalletConnect QR code */}
From 9d7bd0db5d7bb84035c8c6dd687e7bec91a6d490 Mon Sep 17 00:00:00 2001
From: Temiloluwa Omosuwa
Date: Thu, 23 Apr 2026 09:40:42 +0100
Subject: [PATCH 2/2] Fix syntax errors, missing imports, and lint warnings
after conflict resolution
---
.../app/(authenticated)/dashboard/page.tsx | 1 +
frontend/src/components/RecentPayments.tsx | 2 +-
frontend/src/components/WalletSelector.tsx | 93 +++++++++----------
3 files changed, 48 insertions(+), 48 deletions(-)
diff --git a/frontend/src/app/(authenticated)/dashboard/page.tsx b/frontend/src/app/(authenticated)/dashboard/page.tsx
index ba29dcb4..0c040057 100644
--- a/frontend/src/app/(authenticated)/dashboard/page.tsx
+++ b/frontend/src/app/(authenticated)/dashboard/page.tsx
@@ -16,6 +16,7 @@ import FirstApiKeyModal from "@/components/FirstApiKeyModal";
import PaymentMetrics from "@/components/PaymentMetrics";
import RecentPayments from "@/components/RecentPayments";
import WithdrawModal from "@/components/WithdrawModal";
+import FirstPaymentCelebration from "@/components/FirstPaymentCelebration";
export default function DashboardPage() {
const t = useTranslations("dashboardPage");
diff --git a/frontend/src/components/RecentPayments.tsx b/frontend/src/components/RecentPayments.tsx
index 97424be1..95e6de25 100644
--- a/frontend/src/components/RecentPayments.tsx
+++ b/frontend/src/components/RecentPayments.tsx
@@ -555,7 +555,7 @@ export default function RecentPayments({