From 0f073760ee744ca15fb41e738abb2525642b3c18 Mon Sep 17 00:00:00 2001
From: ManInDark <61268856+ManInDark@users.noreply.github.com>
Date: Tue, 17 Jun 2025 22:30:18 +0200
Subject: [PATCH] fix: unify NavDisplays
---
components/DesktopNavDisplay.tsx | 33 -----------------
components/MobileNavDisplay.tsx | 33 -----------------
components/NavDisplay.tsx | 61 ++++++++++++++++++++++++++++++++
components/Navigation.tsx | 33 ++---------------
4 files changed, 63 insertions(+), 97 deletions(-)
delete mode 100644 components/DesktopNavDisplay.tsx
delete mode 100644 components/MobileNavDisplay.tsx
create mode 100644 components/NavDisplay.tsx
diff --git a/components/DesktopNavDisplay.tsx b/components/DesktopNavDisplay.tsx
deleted file mode 100644
index 20e8b37..0000000
--- a/components/DesktopNavDisplay.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import Link from 'next/link';
-import { usePathname } from 'next/navigation';
-import { NavDisplayProps } from './Navigation';
-
-export default function DesktopNavDisplay({ navItems }: NavDisplayProps) {
- const pathname = usePathname();
-
- return (
-
-
-
-
-
-
-
-
-
- );
-}
diff --git a/components/MobileNavDisplay.tsx b/components/MobileNavDisplay.tsx
deleted file mode 100644
index ae0f3d0..0000000
--- a/components/MobileNavDisplay.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import { useHelpers } from '@/lib/client-helpers';
-import Link from 'next/link';
-import { usePathname } from 'next/navigation';
-import { NavDisplayProps } from './Navigation';
-
-export default function MobileNavDisplay({ navItems }: NavDisplayProps) {
- const pathname = usePathname();
- const { isIOS } = useHelpers()
-
- return (
- <>
-
-
- >
- );
-}
diff --git a/components/NavDisplay.tsx b/components/NavDisplay.tsx
new file mode 100644
index 0000000..45b1945
--- /dev/null
+++ b/components/NavDisplay.tsx
@@ -0,0 +1,61 @@
+import { useHelpers } from '@/lib/client-helpers';
+import Link from 'next/link';
+import { usePathname } from 'next/navigation';
+import { NavItemType } from './Navigation';
+
+export default function NavDisplay({ navItems, isMobile }: { navItems: NavItemType[], isMobile: boolean }) {
+ const pathname = usePathname();
+ const { isIOS } = useHelpers()
+
+ if (isMobile) {
+ return (
+ <>
+
+
+ >
+ );
+ } else {
+ return (
+
+
+
+
+
+
+
+
+
+ );
+ }
+}
diff --git a/components/Navigation.tsx b/components/Navigation.tsx
index 622c244..6a42c62 100644
--- a/components/Navigation.tsx
+++ b/components/Navigation.tsx
@@ -4,8 +4,7 @@ import { HabitIcon, TaskIcon } from '@/lib/constants'
import { Calendar, Coins, Gift, Home } from 'lucide-react'
import { useTranslations } from 'next-intl'
import { ElementType, useEffect, useState } from 'react'
-import DesktopNavDisplay from './DesktopNavDisplay'
-import MobileNavDisplay from './MobileNavDisplay'
+import NavDisplay from './NavDisplay'
type ViewPort = 'main' | 'mobile'
@@ -19,13 +18,8 @@ interface NavigationProps {
position: ViewPort
}
-export interface NavDisplayProps {
- navItems: NavItemType[];
-}
-
export default function Navigation({ position: viewPort }: NavigationProps) {
const t = useTranslations('Navigation')
- const [isMobileView, setIsMobileView] = useState(false)
const currentNavItems: NavItemType[] = [
{ icon: Home, label: t('dashboard'), href: '/' },
@@ -36,28 +30,5 @@ export default function Navigation({ position: viewPort }: NavigationProps) {
{ icon: Coins, label: t('coins'), href: '/coins' },
]
- useEffect(() => {
- const handleResize = () => {
- setIsMobileView(window.innerWidth < 1024)
- }
-
- // Set initial value
- handleResize()
-
- // Add event listener
- window.addEventListener('resize', handleResize)
-
- // Cleanup
- return () => window.removeEventListener('resize', handleResize)
- }, [])
-
- if (viewPort === 'mobile' && isMobileView) {
- return
- }
-
- if (viewPort === 'main' && !isMobileView) {
- return
- }
-
- return null // Explicitly return null if no view matches
+ return
}