diff --git a/app/tag-data.json b/app/tag-data.json index 7bacbaf8c..e35862a4f 100644 --- a/app/tag-data.json +++ b/app/tag-data.json @@ -1,20 +1 @@ -{ - "markdown": 1, - "code": 1, - "features": 1, - "next-js": 6, - "math": 1, - "ols": 1, - "github": 1, - "guide": 5, - "tailwind": 3, - "hello": 1, - "holiday": 1, - "canada": 1, - "images": 1, - "feature": 2, - "writings": 1, - "book": 1, - "reflection": 1, - "multi-author": 1 -} +{"markdown":1,"code":1,"features":1,"next-js":6,"math":1,"ols":1,"github":1,"guide":5,"tailwind":3,"holiday":1,"canada":1,"images":1,"feature":2,"writings":1,"book":1,"reflection":1,"multi-author":1} \ No newline at end of file diff --git a/components/Header.tsx b/components/Header.tsx index 362b7cdd9..a8db0a39d 100644 --- a/components/Header.tsx +++ b/components/Header.tsx @@ -5,6 +5,7 @@ import Link from './Link' import MobileNav from './MobileNav' import ThemeSwitch from './ThemeSwitch' import SearchButton from './SearchButton' +import { NavOptions } from './NavOptions' const Header = () => { return ( @@ -37,6 +38,7 @@ const Header = () => { {link.title} ))} + diff --git a/components/MobileNav.tsx b/components/MobileNav.tsx index b777b822c..0fbec479d 100644 --- a/components/MobileNav.tsx +++ b/components/MobileNav.tsx @@ -2,7 +2,7 @@ import { useState } from 'react' import Link from './Link' -import headerNavLinks from '@/data/headerNavLinks' +import headerNavLinks, { headerNavOptions } from '@/data/headerNavLinks' const MobileNav = () => { const [navShow, setNavShow] = useState(false) @@ -68,6 +68,18 @@ const MobileNav = () => { ))} + {headerNavOptions.children && + headerNavOptions.children.map((link) => ( +
+ + {link.title} + +
+ ))} diff --git a/components/NavOptions.tsx b/components/NavOptions.tsx new file mode 100644 index 000000000..8e390bfe9 --- /dev/null +++ b/components/NavOptions.tsx @@ -0,0 +1,48 @@ +'use client' + +import { Fragment, useEffect, useState } from 'react' +import { useTheme } from 'next-themes' +import { Menu, RadioGroup, Transition } from '@headlessui/react' +import { headerNavOptions } from '@/data/headerNavLinks' +import Link from 'next/link' + +export const NavOptions = () => { + return ( +
+ +
+ {headerNavOptions.title && ( + + {headerNavOptions.title} + + )} +
+ + +
+ {headerNavOptions.children && + headerNavOptions.children.map((link) => ( + + + {link.title} + + + ))} +
+
+
+
+
+ ) +} diff --git a/data/headerNavLinks.ts b/data/headerNavLinks.ts index 8ca9493db..7005935f7 100644 --- a/data/headerNavLinks.ts +++ b/data/headerNavLinks.ts @@ -6,4 +6,12 @@ const headerNavLinks = [ { href: '/about', title: 'About' }, ] +export const headerNavOptions = { + title: 'Dropdown', children: [ + {href: '/projects', title: 'Projects',}, + {href: '/about', title: 'About',}, + ] +} + + export default headerNavLinks