Skip to content

Commit 2188a20

Browse files
committed
scroll animations in Contact page
1 parent 9b5a4e7 commit 2188a20

File tree

1 file changed

+63
-10
lines changed

1 file changed

+63
-10
lines changed

src/pages/contact/index.tsx

Lines changed: 63 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import Layout from "@theme/Layout";
22
import styles from "./Contact.module.css";
33
import React, { useState, ChangeEvent, FormEvent } from "react";
4+
import { motion } from "framer-motion";
45

56
interface FormValues {
67
fullName: string;
@@ -46,15 +47,47 @@ export default function Contact(): JSX.Element {
4647
<div className={styles.main__contact_contains_left}>
4748
<div className={styles.main__contact_ud_wrapper}>
4849
<div className={styles.ud_contact_title}>
49-
<span className={styles.contact_us}>
50+
<motion.span
51+
initial={{ opacity: 0, x: -150 }}
52+
whileInView={{ opacity: 1, x: 0 }}
53+
viewport={{ once: true }}
54+
transition={{
55+
duration: 1,
56+
type: "spring",
57+
stiffness: 100,
58+
delay: 0.5,
59+
}}
60+
className={styles.contact_us}
61+
>
5062
<b>CONTACT US</b>
51-
</span>
52-
<h2 className={styles.contact_heading}>
63+
</motion.span>
64+
<motion.h2
65+
initial={{ opacity: 0, x: -150 }}
66+
whileInView={{ opacity: 1, x: 0 }}
67+
viewport={{ once: true }}
68+
transition={{
69+
duration: 1,
70+
type: "spring",
71+
stiffness: 100,
72+
delay: 0.5,
73+
}}
74+
className={styles.contact_heading}
75+
>
5376
Let's talk about your problem.
54-
</h2>
77+
</motion.h2>
5578
</div>
5679
<div className={styles.contact_info}>
57-
<div className={styles.contact_info_item}>
80+
<motion.div
81+
initial={{ opacity: 0, y: 150 }}
82+
whileInView={{ opacity: 1, y: 0 }}
83+
viewport={{ once: true }}
84+
transition={{
85+
duration: 1,
86+
type: "spring",
87+
stiffness: 100,
88+
delay: 0.5,
89+
}}
90+
className={styles.contact_info_item}>
5891
<div className={styles.icon}>
5992
<svg
6093
width="29"
@@ -72,8 +105,18 @@ export default function Contact(): JSX.Element {
72105
Mandsaur, Madhya Pradesh, India - 458002
73106
</p>
74107
</div>
75-
</div>
76-
<div className={styles.contact_info_item}>
108+
</motion.div>
109+
<motion.div
110+
initial={{ opacity: 0, y: 150 }}
111+
whileInView={{ opacity: 1, y: 0 }}
112+
viewport={{ once: true }}
113+
transition={{
114+
duration: 1,
115+
type: "spring",
116+
stiffness: 100,
117+
delay: 0.5,
118+
}}
119+
className={styles.contact_info_item}>
77120
<div className={styles.icon}>
78121
<svg
79122
width="34"
@@ -90,11 +133,21 @@ export default function Contact(): JSX.Element {
90133
ajaydhyangar49@gmail.com
91134
</p>
92135
</div>
93-
</div>
136+
</motion.div>
94137
</div>
95138
</div>
96139
</div>
97-
<div className={styles.main__contact_contains_right}>
140+
<motion.div
141+
initial={{ opacity: 0, x: 150 }}
142+
whileInView={{ opacity: 1, x: 0 }}
143+
viewport={{ once: true }}
144+
transition={{
145+
duration: 1,
146+
type: "spring",
147+
stiffness: 100,
148+
delay: 0.5,
149+
}}
150+
className={styles.main__contact_contains_right}>
98151
<div className={styles.form_container}>
99152
<h3 className={styles.form_heading}>Send us a Message</h3>
100153
<form onSubmit={handleSubmit}>
@@ -157,7 +210,7 @@ export default function Contact(): JSX.Element {
157210
</div>
158211
</form>
159212
</div>
160-
</div>
213+
</motion.div>
161214
</div>
162215
</div>
163216
</section>

0 commit comments

Comments
 (0)