From a73e572dc46476ff37729938e44e5f145ac30f15 Mon Sep 17 00:00:00 2001 From: "A. Bryant" Date: Mon, 17 Jul 2023 23:52:03 -0600 Subject: [PATCH] dots-background --- src/app/e-dot-digital-7.ttf | Bin 0 -> 59672 bytes src/app/layout.tsx | 12 +- src/app/page.module.css | 227 +----------------------------------- src/app/page.tsx | 12 +- src/components/Dots.tsx | 11 +- src/css/dots.module.css | 6 + src/css/globals.css | 3 + src/css/terminal.module.css | 4 +- 8 files changed, 33 insertions(+), 242 deletions(-) create mode 100644 src/app/e-dot-digital-7.ttf create mode 100644 src/css/dots.module.css diff --git a/src/app/e-dot-digital-7.ttf b/src/app/e-dot-digital-7.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2e48a8d653ecc37b69073246ef8a589f08a18e64 GIT binary patch literal 59672 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 KV3KB2 + - - {children} diff --git a/src/app/page.module.css b/src/app/page.module.css index 9411a5e..8da502b 100644 --- a/src/app/page.module.css +++ b/src/app/page.module.css @@ -3,227 +3,8 @@ flex-direction: column; justify-content: space-between; align-items: center; - padding: 6rem; + padding: 4rem; 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; - justify-content: center; - align-items: 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(4, minmax(25%, 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: 30ch; -} - -.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 { - position: relative; -} -/* 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) { - .card:hover span { - transform: none; - } -} - -/* Mobile */ -@media (max-width: 700px) { - .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; - } -} - -/* Tablet and Smaller Desktop */ -@media (min-width: 701px) and (max-width: 1120px) { - .grid { - grid-template-columns: repeat(2, 50%); - } -} - -@media (prefers-color-scheme: dark) { - .vercelLogo { - filter: invert(1); - } - - .logo { - filter: invert(1) drop-shadow(0 0 0.3rem #ffffff70); - } -} - -@keyframes rotate { - from { - transform: rotate(360deg); - } - to { - transform: rotate(0deg); - } -} + font-size: 50px; + color: white; +} \ No newline at end of file diff --git a/src/app/page.tsx b/src/app/page.tsx index c1940f9..e424a0d 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,14 +1,16 @@ import Image from 'next/image' import styles from './page.module.css' +import { Metadata } from 'next' +import Terminal from '@/components/Terminal' +import localFont from 'next/font/local' + +const dotFont = localFont({ src: './e-dot-digital-7.ttf' }) export default function Home() { return (
-
-
-
-

Text

-
+

Front-End Developer

+
) } diff --git a/src/components/Dots.tsx b/src/components/Dots.tsx index a525797..2b0380c 100644 --- a/src/components/Dots.tsx +++ b/src/components/Dots.tsx @@ -1,21 +1,22 @@ "use client" import React, { useEffect, useRef } from 'react'; import p5 from 'p5'; +import styles from '../css/dots.module.css' const Dots = () => { const sketchRef = useRef(null); useEffect(() => { const dotSize:number = 4; - const spacing:number = dotSize * 8; - const minTvalue:number = 40; - const areaAffected:number = 60; + const spacing:number = dotSize * 16; + const minTvalue:number = 50; + const areaAffected:number = 80; let mouseIsMoving:boolean = false; let dots:any[] = []; const sketch = (p: p5) => { p.setup = () => { - p.createCanvas(p.windowWidth, 400); + p.createCanvas(p.windowWidth, document.documentElement.scrollHeight); for (let i = 0; i < p.width; i += spacing) { for (let j = 0; j < p.height; j += spacing) { let dot = new Dot(i + spacing / 2, j + spacing / 2, dotSize); @@ -79,7 +80,7 @@ const Dots = () => { new p5(sketch, sketchRef.current as HTMLElement); }, []); - return
; + return
; }; export default Dots; diff --git a/src/css/dots.module.css b/src/css/dots.module.css new file mode 100644 index 0000000..420f86c --- /dev/null +++ b/src/css/dots.module.css @@ -0,0 +1,6 @@ +.background +{ + position: absolute; + z-index: -1; + top: 0; +} \ No newline at end of file diff --git a/src/css/globals.css b/src/css/globals.css index d4f491e..fc42e73 100644 --- a/src/css/globals.css +++ b/src/css/globals.css @@ -83,6 +83,9 @@ html, body { max-width: 100vw; overflow-x: hidden; + + border: 0; /* TODO */ + } body { diff --git a/src/css/terminal.module.css b/src/css/terminal.module.css index c8d38ef..5e8ca66 100644 --- a/src/css/terminal.module.css +++ b/src/css/terminal.module.css @@ -1,14 +1,14 @@ .terminal { height: 400px; - width: 55%; + width: 70%; background-color: rgb(26, 26, 26); color: white; box-sizing: border-box; font-size: 15px; overflow-y:auto; overflow-x: hidden; - border: 1px solid rgb(26, 26, 26); + border: 1px solid rgb(117, 117, 117); } .windowOptions