@@ -27,7 +27,7 @@ const ContactForm = () => {
{errors.lastName &&
Last name is required.
}
-
+
{errors.summary &&
Please enter a message for your Project Inquiry.
}
diff --git a/lib/navigationContent.tsx b/lib/navigationContent.tsx
index df1610e..0cd5a83 100755
--- a/lib/navigationContent.tsx
+++ b/lib/navigationContent.tsx
@@ -35,27 +35,15 @@ const navigationContent = [
}
/>
},
- {
- name: contentValues.about.name,
- url: '#about',
- content:
- },
- {
- name: contentValues.contact.name,
- url: '#contact',
- content:
- }
- />
- }
+ // {
+ // name: contentValues.about.name,
+ // url: '#about',
+ // content:
+ // },
];
export default navigationContent;
\ No newline at end of file
diff --git a/pages/index.tsx b/pages/index.tsx
index bbef8da..e540891 100755
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -1,13 +1,20 @@
-import React, {useState} from 'react'
+import React, {useRef, useState} from 'react'
import Image from 'next/image'
import backgroundPic from '../public/unspash_image.jpg'
import { Inter } from 'next/font/google'
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
-import { faGem } from "@fortawesome/free-solid-svg-icons";
+import { faChevronCircleUp } from "@fortawesome/free-solid-svg-icons";
import navigationContent from '../lib/navigationContent'
+import ContactForm from '@/components/form/ContactForm';
+import Footer from '@/components/footer';
+import Link from 'next/link';
const inter = Inter({ subsets: ['latin'] })
export default function Home() {
+ const contactFormSectionRef = useRef
(null);
+ const landingSectionRef = useRef(null);
+ const [contactClicked, setContactClicked] = useState(false);
+
const customStyles = {
overlay: {
backgroundColor: 'rgba(0, 0, 0, 0.6)'
@@ -32,10 +39,11 @@ export default function Home() {
});
const renderNav = (navData: Array<{name: string, url: string, content: (string | React.JSX.Element | null)}>) => {
+
return navData.map((data, idx) => (
{
- setShowModal(true)
+ setShowModal(true);
setModalData(data);
}}
key={idx}
@@ -43,52 +51,87 @@ export default function Home() {
>
{data.name}
- ));
+ )).concat([
+ {
+ setContactClicked(true);
+ setTimeout(() => {
+ executeScrollToContact();
+ }, 10);
+ }}
+ key={navData.length}
+ className='p-4 border-white text-white border-2 hover:cursor-pointer hover:bg-white hover:bg-opacity-10'
+ >
+ CONTACT
+
+ ]);
};
+ const executeScrollToContact = () => contactFormSectionRef.current?.scrollIntoView({behavior: 'smooth'});
+ const executeScrollToLandiing = () => landingSectionRef.current?.scrollIntoView({behavior: 'smooth'});
+
return (
- {!showModal &&
- {/*
*/}
-
- {/*
*/}
-
-
Okechi Onyeje
-
- Software Professional
- |
-
- Application Artisan
-
- |
-
- Creative & Technology Evangilist
-
-
-
-
-
-
- {renderNav(navigationContent)}
+
+ {!showModal &&
+ {/*
*/}
+
+
+
Okechi Onyeje
+
+ Software Professional
+ |
+
+ Application Artisan
+
+ |
+
+ Creative & Technology Evangilist
+
-
-
-
}
- {showModal && (
-
-
-
-
-
setShowModal(false)}>X
+
+
+ {renderNav(navigationContent)}
- {modalData.content}
+
}
+ {showModal && (
+
+
+
+
+
+ setShowModal(false)}>X
+
+ {modalData.content}
+
+
+
+
+ )}
+
+ {contactClicked &&
}
)
}
diff --git a/yarn.lock b/yarn.lock
index c6dc662..ba06404 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2074,6 +2074,11 @@ node-releases@^2.0.13:
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d"
integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==
+nodemailer@^6.9.7:
+ version "6.9.7"
+ resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.7.tgz#ec2f488f62ba1558e7b19239b62778df4a5c4397"
+ integrity sha512-rUtR77ksqex/eZRLmQ21LKVH5nAAsVicAtAYudK7JgwenEDZ0UIQ1adUGqErz7sMkWYxWTTU1aeP2Jga6WQyJw==
+
nopt@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"