summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/.env.development1
-rw-r--r--client/.env.production1
-rw-r--r--client/src/components/LettersPullUp.tsx36
-rw-r--r--client/src/components/NavBar.tsx3
4 files changed, 38 insertions, 3 deletions
diff --git a/client/.env.development b/client/.env.development
deleted file mode 100644
index 71597a0..0000000
--- a/client/.env.development
+++ /dev/null
@@ -1 +0,0 @@
-VITE_BASE_URL=http://192.168.1.25:8080/api/
diff --git a/client/.env.production b/client/.env.production
deleted file mode 100644
index a873abb..0000000
--- a/client/.env.production
+++ /dev/null
@@ -1 +0,0 @@
-VITE_BASE_URL=https://wedding.huntm.net/api/
diff --git a/client/src/components/LettersPullUp.tsx b/client/src/components/LettersPullUp.tsx
new file mode 100644
index 0000000..0584b5a
--- /dev/null
+++ b/client/src/components/LettersPullUp.tsx
@@ -0,0 +1,36 @@
+import { motion, useInView } from 'framer-motion';
+import * as React from 'react';
+
+export function LettersPullUp({ text }: { text: string }) {
+ const splittedText = text.split('');
+
+ const pullupVariant = {
+ initial: { y: 10, opacity: 0 },
+ animate: (i: number) => ({
+ y: 0,
+ opacity: 1,
+ transition: {
+ delay: i * 0.05,
+ },
+ }),
+ };
+ const ref = React.useRef(null);
+ const isInView = useInView(ref, { once: true });
+ return (
+ <div>
+ {splittedText.map((current, i) => (
+ <motion.div
+ key={i}
+ ref={ref}
+ variants={pullupVariant}
+ initial="initial"
+ animate={isInView ? 'animate' : ''}
+ custom={i}
+ style={{ display: 'inline-block' }}
+ >
+ {current == ' ' ? <span>&nbsp;</span> : current}
+ </motion.div>
+ ))}
+ </div>
+ );
+}
diff --git a/client/src/components/NavBar.tsx b/client/src/components/NavBar.tsx
index 5b22e27..af95d2b 100644
--- a/client/src/components/NavBar.tsx
+++ b/client/src/components/NavBar.tsx
@@ -4,6 +4,7 @@ import { AppBar, Toolbar, Typography } from '@mui/material';
import useMediaQuery from '@mui/material/useMediaQuery';
import Desktop from './Desktop';
import Mobile from './Mobile';
+import { LettersPullUp } from './LettersPullUp';
function NavBar() {
const isMobile = useMediaQuery('(max-width: 768px)');
@@ -18,7 +19,7 @@ function NavBar() {
color="inherit"
sx={{ textDecoration: 'none' }}
>
- Madison & Michael
+ <LettersPullUp text="Madison & Michael" />
</Typography>
{isMobile ? <Mobile /> : <Desktop />}
</Toolbar>