Start cleaning up other pages
This commit is contained in:
@@ -8,7 +8,7 @@ import createMDX from "@next/mdx";
|
||||
/** @type {import("next").NextConfig} */
|
||||
const config = {
|
||||
pageExtensions: ["js", "jsx", "md", "mdx", "ts", "tsx"],
|
||||
allowedDevOrigins: ["*.vscode.home.joemonk.co.uk"],
|
||||
allowedDevOrigins: ["*.vscode.home.joemonk.co.uk", "*.vscode.localhost"],
|
||||
experimental: {
|
||||
reactCompiler: true,
|
||||
},
|
||||
|
||||
@@ -4,11 +4,12 @@ import Cv from "@/app/_components/cv";
|
||||
export default function CvPage(): React.JSX.Element {
|
||||
return (
|
||||
<div>
|
||||
<div className="flex flex-row justify-center pb-4">
|
||||
<button type="button" className="border px-4 py-2">
|
||||
<div className="flex flex-row justify-center">
|
||||
<button type="button" className="btn btn-primary">
|
||||
Download
|
||||
</button>
|
||||
</div>
|
||||
<div className="divider divider-primary"></div>
|
||||
<Cv />
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -9,16 +9,10 @@ export default function RootLayout({
|
||||
return (
|
||||
<>
|
||||
<NavBar />
|
||||
|
||||
<main className="mx-auto w-full flex-1 px-6 py-4 align-middle lg:max-w-5xl">
|
||||
<main className="bg-base-200 sm:border-x-2 dark:border-0 border-accent mx-auto w-full flex-1 px-6 py-4 align-middle lg:max-w-5xl">
|
||||
{children}
|
||||
</main>
|
||||
<Footer />
|
||||
|
||||
{/* <main className="px-6 py-4 w-full flex-1 align-middle overflow-y-scroll scrollbar scrollbar-thumb-dracula-purple scrollbar-track-dracula-bg-light">
|
||||
<div className="mx-auto w-full align-middle lg:max-w-5xl ">
|
||||
</div>
|
||||
</main> */}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -3,21 +3,3 @@ import HomeMdx from "@/markdown/page.mdx";
|
||||
export default function Home(): React.JSX.Element {
|
||||
return <HomeMdx />;
|
||||
}
|
||||
|
||||
// import { auth } from "@/server/auth";
|
||||
// import { HydrateClient } from "@/trpc/server";
|
||||
|
||||
// export default async function Home() {
|
||||
// const session = await auth();
|
||||
|
||||
// if (session?.user) {
|
||||
// // void api.post.getLatest.prefetch();
|
||||
// }
|
||||
|
||||
// return (
|
||||
// <HydrateClient>
|
||||
// <main className="flex min-h-screen flex-col items-center justify-center">
|
||||
// </main>
|
||||
// </HydrateClient>
|
||||
// );
|
||||
// }
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
import type React from "react";
|
||||
|
||||
export default function Post({
|
||||
children,
|
||||
}: {
|
||||
children: React.JSX.Element;
|
||||
}): React.JSX.Element {
|
||||
return <>{children}</>;
|
||||
}
|
||||
@@ -49,7 +49,7 @@ export default async function Posts(): Promise<React.JSX.Element> {
|
||||
{postDetails.map((post) => {
|
||||
return (
|
||||
<div key={post.link}>
|
||||
<div className="prose dark:prose-invert mx-auto">
|
||||
<div className="card md:card-side">
|
||||
<h2>
|
||||
<Link href={post.link}>{post.metadata.title}</Link>
|
||||
</h2>
|
||||
|
||||
@@ -10,11 +10,12 @@ type ExperienceContent = {
|
||||
content: string | React.JSX.Element;
|
||||
};
|
||||
|
||||
let printBreakCount = 0;
|
||||
function PrintBreak({ count }: { count?: number }): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
{Array.from({ length: count ?? 1 }).map(() => (
|
||||
<br key={"break"} className="hidden print:block" />
|
||||
<br key={`break-${printBreakCount++}`} className="hidden print:block" />
|
||||
))}
|
||||
</>
|
||||
);
|
||||
@@ -119,7 +120,7 @@ function Experience({
|
||||
content: ExperienceContent;
|
||||
}): React.JSX.Element {
|
||||
return (
|
||||
<div className="flex flex-row gap-4 border-b-2 border-b-dracula-bg-light last:border-b-0 dark:border-b-dracula-orange">
|
||||
<div className="flex flex-row gap-4 border-b-2 border-b-accent last:border-b-0">
|
||||
<div className="w-20 justify-center text-center">
|
||||
{content.endDate}
|
||||
<br />
|
||||
@@ -128,10 +129,10 @@ function Experience({
|
||||
{content.startDate}
|
||||
</div>
|
||||
<div className="flex w-full flex-col">
|
||||
<div className="mb-2 flex w-full flex-row border-dracula-bg-light border-b-[1px] pb-1">
|
||||
<div className="mb-2 flex w-full flex-row border-b pb-1">
|
||||
<div className="self-start text-left">{content.title}</div>
|
||||
<div className="flex-grow self-start text-right">{content.tech}</div>
|
||||
<div className="ml-3 w-20 border-dracula-bg-light border-l-[1px] pr-2 text-right">
|
||||
<div className="ml-3 w-20 border-dracula-bg-light border-l pr-2 text-right">
|
||||
{content.company}
|
||||
</div>
|
||||
</div>
|
||||
@@ -144,20 +145,20 @@ function Experience({
|
||||
// TODO
|
||||
export default function Cv(): React.JSX.Element {
|
||||
return (
|
||||
<div className="mx-auto w-[20cm] dark:text-white print:pt-[0.5cm]">
|
||||
<div className="mx-auto max-w-[20cm] print:w-[20cm] print:pt-[0.5cm] border-accent">
|
||||
<div className="flex flex-col justify-center">
|
||||
<h1 className="bg-dracula-bg-light py-1 text-center font-medium text-2xl text-white uppercase">
|
||||
<h1 className="py-1 text-center font-medium text-2xl uppercase">
|
||||
Joe Lewis Monk
|
||||
</h1>
|
||||
<div className="flex flex-col gap-2 p-2">
|
||||
<div className="grid grid-cols-3 border-dracula-bg-light border-b-2 pb-2">
|
||||
<span className="border-dracula-bg-light border-r-[1px] text-left">
|
||||
<div className="grid grid-cols-3 border-b-2 pb-2">
|
||||
<span className="border-r text-left">
|
||||
joemonk.co.uk
|
||||
</span>
|
||||
<span className="border-dracula-bg-light border-x-[1px] text-center">
|
||||
<span className="border-x text-center">
|
||||
07757 017587
|
||||
</span>
|
||||
<span className="border-dracula-bg-light border-l-[1px] text-right">
|
||||
<span className="border-l text-right">
|
||||
joemonk@hotmail.co.uk
|
||||
</span>
|
||||
</div>
|
||||
@@ -171,8 +172,8 @@ export default function Cv(): React.JSX.Element {
|
||||
while moving between roles.
|
||||
</p>
|
||||
</div>
|
||||
<div className="flex flex-row gap-2 bg-dracula-bg-light px-2 py-1 text-white">
|
||||
<PaperAirplaneIcon className="my-[2px] h-5" />
|
||||
<div className="flex flex-row gap-2 px-2 py-1">
|
||||
<PaperAirplaneIcon className="my-0.5 h-5" />
|
||||
<h2 className="font-medium">Experience</h2>
|
||||
</div>
|
||||
<div className="flex flex-col gap-4 py-2">
|
||||
|
||||
@@ -71,7 +71,7 @@ export default function NavBarClient({
|
||||
<Link
|
||||
key={item.name}
|
||||
href={item.href}
|
||||
className={`btn min-w-20 rounded-lg rounded-b-none border-transparent border-b-2 px-3 pt-2.5 pb-1 text-center text-lg font-medium outline-0 hover:border-primary hover:bg-primary/25 ${
|
||||
className={`btn min-w-20 rounded-lg rounded-b-none border-transparent border-b-2 px-2 py-1 pt-1.5 text-center text-lg font-medium hover:border-primary hover:bg-primary/25 ${
|
||||
item.current ? "border-b-accent/75" : ""
|
||||
}`}
|
||||
aria-current={item.current ? "page" : undefined}
|
||||
|
||||
@@ -6,12 +6,12 @@ import type React from "react";
|
||||
export default function ThemeSwitcher(): React.JSX.Element {
|
||||
const toggleTheme = (): void => {
|
||||
const currentTheme = document.documentElement.getAttribute("data-theme");
|
||||
if (currentTheme === "dracula-pastel") {
|
||||
if (currentTheme === "nord") {
|
||||
localStorage.theme = "dracula-soft";
|
||||
document.documentElement.setAttribute("data-theme", "dracula-soft");
|
||||
} else {
|
||||
localStorage.theme = "dracula-pastel";
|
||||
document.documentElement.setAttribute("data-theme", "dracula-pastel");
|
||||
localStorage.theme = "nord";
|
||||
document.documentElement.setAttribute("data-theme", "nord");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -17,8 +17,8 @@ export const env = createEnv({
|
||||
NODE_ENV: z
|
||||
.enum(["development", "test", "production"])
|
||||
.default("development"),
|
||||
AWS_ACCESS_KEY_ID: z.string(),
|
||||
AWS_SECRET_ACCESS_KEY: z.string(),
|
||||
S3_ACCESS_KEY_ID: z.string(),
|
||||
S3_SECRET_ACCESS_KEY: z.string(),
|
||||
PORT: z.number({ coerce: true }).int().default(3000),
|
||||
},
|
||||
|
||||
@@ -41,8 +41,8 @@ export const env = createEnv({
|
||||
AUTH_CLIENT_SECRET: process.env.AUTH_CLIENT_SECRET,
|
||||
DATABASE_URL: process.env.DATABASE_URL,
|
||||
NODE_ENV: process.env.NODE_ENV,
|
||||
AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID,
|
||||
AWS_SECRET_ACCESS_KEY: process.env.AWS_SECRET_ACCESS_KEY,
|
||||
S3_ACCESS_KEY_ID: process.env.S3_ACCESS_KEY_ID,
|
||||
S3_SECRET_ACCESS_KEY: process.env.S3_SECRET_ACCESS_KEY,
|
||||
PORT: process.env.PORT,
|
||||
},
|
||||
/**
|
||||
|
||||
@@ -2,47 +2,9 @@
|
||||
@plugin "@tailwindcss/typography";
|
||||
|
||||
|
||||
@plugin "daisyui";
|
||||
|
||||
@plugin "daisyui/theme" {
|
||||
name: "dracula-pastel";
|
||||
default: true;
|
||||
prefersdark: false;
|
||||
color-scheme: "light";
|
||||
|
||||
--color-base-100: oklch(100% 0 0);
|
||||
--color-base-200: oklch(98.462% 0.001 247.838);
|
||||
--color-base-300: oklch(92.462% 0.001 247.838);
|
||||
--color-base-content: oklch(20% 0 0);
|
||||
|
||||
--color-primary: oklch(90% 0.063 306.703);
|
||||
--color-primary-content: oklch(49% 0.265 301.924);
|
||||
--color-secondary: oklch(89% 0.058 10.001);
|
||||
--color-secondary-content: oklch(51% 0.222 16.935);
|
||||
--color-accent: oklch(90% 0.093 164.15);
|
||||
--color-accent-content: oklch(50% 0.118 165.612);
|
||||
--color-neutral: oklch(55% 0.046 257.417);
|
||||
--color-neutral-content: oklch(92% 0.013 255.508);
|
||||
--color-info: oklch(86% 0.127 207.078);
|
||||
--color-info-content: oklch(52% 0.105 223.128);
|
||||
--color-success: oklch(87% 0.15 154.449);
|
||||
--color-success-content: oklch(52% 0.154 150.069);
|
||||
--color-warning: oklch(83% 0.128 66.29);
|
||||
--color-warning-content: oklch(55% 0.195 38.402);
|
||||
--color-error: oklch(80% 0.114 19.571);
|
||||
--color-error-content: oklch(50% 0.213 27.518);
|
||||
|
||||
--radius-selector: 0.5rem;
|
||||
--radius-field: 0.5rem;
|
||||
--radius-box: 0.5rem;
|
||||
|
||||
--size-selector: 0.25rem;
|
||||
--size-field: 0.25rem;
|
||||
--border: 1px;
|
||||
|
||||
--depth: 0;
|
||||
--noise: 0;
|
||||
}
|
||||
@plugin "daisyui" {
|
||||
themes: nord --default;
|
||||
};
|
||||
|
||||
@plugin "daisyui/theme" {
|
||||
/* Nicked from the vscode soft theme https://github.com/dracula/visual-studio-code/blob/master/src/dracula.yml */
|
||||
|
||||
Reference in New Issue
Block a user