From 17440450fd0fc642795333cf465bbd80ff173292 Mon Sep 17 00:00:00 2001 From: Carls2320 Date: Mon, 17 Feb 2025 09:28:35 +0700 Subject: [PATCH] update 50% --- index.html | 2 - package-lock.json | 123 +++++++---- package.json | 9 +- src/App.jsx | 2 + src/assets/image/Frame 18 (3).png | Bin 0 -> 2281 bytes src/assets/image/Frame 18 (4).png | Bin 0 -> 2094 bytes src/assets/image/Frame 18 (5).png | Bin 0 -> 2364 bytes src/assets/image/Frame 18 (6).png | Bin 0 -> 2597 bytes src/assets/index.js | 8 +- src/components/beranda/Banner.jsx | 13 +- src/components/beranda/Footer.jsx | 120 ++++++++--- src/components/beranda/Header.jsx | 204 +++++++++++++++--- src/components/beranda/Hero.jsx | 12 +- src/components/beranda/Kenapa.jsx | 12 +- src/components/beranda/MasaDepan.jsx | 22 +- src/components/beranda/WhatsAppButon.jsx | 2 +- src/components/contact/BottomCTA.jsx | 68 ++++-- src/components/contact/CustomerService.jsx | 42 +++- src/components/contact/FAQSection.jsx | 177 +++++---------- src/components/contact/Footer.jsx | 10 +- .../contact/{Form => }/FormSection.jsx | 59 +++-- .../{Form => Recaptcha}/useRecaptcha.js | 0 src/components/contact/asset/index.js | 3 +- .../solusi/HeadCorporate/HeadCorporate.jsx | 10 +- .../solusi/HeadPersonal/HeadPersonal.jsx | 16 +- .../solusi/HeadStartup/HeadStartup.jsx | 4 +- .../MengapaCorporate/MengapaCorporate.jsx | 18 +- .../solusi/MengapaStartup/MengapaStartup.jsx | 10 +- .../MengapapPersonal/MengapapPersonal.jsx | 16 +- .../SolusiCorporate/SolusiCorporate.jsx | 4 +- .../solusi/SolusiPersonal/SolusiPersonal.jsx | 16 +- .../solusi/SolusiStartup/SolusiStartup.jsx | 4 +- .../TransformasiCorpo/TransformasiCorpo.jsx | 4 +- .../TransformasiCorporate.jsx | 4 +- .../TransformasiPersonal.jsx | 4 +- .../TransformasiStart/TransformasiStart.jsx | 4 +- src/pages/Contact.jsx | 4 +- src/pages/Home.jsx | 48 ++--- src/pages/SolusiCorporate.jsx | 2 +- src/pages/SolusiPersonal.jsx | 2 +- src/pages/SolusiStartup.jsx | 2 +- 41 files changed, 677 insertions(+), 383 deletions(-) create mode 100644 src/assets/image/Frame 18 (3).png create mode 100644 src/assets/image/Frame 18 (4).png create mode 100644 src/assets/image/Frame 18 (5).png create mode 100644 src/assets/image/Frame 18 (6).png rename src/components/contact/{Form => }/FormSection.jsx (75%) rename src/components/contact/{Form => Recaptcha}/useRecaptcha.js (100%) diff --git a/index.html b/index.html index beb0d7e..9a4e869 100644 --- a/index.html +++ b/index.html @@ -15,8 +15,6 @@
- - \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e414e2a..5dc2754 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,11 +8,12 @@ "name": "rekan-ai-tailwind", "version": "0.0.0", "dependencies": { - "react": "^18.3.1", - "react-dom": "^18.3.1", + "framer-motion": "^12.4.3", + "react": "^19.0.0", + "react-dom": "^19.0.0", "react-google-recaptcha": "^3.1.0", - "react-recaptcha": "^2.3.10", - "react-router-dom": "^7.1.3" + "react-intersection-observer": "^9.15.1", + "react-router-dom": "^7.1.5" }, "devDependencies": { "@eslint/js": "^9.17.0", @@ -2864,6 +2865,33 @@ "url": "https://github.com/sponsors/rawify" } }, + "node_modules/framer-motion": { + "version": "12.4.3", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.4.3.tgz", + "integrity": "sha512-rsMeO7w3dKyNG09o3cGwSH49iHU+VgDmfSSfsX+wfkO3zDA6WWkh4sUsMXd155YROjZP+7FTIhDrBYfgZeHjKQ==", + "license": "MIT", + "dependencies": { + "motion-dom": "^12.0.0", + "motion-utils": "^12.0.0", + "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/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -3931,6 +3959,21 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/motion-dom": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.0.0.tgz", + "integrity": "sha512-CvYd15OeIR6kHgMdonCc1ihsaUG4MYh/wrkz8gZ3hBX/uamyZCXN9S9qJoYF03GqfTt7thTV/dxnHYX4+55vDg==", + "license": "MIT", + "dependencies": { + "motion-utils": "^12.0.0" + } + }, + "node_modules/motion-utils": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.0.0.tgz", + "integrity": "sha512-MNFiBKbbqnmvOjkPyOKgHUp3Q6oiokLkI1bEwm5QA28cxMZrv0CbbBGDNmhF6DIXsi1pCQBSs0dX8xjeER1tmA==", + "license": "MIT" + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -4532,13 +4575,10 @@ "license": "MIT" }, "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", + "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, "engines": { "node": ">=0.10.0" } @@ -4557,16 +4597,15 @@ } }, "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", + "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" + "scheduler": "^0.25.0" }, "peerDependencies": { - "react": "^18.3.1" + "react": "^19.0.0" } }, "node_modules/react-google-recaptcha": { @@ -4582,18 +4621,27 @@ "react": ">=16.4.1" } }, + "node_modules/react-intersection-observer": { + "version": "9.15.1", + "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.15.1.tgz", + "integrity": "sha512-vGrqYEVWXfH+AGu241uzfUpNK4HAdhCkSAyFdkMb9VWWXs6mxzBLpWCxEy9YcnDNY2g9eO6z7qUtTBdA9hc8pA==", + "license": "MIT", + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, - "node_modules/react-recaptcha": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/react-recaptcha/-/react-recaptcha-2.3.10.tgz", - "integrity": "sha512-IyanbozsYCuHvTYDuskZTIEcRAMG/sdvAu5b29iQWoC8Kd3Zk9WGCv2oNxh6RfGHvSvgHAyaLjmC6ei/yMsJ7g==", - "license": "BSD" - }, "node_modules/react-refresh": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", @@ -4605,9 +4653,9 @@ } }, "node_modules/react-router": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.1.3.tgz", - "integrity": "sha512-EezYymLY6Guk/zLQ2vRA8WvdUhWFEj5fcE3RfWihhxXBW7+cd1LsIiA3lmx+KCmneAGQuyBv820o44L2+TtkSA==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.1.5.tgz", + "integrity": "sha512-8BUF+hZEU4/z/JD201yK6S+UYhsf58bzYIDq2NS1iGpwxSXDu7F+DeGSkIXMFBuHZB21FSiCzEcUb18cQNdRkA==", "license": "MIT", "dependencies": { "@types/cookie": "^0.6.0", @@ -4629,12 +4677,12 @@ } }, "node_modules/react-router-dom": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.1.3.tgz", - "integrity": "sha512-qQGTE+77hleBzv9SIUIkGRvuFBQGagW+TQKy53UTZAO/3+YFNBYvRsNIZ1GT17yHbc63FylMOdS+m3oUriF1GA==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.1.5.tgz", + "integrity": "sha512-/4f9+up0Qv92D3bB8iN5P1s3oHAepSGa9h5k6tpTFlixTTskJZwKGhJ6vRJ277tLD1zuaZTt95hyGWV1Z37csQ==", "license": "MIT", "dependencies": { - "react-router": "7.1.3" + "react-router": "7.1.5" }, "engines": { "node": ">=20.0.0" @@ -4869,13 +4917,10 @@ } }, "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", + "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==", + "license": "MIT" }, "node_modules/semver": { "version": "6.3.1", @@ -5430,6 +5475,12 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, "node_modules/turbo-stream": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", diff --git a/package.json b/package.json index 1a9d1ad..7cecf80 100644 --- a/package.json +++ b/package.json @@ -10,11 +10,12 @@ "preview": "vite preview" }, "dependencies": { - "react": "^18.3.1", - "react-dom": "^18.3.1", + "framer-motion": "^12.4.3", + "react": "^19.0.0", + "react-dom": "^19.0.0", "react-google-recaptcha": "^3.1.0", - "react-recaptcha": "^2.3.10", - "react-router-dom": "^7.1.3" + "react-intersection-observer": "^9.15.1", + "react-router-dom": "^7.1.5" }, "devDependencies": { "@eslint/js": "^9.17.0", diff --git a/src/App.jsx b/src/App.jsx index eb13f86..c6edf53 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,6 +1,7 @@ import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; import Contact from "./pages/Contact" import Home from "./pages/Home" +import FormSection from "./components/contact/FormSection" import SolusiPersonal from "./pages/SolusiPersonal" import SolusiStartup from "./pages/SolusiStartup" import SolusiCorporate from "./pages/SolusiCorporate" @@ -11,6 +12,7 @@ function App() { }/> }/> + }/> }/> }/> }/> diff --git a/src/assets/image/Frame 18 (3).png b/src/assets/image/Frame 18 (3).png new file mode 100644 index 0000000000000000000000000000000000000000..ddbb2b2e6ae89733f4ef685de0d12a8be1081301 GIT binary patch literal 2281 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 Hu0mjfDv!M5 literal 0 HcmV?d00001 diff --git a/src/assets/index.js b/src/assets/index.js index 6bdae59..fe5e03e 100644 --- a/src/assets/index.js +++ b/src/assets/index.js @@ -2,7 +2,11 @@ import Logo1 from './image/logo.png' import search from './image/search.png'; import IconPersonal from './image/Frame 18.png'; import IconStartup from './image/Frame 18 (1).png'; -import IconCorporate from './image/Frame 18 (2).png' +import IconCorporate from './image/Frame 18 (2).png'; +import ProdukHr from './image/Frame 18 (3).png'; +import ProdukDoku from './image/Frame 18 (4).png'; +import ProdukLlm from './image/Frame 18 (5).png'; +import ProdukVeri from './image/Frame 18 (6).png'; import row from './image/arrow.png'; import row2 from './image/vector.png'; import homeLogo from './image/Component 1.png'; @@ -80,5 +84,5 @@ export{ swipper7,swipper8,swipper9,swipper10,swipper11,swipper12,swipper13,swipper14, swipper15,swipper16,swipper17,swipper18,swipper19,swipper20,swipper21,swipper22, swipper23,swipper24,bgSwiper,imgLeft1,imgLeft2,imgLeft3,imgRight,nvdia,kmn,kominfo, - ojk,facebook,x,instagram,frame,IconPersonal,IconStartup,IconCorporate + ojk,facebook,x,instagram,frame,IconPersonal,IconStartup,IconCorporate,ProdukDoku,ProdukHr,ProdukVeri,ProdukLlm } \ No newline at end of file diff --git a/src/components/beranda/Banner.jsx b/src/components/beranda/Banner.jsx index 77b9080..608a469 100644 --- a/src/components/beranda/Banner.jsx +++ b/src/components/beranda/Banner.jsx @@ -1,10 +1,11 @@ import { waIcon2, L1, L2, L3, L4, R1, R2, R3, R4, bgcBanner } from "../../assets/" +import { Link } from "react-router-dom" function Banner() { return (
Konsultasi Gratis - + + + +
diff --git a/src/components/beranda/Footer.jsx b/src/components/beranda/Footer.jsx index 57248f8..dab4ae7 100644 --- a/src/components/beranda/Footer.jsx +++ b/src/components/beranda/Footer.jsx @@ -1,78 +1,129 @@ -import { nvdia,kmn,kominfo,ojk,x,instagram,facebook,frame, } from "../../assets"; +import { useNavigate, Link } from "react-router-dom" +import { + nvidia, + kmn, + kominfo, + ojk, + facebook, + x, + instagram, + component11, +} from "../contact/asset"; // Gambar logo sebagai partner dan logo medsos dan logo rekanai function Footer() { + const navigate = useNavigate(); return ( -