Compare commits

...

2 commits

Author SHA1 Message Date
Sangelo 27ad0ecea4 [c] add bun to list of ignored files for prettier and eslint
All checks were successful
Build and push docker image / publish (push) Successful in 43s
2024-06-10 10:32:15 +02:00
Sangelo 7308de8728 [c+a] better accessibility + HomeButton component 2024-06-10 10:27:22 +02:00
11 changed files with 96 additions and 125 deletions

View file

@ -7,7 +7,8 @@ node_modules
.env.*
!.env.example
# Ignore files for PNPM, NPM and YARN
# Ignore files for PNPM, NPM, YARN and BUN
pnpm-lock.yaml
package-lock.json
yarn.lock
bun.lockb

View file

@ -7,7 +7,8 @@ node_modules
.env.*
!.env.example
# Ignore files for PNPM, NPM and YARN
# Ignore files for PNPM, NPM, YARN and BUN
pnpm-lock.yaml
package-lock.json
yarn.lock
bun.lockb

View file

@ -6,12 +6,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="title" content="Sangelo's Space" />
<meta name="description" content="Hello World! My name's Sangelo and I'm a guy who does stuff. That includes UI prototypes, scripts, and programs." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://sangelo.space/" />
<meta property="og:title" content="Sangelo's Space" />
<meta property="og:image" content="https://sangelo.space/assets/img/meta-banner.png" />
<meta name="theme-color" content="#00C4FB">
<meta property="og:description" content="Hello World! I'm a guy who does stuff." />
<meta property="og:description" content="Hello World! My name's Sangelo and I'm a guy who does stuff. That includes UI prototypes, scripts, and programs." />
<meta property="twitter:card" content="summary_large_image" />

View file

@ -1,42 +1,10 @@
<script lang="ts">
import { smoothScrollTo, handleKeydown } from '$lib/index';
import HomeButton from "./elements/HomeButton.svelte";
</script>
<div id="about" class="section">
<header>
<svg
role="button"
class="logo"
width="145px"
height="145px"
viewBox="0 0 145 145"
fill="none"
xmlns="http://www.w3.org/2000/svg"
tabindex="0"
on:click={() => smoothScrollTo('home')}
on:keydown={handleKeydown}
>
<mask
id="mask0_1404_2"
style="mask-type: alpha"
maskUnits="userSpaceOnUse"
x="27"
y="0"
width="90"
height="145"
>
<path
d="M46.7029 141.913C42.9858 137.94 41.035 133.479 41.035 128.952C41.035 123.914 39.9988 121.93 34.0581 115.588C28.1576 109.29 27.0886 106.668 28.273 101.396C29.947 93.9459 32.7227 91.6033 55.6196 78.3162C61.4926 74.908 66.5691 71.4125 66.9008 70.5483C67.6262 68.658 64.9196 64.838 61.5525 63C60.2091 62.2666 54.8908 59.7224 49.7341 57.3461C39.1468 52.4674 32.7016 47.2533 31.3911 42.5068C30.1104 37.8687 31.7499 30.4195 34.7377 27.3009C37.9507 23.9472 54.3659 14.1964 67.4147 7.89039C85.1571 -0.683936 95.0145 -1.86142 100.781 3.90474C104.255 7.37954 104.579 13.2727 101.562 18.1536C98.9972 22.3035 91.6993 28.4086 84.3922 32.5169C81.2408 34.2887 78.5255 36.4495 78.3581 37.3187C77.951 39.4328 82.2355 42.5665 97.3121 51.1814C111.526 59.3033 115.249 62.9778 115.998 69.6225C116.587 74.8466 114.675 79.0223 110.161 82.372C108.414 83.6682 99.8315 88.381 91.0892 92.8447C68.9024 104.173 64.9926 108.482 63.8666 122.844C62.919 134.93 57.5476 144.6 51.7823 144.6C50.2443 144.6 48.2099 143.524 46.7029 141.913Z"
fill="#131313"
/>
</mask>
<g mask="url(#mask0_1404_2)">
<rect width="144.6" height="36.15" fill="#00C4FB" />
<rect y="36.15" width="144.6" height="36.15" fill="#00B1FA" />
<rect y="72.3" width="144.6" height="36.15" fill="#0091FB" />
<rect y="108.45" width="144.6" height="36.15" fill="#0075F7" />
</g>
</svg>
<HomeButton page="about"/>
<h1 class="no-select">About me</h1>
</header>
<content>

View file

@ -24,7 +24,7 @@
style="mask-type: alpha"
maskUnits="userSpaceOnUse"
x="27"
y="0"t
y="0"
width="90"
height="145"
>
@ -51,6 +51,7 @@
on:click={()=> smoothScrollTo('about')}
on:keydown={handleKeydown}
role="button"
aria-label="Scroll down for more"
tabindex=0
>
<IconChevronDown size="1.6em" />

View file

@ -50,9 +50,10 @@
out:fly={{ y: 200, duration: 300 }}
>
{#if contentComponent}
<button class="close-button" on:click={closeModal}><IconCloseCircle size="1.25em"/></button>
<button class="close-button" aria-label="Close Modal" on:click={closeModal}><IconCloseCircle size="1.25em"/></button>
<svelte:component this={contentComponent} />
{:else}
<button class="close-button" aria-label="Close Modal" on:click={closeModal}><IconCloseCircle size="1.25em"/></button>
<p class="error-msg"><span class="error-icon"><IconAlert size="1.5em"/></span><br>No content provided</p>
{/if}
</div>

View file

@ -1,6 +1,6 @@
<script lang="ts">
import { smoothScrollTo, handleKeydown } from '$lib/index';
import HomeButton from './elements/HomeButton.svelte';
// Modal
import Modal from '$lib/components/Modal.svelte';
@ -29,61 +29,29 @@
<div id="projects" class="section">
<header>
<svg
role="button"
class="logo"
width="145px"
height="145px"
viewBox="0 0 145 145"
fill="none"
xmlns="http://www.w3.org/2000/svg"
tabindex="0"
on:click={() => smoothScrollTo('home')}
on:keydown={handleKeydown}
>
<mask
id="mask0_1404_2"
style="mask-type: alpha"
maskUnits="userSpaceOnUse"
x="27"
y="0"
width="90"
height="145"
>
<path
d="M46.7029 141.913C42.9858 137.94 41.035 133.479 41.035 128.952C41.035 123.914 39.9988 121.93 34.0581 115.588C28.1576 109.29 27.0886 106.668 28.273 101.396C29.947 93.9459 32.7227 91.6033 55.6196 78.3162C61.4926 74.908 66.5691 71.4125 66.9008 70.5483C67.6262 68.658 64.9196 64.838 61.5525 63C60.2091 62.2666 54.8908 59.7224 49.7341 57.3461C39.1468 52.4674 32.7016 47.2533 31.3911 42.5068C30.1104 37.8687 31.7499 30.4195 34.7377 27.3009C37.9507 23.9472 54.3659 14.1964 67.4147 7.89039C85.1571 -0.683936 95.0145 -1.86142 100.781 3.90474C104.255 7.37954 104.579 13.2727 101.562 18.1536C98.9972 22.3035 91.6993 28.4086 84.3922 32.5169C81.2408 34.2887 78.5255 36.4495 78.3581 37.3187C77.951 39.4328 82.2355 42.5665 97.3121 51.1814C111.526 59.3033 115.249 62.9778 115.998 69.6225C116.587 74.8466 114.675 79.0223 110.161 82.372C108.414 83.6682 99.8315 88.381 91.0892 92.8447C68.9024 104.173 64.9926 108.482 63.8666 122.844C62.919 134.93 57.5476 144.6 51.7823 144.6C50.2443 144.6 48.2099 143.524 46.7029 141.913Z"
fill="#131313"
/>
</mask>
<g mask="url(#mask0_1404_2)">
<rect width="144.6" height="36.15" fill="#00C4FB" />
<rect y="36.15" width="144.6" height="36.15" fill="#00B1FA" />
<rect y="72.3" width="144.6" height="36.15" fill="#0091FB" />
<rect y="108.45" width="144.6" height="36.15" fill="#0075F7" />
</g>
</svg>
<HomeButton page="projects"/>
<h1 class="no-select">Projects</h1>
</header>
<content>
<div class="container">
<div class="grid">
<div class="one">
<button class="button inactive" />
<button class="button inactive" />
<button class="button sangelo" on:click={() => openModalWith(SangeloSpaceModal)} />
<button class="button lunivity" on:click={() => openModalWith(LunivityModal)} />
<button class="button inactive" aria-label="Inactive Button" />
<button class="button inactive" aria-label="Inactive Button" />
<button class="button sangelo" aria-label="Sangelo's Space" on:click={() => openModalWith(SangeloSpaceModal)} />
<button class="button lunivity" aria-label="Lunivity" on:click={() => openModalWith(LunivityModal)} />
</div>
<div class="two">
<button class="button gitpot" on:click={() => openModalWith(GitpotModal)} />
<button class="button dashinit" on:click={() => openModalWith(DashinitModal)} />
<button class="button explorecraft" on:click={() => openModalWith(ExploreCraftModal)} />
<button class="button utility" on:click={() => openModalWith(UtilityClientModal)} />
<button class="button gitpot" aria-label="Gitpot" on:click={() => openModalWith(GitpotModal)} />
<button class="button dashinit" aria-label="Dashinit" on:click={() => openModalWith(DashinitModal)} />
<button class="button explorecraft" aria-label="ExploreCraft" on:click={() => openModalWith(ExploreCraftModal)} />
<button class="button utility" aria-label="UtilityClient" on:click={() => openModalWith(UtilityClientModal)} />
</div>
<div class="thr">
<button class="button inactive" />
<button class="button sangefault" on:click={() => openModalWith(SangeFaultModal)} />
<button class="button next" on:click={() => openModalWith(MoreProjectsModal)} />
<button class="button inactive" />
<button class="button inactive" aria-label="Inactive Button" />
<button class="button sangefault" aria-label="SangeFault" on:click={() => openModalWith(SangeFaultModal)} />
<button class="button next" aria-label="More Projects..." on:click={() => openModalWith(MoreProjectsModal)} />
<button class="button inactive" aria-label="Inactive Button" />
</div>
</div>
<div class="tip">

View file

@ -1,8 +1,9 @@
<script lang="ts">
import { onMount } from 'svelte';
import { slide } from 'svelte/transition';
import { smoothScrollTo, handleKeydown, openWebsite } from '$lib/index';
import { openWebsite } from '$lib/index';
import { emojis } from '$lib/emojis';
import HomeButton from './elements/HomeButton.svelte';
// Icons
import IconDiscord from 'svelte-material-icons/Discord.svelte';
@ -245,39 +246,7 @@
</div>
</content>
<footer>
<svg
role="button"
class="logo"
width="145px"
height="145px"
viewBox="0 0 145 145"
fill="none"
xmlns="http://www.w3.org/2000/svg"
tabindex="0"
on:click={() => smoothScrollTo('home')}
on:keydown={handleKeydown}
>
<mask
id="mask0_1404_2"
style="mask-type: alpha"
maskUnits="userSpaceOnUse"
x="27"
y="0"
width="90"
height="145"
>
<path
d="M46.7029 141.913C42.9858 137.94 41.035 133.479 41.035 128.952C41.035 123.914 39.9988 121.93 34.0581 115.588C28.1576 109.29 27.0886 106.668 28.273 101.396C29.947 93.9459 32.7227 91.6033 55.6196 78.3162C61.4926 74.908 66.5691 71.4125 66.9008 70.5483C67.6262 68.658 64.9196 64.838 61.5525 63C60.2091 62.2666 54.8908 59.7224 49.7341 57.3461C39.1468 52.4674 32.7016 47.2533 31.3911 42.5068C30.1104 37.8687 31.7499 30.4195 34.7377 27.3009C37.9507 23.9472 54.3659 14.1964 67.4147 7.89039C85.1571 -0.683936 95.0145 -1.86142 100.781 3.90474C104.255 7.37954 104.579 13.2727 101.562 18.1536C98.9972 22.3035 91.6993 28.4086 84.3922 32.5169C81.2408 34.2887 78.5255 36.4495 78.3581 37.3187C77.951 39.4328 82.2355 42.5665 97.3121 51.1814C111.526 59.3033 115.249 62.9778 115.998 69.6225C116.587 74.8466 114.675 79.0223 110.161 82.372C108.414 83.6682 99.8315 88.381 91.0892 92.8447C68.9024 104.173 64.9926 108.482 63.8666 122.844C62.919 134.93 57.5476 144.6 51.7823 144.6C50.2443 144.6 48.2099 143.524 46.7029 141.913Z"
fill="#131313"
/>
</mask>
<g mask="url(#mask0_1404_2)">
<rect width="144.6" height="36.15" fill="#00C4FB" />
<rect y="36.15" width="144.6" height="36.15" fill="#00B1FA" />
<rect y="72.3" width="144.6" height="36.15" fill="#0091FB" />
<rect y="108.45" width="144.6" height="36.15" fill="#0075F7" />
</g>
</svg>
<HomeButton page="socials"/>
<p class="no-select footer footer-credits">&copy; Sangelo 2023-2024, All rights reserved.</p>
<p class="no-select footer footer-text">
<!-- svelte-ignore a11y-click-events-have-key-events -->

View file

@ -0,0 +1,66 @@
<script lang="ts">
import { smoothScrollTo, handleKeydown } from '$lib/index';
export let page: string;
</script>
<svg
role="button"
class="logo"
width="145px"
height="145px"
viewBox="0 0 145 145"
fill="none"
xmlns="http://www.w3.org/2000/svg"
tabindex="0"
on:click={() => smoothScrollTo('home')}
on:keydown={handleKeydown}
>
<mask
id="mask0_1404_2"
style="mask-type: alpha"
maskUnits="userSpaceOnUse"
x="27"
y="0"
width="90"
height="145"
>
<path
d="M46.7029 141.913C42.9858 137.94 41.035 133.479 41.035 128.952C41.035 123.914 39.9988 121.93 34.0581 115.588C28.1576 109.29 27.0886 106.668 28.273 101.396C29.947 93.9459 32.7227 91.6033 55.6196 78.3162C61.4926 74.908 66.5691 71.4125 66.9008 70.5483C67.6262 68.658 64.9196 64.838 61.5525 63C60.2091 62.2666 54.8908 59.7224 49.7341 57.3461C39.1468 52.4674 32.7016 47.2533 31.3911 42.5068C30.1104 37.8687 31.7499 30.4195 34.7377 27.3009C37.9507 23.9472 54.3659 14.1964 67.4147 7.89039C85.1571 -0.683936 95.0145 -1.86142 100.781 3.90474C104.255 7.37954 104.579 13.2727 101.562 18.1536C98.9972 22.3035 91.6993 28.4086 84.3922 32.5169C81.2408 34.2887 78.5255 36.4495 78.3581 37.3187C77.951 39.4328 82.2355 42.5665 97.3121 51.1814C111.526 59.3033 115.249 62.9778 115.998 69.6225C116.587 74.8466 114.675 79.0223 110.161 82.372C108.414 83.6682 99.8315 88.381 91.0892 92.8447C68.9024 104.173 64.9926 108.482 63.8666 122.844C62.919 134.93 57.5476 144.6 51.7823 144.6C50.2443 144.6 48.2099 143.524 46.7029 141.913Z"
fill="#131313"
/>
</mask>
<g mask="url(#mask0_1404_2)">
<rect width="144.6" height="36.15" fill="#00C4FB" />
<rect y="36.15" width="144.6" height="36.15" fill="#00B1FA" />
<rect y="72.3" width="144.6" height="36.15" fill="#0091FB" />
<rect y="108.45" width="144.6" height="36.15" fill="#0075F7" />
</g>
</svg>
{#if page === 'about'}
<style lang="scss">
@import '$styles/about.scss';
</style>
{/if}
{#if page === 'projects'}
<style lang="scss">
@import '$styles/projects.scss';
</style>
{/if}
{#if page === 'socials'}
<style lang="scss">
// didn't import file directly, because it was creating weird shadows
// for the social icons above, and I don't know why :p
// @import '$styles/socials.scss';
footer {
svg.logo {
height: 3em;
width: 3em;
cursor: pointer;
}
}
</style>
{/if}

View file

@ -164,12 +164,6 @@
footer {
margin: 2em;
svg.logo {
height: 3em;
width: 3em;
cursor: pointer;
}
.footer {
font-size: 18px;
}

View file

@ -1,4 +1,5 @@
{
"__comment__": "Do not edit file directly, this will be populated by the build script.",
"commit": "unavailable",
"tag": "unavailable"
}