From d534cfc38c1e86c230b311a5b3c8131e3fd82f64 Mon Sep 17 00:00:00 2001 From: therealwolf42 <76-therealwolf42@users.noreply.gitlab.syncad.com> Date: Mon, 17 Nov 2025 15:23:36 +0100 Subject: [PATCH 01/12] milestones --- src/app/[locale]/eco/page.tsx | 2 +- src/app/[locale]/page.tsx | 10 +- src/app/[locale]/wallets/page.tsx | 6 +- src/components/Icon.tsx | 19 ++- src/components/app/App.tsx | 14 +- src/components/header/Header.tsx | 19 ++- src/components/infobar/Infobar.tsx | 6 +- src/components/navigation/Navigation.tsx | 155 ++++++++++++++++++----- src/components/root/RootEco.tsx | 58 +++++---- src/components/ui/button.tsx | 2 +- src/components/ui/navigation-menu.tsx | 4 +- src/lib/data/navigation.ts | 63 +++++++-- 12 files changed, 265 insertions(+), 93 deletions(-) diff --git a/src/app/[locale]/eco/page.tsx b/src/app/[locale]/eco/page.tsx index 27083e7..94ebf0a 100644 --- a/src/app/[locale]/eco/page.tsx +++ b/src/app/[locale]/eco/page.tsx @@ -58,7 +58,7 @@ function EcoContent() { return (
-
+
{/* Hero Section */}

diff --git a/src/app/[locale]/page.tsx b/src/app/[locale]/page.tsx index 8b1eae3..8579f2e 100644 --- a/src/app/[locale]/page.tsx +++ b/src/app/[locale]/page.tsx @@ -59,7 +59,7 @@ export default function HomePage() { {/* No fees */}
-
+

{t('root.feeTitle')}

@@ -77,7 +77,7 @@ export default function HomePage() { {/* Decentralized */}

-
+
Decentralized
@@ -95,7 +95,7 @@ export default function HomePage() { {/* Username */}
-
+

{t('root.usernameTitle')}

@@ -110,7 +110,7 @@ export default function HomePage() { {/* HDF */}

-
+

{t('root.dafTitle')}

@@ -129,7 +129,7 @@ export default function HomePage() { {/* HBD */}

-
+

{t('root.hbdTitle')}

diff --git a/src/app/[locale]/wallets/page.tsx b/src/app/[locale]/wallets/page.tsx index 9fb7d47..7f11f03 100644 --- a/src/app/[locale]/wallets/page.tsx +++ b/src/app/[locale]/wallets/page.tsx @@ -10,7 +10,7 @@ export default function WalletsPage() { return (

-
+
{/* Hero Section */}

@@ -22,9 +22,9 @@ export default function WalletsPage() {

{/* Wallets Grid */} -
+
{WALLETS.map((wallet) => ( - + ))}
diff --git a/src/components/Icon.tsx b/src/components/Icon.tsx index fec8bb7..32dcf4f 100644 --- a/src/components/Icon.tsx +++ b/src/components/Icon.tsx @@ -43,10 +43,27 @@ export const Icon: React.FC = ({ }; }, [tooltip]); - if (!icon || !link) { + if (!icon) { return null; } + if (!link) { + return ( + + + + ); + } + return ( = ({ @@ -31,7 +32,8 @@ export const App: React.FC = ({ openModal = false, openDetailed = false, detailed = false, - style + style, + size = 110 }) => { const { getImage } = useAssets(); const [hover, setHover] = useState(false); @@ -53,6 +55,9 @@ export const App: React.FC = ({ }; const getWebsiteUrl = () => { + if (!item.website) { + return '#'; + } if (typeof item.website === 'string') { return item.website; } @@ -79,12 +84,15 @@ export const App: React.FC = ({ detailed ? 'flex-row flex-wrap items-start justify-start cursor-default mx-[30px] my-[15px]' : '' }`; - const innerClasses = `flex justify-center items-center rounded-[15%] bg-[#e2e2ec] h-[110px] w-[110px] p-3 mb-2 transition-transform duration-500 ${ + const innerClasses = `flex justify-center items-center rounded-[15%] bg-[#e2e2ec] p-3 mb-2 transition-transform duration-500 ${ move && !detailed && hover ? '-translate-y-[10%]' : '' }`; const innerContent = ( -
+
{item.name} = ({ items = [] }) => { const headerRef = useRef(null); + // Split items into navigation items and button items + const navigationItems = items.filter(item => !item.isButton); + const buttonItems = items.filter(item => item.isButton); + // Use useLayoutEffect to update header height before browser paint useLayoutEffect(() => { if (headerRef.current) { @@ -36,14 +40,17 @@ export const Header: React.FC = ({ items = [] }) => { }, []); return ( -