Skip to content

Commit 5aefb6a

Browse files
committed
feat: Enhance HeroSection with random rotation effect and optimize DarkModeToggle and FAQs components
1 parent 9e86c67 commit 5aefb6a

File tree

3 files changed

+15
-18
lines changed

3 files changed

+15
-18
lines changed

src/components/AboutUs/HeroSection.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { motion } from 'framer-motion';
2+
import { useState } from 'react';
23
import { heroAnimations } from '@/styles/Animations';
34
import {
45
fadeIn,
@@ -12,6 +13,7 @@ import {
1213

1314
const HeroSection = () => {
1415
const title = 'ABOUT US'.split('');
16+
const [randomRotations] = useState(() => title.map(() => Math.random() * 10 - 5));
1517

1618
return (
1719
<motion.div
@@ -71,7 +73,7 @@ const HeroSection = () => {
7173
}
7274
whileHover={{
7375
scale: 1.2,
74-
rotate: Math.random() * 10 - 5,
76+
rotate: randomRotations[index],
7577
transition: { duration: 0.2 },
7678
}}
7779
>

src/components/shared/DarkModeToggle.tsx

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
1-
import { useState, useEffect } from 'react';
1+
import { useState } from 'react';
22
import { Moon, Sun } from 'lucide-react';
33

44
const DarkModeToggle = () => {
5-
const [isDarkMode, setIsDarkMode] = useState(false);
6-
const [isHovered, setIsHovered] = useState(false);
7-
8-
useEffect(() => {
5+
const [isDarkMode, setIsDarkMode] = useState(() => {
96
const theme = localStorage.getItem('theme');
10-
if (theme === 'dark') {
7+
const isDark = theme === 'dark';
8+
if (isDark) {
119
document.documentElement.classList.add('dark');
12-
setIsDarkMode(true);
1310
} else {
1411
document.documentElement.classList.remove('dark');
15-
setIsDarkMode(false);
1612
}
17-
}, []);
13+
return isDark;
14+
});
15+
const [isHovered, setIsHovered] = useState(false);
1816

1917
const toggleDarkMode = () => {
2018
if (isDarkMode) {

src/pages/About/FAQs.tsx

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import Header from '@/sections/Header';
22
import Footer from '@/sections/Footer';
3-
import { useEffect, useState } from 'react';
3+
import { useMemo, useState } from 'react';
44
import { stats } from '@/constants/Stats';
55
import faqs, { FAQ_CATEGORIES } from '@/constants/aboutUs/faqs';
66
import { quickAnswers } from '@/constants/aboutUs/quickanswers';
@@ -17,14 +17,11 @@ import FAQItem from '@/components/FAQItem';
1717

1818
const FAQs = () => {
1919
const [selectedCategory, setSelectedCategory] = useState<string>('all');
20-
const [filteredFaqs, setFilteredFaqs] = useState(faqs);
2120

22-
useEffect(() => {
23-
const filtered =
24-
selectedCategory === 'all'
25-
? faqs
26-
: faqs.filter((faq) => faq.category === selectedCategory);
27-
setFilteredFaqs(filtered);
21+
const filteredFaqs = useMemo(() => {
22+
return selectedCategory === 'all'
23+
? faqs
24+
: faqs.filter((faq) => faq.category === selectedCategory);
2825
}, [selectedCategory]);
2926

3027
return (

0 commit comments

Comments
 (0)