1
Fork 0
mirror of https://github.com/Steffo99/steffoweb.git synced 2024-10-16 07:17:28 +00:00
steffoweb/app/page.tsx

362 lines
15 KiB
TypeScript
Raw Permalink Normal View History

2023-12-19 04:07:44 +00:00
"use client";
2024-09-15 18:00:52 +00:00
import {faDiscord, faGithub, faItchIo, faLinkedin, faGitAlt, faSteam} from "@fortawesome/free-brands-svg-icons"
import {faArrowLeft, faBookAtlas, faBorderAll, faCashRegister, faCircleNodes, faCog, faDiagramProject, faEnvelope, faStar, faGamepad, faGlobe, faPaintbrush, faPaintRoller, faPlus, faFire, faShield, faShieldAlt} from "@fortawesome/free-solid-svg-icons"
2022-10-16 02:33:33 +00:00
import {default as Link} from "next/link"
2023-12-19 04:07:44 +00:00
import {useRouter} from "next/navigation"
import React from "react"
2023-05-28 23:18:24 +00:00
import {FlipPanel} from "../components/FlipPanel"
2022-10-16 02:33:33 +00:00
import {LinkPanel} from "../components/LinkPanel"
2023-05-29 01:24:24 +00:00
import {ProjectsList} from "../components/ProjectsList"
import {useGitHubRepositories} from "../hooks/useGitHubRepositories"
2023-02-18 03:12:46 +00:00
import {useKonamiCode} from "../hooks/useKonamiCode"
2022-02-19 02:29:14 +00:00
2023-12-19 04:07:44 +00:00
export default function RootPage() {
2023-02-18 03:12:46 +00:00
const router = useRouter()
const repos = useGitHubRepositories("Steffo99")
2023-02-18 03:12:46 +00:00
useKonamiCode(() => router.push("/garasauto"))
2022-02-19 02:29:14 +00:00
return <>
2023-05-28 02:37:00 +00:00
<div className={"chapter-1"}>
2023-05-27 16:00:20 +00:00
<section className={"panel box"} id={"panel-about"}>
2022-10-16 02:33:33 +00:00
<h3>
2022-10-16 23:58:17 +00:00
About me
2022-10-16 02:33:33 +00:00
</h3>
<p>
2023-05-27 15:36:49 +00:00
I'm <dfn>Stefano Pigozzi</dfn>, an Italian Computer Science graduate and <b>Master's student</b> at <Link href={"https://www.unimore.it/"}>Unimore</Link>!
2022-10-16 23:58:17 +00:00
</p>
2023-05-28 23:18:24 +00:00
<hr/>
2022-10-16 23:58:17 +00:00
<p>
2024-09-15 18:00:52 +00:00
I like connecting people via technology!
2022-10-16 23:58:17 +00:00
</p>
<p>
2023-05-27 16:00:20 +00:00
For that reason, I enjoy using, exploring, studying and developing:
2022-10-16 02:33:33 +00:00
</p>
2023-05-27 16:00:20 +00:00
<ul>
2023-05-28 23:18:24 +00:00
<li>social applications and their communities;</li>
<li>videogames and their competitions;</li>
<li>websites and Internet protocols in general;</li>
<li>chat bots and integrations.</li>
2023-05-27 16:00:20 +00:00
</ul>
2023-05-28 02:37:00 +00:00
<p>
2024-09-15 18:00:52 +00:00
I'm also a supporter of the <a href={"https://fsfe.org/freesoftware/freesoftware.en.html"}>free software movement</a>, and try to release everything I make under <a href={"https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12"}>a free software license</a>.
</p>
<p>
I hope to see you around the Internet, just like how you've stumbled on my homepage here!
2023-05-28 02:37:00 +00:00
</p>
2022-10-16 02:33:33 +00:00
</section>
</div>
2023-05-29 01:24:24 +00:00
<div className={"chapter-3"}>
2023-05-28 23:18:24 +00:00
<FlipPanel
className={"box"}
front={(flip) => <>
<h3>
My projects
</h3>
<p>
Often, while experimenting with a new technology, I notice something that can be improved, and I try to come up with a solution to it.
</p>
<hr className={"float-bottom"}/>
<p>
Here's a small sample of what I've worked on:
</p>
<div className={"group-lp"}>
<LinkPanel
href={"https://bluelib.steffo.eu/examples/index.html"}
icon={faPaintRoller}
text={"Bluelib"}
description={"Customizable web stylesheet"}
/>
2023-12-19 03:18:07 +00:00
<LinkPanel
2024-09-15 18:00:52 +00:00
href={"https://steffo.itch.io/hella-farm"}
2023-12-19 03:18:07 +00:00
icon={faGamepad}
2024-09-15 18:00:52 +00:00
text={"Hella Farm"}
2023-12-19 03:18:07 +00:00
description={"Game jam prototype"}
/>
</div>
<div className={"group-lp"}>
2023-05-28 23:18:24 +00:00
<LinkPanel
href={"https://github.com/Steffo99/greed"}
icon={faCashRegister}
text={"Greed"}
description={"Telegram store bot"}
/>
<LinkPanel
2023-12-19 03:18:07 +00:00
href={"https://github.com/Steffo99/sophon"}
2023-05-28 23:18:24 +00:00
icon={faBookAtlas}
text={"Sophon"}
description={"Research hub for universities"}
/>
</div>
<div className={"group-lp"}>
<LinkPanel
href={"https://marketplace.visualstudio.com/items?itemName=steffo.steffula-code"}
icon={faPaintbrush}
text={"Steffula Code"}
description={"Color theme for the VSCode editor"}
/>
<LinkPanel
href={"https://steffo.itch.io/pineapple-surf"}
icon={faCog}
text={"Micronfig"}
description={"12-factor app config for Rust"}
/>
</div>
<div className={"group-lp"}>
<LinkPanel
2024-09-15 18:00:52 +00:00
href={"https://stars.steffo.eu/"}
icon={faStar}
text={"Peafowl"}
description={"Static website for reviews"}
2023-05-28 23:18:24 +00:00
/>
<LinkPanel
2024-09-15 18:00:52 +00:00
href={"https://glassflame.github.io/"}
icon={faFire}
text={"Glassflame"}
description={"Obsidian vault web viewer"}
2023-05-28 23:18:24 +00:00
/>
</div>
<hr/>
<p>
If you're interested in seeing more, you can:
</p>
<div className={"group-lp"}>
<LinkPanel
href={"javascript:void(0)"}
icon={faDiagramProject}
text={"View all my projects"}
2023-05-29 01:24:24 +00:00
description={"There's a lot of stuff there!"}
onMouseOver={() => {
repos.load().then()
}}
onPress={() => {
repos.load().then()
flip()
}}
2023-05-28 23:18:24 +00:00
/>
</div>
</>}
back={(flip) => <>
<h3>
2023-05-29 01:24:24 +00:00
All my projects
2023-05-28 23:18:24 +00:00
</h3>
<ProjectsList
repos={repos.data}
/>
2023-05-28 23:18:24 +00:00
<hr className={"float-bottom"}/>
<div className={"group-lp"}>
<LinkPanel
href={"javascript:void(0)"}
icon={faArrowLeft}
text={"Go back"}
2023-05-29 01:24:24 +00:00
description={"That's too much for me..."}
2023-05-28 23:18:24 +00:00
onPress={flip}
/>
</div>
</>}
/>
2023-07-07 01:04:50 +00:00
<section className={"panel box"} id={"panel-accounts"}>
<h3>
Me on the Internet
</h3>
<p>
I sign up to basically any website I stumble upon to explore and study its functions, mechanisms, culture and community, so don't be surprised if you see me somewhere!
</p>
<hr className={"float-bottom"}/>
<p>
I'm currently mostly active on the Fediverse, in particular on:
</p>
<div className={"group-lp"}>
<LinkPanel
2024-03-06 03:18:48 +00:00
href={"https://junimo.party/users/steffo"}
icon={faCircleNodes}
2024-03-06 03:18:48 +00:00
text={"Junimo Party"}
description={"@steffo@junimo.party"}
me
/>
2023-07-07 01:04:50 +00:00
</div>
<hr/>
<p>
Other services I often use are:
</p>
<div className={"group-lp"}>
<LinkPanel
href={"https://github.com/Steffo99"}
icon={faGithub}
text={"GitHub"}
description={"Steffo99"}
2023-12-11 23:36:37 +00:00
me
2023-07-07 01:04:50 +00:00
/>
<LinkPanel
2024-09-15 18:00:52 +00:00
href={"https://forge.steffo.eu/steffo"}
icon={faGitAlt}
text={"Forgejo"}
description={"steffo"}
2023-12-11 23:36:37 +00:00
me
2023-07-07 01:04:50 +00:00
/>
</div>
<div className={"group-lp"}>
<LinkPanel
2023-12-10 15:50:01 +00:00
href={"https://matrix.to/#/@steffo:uniberry.info?via=uniberry.info"}
2023-07-07 01:04:50 +00:00
icon={faBorderAll}
text={"Matrix"}
2023-12-10 15:50:01 +00:00
description={"@steffo:uniberry.info"}
2023-12-11 23:36:37 +00:00
me
2023-07-07 01:04:50 +00:00
/>
<LinkPanel
href={"https://discord.com/users/77703771181817856"}
icon={faDiscord}
text={"Discord"}
2023-07-07 01:50:31 +00:00
description={"steffo"}
2023-12-11 23:36:37 +00:00
me
2023-07-07 01:04:50 +00:00
/>
</div>
<div className={"group-lp"}>
<LinkPanel
href={"https://www.linkedin.com/in/steffo45/"}
icon={faLinkedin}
text={"Linkedin"}
description={"Stefano Pigozzi"}
2023-12-11 23:36:37 +00:00
me
2023-07-07 01:04:50 +00:00
/>
<LinkPanel
href={"mailto:me@steffo.eu"}
icon={faEnvelope}
text={"Email"}
description={"me@steffo.eu"}
2023-12-11 23:36:37 +00:00
me
2023-07-07 01:04:50 +00:00
/>
</div>
<div className={"group-lp"}>
<LinkPanel
href={"https://steamcommunity.com/profiles/76561198034314260/"}
icon={faSteam}
text={"Steam"}
description={"[U:1:74048532]"}
2023-12-11 23:36:37 +00:00
me
2023-07-07 01:04:50 +00:00
/>
<LinkPanel
href={"https://steffo.itch.io/"}
icon={faItchIo}
text={"Itch.io"}
description={"Steffo"}
2023-12-11 23:36:37 +00:00
me
2023-07-07 01:04:50 +00:00
/>
</div>
</section>
2023-05-28 23:18:24 +00:00
<section className={"panel box"} id={"panel-friends"}>
2022-10-16 02:33:33 +00:00
<h3>
2023-05-28 23:18:24 +00:00
My friends
2022-10-16 02:33:33 +00:00
</h3>
2023-05-28 02:37:00 +00:00
<p>
2024-09-15 18:00:52 +00:00
I think that everyone should have their personal website, and to encourage that, I list the website of all my IRL friends here, so that other people may see them!
2023-05-28 02:37:00 +00:00
</p>
2023-05-28 23:18:24 +00:00
<hr className={"float-bottom"}/>
2023-05-28 02:37:00 +00:00
<p>
2023-05-28 23:18:24 +00:00
You can check them out here:
2023-05-28 02:37:00 +00:00
</p>
<div className={"group-lp"}>
<LinkPanel
2023-05-28 23:18:24 +00:00
icon={faGlobe}
text={"Gimbaro"}
href={"https://gimbaro.dev/"}
description={"gimbaro.dev"}
2023-05-28 02:37:00 +00:00
/>
<LinkPanel
2023-05-28 23:18:24 +00:00
icon={faGlobe}
2024-09-02 10:06:03 +00:00
text={"Zelda"}
href={"https://zelda.sh/"}
description={"zelda.sh"}
2023-05-28 02:37:00 +00:00
/>
2022-10-16 02:33:33 +00:00
</div>
2023-05-28 02:37:00 +00:00
<div className={"group-lp"}>
<LinkPanel
2023-05-28 23:18:24 +00:00
icon={faGlobe}
text={"Malbyx"}
2024-09-02 10:06:03 +00:00
href={"https://about.malbyx.eu/it"}
2023-09-01 00:14:16 +00:00
description={"malbyx.eu"}
2023-05-28 02:37:00 +00:00
/>
<LinkPanel
2023-05-28 23:18:24 +00:00
icon={faGlobe}
text={"Nemesis"}
2024-09-02 10:06:03 +00:00
href={"https://www.fermitech.dev/"}
description={"fermitech.dev"}
2023-05-28 02:37:00 +00:00
/>
</div>
<div className={"group-lp"}>
<LinkPanel
2023-05-28 23:18:24 +00:00
icon={faGlobe}
text={"Proto"}
href={"https://fabiodesim.one/"}
description={"fabiodesim.one"}
2023-05-28 02:37:00 +00:00
/>
<LinkPanel
2023-05-28 23:18:24 +00:00
icon={faGlobe}
text={"SnowyCoder"}
href={"https://rossilorenzo.dev/"}
description={"rossilorenzo.dev"}
2023-05-28 02:37:00 +00:00
/>
</div>
<div className={"group-lp"}>
<LinkPanel
2023-05-28 23:18:24 +00:00
icon={faGlobe}
text={"Viktya"}
href={"https://viktya.github.io/"}
description={"viktya.github.io"}
2023-05-28 02:37:00 +00:00
/>
</div>
<hr/>
<p>
2023-05-28 23:18:24 +00:00
Hey friends! If you make a website, please let me know:
2023-05-28 02:37:00 +00:00
</p>
2023-05-29 01:24:24 +00:00
<div className={"group-lp"}>
<LinkPanel
icon={faPlus}
text={"Made something?"}
href={"mailto:imadeawebsite@steffo.eu"}
2023-05-29 01:24:24 +00:00
description={"Tell me about it!"}
/>
</div>
2022-10-16 02:33:33 +00:00
</section>
2023-02-28 12:29:13 +00:00
<section className={"panel box home-ad"} id={"panel-adblocker"}>
<h3>
Fake advertisement
</h3>
<p>
Hey! You're browsing the Internet without an ad-blocker!
</p>
2023-05-28 23:18:24 +00:00
<hr/>
2023-02-28 12:29:13 +00:00
<p>
For your safety and better browser performance, you should install:
</p>
2023-05-28 23:18:24 +00:00
<div className={"group-lp"}>
<LinkPanel
icon={faShieldAlt}
text={"uBlock Origin"}
href={"https://ublockorigin.com"}
description={"Free, open-source ad content blocker"}
/>
2023-02-28 12:29:13 +00:00
</div>
2023-05-28 23:18:24 +00:00
<hr/>
2023-02-28 12:29:13 +00:00
<p>
Additionally, if you are technically inclined, consider setting up this on your network:
2023-02-28 12:29:13 +00:00
</p>
2023-05-28 23:18:24 +00:00
<div className={"group-lp"}>
<LinkPanel
icon={faShield}
text={"Pi-Hole"}
href={"https://pi-hole.net"}
description={"Network-wide ad blocking"}
/>
2023-02-28 12:29:13 +00:00
</div>
2023-05-28 23:18:24 +00:00
<hr/>
<p>
Enjoy a better Internet, and remember to pay for the services you find useful so that they don't need ads to keep existing!
</p>
2023-02-28 12:29:13 +00:00
</section>
2022-10-16 02:33:33 +00:00
</div>
2022-02-19 02:29:14 +00:00
</>
2024-09-02 10:06:03 +00:00
}