diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..e69de29 diff --git a/app/components/banner/banner.module.scss b/app/components/banner/banner.module.scss index d147677..cf361bf 100644 --- a/app/components/banner/banner.module.scss +++ b/app/components/banner/banner.module.scss @@ -3,13 +3,11 @@ .banner { display: grid; grid-template-columns: $profile-size 1fr; - border-radius: $border-radius; width: 100%; min-height: $card-height; background: url("/images/banner.jpg"); background-size: cover; background-position: 50%; - box-shadow: $box-shadow; } .profile { @@ -23,8 +21,7 @@ .profile img { width: calc($profile-size) - 4rem; height: auto; - border-radius: $border-radius; - border: 4px solid $font-color; + border: 6px ridge $font-color; } .description { @@ -35,6 +32,7 @@ line-height: 2; padding: 1rem; text-shadow: 0 0 4px black; + font-weight: bold; } @media screen and (max-width: 640px) { diff --git a/app/components/banner/banner.tsx b/app/components/banner/banner.tsx index 713e0e0..766e704 100644 --- a/app/components/banner/banner.tsx +++ b/app/components/banner/banner.tsx @@ -1,26 +1,29 @@ import Image from "next/image"; import styles from "./banner.module.scss"; +import Window from "../window/window"; export default function Banner() { return ( -
-
- Picture of me + +
+
+ Picture of me +
+
+ Hello! My name is Paul Scott. I am a software engineer at Vistar + Media. I obtained my master's in computer and information science + from the University of Pennsylvania, and I obtained my bachelor's + degree in computer science from Penn State. My areas of interest are + computer graphics, distributed systems, emulation, machine learning, + software engineering, and web development. +
-
- Hello! My name is Paul Scott. I am a software engineer at Vistar Media. - I obtained my master's in computer and information science from the - University of Pennsylvania, and I obtained my bachelor's degree in - computer science from Penn State. My areas of interest are computer - graphics, distributed systems, emulation, machine learning, software - engineering, and web development. -
-
+ ); } diff --git a/app/components/card/card.module.scss b/app/components/card/card.module.scss index 094919b..098256d 100644 --- a/app/components/card/card.module.scss +++ b/app/components/card/card.module.scss @@ -5,9 +5,7 @@ transition: 0.1s; aspect-ratio: 4/3; background-color: $primary-color; - border-radius: $border-radius; overflow: hidden; - box-shadow: $box-shadow; } .label { diff --git a/app/components/footer/footer.module.scss b/app/components/footer/footer.module.scss index 656c9b3..41fb03e 100644 --- a/app/components/footer/footer.module.scss +++ b/app/components/footer/footer.module.scss @@ -1,11 +1,10 @@ @import "../../constants.module.scss"; .footer { - @include primary-style; width: 100%; font-size: 20px; + font-weight: bold; line-height: 1.5; - margin-top: $spacing; text-align: center; padding: 4rem 2rem; } diff --git a/app/components/footer/footer.tsx b/app/components/footer/footer.tsx index f7b7d90..4e93a00 100644 --- a/app/components/footer/footer.tsx +++ b/app/components/footer/footer.tsx @@ -1,12 +1,16 @@ +import Window from "../window/window"; import styles from "./footer.module.scss"; export default function Footer() { return ( - + + + ); } diff --git a/app/components/header/header.module.scss b/app/components/header/header.module.scss index 44ef5fa..5a9d2b3 100644 --- a/app/components/header/header.module.scss +++ b/app/components/header/header.module.scss @@ -1,14 +1,14 @@ @import "../../constants.module.scss"; .header { + @include double-border(3px, #d1d1d2, #4e4e4e); z-index: 1; position: sticky; top: 0; width: 100%; height: 4rem; - background: $primary-color; + background: #c6b2a8; padding: 0.75rem; - box-shadow: 0 4px 4px #00000055; } .header img { diff --git a/app/components/section/section.module.scss b/app/components/section/section.module.scss index d070055..4e3f60f 100644 --- a/app/components/section/section.module.scss +++ b/app/components/section/section.module.scss @@ -1,8 +1,8 @@ @import "../../constants.module.scss"; .section { - margin-top: -4rem; - padding-top: calc(4rem + $spacing); + // margin-top: -4rem; + // padding-top: calc(4rem + $spacing); } .title { @@ -16,9 +16,12 @@ height: 4rem; padding: 0 1rem; margin-bottom: $spacing; - background-color: $primary-color; + background-color: #4992A7; border-radius: $border-radius; - box-shadow: $box-shadow; +} + +.titleBar { + background: #EDA870; } .cards { diff --git a/app/components/section/section.tsx b/app/components/section/section.tsx index 50f8d0e..2e46d79 100644 --- a/app/components/section/section.tsx +++ b/app/components/section/section.tsx @@ -1,4 +1,5 @@ import Card, { CardData } from "../card/card"; +import Window from "../window/window"; import styles from "./section.module.scss"; export type SectionData = { @@ -30,8 +31,9 @@ export default function Section({ data, flexShrink }: SectionProps) { return (
-
{data.title}
-
{cards}
+ +
{cards}
+
); } diff --git a/app/components/window/window.module.scss b/app/components/window/window.module.scss new file mode 100644 index 0000000..5fe5d8d --- /dev/null +++ b/app/components/window/window.module.scss @@ -0,0 +1,77 @@ +@import "../../constants.module.scss"; + +@mixin double-border($width, $color1, $color2) { + border-top: $width solid $color1; + border-left: $width solid $color1; + border-bottom: $width solid $color2; + border-right: $width solid $color2; +} + +.outerWindow { + @include double-border(3.5px, #f7d9c0, #7d593b); + margin-top: $spacing; + background: #eda870; + padding: 4px; +} + +.innerWindow { + @include double-border(1.75px, #7d593b, #f7d9c0); +} + +.windowContent { + background: #c6b2a8; +} + +.titleBar { + height: 2rem; + line-height: 2rem; + text-align: center; + font-size: 18px; +} + +.menu { + @include double-border(1.75px, #adced7, #244953); + background-color: #4992A7; + height: 2.5rem; + line-height: 2.5rem; + font-size: 20px; + + span { + margin-left: 1rem; + } +} + +.button { + @include double-border(1.75px, #f7d9c0, #7d593b); + display: flex; + justify-content: center; + align-items: center; + width: 2rem; + height: 2rem; +} + +.close { + float: left; + + div { + @include double-border(1.75px, #f7d9c0, #7d593b); + width: 1.2rem; + height: 0.4rem; + } +} + +.minimize, .maximize { + float: right; +} + +.minimize div { + @include double-border(1.75px, #f7d9c0, #7d593b); + width: 0.4rem; + height: 0.4rem; +} + +.maximize div { + @include double-border(1.75px, #f7d9c0, #7d593b); + width: 1.2rem; + height: 1.2rem; +} diff --git a/app/components/window/window.tsx b/app/components/window/window.tsx new file mode 100644 index 0000000..e875ffc --- /dev/null +++ b/app/components/window/window.tsx @@ -0,0 +1,39 @@ +import styles from "./window.module.scss"; + +type WindowProps = { + title: string; + children?: React.ReactNode; +}; + +export default function Window({ title, children }: WindowProps) { + return ( +
+
+
+
+
+
+ {title} +
+
+
+
+
+
+
+
+ + File + + + Edit + + + View + +
+
{children}
+
+
+ ); +} diff --git a/app/constants.module.scss b/app/constants.module.scss index 870da4e..7798ef2 100644 --- a/app/constants.module.scss +++ b/app/constants.module.scss @@ -1,8 +1,8 @@ /* colors */ $primary-color: #26768b; $font-color: white; -$link-color: #46daff; -$background-color: #0e2f37; +$link-color: #4992A7; +$background-color: #4992a7; $card-label-color: #26768bcc; $shadow-color: #00000055; @@ -20,7 +20,7 @@ $medium-font-size: 20px; $large-font-size: 24px; /* sizing */ -$spacing: 1rem; +$spacing: 1.5rem; $border-radius: 0.5rem; $min-width: 60rem; $profile-size: 20rem; @@ -31,7 +31,9 @@ $box-shadow: 4px 4px 4px $shadow-color; spacing: $spacing; } -@mixin primary-style { - background-color: $primary-color; - border-radius: $border-radius; +@mixin double-border($width, $color1, $color2) { + border-top: $width solid $color1; + border-left: $width solid $color1; + border-bottom: $width solid $color2; + border-right: $width solid $color2; } diff --git a/app/layout.tsx b/app/layout.tsx index 9c6803a..448298c 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,9 +1,9 @@ import type { Metadata } from "next"; -import { Ubuntu } from "next/font/google"; +import { PT_Mono } from "next/font/google"; import "./globals.scss"; import Header from "./components/header/header"; -const inter = Ubuntu({ +const inter = PT_Mono({ weight: "400", subsets: ["latin"], }); diff --git a/public/images/banner.jpg b/public/images/banner.jpg index f24d2ff..adad504 100644 Binary files a/public/images/banner.jpg and b/public/images/banner.jpg differ diff --git a/public/images/banner1.jpg b/public/images/banner1.jpg new file mode 100644 index 0000000..f24d2ff Binary files /dev/null and b/public/images/banner1.jpg differ