feat: redesign page heroes, implement organic markers, and streamline contact flow
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 6s
Build & Deploy / 🧪 QA (push) Failing after 1m24s
Build & Deploy / 🏗️ Build (push) Failing after 4m3s
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🩺 Health Check (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 5s
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 6s
Build & Deploy / 🧪 QA (push) Failing after 1m24s
Build & Deploy / 🏗️ Build (push) Failing after 4m3s
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🩺 Health Check (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 5s
- Refined hero sections for About, Blog, Websites, and Case Studies for a bespoke industrial entry point. - Redesigned Marker component using layered SVG paths for an organic, hand-drawn highlighter effect. - Restored technical precision in ArchitectureVisualizer with refined line thickness. - Streamlined contact page by removing generic headers and prioritizing the configurator/gateway. - Updated technical references to reflect self-hosted Gitea infrastructure. - Cleaned up unused imports and addressed linting warnings across modified pages.
This commit is contained in:
@@ -22,36 +22,25 @@ export const Reveal: React.FC<RevealProps> = ({
|
||||
scale = 0.98,
|
||||
blur = true,
|
||||
}) => {
|
||||
const ref = useRef(null);
|
||||
const isInView = useInView(ref, { once: true, margin: "-10%" });
|
||||
const mainControls = useAnimation();
|
||||
|
||||
useEffect(() => {
|
||||
if (isInView) {
|
||||
mainControls.start("visible");
|
||||
}
|
||||
}, [isInView, mainControls]);
|
||||
|
||||
const variants: Variants = {
|
||||
hidden: {
|
||||
opacity: 0,
|
||||
y: direction === "up" ? 15 : direction === "down" ? -15 : 0,
|
||||
x: direction === "left" ? 15 : direction === "right" ? -15 : 0,
|
||||
y: direction === "up" ? 20 : direction === "down" ? -20 : 0,
|
||||
x: direction === "left" ? 20 : direction === "right" ? -20 : 0,
|
||||
scale: scale !== 1 ? scale : 1,
|
||||
filter: blur ? "blur(4px)" : "none",
|
||||
filter: blur ? "blur(8px)" : "none",
|
||||
},
|
||||
visible: {
|
||||
opacity: 1,
|
||||
y: 0,
|
||||
x: 0,
|
||||
scale: 1,
|
||||
filter: "none",
|
||||
filter: "blur(0px)",
|
||||
},
|
||||
};
|
||||
|
||||
return (
|
||||
<div
|
||||
ref={ref}
|
||||
style={{
|
||||
position: "relative",
|
||||
width,
|
||||
@@ -61,16 +50,21 @@ export const Reveal: React.FC<RevealProps> = ({
|
||||
<motion.div
|
||||
variants={variants}
|
||||
initial="hidden"
|
||||
animate={mainControls}
|
||||
style={{ transformStyle: "preserve-3d" }}
|
||||
whileInView="visible"
|
||||
viewport={{ once: true, margin: "-10%" }}
|
||||
style={{
|
||||
width: width === "100%" ? "100%" : "inherit",
|
||||
backfaceVisibility: "hidden",
|
||||
}}
|
||||
transition={{
|
||||
duration: 0.4,
|
||||
duration: 0.5,
|
||||
delay: delay,
|
||||
type: "spring",
|
||||
stiffness: 260,
|
||||
stiffness: 100,
|
||||
damping: 20,
|
||||
mass: 1,
|
||||
opacity: { duration: 0.3, ease: [0.16, 1, 0.3, 1] },
|
||||
opacity: { duration: 0.4, ease: [0.16, 1, 0.3, 1] },
|
||||
filter: { duration: 0.4 },
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
|
||||
Reference in New Issue
Block a user