Skip to content

Commit

Permalink
New website design without background
Browse files Browse the repository at this point in the history
  • Loading branch information
ClayMav committed Dec 12, 2023
1 parent c1f3d2c commit 872ff2b
Show file tree
Hide file tree
Showing 15 changed files with 288 additions and 38 deletions.
29 changes: 15 additions & 14 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,25 @@
"GitHub.copilot-chat",
"DavidAnson.vscode-markdownlint",
"unifiedjs.vscode-mdx",
"bradlc.vscode-tailwindcss"
"bradlc.vscode-tailwindcss",
"esbenp.prettier-vscode"
],
"settings": {
"[typescript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[typescriptreact]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[markdown]": {
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint"
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
// "[typescript]": {
// "editor.defaultFormatter": "esbenp.prettier-vscode"
// },
// "[typescriptreact]": {
// "editor.defaultFormatter": "esbenp.prettier-vscode"
// },
// "[markdown]": {
// "editor.defaultFormatter": "esbenp.prettier-vscode"
// },
// "[json]": {
// "editor.defaultFormatter": "esbenp.prettier-vscode"
// },
"editor.inlineSuggest.enabled": true,
"editor.formatOnSave": true,
"eslint.format.enable": true,
"editor.codeActionsOnSave": {
"source.fixAll": true
}
Expand Down
9 changes: 9 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,15 @@ module.exports = {
"prettier",
],
overrides: [],
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaVersion: "latest",
ecmaFeatures: {
jsx: true,
},
sourceType: "module",
project: ["./tsconfig.json"],
},
plugins: ["prettier", "react", "@typescript-eslint"],
rules: {
"react/react-in-jsx-scope": 0,
Expand Down
3 changes: 3 additions & 0 deletions app/BlueShape.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions app/OrangeShape.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions app/ScrollTopButton.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
export default function ScrollTopButton() {
return (
<a
className="flex flex-col justify-center items-center lg:hidden"
href="#"
>
<span className="text-center"></span>
<span className="text-center">Back to top</span>
</a>
);
}
38 changes: 38 additions & 0 deletions app/TopNavigation.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import ClayLogo from "./clay-logo.svg";
import Image from "next/image";

const navigation = [
{
name: "Resume",
href: "https://github.com/ClayMav/resume/blob/main/resume.pdf",
},
{ name: "LinkedIn", href: "https://www.linkedin.com/in/claymav/" },
{ name: "Github", href: "https://github.com/ClayMav" },
] as const;

export default function TopNavigation() {
return (
<nav className="flex flex-row justify-between items-center">
<ul className="flex flex-row justify-between items-center">
<li className="text-2xl mr-4">
<Image
src={ClayLogo}
alt="Clay Logo"
height={42}
width={42}
/>
</li>
{navigation.map((item) => (
<li key={item.name} className="ml-4">
<a
href={item.href}
className="text-black hover:underline uppercase"
>
{item.name}
</a>
</li>
))}
</ul>
</nav>
);
}
10 changes: 10 additions & 0 deletions app/clay-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 20 additions & 13 deletions app/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,20 +1,27 @@
import React from 'react'
import type { Metadata } from 'next'
import './globals.css'
import TopNavigation from "./TopNavigation";
import "./globals.css";
import type { Metadata } from "next";
import React from "react";

export const metadata: Metadata = {
title: 'Clay McGinnis',
description: 'The portfolio of Clay McGinnis',
}
title: "Clay McGinnis",
description: "The portfolio of Clay McGinnis",
};

export default function RootLayout({
children,
children,
}: {
children: React.ReactNode
children: React.ReactNode;
}) {
return (
<html lang="en">
<body>{children}</body>
</html>
)
return (
<html
lang="en"
className="min-h-screen h-full overflow-x-hidden max-w-screen w-screen"
>
<body className="bg-[#EAEADF] w-full min-h-full font-sans p-10 z-0 flex flex-col">
<TopNavigation />
{children}
</body>
</html>
);
}
95 changes: 90 additions & 5 deletions app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,92 @@
import BlueShape from "./BlueShape.svg";
import OrangeShape from "./OrangeShape.svg";
import ScrollTopButton from "./ScrollTopButton";
import StratosLogo from "./stratos-logo.png";
import WherobotsLogo from "./wherobots-logo.png";
import Image from "next/image";
import React from "react";

type ProjectInfo = {
role: string;
logo: React.ReactNode;
description: string;
button: React.ReactNode;
};
const projects: ProjectInfo[] = [
{
role: "I work here",
logo: <Image src={WherobotsLogo} alt="Wherobots Logo" height={40} />,
description:
"The spatial data analytics and AI platform trusted in production, at scale, from the original creators of Apache Sedona.",
button: (
<button className="bg-blue-600 border-black border-2 rounded-md inline px-5 py-4 uppercase text-white">
Learn More
</button>
),
},
{
role: "I founded this",
logo: <Image src={StratosLogo} alt="Stratos Logo" height={40} />,
description:
"The spatial data analytics and AI platform trusted in production, at scale, from the original creators of Apache Sedona.",
button: (
<button className="border-4 border-[#C88502] rounded-lg inline bg-[#2D1B1B] px-5 py-4 text-white">
Learn More
</button>
),
},
];

function Project({ role, logo, description, button }: ProjectInfo) {
return (
<div className="p-6 flex flex-col gap-2 border-4 border-black bg-[#EAEADF]">
<h2 className="uppercase">{role}</h2>
<div>{logo}</div>
<p>{description}</p>
<div>{button}</div>
</div>
);
}
export default function Home() {
return (
<main>
<h1>Clay McGinnis</h1>
</main>
)
return (
<main className="flex-1 flex flex-col gap-5 lg:justify-center z-10 pt-20 pb-10 lg:py-0">
<div className="w-full lg:w-auto">
<div className="inline-flex gap-3 border-4 border-black p-2 flex-wrap bg-[#EAEADF] w-full lg:w-auto">
<h1 className="text-4xl lg:text-6xl whitespace-nowrap">
Clay McGinnis
</h1>
<p className="text-lg min-w-[200px] max-w-[400px]">
I’m a <strong>software developer and maker</strong> with
a passion for user experience
</p>
</div>
</div>
<ul className="flex gap-5 flex-wrap pb-10 lg:pb-0">
{projects.map((project) => (
<li
key={project.description}
className="flex-1 min-w-[300px]"
>
<Project {...project} />
</li>
))}
</ul>
<ScrollTopButton />
{/* <Image
src={BlueShape}
alt="Blue Shape"
className="absolute -z-40 -left-8 pointer-events-none"
/>
<Image
src={OrangeShape}
alt="Orange Shape"
className="absolute -z-50 left-96 top-60 pointer-events-none"
/>
<Image
src={OrangeShape}
alt="Orange Shape"
className="absolute -z-30 opacity-60 left-96 top-60 pointer-events-none"
/> */}
</main>
);
}
Binary file added app/stratos-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/wherobots-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"react-dom": "^18"
},
"devDependencies": {
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
"@types/node": "^20.10.4",
"@types/react": "^18.2.42",
"@types/react-dom": "^18.2.17",
Expand All @@ -36,4 +37,4 @@
"tailwindcss": "^3.3.6",
"typescript": "^5.3.3"
}
}
}
6 changes: 4 additions & 2 deletions prettier.config.js → prettier.config.cjs
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
/** @type {import("prettier").Config} */
const config = {
trailingComma: "all",
tabWidth: 2,
tabWidth: 4,
semi: true,
singleQuote: false,
useTabs: false,
endOfLine: "auto",
importOrderSeparation: true,
plugins: ["@trivago/prettier-plugin-sort-imports"],
};

export default config;
module.exports = config;
3 changes: 2 additions & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@
"**/*.tsx",
".next/types/**/*.ts",
".eslintrc.js",
"*.config.js"
"*.config.js",
"prettier.config.cjs"
],
"exclude": [
"node_modules"
Expand Down
Loading

0 comments on commit 872ff2b

Please sign in to comment.