diff --git a/package-lock.json b/package-lock.json index 5dc2754..8f717b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,11 +9,11 @@ "version": "0.0.0", "dependencies": { "framer-motion": "^12.4.3", - "react": "^19.0.0", - "react-dom": "^19.0.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-google-recaptcha": "^3.1.0", "react-intersection-observer": "^9.15.1", - "react-router-dom": "^7.1.5" + "react-router-dom": "^7.1.3" }, "devDependencies": { "@eslint/js": "^9.17.0", @@ -4636,6 +4636,62 @@ } } }, + "node_modules/react-google-recaptcha": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/react-google-recaptcha/-/react-google-recaptcha-3.1.0.tgz", + "integrity": "sha512-cYW2/DWas8nEKZGD7SCu9BSuVz8iOcOLHChHyi7upUuVhkpkhYG/6N3KDiTQ3XAiZ2UAZkfvYKMfAHOzBOcGEg==", + "license": "MIT", + "dependencies": { + "prop-types": "^15.5.0", + "react-async-script": "^1.2.0" + }, + "peerDependencies": { + "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-google-recaptcha": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/react-google-recaptcha/-/react-google-recaptcha-3.1.0.tgz", + "integrity": "sha512-cYW2/DWas8nEKZGD7SCu9BSuVz8iOcOLHChHyi7upUuVhkpkhYG/6N3KDiTQ3XAiZ2UAZkfvYKMfAHOzBOcGEg==", + "license": "MIT", + "dependencies": { + "prop-types": "^15.5.0", + "react-async-script": "^1.2.0" + }, + "peerDependencies": { + "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", diff --git a/package.json b/package.json index 7cecf80..6e6a469 100644 --- a/package.json +++ b/package.json @@ -11,11 +11,11 @@ }, "dependencies": { "framer-motion": "^12.4.3", - "react": "^19.0.0", - "react-dom": "^19.0.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-google-recaptcha": "^3.1.0", "react-intersection-observer": "^9.15.1", - "react-router-dom": "^7.1.5" + "react-router-dom": "^7.1.3" }, "devDependencies": { "@eslint/js": "^9.17.0", diff --git a/src/components/beranda/Banner.jsx b/src/components/beranda/Banner.jsx index 608a469..f87256f 100644 --- a/src/components/beranda/Banner.jsx +++ b/src/components/beranda/Banner.jsx @@ -5,7 +5,7 @@ function Banner() { return (
Rekan AI{" "} @@ -145,7 +145,7 @@ function Footer() {
© Copyright 2025 Rekan AI. Seluruh hak cipta dilindungi undang-undang
diff --git a/src/components/beranda/Hero.jsx b/src/components/beranda/Hero.jsx index 2d5b2bb..c5fc0f4 100644 --- a/src/components/beranda/Hero.jsx +++ b/src/components/beranda/Hero.jsx @@ -30,13 +30,9 @@ function Hero() {
diff --git a/src/components/contact/CustomerService.jsx b/src/components/contact/CustomerService.jsx
index 3492ac7..a9f307e 100644
--- a/src/components/contact/CustomerService.jsx
+++ b/src/components/contact/CustomerService.jsx
@@ -18,19 +18,20 @@ const CustomerService = () => {
};
return (
-
- Kami percaya bahwa kolaborasi adalah kunci kesuksesan. Hubungi kami hari ini, dan mari wujudkan masa depan bisnis Anda bersama Rekan AI!
+
+ Kami percaya bahwa kolaborasi adalah kunci kesuksesan. Hubungi kami hari ini, dan mari wujudkan masa depan
+ bisnis Anda bersama Rekan AI!
- Silakan isi data diri Anda pada formulir di bawah ini
- Silakan isi data diri Anda pada formulir di bawah ini
- Kami Siap Membantu Bisnis Anda
+ Kami Siap Membantu Bisnis Anda
Lebih Maju!
Frequently Asked Questions
diff --git a/src/components/contact/FormSection.jsx b/src/components/contact/FormSection.jsx
index 010e8a5..6eee2f5 100644
--- a/src/components/contact/FormSection.jsx
+++ b/src/components/contact/FormSection.jsx
@@ -1,30 +1,26 @@
-import { img10 } from "./asset"; // Pastikan img10 ada dan benar path-nya
-import ReCAPTCHA from "react-google-recaptcha"; // Pastikan penulisan benar (ReCAPTCHA)
-import useRecaptcha from './Recaptcha/useRecaptcha';
-import { useLocation } from "react-router-dom";
-import { useEffect } from "react";
-import { motion } from "framer-motion"; // Impor motion dari framer-motion
+
+import { img10 } from "./asset"
+import ReCAPTCHA from "react-google-recaptcha"
+import useRecaptcha from "./Recaptcha/useRecaptcha"
+import { useLocation } from "react-router-dom"
+import { useEffect } from "react"
const ContactForm = () => {
- const { capchaToken, handleRecaptcha } = useRecaptcha();
-
- const location = useLocation();
+ const { capchaToken, handleRecaptcha } = useRecaptcha()
+ const location = useLocation()
useEffect(() => {
if (location.hash) {
- const element = document.querySelector(location.hash);
+ const element = document.querySelector(location.hash)
if (element) {
- element.scrollIntoView({ behavior: "smooth" });
+ element.scrollIntoView({ behavior: "smooth" })
}
}
- }, [location]);
+ }, [location])
return (
-
+
Isi formulir di samping ini dan kami akan menghubungi Anda secepat mungkin
-
- Hubungi Tim Terbaik Kami
-
-
+ Hubungi Tim Terbaik Kami
+
+
Konsultasi Gratis
-
-
-
+
+
+
Konsultasi Gratis
-
-
-
+
+
+