diff --git a/package-lock.json b/package-lock.json
index cb4b626..d29cea8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,7 @@
"name": "homepage",
"version": "0.1.0",
"dependencies": {
+ "framer-motion": "^12.23.6",
"next": "15.4.2",
"react": "19.1.0",
"react-dom": "19.1.0"
@@ -22,6 +23,9 @@
"eslint-config-next": "15.4.2",
"tailwindcss": "^4",
"typescript": "^5"
+ },
+ "engines": {
+ "node": ">=20.0.0"
}
},
"node_modules/@alloc/quick-lru": {
@@ -3326,6 +3330,33 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/framer-motion": {
+ "version": "12.23.6",
+ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.23.6.tgz",
+ "integrity": "sha512-dsJ389QImVE3lQvM8Mnk99/j8tiZDM/7706PCqvkQ8sSCnpmWxsgX+g0lj7r5OBVL0U36pIecCTBoIWcM2RuKw==",
+ "license": "MIT",
+ "dependencies": {
+ "motion-dom": "^12.23.6",
+ "motion-utils": "^12.23.6",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "@emotion/is-prop-valid": "*",
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/is-prop-valid": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
@@ -4598,6 +4629,21 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/motion-dom": {
+ "version": "12.23.6",
+ "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.23.6.tgz",
+ "integrity": "sha512-G2w6Nw7ZOVSzcQmsdLc0doMe64O/Sbuc2bVAbgMz6oP/6/pRStKRiVRV4bQfHp5AHYAKEGhEdVHTM+R3FDgi5w==",
+ "license": "MIT",
+ "dependencies": {
+ "motion-utils": "^12.23.6"
+ }
+ },
+ "node_modules/motion-utils": {
+ "version": "12.23.6",
+ "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.23.6.tgz",
+ "integrity": "sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==",
+ "license": "MIT"
+ },
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
diff --git a/package.json b/package.json
index fe9f781..4024812 100644
--- a/package.json
+++ b/package.json
@@ -12,19 +12,20 @@
"lint": "next lint"
},
"dependencies": {
+ "framer-motion": "^12.23.6",
+ "next": "15.4.2",
"react": "19.1.0",
- "react-dom": "19.1.0",
- "next": "15.4.2"
+ "react-dom": "19.1.0"
},
"devDependencies": {
- "typescript": "^5",
+ "@eslint/eslintrc": "^3",
+ "@tailwindcss/postcss": "^4",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
- "@tailwindcss/postcss": "^4",
- "tailwindcss": "^4",
"eslint": "^9",
"eslint-config-next": "15.4.2",
- "@eslint/eslintrc": "^3"
+ "tailwindcss": "^4",
+ "typescript": "^5"
}
}
diff --git a/src/app/globals.css b/src/app/globals.css
index e366830..b87dedf 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -1,7 +1,14 @@
@import "tailwindcss";
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
@layer base {
body {
@apply bg-gray-900 text-gray-200 antialiased;
}
+ html, body {
+ @apply h-full overflow-hidden;
+ }
}
\ No newline at end of file
diff --git a/src/app/page.tsx b/src/app/page.tsx
index e488b3c..186b18d 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -1,9 +1,62 @@
+'use client'
+
+import { useState, useEffect, useCallback } from 'react'
+import Slide from '@/components/Slide';
+import Slide1 from '@/components/Slide1';
+import Slide2 from '@/components/Slide2';
+import Slide3 from '@/components/Slide3';
+import Slide4 from '@/components/Slide4';
+import Slide5 from '@/components/Slide5';
+
+
+const slides = [
+
I'm Kay
+