diff --git a/src/components/activeLink.tsx b/src/components/activeLink.tsx new file mode 100644 index 00000000..844a6e32 --- /dev/null +++ b/src/components/activeLink.tsx @@ -0,0 +1,25 @@ +'use client'; + +import Link from 'next/link'; +import { useSelectedLayoutSegment } from 'next/navigation'; + +export const ActiveLink = ({ + href, + className, + activeClassName, + children, +}: { + href: string; + className: string; + activeClassName: string; + children: React.ReactNode; +}) => { + const segment = useSelectedLayoutSegment(); + const isActive = href.includes(segment); + + return ( + + {children} + + ); +}; diff --git a/src/components/navigation/newsfeed.tsx b/src/components/navigation/newsfeed.tsx index 03d6e7a4..4ecbf6b5 100644 --- a/src/components/navigation/newsfeed.tsx +++ b/src/components/navigation/newsfeed.tsx @@ -1,8 +1,9 @@ 'use client'; +import { ActiveLink } from '@components/activeLink'; + import * as Collapsible from '@radix-ui/react-collapsible'; import { NavArrowUp } from 'iconoir-react'; -import Link from 'next/link'; import { useState } from 'react'; export default function Newsfeed() { @@ -22,20 +23,20 @@ export default function Newsfeed() {

Newsfeed

- Following - - + Circle - +