From 5e39d3eaf5fe9a453c8ee96743c6e0d8401dfd65 Mon Sep 17 00:00:00 2001 From: prxt6529 Date: Mon, 9 Mar 2026 12:10:47 +0200 Subject: [PATCH 1/9] Sidebar Update: Share and Notifications Signed-off-by: prxt6529 --- components/header/share/HeaderShare.tsx | 2 +- .../user/proxy/HeaderUserProxyDropdown.tsx | 19 +++++++++++- components/layout/sidebar/WebSidebar.tsx | 29 +++++++++++++++++-- components/layout/sidebar/WebSidebarNav.tsx | 26 ++++++++++------- components/layout/sidebar/WebSidebarUser.tsx | 22 ++++++++++++-- 5 files changed, 81 insertions(+), 17 deletions(-) diff --git a/components/header/share/HeaderShare.tsx b/components/header/share/HeaderShare.tsx index d36524e9c5..dccffc6ec0 100644 --- a/components/header/share/HeaderShare.tsx +++ b/components/header/share/HeaderShare.tsx @@ -97,7 +97,7 @@ export default function HeaderShare({ ); } -function HeaderQRModal({ +export function HeaderQRModal({ show, onClose, }: { diff --git a/components/header/user/proxy/HeaderUserProxyDropdown.tsx b/components/header/user/proxy/HeaderUserProxyDropdown.tsx index f1f29a47a7..eb4a6105fe 100644 --- a/components/header/user/proxy/HeaderUserProxyDropdown.tsx +++ b/components/header/user/proxy/HeaderUserProxyDropdown.tsx @@ -7,6 +7,7 @@ import { faRightFromBracket, } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { ShareIcon } from "@heroicons/react/24/outline"; import { AnimatePresence, motion } from "framer-motion"; import { useContext, useEffect, useState } from "react"; import { AuthContext } from "@/components/auth/Auth"; @@ -20,10 +21,12 @@ export default function HeaderUserProxyDropdown({ isOpen, profile, onClose, + onOpenShare, }: { readonly isOpen: boolean; readonly profile: ApiIdentity; readonly onClose: () => void; + readonly onOpenShare?: (() => void) | undefined; }) { const { address, @@ -136,7 +139,7 @@ export default function HeaderUserProxyDropdown({ accounts={availableConnectedAccounts.map((account) => ({ ...account, unreadNotificationsCount: - connectedAccountUnreadNotifications[ + (connectedAccountUnreadNotifications ?? {})[ account.address.toLowerCase() ] ?? 0, }))} @@ -280,6 +283,20 @@ export default function HeaderUserProxyDropdown({ )} +
+ {onOpenShare && ( + + )} +
); } From 4fe6fdef31c1a70afd4be1dbce0d71926ff6488e Mon Sep 17 00:00:00 2001 From: prxt6529 Date: Mon, 9 Mar 2026 12:13:23 +0200 Subject: [PATCH 2/9] WIP Signed-off-by: prxt6529 --- components/header/user/proxy/HeaderUserProxyDropdown.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/components/header/user/proxy/HeaderUserProxyDropdown.tsx b/components/header/user/proxy/HeaderUserProxyDropdown.tsx index eb4a6105fe..ad161df662 100644 --- a/components/header/user/proxy/HeaderUserProxyDropdown.tsx +++ b/components/header/user/proxy/HeaderUserProxyDropdown.tsx @@ -283,8 +283,8 @@ export default function HeaderUserProxyDropdown({ )} -
- {onOpenShare && ( + {onOpenShare && ( +
- )} -
+
+ )}
{showUserMenu && profile && (
- setShowUserMenu(false)} From 2d6042405f82a0739b572ff2d34f9163656b5506 Mon Sep 17 00:00:00 2001 From: prxt6529 Date: Mon, 9 Mar 2026 12:55:25 +0200 Subject: [PATCH 6/9] WIP Signed-off-by: prxt6529 --- .../components/header/user/HeaderUserMenuDropdown.test.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/__tests__/components/header/user/HeaderUserMenuDropdown.test.tsx b/__tests__/components/header/user/HeaderUserMenuDropdown.test.tsx index 8985b3ecdd..8d5a494831 100644 --- a/__tests__/components/header/user/HeaderUserMenuDropdown.test.tsx +++ b/__tests__/components/header/user/HeaderUserMenuDropdown.test.tsx @@ -3,10 +3,9 @@ import { render, screen, fireEvent, waitFor } from "@testing-library/react"; import HeaderUserMenuDropdown from "@/components/header/user/HeaderUserMenuDropdown"; import { AuthContext } from "@/components/auth/Auth"; -jest.mock( - "@/components/header/user/HeaderUserProxyDropdownItem", - () => () =>
-); +jest.mock("@/components/header/user/HeaderUserProxyDropdownItem", () => () => ( +
+)); jest.mock( "@/components/header/user/connected/HeaderUserConnectedAccounts", () => (props: any) => ( From 1e03102c4fc1196e091f833ac042d1d49ccec3da Mon Sep 17 00:00:00 2001 From: prxt6529 Date: Mon, 9 Mar 2026 13:24:06 +0200 Subject: [PATCH 7/9] WIP Signed-off-by: prxt6529 --- .../header/user/HeaderUserMenuDropdown.tsx | 37 +++++++++---------- .../user/HeaderUserProxyDropdownItem.tsx | 6 +-- components/layout/sidebar/WebSidebarUser.tsx | 5 +-- 3 files changed, 21 insertions(+), 27 deletions(-) diff --git a/components/header/user/HeaderUserMenuDropdown.tsx b/components/header/user/HeaderUserMenuDropdown.tsx index c3ddf50138..f7ffff0c89 100644 --- a/components/header/user/HeaderUserMenuDropdown.tsx +++ b/components/header/user/HeaderUserMenuDropdown.tsx @@ -129,17 +129,14 @@ export default function HeaderUserMenuDropdown({ >
-
+
    {availableConnectedAccounts.length > 0 && ( -
    +
  • ({ ...account, unreadNotificationsCount: - (connectedAccountUnreadNotifications ?? {})[ + connectedAccountUnreadNotifications?.[ account.address.toLowerCase() ] ?? 0, }))} @@ -154,10 +151,10 @@ export default function HeaderUserMenuDropdown({ }); }} /> -
  • + )} {hasProxySection && ( -
    +
  • Proxy Profile

    @@ -182,16 +179,16 @@ export default function HeaderUserMenuDropdown({ > Profile Picture
  • ) : (
    ))} -
    + )} -
    +
  • {isConnected ? ( )} -
  • + {onOpenShare && ( -
    +
  • -
  • + )} -
    +
  • )} -
  • -
+ +
diff --git a/components/header/user/HeaderUserProxyDropdownItem.tsx b/components/header/user/HeaderUserProxyDropdownItem.tsx index c4011aa37e..0cb1557e82 100644 --- a/components/header/user/HeaderUserProxyDropdownItem.tsx +++ b/components/header/user/HeaderUserProxyDropdownItem.tsx @@ -18,16 +18,14 @@ export default function HeaderUserProxyDropdownItem({