diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..235b619 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,9 @@ +{ + "permissions": { + "allow": [ + "Bash(Remove-Item \"C:\\Users\\iaramako\\Documents\\GitHub\\rainbow-engineering\\src\\app\\(frontend)\\components\\HomePageSection.tsx\")" + ], + "deny": [], + "ask": [] + } +} diff --git a/src/app/(frontend)/components/AboutUsSection.tsx b/src/app/(frontend)/components/AboutUsSection.tsx new file mode 100644 index 0000000..a7e0a12 --- /dev/null +++ b/src/app/(frontend)/components/AboutUsSection.tsx @@ -0,0 +1,102 @@ +"use client"; +import Image from "next/image"; +import { useEffect, useState } from "react"; + +type AboutUsType = { + Title: string; + Image: { url: string; alt?: string }; + "About Us Description": string; + "Bullet Points Description": string; + "Bullet Points"?: { Point: string }[]; +}; + +interface AboutUsSectionProps { + aboutus: AboutUsType; +} + +export default function AboutUsSection({ aboutus }: AboutUsSectionProps) { + const [isDark, setIsDark] = useState(false); + + useEffect(() => { + const saved = localStorage.getItem("darkMode") === "true"; + setIsDark(saved); + + const onThemeChange = (e: Event) => { + const { isDark } = (e as CustomEvent).detail ?? {}; + if (typeof isDark === "boolean") setIsDark(isDark); + }; + window.addEventListener("themechange", onThemeChange); + + const onStorage = (e: StorageEvent) => { + if (e.key === "darkMode" && e.newValue != null) { + setIsDark(e.newValue === "true"); + } + }; + window.addEventListener("storage", onStorage); + + return () => { + window.removeEventListener("themechange", onThemeChange); + window.removeEventListener("storage", onStorage); + }; + }, []); + + const sectionBg = isDark ? "#2A2342" : "#E2D6F6"; + const titleColor = isDark ? "#F4EFFF" : "#5f249f"; + const textColor = isDark ? "#B8ADDA" : "#334155"; + + return ( +
+ {aboutus["About Us Description"]}
+
+
+ {aboutus["Bullet Points Description"]}
+