Making some slight changes to landing page to be more clear/provide more of my information for companies
@@ -1,3 +1,19 @@
|
|||||||
{
|
{
|
||||||
"extends": "next/core-web-vitals"
|
"env": {
|
||||||
|
"browser": true,
|
||||||
|
"es2021": true
|
||||||
|
},
|
||||||
|
"extends": [
|
||||||
|
"standard-with-typescript",
|
||||||
|
"plugin:react/recommended"
|
||||||
|
],
|
||||||
|
"parserOptions": {
|
||||||
|
"ecmaVersion": "latest",
|
||||||
|
"sourceType": "module"
|
||||||
|
},
|
||||||
|
"plugins": [
|
||||||
|
"react"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
1339
package-lock.json
generated
14
package.json
@@ -29,7 +29,6 @@
|
|||||||
"autoprefixer": "10.4.16",
|
"autoprefixer": "10.4.16",
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
"clsx": "^2.0.0",
|
"clsx": "^2.0.0",
|
||||||
"eslint": "8.49.0",
|
|
||||||
"eslint-config-next": "13.5.2",
|
"eslint-config-next": "13.5.2",
|
||||||
"html-react-parser": "^4.2.2",
|
"html-react-parser": "^4.2.2",
|
||||||
"lucide-react": "^0.279.0",
|
"lucide-react": "^0.279.0",
|
||||||
@@ -46,10 +45,17 @@
|
|||||||
"tailwind-merge": "^1.14.0",
|
"tailwind-merge": "^1.14.0",
|
||||||
"tailwindcss": "3.3.3",
|
"tailwindcss": "3.3.3",
|
||||||
"tailwindcss-animate": "^1.0.7",
|
"tailwindcss-animate": "^1.0.7",
|
||||||
"three": "^0.156.1",
|
"three": "^0.156.1"
|
||||||
"typescript": "5.2.2"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/react-slick": "^0.23.10"
|
"@types/react-slick": "^0.23.10",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
||||||
|
"eslint": "^8.57.0",
|
||||||
|
"eslint-config-standard-with-typescript": "^43.0.1",
|
||||||
|
"eslint-plugin-import": "^2.29.1",
|
||||||
|
"eslint-plugin-n": "^16.6.2",
|
||||||
|
"eslint-plugin-promise": "^6.1.1",
|
||||||
|
"eslint-plugin-react": "^7.34.1",
|
||||||
|
"typescript": "^5.4.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
public/Frank_Delaguila_Resume.pdf
Normal file
BIN
public/android-chrome-192x192.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
public/android-chrome-512x512.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
public/apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
public/favicon-16x16.png
Normal file
|
After Width: | Height: | Size: 379 B |
BIN
public/favicon-32x32.png
Normal file
|
After Width: | Height: | Size: 681 B |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 15 KiB |
@@ -2,23 +2,31 @@ import { Html, Head, Main, NextScript } from "next/document";
|
|||||||
|
|
||||||
export default function Document() {
|
export default function Document() {
|
||||||
return (
|
return (
|
||||||
<Html
|
<Html lang="en" className="dark">
|
||||||
lang="en"
|
|
||||||
className="dark"
|
|
||||||
>
|
|
||||||
<Head>
|
<Head>
|
||||||
<link
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
rel="preconnect"
|
<link rel="preconnect" href="https://fonts.gstatic.com" />
|
||||||
href="https://fonts.googleapis.com"
|
|
||||||
/>
|
|
||||||
<link
|
|
||||||
rel="preconnect"
|
|
||||||
href="https://fonts.gstatic.com"
|
|
||||||
/>
|
|
||||||
<link
|
<link
|
||||||
href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&family=Ubuntu:wght@400;700&display=swap"
|
href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&family=Ubuntu:wght@400;700&display=swap"
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
/>
|
/>
|
||||||
|
<link
|
||||||
|
rel="apple-touch-icon"
|
||||||
|
sizes="180x180"
|
||||||
|
href="/apple-touch-icon.png"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="icon"
|
||||||
|
type="image/png"
|
||||||
|
sizes="32x32"
|
||||||
|
href="/favicon-32x32.png"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="icon"
|
||||||
|
type="image/png"
|
||||||
|
sizes="16x16"
|
||||||
|
href="/favicon-16x16.png"
|
||||||
|
/>
|
||||||
</Head>
|
</Head>
|
||||||
<body>
|
<body>
|
||||||
<Main />
|
<Main />
|
||||||
|
|||||||
@@ -24,11 +24,8 @@ export default function Freelance(): JSX.Element {
|
|||||||
<h1 className="text-center text-4xl font-bold text-foreground mb-4">
|
<h1 className="text-center text-4xl font-bold text-foreground mb-4">
|
||||||
Let's Build Your Website!
|
Let's Build Your Website!
|
||||||
</h1>
|
</h1>
|
||||||
<Button asChild>
|
<Button className="font-bold" asChild>
|
||||||
<Link
|
<Link href="https://forms.gle/xuwgKSHqhPWrt2Zo8" target="_blank">
|
||||||
href="https://forms.gle/xuwgKSHqhPWrt2Zo8"
|
|
||||||
target="_blank"
|
|
||||||
>
|
|
||||||
Onboarding Form
|
Onboarding Form
|
||||||
</Link>
|
</Link>
|
||||||
</Button>
|
</Button>
|
||||||
@@ -130,14 +127,8 @@ export default function Freelance(): JSX.Element {
|
|||||||
<h1 className="text-center text-4xl font-bold text-foreground mb-2">
|
<h1 className="text-center text-4xl font-bold text-foreground mb-2">
|
||||||
Let's Build Your Website!
|
Let's Build Your Website!
|
||||||
</h1>
|
</h1>
|
||||||
<Button
|
<Button asChild className="font-bold mt-2">
|
||||||
asChild
|
<Link href="https://forms.gle/xuwgKSHqhPWrt2Zo8" target="_blank">
|
||||||
className="mt-2"
|
|
||||||
>
|
|
||||||
<Link
|
|
||||||
href="https://forms.gle/xuwgKSHqhPWrt2Zo8"
|
|
||||||
target="_blank"
|
|
||||||
>
|
|
||||||
Onboarding Form
|
Onboarding Form
|
||||||
</Link>
|
</Link>
|
||||||
</Button>
|
</Button>
|
||||||
|
|||||||
@@ -6,6 +6,10 @@ import Link from "next/link";
|
|||||||
import Internal from "@/components/common/Internal";
|
import Internal from "@/components/common/Internal";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import Model from "@/components/common/Model";
|
import Model from "@/components/common/Model";
|
||||||
|
import { useState } from "react";
|
||||||
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
|
import { faGithub, faLinkedin } from "@fortawesome/free-brands-svg-icons";
|
||||||
|
import { faFile, faFileArrowDown } from "@fortawesome/free-solid-svg-icons";
|
||||||
|
|
||||||
export default function Home(): JSX.Element {
|
export default function Home(): JSX.Element {
|
||||||
return (
|
return (
|
||||||
@@ -17,23 +21,68 @@ export default function Home(): JSX.Element {
|
|||||||
<br />
|
<br />
|
||||||
and Web Designer
|
and Web Designer
|
||||||
</h1>
|
</h1>
|
||||||
<p className="md:w-1/2 opacity-60 text-white my-2">
|
<p className="md:w-1/2 text-white my-2">
|
||||||
Need a custom website? Let's talk!
|
Looking to hire a developer, or to get a custom website made?
|
||||||
</p>
|
</p>
|
||||||
<Button asChild>
|
<Button asChild className="font-bold mr-4 mb-4 min-[384px]:mb-0">
|
||||||
<Link href="/freelance">Hiring a freelancer?</Link>
|
<Link
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://bold.pro/my/frank-delaguila?vsid=18199fb7-7d38-44da-92bf-b6f2b37c5fd5"
|
||||||
|
>
|
||||||
|
Online Resume
|
||||||
|
</Link>
|
||||||
</Button>
|
</Button>
|
||||||
|
<Button variant={"secondary"} asChild className="font-bold">
|
||||||
|
<Link href="/freelance">I need a website made!</Link>
|
||||||
|
</Button>
|
||||||
|
<div className="flex align-center">
|
||||||
|
<Link
|
||||||
|
href="https://github.com/franky212"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
<FontAwesomeIcon
|
||||||
|
aria-label="My Github Profile"
|
||||||
|
title="My Github Profile"
|
||||||
|
className="cusor-pointer p-4 hover:text-primary transition-colors"
|
||||||
|
icon={faGithub}
|
||||||
|
size="2xl"
|
||||||
|
/>
|
||||||
|
</Link>
|
||||||
|
<Link
|
||||||
|
href="https://www.linkedin.com/in/frank-delaguila/"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
<FontAwesomeIcon
|
||||||
|
aria-label="My LinkedIn Profile"
|
||||||
|
title="My LinkedIn Profile"
|
||||||
|
className="cusor-pointer p-4 hover:text-primary transition-colors"
|
||||||
|
icon={faLinkedin}
|
||||||
|
size="2xl"
|
||||||
|
/>
|
||||||
|
</Link>
|
||||||
|
<a
|
||||||
|
href="./Frank_Delaguila_Resume.pdf"
|
||||||
|
download="frankdelaguila.pdf"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
>
|
||||||
|
<FontAwesomeIcon
|
||||||
|
aria-label="Download my resume!"
|
||||||
|
title="Frank Delaguilas Resume"
|
||||||
|
className="cusor-pointer p-4 hover:text-primary transition-colors"
|
||||||
|
icon={faFileArrowDown}
|
||||||
|
size="2xl"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col justify-center items-center absolute top-0 left-0 w-full h-screen bg-black">
|
<div className="flex flex-col justify-center items-center absolute top-0 left-0 w-full h-screen bg-black">
|
||||||
<Canvas
|
<Canvas shadows camera={{ position: [4, 2, 2] }}>
|
||||||
shadows
|
|
||||||
camera={{ position: [4, 2, 2] }}
|
|
||||||
>
|
|
||||||
<ambientLight intensity={0.1} />
|
<ambientLight intensity={0.1} />
|
||||||
<directionalLight
|
<directionalLight color="white" position={[0, 5, 5]} />
|
||||||
color="white"
|
|
||||||
position={[0, 5, 5]}
|
|
||||||
/>
|
|
||||||
<Model />
|
<Model />
|
||||||
</Canvas>
|
</Canvas>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -70,15 +70,9 @@ export default function Portfolio({ projects }: any): JSX.Element {
|
|||||||
<div className="container mb-12">
|
<div className="container mb-12">
|
||||||
{/*
|
{/*
|
||||||
// @ts-ignore */}
|
// @ts-ignore */}
|
||||||
<Slider
|
<Slider {...sliderSettings} ref={customSlider}>
|
||||||
{...sliderSettings}
|
|
||||||
ref={customSlider}
|
|
||||||
>
|
|
||||||
{projects.map(({ id, acm_fields }: any) => (
|
{projects.map(({ id, acm_fields }: any) => (
|
||||||
<div
|
<div className="md:px-2 outline-none" key={id}>
|
||||||
className="md:px-2 outline-none"
|
|
||||||
key={id}
|
|
||||||
>
|
|
||||||
<img
|
<img
|
||||||
alt={acm_fields?.featured_media?.alt_text}
|
alt={acm_fields?.featured_media?.alt_text}
|
||||||
data-projectid={id}
|
data-projectid={id}
|
||||||
@@ -92,14 +86,8 @@ export default function Portfolio({ projects }: any): JSX.Element {
|
|||||||
{!isLoading && project.acm_fields ? (
|
{!isLoading && project.acm_fields ? (
|
||||||
<>
|
<>
|
||||||
<div className="text-center mb-6">
|
<div className="text-center mb-6">
|
||||||
<Button
|
<Button className="font-bold" asChild>
|
||||||
className=""
|
<Link href={project?.acm_fields?.projectLink} target="_blank">
|
||||||
asChild
|
|
||||||
>
|
|
||||||
<Link
|
|
||||||
href={project?.acm_fields?.projectLink}
|
|
||||||
target="_blank"
|
|
||||||
>
|
|
||||||
View Project
|
View Project
|
||||||
</Link>
|
</Link>
|
||||||
</Button>
|
</Button>
|
||||||
@@ -135,11 +123,7 @@ export default function Portfolio({ projects }: any): JSX.Element {
|
|||||||
</>
|
</>
|
||||||
) : (
|
) : (
|
||||||
<div className="text-center">
|
<div className="text-center">
|
||||||
<FontAwesomeIcon
|
<FontAwesomeIcon spin size="2xl" icon={faSpinner} />
|
||||||
spin
|
|
||||||
size="2xl"
|
|
||||||
icon={faSpinner}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||