diff --git a/components/Header.tsx b/components/Header.tsx index b125252..72e17f6 100644 --- a/components/Header.tsx +++ b/components/Header.tsx @@ -1,4 +1,6 @@ 'use client' +import { useEffect, useState } from 'react' +import { motion } from 'framer-motion' import siteMetadata from '@/data/siteMetadata' import useHeaderNavLinks from '@/data/headerNavLinks' import Image from 'next/image' @@ -12,19 +14,37 @@ import { useTranslation } from 'utils/locale' const Header = () => { const { t } = useTranslation() + const [isScrolled, setIsScrolled] = useState(true) + + useEffect(() => { + const handleScroll = () => { + setIsScrolled(window.scrollY >= 100) + } + + window.addEventListener('scroll', handleScroll) + return () => { + window.removeEventListener('scroll', handleScroll) + } + }, []) return ( -
-
+
-
+
logo
+
+ logo +
{typeof siteMetadata.headerTitle === 'string' ? (
{siteMetadata.headerTitle} @@ -55,7 +75,7 @@ const Header = () => {
{/*
*/}
-
+ ) } diff --git a/package.json b/package.json index 70e4671..aa50417 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "autoprefixer": "^10.4.13", "contentlayer2": "0.4.4", "esbuild": "0.20.2", + "framer-motion": "^11.1.7", "github-slugger": "^2.0.0", "gray-matter": "^4.0.2", "hast-util-from-html-isomorphic": "^2.0.0", diff --git a/yarn.lock b/yarn.lock index 909b768..b2036ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5769,6 +5769,26 @@ __metadata: languageName: node linkType: hard +"framer-motion@npm:^11.1.7": + version: 11.1.7 + resolution: "framer-motion@npm:11.1.7" + dependencies: + tslib: ^2.4.0 + peerDependencies: + "@emotion/is-prop-valid": "*" + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + "@emotion/is-prop-valid": + optional: true + react: + optional: true + react-dom: + optional: true + checksum: ba4f2f0823eec7b78fa87180545cf8c832929ce52de8bab34312a67bfd6dee4ab6ad17143b9df2efcd4ede7cb87fc326843a1101a6cad3031c89a6ad2160e037 + languageName: node + linkType: hard + "fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -10878,6 +10898,7 @@ __metadata: eslint-config-next: 14.2.1 eslint-config-prettier: ^8.8.0 eslint-plugin-prettier: ^5.0.0 + framer-motion: ^11.1.7 github-slugger: ^2.0.0 gray-matter: ^4.0.2 hast-util-from-html-isomorphic: ^2.0.0