Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
chronark committed Feb 24, 2023
1 parent 597330a commit 236df2e
Show file tree
Hide file tree
Showing 24 changed files with 1,533 additions and 0 deletions.
36 changes: 36 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# local env files
.env*.local

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
4 changes: 4 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"typescript.tsdk": "node_modules/.pnpm/[email protected]/node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true
}
3 changes: 3 additions & 0 deletions app/api/hello/route.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export async function GET(request: Request) {
return new Response("Hello, Next.js!");
}
Binary file added app/favicon.ico
Binary file not shown.
61 changes: 61 additions & 0 deletions app/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
import Image from "next/image";
import Link from "next/link";
import "../global.css";
import { Inter } from "@next/font/google";
import font from "@next/font/local";
const pangea = font({
src: [
{
path: "../public/fonts/PangeaAfrikanTrial-Light.woff2",
weight: "100",
style: "normal",
},
{
path: "../public/fonts/PangeaAfrikanTrial-Regular.woff2",
weight: "300",
style: "normal",
},
{
path: "../public/fonts/PangeaAfrikanTrial-Medium.woff2",
weight: "500",
style: "normal",
},
{
path: "../public/fonts/PangeaAfrikanTrial-SemiBold.woff2",
weight: "700",
style: "normal",
},
{
path: "../public/fonts/PangeaAfrikanTrial-Bold.woff2",
weight: "900",
style: "normal",
},
],
variable: "--font-pangea",
});

export const metadata = {
title: "chronark.com",
description: "The personal website of chronark",
};

const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
});

export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en" className={[inter.variable, pangea.variable].join(" ")}>
<body
className={`bg-black ${process.env.NODE_ENV === "development" ? "debug-screens" : undefined}`}
>
{children}
</body>
</html>
);
}
271 changes: 271 additions & 0 deletions app/page.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,271 @@
.main {
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
padding: 6rem;
min-height: 100vh;
}

.description {
display: inherit;
justify-content: inherit;
align-items: inherit;
font-size: 0.85rem;
max-width: var(--max-width);
width: 100%;
z-index: 2;
font-family: var(--font-mono);
}

.description a {
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
}

.description p {
position: relative;
margin: 0;
padding: 1rem;
background-color: rgba(var(--callout-rgb), 0.5);
border: 1px solid rgba(var(--callout-border-rgb), 0.3);
border-radius: var(--border-radius);
}

.code {
font-weight: 700;
font-family: var(--font-mono);
}

.grid {
display: grid;
grid-template-columns: repeat(3, minmax(33%, auto));
width: var(--max-width);
max-width: 100%;
}

.card {
padding: 1rem 1.2rem;
border-radius: var(--border-radius);
background: rgba(var(--card-rgb), 0);
border: 1px solid rgba(var(--card-border-rgb), 0);
transition: background 200ms, border 200ms;
}

.card span {
display: inline-block;
transition: transform 200ms;
}

.card h2 {
font-weight: 600;
margin-bottom: 0.7rem;
}

.card p {
margin: 0;
opacity: 0.6;
font-size: 0.9rem;
line-height: 1.5;
max-width: 34ch;
}

.center {
display: flex;
justify-content: center;
align-items: center;
position: relative;
padding: 4rem 0;
}

.center::before {
background: var(--secondary-glow);
border-radius: 50%;
width: 480px;
height: 360px;
margin-left: -400px;
}

.center::after {
background: var(--primary-glow);
width: 240px;
height: 180px;
z-index: -1;
}

.center::before,
.center::after {
content: '';
left: 50%;
position: absolute;
filter: blur(45px);
transform: translateZ(0);
}

.logo,
.thirteen {
position: relative;
}

.thirteen {
display: flex;
justify-content: center;
align-items: center;
width: 75px;
height: 75px;
padding: 25px 10px;
margin-left: 16px;
transform: translateZ(0);
border-radius: var(--border-radius);
overflow: hidden;
box-shadow: 0px 2px 8px -1px #0000001a;
}

.thirteen::before,
.thirteen::after {
content: '';
position: absolute;
z-index: -1;
}

/* Conic Gradient Animation */
.thirteen::before {
animation: 6s rotate linear infinite;
width: 200%;
height: 200%;
background: var(--tile-border);
}

/* Inner Square */
.thirteen::after {
inset: 0;
padding: 1px;
border-radius: var(--border-radius);
background: linear-gradient(
to bottom right,
rgba(var(--tile-start-rgb), 1),
rgba(var(--tile-end-rgb), 1)
);
background-clip: content-box;
}

/* Enable hover only on non-touch devices */
@media (hover: hover) and (pointer: fine) {
.card:hover {
background: rgba(var(--card-rgb), 0.1);
border: 1px solid rgba(var(--card-border-rgb), 0.15);
}

.card:hover span {
transform: translateX(4px);
}
}

@media (prefers-reduced-motion) {
.thirteen::before {
animation: none;
}

.card:hover span {
transform: none;
}
}

/* Mobile and Tablet */
@media (max-width: 1023px) {
.content {
padding: 4rem;
}

.grid {
grid-template-columns: 1fr;
margin-bottom: 120px;
max-width: 320px;
text-align: center;
}

.card {
padding: 1rem 2.5rem;
}

.card h2 {
margin-bottom: 0.5rem;
}

.center {
padding: 8rem 0 6rem;
}

.center::before {
transform: none;
height: 300px;
}

.description {
font-size: 0.8rem;
}

.description a {
padding: 1rem;
}

.description p,
.description div {
display: flex;
justify-content: center;
position: fixed;
width: 100%;
}

.description p {
align-items: center;
inset: 0 0 auto;
padding: 2rem 1rem 1.4rem;
border-radius: 0;
border: none;
border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25);
background: linear-gradient(
to bottom,
rgba(var(--background-start-rgb), 1),
rgba(var(--callout-rgb), 0.5)
);
background-clip: padding-box;
backdrop-filter: blur(24px);
}

.description div {
align-items: flex-end;
pointer-events: none;
inset: auto 0 0;
padding: 2rem;
height: 200px;
background: linear-gradient(
to bottom,
transparent 0%,
rgb(var(--background-end-rgb)) 40%
);
z-index: 1;
}
}

@media (prefers-color-scheme: dark) {
.vercelLogo {
filter: invert(1);
}

.logo,
.thirteen img {
filter: invert(1) drop-shadow(0 0 0.3rem #ffffff70);
}
}

@keyframes rotate {
from {
transform: rotate(360deg);
}
to {
transform: rotate(0deg);
}
}
Loading

0 comments on commit 236df2e

Please sign in to comment.