fix: top fade should be calculated on first render too

if page had been scrolled and refreshed the wrong initial value was used
This commit is contained in:
Petri Partio
2024-05-31 14:06:35 +03:00
parent ba41f50828
commit 93eba92f0c
2 changed files with 9 additions and 10 deletions

View File

@@ -1,6 +1,5 @@
'use client';
import Image from 'next/image';
import Link, { LinkProps } from 'next/link';
import Wrapper from './Wrapper';
import { useEffect, useRef, useState } from 'react';

View File

@@ -2,18 +2,18 @@
import { useEffect, useState } from 'react';
const calculatedBrightnessValue = () => {
if (window.scrollY > 200) return 0.5;
const amountToDecrease = (window.scrollY / 200) * 0.5;
return 1 - amountToDecrease;
};
export default function TopFade() {
const [brightness, setBrightness] = useState(1);
const [brightness, setBrightness] = useState(calculatedBrightnessValue());
const handleScroll = (event: Event) => {
if (window.scrollY > 200) {
if (brightness === 0.5) return;
setBrightness(0.5);
return;
}
const amountToDecrease = (window.scrollY / 200) * 0.5;
setBrightness(1 - amountToDecrease);
if (window.scrollY > 200 && brightness === 0.5) return;
setBrightness(calculatedBrightnessValue());
};
useEffect(() => {