diff --git a/public/images/pfp-862x1078.webp b/public/images/pfp-862x1078.webp deleted file mode 100644 index 7ee772a..0000000 Binary files a/public/images/pfp-862x1078.webp and /dev/null differ diff --git a/public/images/pfp-square.webp b/public/images/pfp-square.webp deleted file mode 100644 index 2e3dd68..0000000 Binary files a/public/images/pfp-square.webp and /dev/null differ diff --git a/public/images/pfp_transparent_square.png b/public/images/pfp_transparent_square.png new file mode 100644 index 0000000..bfa3cfa Binary files /dev/null and b/public/images/pfp_transparent_square.png differ diff --git a/src/components/Card.astro b/src/components/Card.astro index 75424b8..86fdbaf 100644 --- a/src/components/Card.astro +++ b/src/components/Card.astro @@ -2,12 +2,13 @@ interface Props { primaryColor: string; bgColor: string; + scaleOnHover: boolean; } -const { primaryColor, bgColor = "#282828" } = Astro.props; +const { primaryColor, bgColor = "#282828", scaleOnHover = false } = Astro.props; --- -
+
@@ -59,4 +60,12 @@ const { primaryColor, bgColor = "#282828" } = Astro.props; top: 25%; opacity: 1; } + + .card.scale { + transition: transform 0.5s ease; + } + + .card.scale:hover { + transform: scale(1.05); + } diff --git a/src/components/Contact.astro b/src/components/Contact.astro new file mode 100644 index 0000000..06cb89d --- /dev/null +++ b/src/components/Contact.astro @@ -0,0 +1,88 @@ +
+
+
+ Get in Touch with me! +
+
+ I'm always open to new opportunities and collaborations! +
+ + Send me an email! +
+ +
+ + diff --git a/src/components/Education.astro b/src/components/Education.astro index d8cf8f3..b3aa821 100644 --- a/src/components/Education.astro +++ b/src/components/Education.astro @@ -3,11 +3,11 @@ import Card from "./Card.astro"; import Line from "./NetworkLine.astro"; --- -
+

Education

- +

@@ -24,7 +24,7 @@ import Line from "./NetworkLine.astro";

- +

Cambridge IGCSE

diff --git a/src/components/Intro.svelte b/src/components/Intro.svelte index 52b3cec..640f480 100644 --- a/src/components/Intro.svelte +++ b/src/components/Intro.svelte @@ -15,33 +15,12 @@ greeting = "evening"; } - // Intro - let intro1: string = "I like to make cool stuff"; - let intro2: string = "as a "; - let introState1: string = ""; - let introState2: string = ""; - let lineOneFinished: boolean = false; - - async function animateIntro(interval: number) { - for (let i = 0; i < intro1.length; i++) { - introState1 += intro1[i]; - await sleep(interval); - } - - lineOneFinished = true; - - for (let j = 0; j < intro2.length; j++) { - introState2 += intro2[j]; - await sleep(interval); - } - } - // Roles let roles: string[] = [ - "developer", - "streamer", - "content creator", - "student", + "Developer", + "Streamer", + "Content creator", + "Student", ]; let roleState: string = ""; let role: string; @@ -105,91 +84,104 @@ // after window finish loading, call animateRoles() onMount(async () => { await sleep(800); - await animateIntro(50); animateRoles(); });
-
-
-

Good {greeting}, I'm

-

- RythonDev -

-

- {introState1}| -
{introState2} - {roleState}| -

-
-

- A computer science undergraduate student, passionate in - frontend web development and content creation. -

+
+
+
+ Ryan
-
+
+
RythonDev
+
+ {roleState}| +
+
+
+
+ Good {greeting}, I'm Ryan! +
+

+ I am an undergraduate student, passionate in frontend web + development. I built this website using Astro, Svelte, TailwindCSS + and Typescript! +

+

I hope you enjoy your stay here!

+
diff --git a/src/components/NavBar.astro b/src/components/NavBar.astro new file mode 100644 index 0000000..0bbb1a2 --- /dev/null +++ b/src/components/NavBar.astro @@ -0,0 +1,245 @@ +
+ + + +
+ + + + diff --git a/src/components/NetworkLine.astro b/src/components/NetworkLine.astro index c1dc9cd..89d3e81 100644 --- a/src/components/NetworkLine.astro +++ b/src/components/NetworkLine.astro @@ -13,10 +13,10 @@ const { height } = Astro.props; diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 99cd4a7..92e0449 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -108,6 +108,10 @@ const { title } = Astro.props; font-style: normal; } + html { + scroll-behavior: smooth; + } + * { margin: 0; padding: 0; diff --git a/src/pages/index.astro b/src/pages/index.astro index 19f6500..7b6f431 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,4 +1,5 @@ --- +import NavBar from "../components/NavBar.astro"; import Layout from "../layouts/Layout.astro"; import NetworkLine from "../components/NetworkLine.astro"; import WhatIDo from "../components/WhatIDo.astro"; @@ -6,13 +7,34 @@ import Intro from "../components/Intro.svelte"; import Projects from "../components/Projects.svelte"; import Education from "../components/Education.astro"; import Skills from "../components/Skills.astro"; +import Contact from "../components/Contact.astro"; +import Card from "../components/Card.astro"; --- - - - - - - + +
+
+ + + +
+
+ +
+ + +
+
+ +
+
+ +
+
+ +
+
+ +