Improve site design

main
Midnight 3 months ago
parent ebe8fa58e7
commit c00c0e03fb

@ -3,19 +3,21 @@
export let type = 'default'; export let type = 'default';
</script> </script>
<div class="@container grid grid-cols-2 @xl:grid-cols-3 @4xl:grid-cols-4 flex-wrap gap-3"> <div class="@container grid grid-cols-2 @2xl:grid-cols-3 flex-wrap gap-5">
<Social <!-- <Social
url="https://mastodon.social/@midblep" url="https://mastodon.social/@midblep"
title="My profile on the fediverse!" title="My profile on the fediverse!"
icon="🐘" icon="🐘"
text="Mastodon" text="Mastodon"
/> />
<Social <Social
url="https://mastodon.social/@midblep" url="https://mastodon.social/@midblep"
title="Bird app (or X?)" title="Bird app (or X?)"
icon="🐦" icon="🐦"
text="Twitter (X)" text="Twitter (X)"
/>
/> -->
<Social url="https://git.bartindustries.com/" title="Git repositories" icon="🗃️" text="Git" /> <Social url="https://git.bartindustries.com/" title="Git repositories" icon="🗃️" text="Git" />
<Social url="https://gitlab.com/midblep" title="GitLab repositories" icon="🦊" text="GitLab" /> <Social url="https://gitlab.com/midblep" title="GitLab repositories" icon="🦊" text="GitLab" />
<Social url="https://github.com/midblep" title="GitHub repositories" icon="🐙" text="GitHub" /> <Social url="https://github.com/midblep" title="GitHub repositories" icon="🐙" text="GitHub" />

@ -1,11 +1,11 @@
<script> <script>
import { onMount } from "svelte"; import { onMount } from 'svelte';
import { getCookie } from "./helpers/cookies"; import { getCookie } from './helpers/cookies';
let classes = "h-full py-2 px-10 text-white flex justify-center items-center uppercase group hover:bg-white hover:bg-opacity-20 font-bold text-lg duration-300"; let classes = 'p-2 ml-2';
function switchTheme() { function switchTheme() {
if (document.documentElement.classList.contains("dark")) { if (document.documentElement.classList.contains('dark')) {
setLight(); setLight();
} else { } else {
setDark(); setDark();
@ -13,31 +13,29 @@
} }
function setLight() { function setLight() {
document.documentElement.classList.remove("dark"); document.documentElement.classList.remove('dark');
document.querySelector("#theme").innerHTML = "☀️"; document.querySelector('#theme').innerHTML = '☀️';
document.cookie = "theme=light"; document.cookie = 'theme=light';
} }
function setDark() { function setDark() {
document.documentElement.classList.add("dark"); document.documentElement.classList.add('dark');
document.querySelector("#theme").innerHTML = "🌙"; document.querySelector('#theme').innerHTML = '🌙';
document.cookie = "theme=dark"; document.cookie = 'theme=dark';
} }
onMount(() => { onMount(() => {
let theme = getCookie("theme"); let theme = getCookie('theme');
if (!theme) { if (!theme) {
document.cookie = "theme=light"; document.cookie = 'theme=light';
} else { } else {
if (theme == "light") setLight(); if (theme == 'light') setLight();
if (theme == "dark") setDark(); if (theme == 'dark') setDark();
} }
}); });
</script> </script>
<button type="none" class={classes} on:click={switchTheme} id="theme"> <button type="none" class={classes} on:click={switchTheme} id="theme">
<span class="transform group-hover:scale-90 duration-300"> <span class="transform group-hover:scale-90 duration-300"> Dark / Light </span>
Dark / Light
</span>
</button> </button>

@ -1,33 +1,16 @@
<script> <script>
import Form from "$lib/home/Form.svelte"; import Form from '$lib/home/Form.svelte';
import Socials from "$lib/Socials.svelte"; import Socials from '$lib/Socials.svelte';
import ThemeSwitcher from "$lib/ThemeSwitcher.svelte"; import ThemeSwitcher from '$lib/ThemeSwitcher.svelte';
import Social from "./Social.svelte"; import Social from './Social.svelte';
</script> </script>
<footer <footer
class="@container py-20 bg-white dark:bg-black dark:bg-opacity-50 text-black dark:text-white z-20 flex flex-col gap-10" class="@container py-20 lg:mt-40 bg-gradient-to-t from-blue-500 dark:from-blue-900 text-black dark:text-white z-20 flex flex-col gap-10"
> >
<div class="absolute top-0 -mt-40" id="contact"></div> <section class="container flex flex-col justify-between gap-5">
<h4 class="text-2xl font-bold">Bart Industries</h4>
<section <div class="flex flex-col">
class="container grid grid-cols-1 @xl:grid-cols-2 gap-20 justify-between"
id="contact"
>
<Form />
<div class="@lg:flex justify-end items-start">
<img src="/homepage/fullbody.png" class="w-[500px]" alt="contact" />
</div>
</section>
<hr class="container my-10 lg:my-10 opacity-10" />
<section
class="container flex flex-col-reverse lg:flex-row justify-between gap-10"
>
<div class="flex flex-col gap-3">
<h4 class="text-2xl font-bold">Bart Industries</h4>
<p class="text-sm">Copyright 2022 Pascal van Ginkel. All rights reserved.</p> <p class="text-sm">Copyright 2022 Pascal van Ginkel. All rights reserved.</p>
<p class="text-sm">Website made using SvelteKit, hosted on Vercel.</p> <p class="text-sm">Website made using SvelteKit, hosted on Vercel.</p>
</div> </div>

@ -3,8 +3,9 @@
export let icon; export let icon;
export let url; export let url;
export let title; export let title;
export let align = "center"; export let align = 'center';
export let justify = "center"; export let justify = 'center';
export let stay = null;
if (title == null) title = text; if (title == null) title = text;
</script> </script>
@ -13,10 +14,10 @@
href={url} href={url}
{title} {title}
target="_blank" target="_blank"
class="rounded-xl bg-gray-200 bg-opacity-80 hover:bg-opacity-100 dark:bg-slate-800 hover:bg-blue-400 dark:hover:bg-blue-600 hover:scale-[101%] hover:shadow-2xl duration-150 shadow" class="border-2 border-white border-opacity-20 bg-opacity-10 bg-white hover:bg-opacity-40 rounded-xl duration-300"
> >
<div class="flex gap-2 items-center justify-{justify} p-2 lg:p-5"> <div class="flex gap-4 items-center py-2 px-4">
<span class="text-2xl lg:text-5xl">{icon}</span> <span class="text-2xl">{icon}</span>
<span class="text-gray-700 dark:text-gray-300 font-light text-base lg:text-lg text-{align}">{text}</span> <span class="font-light text-base lg:text-lg text-{align}">{text}</span>
</div> </div>
</a> </a>

@ -1,14 +1,7 @@
<script> <script>
import Nav from "./Nav.svelte"; import Nav from './Nav.svelte';
</script> </script>
<main <main class="px-5 w-full from-blue-700 to-blue-900 dark:bg-opacity-50 text-black dark:text-white">
class="bg-gradient-to-r h-16 fixed w-full from-blue-700 to-blue-900 dark:bg-opacity-50 text-black dark:text-white z-40 overflow-hidden" <Nav />
>
<section class="">
<Nav />
</section>
</main> </main>
<div class="h-16">
</div>

@ -5,39 +5,19 @@
import NavDropdown from './NavDropdown.svelte'; import NavDropdown from './NavDropdown.svelte';
</script> </script>
<div class="flex items-center justify-between"> <div class="@container">
<div class="flex items-center"> <div class="flex flex-col @2xl:flex-row items-center gap-2 p-2 justify-between">
<a class="flex h-16 hover:bg-white hover:bg-opacity-20 duration-300" href="/"> <a
<img class="flex items-center rounded-xl hover:dark:bg-white hover:bg-black hover:bg-opacity-20 hover:dark:bg-opacity-20 whitepigeon duration-300 text-center text-xl @2xl:text-4xl"
src="/bart.png" href="/"
alt="Logo" >
class="h-full px-5 py-3 transform hover:scale-95 duration-300" <span class="transform hover:scale-95 duration-300 px-4 py-2">Bart Industries</span>
/>
</a> </a>
<div class="hidden lg:flex h-16"> <div class="flex gap-2">
<NavButton url="/" text="Home" /> <NavButton url="/about" text="About" />
<NavButton url="/#blog" text="Blog" /> <NavButton url="/portfolio" text="Portfolio" />
<NavButton url="/#portfolio" text="Portfolio" /> <NavButton url="/blog" text="Blog" />
<NavButton url="/#about" text="About" />
<NavButton url="/#vr" text="VR" />
<!-- <NavButton url="/#furry" text="Furry" /> -->
<NavButton url="/#contact" text="Contact" />
</div>
</div>
<div class="hidden lg:flex h-16">
<ThemeSwitcher />
</div>
<div class="flex lg:hidden h-16">
<NavDropdown text="🍔">
<NavButton url="/" text="Home" />
<NavButton url="/#blog" text="Blog" />
<NavButton url="/#portfolio" text="Portfolio" />
<NavButton url="/#about" text="About" />
<NavButton url="/#vr" text="VR" />
<!-- <NavButton url="/#furry" text="Furry" /> -->
<NavButton url="/#contact" text="Contact" />
<hr class="bg-white" />
<ThemeSwitcher /> <ThemeSwitcher />
</NavDropdown> </div>
</div> </div>
</div> </div>

@ -1,9 +1,9 @@
<script> <script>
import { page } from '$app/stores'; import { page } from '$app/stores';
export let text = ""; export let text = '';
export let url = ""; export let url = '';
export let type = ""; export let type = '';
export let disabled = false; export let disabled = false;
let classes; let classes;
@ -12,44 +12,44 @@
function initButton(givenUrl) { function initButton(givenUrl) {
let current; let current;
classes = "h-full py-2 px-10 flex justify-center items-center uppercase group"; classes =
'h-full xl:py-2 py-1 xl:px-10 px-2 flex justify-center items-center uppercase group rounded-xl';
switch (type) { switch (type) {
case "title": case 'title':
classes += classes += ' text-xl font-bold bg-amber-500 duration-300';
" text-xl font-bold bg-amber-500 duration-300";
break; break;
default: default:
classes += classes +=
" hover:bg-white hover:bg-opacity-20 font-bold text-lg duration-300"; ' hover:bg-black hover:dark:bg-white hover:bg-opacity-20 hover:dark:bg-opacity-20 font-bold text-lg duration-300';
break; break;
} }
if (disabled) { if (disabled) {
url = null; url = null;
classes += " cursor-not-allowed opacity-50 select-none"; classes += ' cursor-not-allowed opacity-50 select-none';
} }
if(url == "/") current = givenUrl == "/"; if (url == '/') current = givenUrl == '/';
if(url != "/") current = givenUrl.includes(url); if (url != '/') current = givenUrl.includes(url);
current = false; current = false;
if(current == true) { if (current == true) {
classes += " text-white bg-white bg-opacity-10"; classes += ' text-black dark:text-white bg-white bg-opacity-10';
} else { } else {
classes += " text-gray-200"; classes += ' text-gray-900 dark:text-gray-200';
} }
} }
page.subscribe(value => { page.subscribe((value) => {
initButton(value.url.pathname); initButton(value.url.pathname);
}); });
</script> </script>
<a href={url} class={classes} on:click> <a href={url} class={classes} on:click>
<p class="transform duration-300 {!disabled ? "group-hover:scale-110" : ''}"> <p class="transform duration-300 {!disabled ? 'group-hover:scale-110' : ''}">
{text} {text}
</p> </p>
</a> </a>

@ -1,91 +1,89 @@
<script> <script>
import Socials from "$lib/Socials.svelte"; import Socials from '$lib/Socials.svelte';
import { onMount } from "svelte"; import { onMount } from 'svelte';
import { fade, blur, fly, slide, scale } from "svelte/transition"; import { fade, blur, fly, slide, scale } from 'svelte/transition';
import { quintOut } from "svelte/easing"; import { quintOut } from 'svelte/easing';
let name = "Midnight"; let name = 'Midnight';
const array = [ const array = [
"/banner1.png", '/banner1.png',
"/banner2.png", '/banner2.png',
"/banner3.png", '/banner3.png',
"/banner4.png", '/banner4.png',
"/banner5.jpeg", '/banner5.jpeg',
"/banner6.png", '/banner6.png',
"/banner7.png", '/banner7.png',
"/banner8.png", '/banner8.png'
]; ];
const words = [ const words = [
"JavaScript", 'JavaScript',
"TypeScript", 'TypeScript',
"MySQL", 'MySQL',
"Laravel", 'Laravel',
"PHP", 'PHP',
"Livewire", 'Livewire',
"NestJS", 'NestJS',
"NodeJS", 'NodeJS',
"Unity", 'Unity',
"Substance Painter", 'Substance Painter',
"Blender", 'Blender',
"PostgreSQL", 'PostgreSQL',
"TailwindCSS", 'TailwindCSS',
"Bootstrap", 'Bootstrap',
"Fontawesome", 'Fontawesome',
"Sass", 'Sass',
"Webpack", 'Webpack',
"Redis", 'Redis',
"Svelte", 'Svelte',
"SvelteKit", 'SvelteKit',
"Python", 'Python',
"Django", 'Django',
"Vue", 'Vue',
"Java", 'Java',
"JavaFX", 'JavaFX',
"NGINX", 'NGINX',
"Docker", 'Docker',
"REST", 'REST',
"GraphQL", 'GraphQL',
"TypeORM", 'TypeORM',
"Eloquent", 'Eloquent',
"Express", 'Express',
"Linux", 'Linux',
"Composer", 'Composer',
"AlpineJS", 'AlpineJS',
"Blade", 'Blade',
"JSX", 'JSX',
"Pug", 'Pug',
"Wordpress", 'Wordpress',
"Vercel", 'Vercel',
"Netlify", 'Netlify',
"AWS S3", 'AWS S3',
"Backblaze" 'Backblaze',
'EntityFramework',
'.NET Core'
]; ];
const names = [ const names = ['Pascal', 'Mid', 'Midblep', 'Midnight'];
"Pascal",
"Mid",
"Midblep",
"Midnight"
];
function calculateAge(birthday) { // birthday is a date function calculateAge(birthday) {
// birthday is a date
var ageDifMs = Date.now() - birthday; var ageDifMs = Date.now() - birthday;
var ageDate = new Date(ageDifMs); // miliseconds from epoch var ageDate = new Date(ageDifMs); // miliseconds from epoch
return Math.abs(ageDate.getUTCFullYear() - 1970); return Math.abs(ageDate.getUTCFullYear() - 1970);
} }
onMount(() => { onMount(() => {
for(let j = 0; j < 20; j++) { for (let j = 0; j < 20; j++) {
let list = document.createElement('div'); let list = document.createElement('div');
list.classList.add('flex', "gap-2"); list.classList.add('flex', 'gap-2');
for (let i = 0; i < 20; i++) { for (let i = 0; i < 20; i++) {
const word = words[Math.floor(Math.random() * words.length)]; const word = words[Math.floor(Math.random() * words.length)];
let element = document.createElement('span'); let element = document.createElement('span');
element.innerHTML = word; element.innerHTML = word;
element.classList.add("text-9xl", "p-10", "whitespace-nowrap"); element.classList.add('text-9xl', 'p-10', 'whitespace-nowrap');
list.appendChild(element); list.appendChild(element);
} }
@ -101,62 +99,81 @@
}); });
let randomBannerPic = array[Math.floor(Math.random() * array.length)]; let randomBannerPic = array[Math.floor(Math.random() * array.length)];
randomBannerPic = "/homepage/banner.png"; randomBannerPic = '/homepage/banner.png';
</script> </script>
<main class="relative overflow-hidden min-h-screen @container"> <main class="w-full h-full @container">
<div class="absolute inset-0 w-full h-screen flex flex-col items-center gap-1 justify-center font-bold anim opacity-5 dark:opacity-5" id="lists"> <section
</div> class="bg-[#3A53FF] @2xl:rounded-t-[40px] relative overflow-hidden @container text-white"
>
<div class="flex h-full w-full @4xl:p-20 gap-20 p-5 z-10"> <div
<div class="items-start @7xl:block hidden z-10"> class="absolute inset-0 w-full h-full bg-no-repeat bg-cover bg-top opacity-50 rounded-t-[40px]"
<img style="background-image: url('portfoliobackg.svg')"
src={randomBannerPic} />
alt="mid"
class="w-[40vw] z-10" <div
/> class="absolute inset-0 w-full h-screen flex flex-col items-center gap-1 justify-center font-bold anim opacity-5 dark:opacity-5"
</div> id="lists"
/>
<div class="flex flex-col py-5 h-full gap-10 z-10">
<div class="flex flex-col gap-10"> <div class="flex h-full w-full @4xl:p-20 gap-20 p-5 z-10">
<span> <div class="items-start @7xl:block hidden z-10 w-full">
<img src="/helloblue.png" alt="Hello!" class="h-20 popout" /> <img src={randomBannerPic} alt="mid" class="w-[40vw] z-10" />
</span> </div>
<span class="flex gap-2 flex-wrap items-end"> <div class="flex flex-col py-5 h-full gap-10 z-10 w-full">
<h2 class="text-4xl flex gap-2 font-extrabold">I'm <div class="flex flex-col gap-2">
<p class="text-4xl font-bold"><span class="whitepigeon">Hello</span></p>
<h2 class="text-6xl flex gap-2 font-extralight">
I'm
<span class="flex items-center"> <span class="flex items-center">
{#key name} {#key name}
<span in:scale>{name}</span> <span in:scale>{name}</span>
{/key} {/key}
<h2 class="text-4xl font-extrabold">,</h2>
</span> </span>
</h2> </h2>
<span class="text-3xl font-extralight"> </div>
and i really like to build things
</span> <p class="lg:text-lg @2xl:mb-10">
</span> I'm a {calculateAge(new Date('2001-10-30'))} year old programmer and tech enthusiast from The
Netherlands. I have a Bachelor of Science degree in Software Engineering and run a development
company called DubbelNull. During the week I work at Agro IT and build software that improves
the lives of people through efficient solutions.
<br /><br />
Bart Industries is my public digital home. It's a collection of my socials, work experiences
and past projects, artworks, hobbies and interests, fursonas and anything else I feel like
sharing with the world.
<br /><br />
Feel free to have a look around and learn about who I am and the things I've worked on.
</p>
<Socials stay="light" type="default" />
</div> </div>
<p class="text-gray-800 dark:text-gray-300 lg:text-lg max-w-[800px]">
I'm a {calculateAge(new Date("2001-10-30"))} year old programmer and tech enthusiast from The Netherlands. I have an entrepreneurial spirit and own a webdevelopment studio called DubbelNull.
I am motivated by creating reliable software that makes a difference and improves the lives of people through unique solutions.
<br/><br/>
Bart Industries is my public digital home. It's a collection of my socials, work experiences and past projects, artworks, hobbies and interests, fursonas and anything else I feel like sharing with the world.
<br/><br/>
Feel free to have a look around and learn about who I am and the things I've worked on.
</p>
<Socials type="default" />
<span class="hidden 2xl:flex justify-center text-8xl float text-blue-600">
<img src="/downarrow.png" class="w-10" />
</span>
</div> </div>
</div>
<svg class="dark:hidden block absolute left-0 bottom-0 right-0" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="#e5e7eb" fill-opacity="1" d="M0,96L48,96C96,96,192,96,288,112C384,128,480,160,576,176C672,192,768,192,864,213.3C960,235,1056,277,1152,266.7C1248,256,1344,192,1392,160L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg> <div class="hidden @2xl:block">
<svg class="hidden dark:block absolute left-0 bottom-0 right-0" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="#1f2937" fill-opacity="1" d="M0,96L48,96C96,96,192,96,288,112C384,128,480,160,576,176C672,192,768,192,864,213.3C960,235,1056,277,1152,266.7C1248,256,1344,192,1392,160L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg> <svg
class="dark:hidden block absolute left-0 bottom-0 right-0 scale-105 -ml-5"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 1440 320"
><path
fill="#fff"
fill-opacity="1"
d="M0,96L48,96C96,96,192,96,288,112C384,128,480,160,576,176C672,192,768,192,864,213.3C960,235,1056,277,1152,266.7C1248,256,1344,192,1392,160L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"
/></svg
>
<svg
class="hidden dark:block absolute left-0 bottom-0 right-0 scale-105 -ml-5"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 1440 320"
><path
fill="#000"
fill-opacity="1"
d="M0,96L48,96C96,96,192,96,288,112C384,128,480,160,576,176C672,192,768,192,864,213.3C960,235,1056,277,1152,266.7C1248,256,1344,192,1392,160L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"
/></svg
>
</div>
</section>
</main> </main>
<style> <style>

@ -1,16 +1,16 @@
<script> <script>
import Socials from "$lib/Socials.svelte"; import Socials from '$lib/Socials.svelte';
import { variables } from "$lib/helpers/variables"; import { variables } from '$lib/helpers/variables';
let email = ""; let email = '';
let message = ""; let message = '';
let notify; let notify;
function send() { function send() {
email = ""; email = '';
message = ""; message = '';
notify = "Email sent!"; notify = 'Email sent!';
} }
</script> </script>
@ -18,27 +18,14 @@
<img src="/homepage/contact.png" class="w-60 mb-2" alt="fullbody of mid" /> <img src="/homepage/contact.png" class="w-60 mb-2" alt="fullbody of mid" />
<article class="flex flex-col gap-5 lg:gap-10"> <article class="flex flex-col gap-5 lg:gap-10">
<section <section class="flex flex-col gap-5 flex-grow">
class="bg-slate-300 bg-opacity-50 dark:bg-slate-800 p-10 rounded-xl shadow flex flex-col gap-5 flex-grow" <form class="flex flex-col gap-5" action="https://api.staticforms.xyz/submit" method="post">
> <input type="hidden" name="accessKey" value="f237579b-85d1-414f-846c-409b8c8f57f0" />
<form
class="flex flex-col gap-5"
action="https://api.staticforms.xyz/submit"
method="post"
>
<input
type="hidden"
name="accessKey"
value="f237579b-85d1-414f-846c-409b8c8f57f0"
/>
<input type="text" name="honeypot" style="display: none;" /> <input type="text" name="honeypot" style="display: none;" />
<input type="hidden" name="redirectTo" value={variables.appUrl} /> <input type="hidden" name="redirectTo" value={variables.appUrl} />
<div class="flex flex-col"> <div class="flex flex-col">
<label for="email" value="E-Mail" class="text-lg font-bold" <label for="email" value="E-Mail" class="text-lg font-bold">E-Mail</label>
>E-Mail</label
>
<input <input
id="email" id="email"
name="email" name="email"
@ -49,9 +36,7 @@
</div> </div>
<div class="flex flex-col"> <div class="flex flex-col">
<label for="message" value="E-Mail" class="text-lg font-bold" <label for="message" value="E-Mail" class="text-lg font-bold">Message</label>
>Message</label
>
<textarea <textarea
id="message" id="message"
name="message" name="message"
@ -62,7 +47,7 @@
</div> </div>
<div class="flex flex-col"> <div class="flex flex-col">
{#if email != "" && message != ""} {#if email != '' && message != ''}
<button <button
type="submit" type="submit"
on:click={send} on:click={send}
@ -88,7 +73,7 @@
</form> </form>
</section> </section>
<Socials/> <Socials />
</article> </article>
</main> </main>

@ -60,7 +60,7 @@
<section class="relative"> <section class="relative">
<div class="@container flex flex-col justify-center"> <div class="@container flex flex-col justify-center">
<div class="flex flex-col gap-2 whitepigeon text-white text-center"> <div class="flex flex-col gap-2 whitepigeon text-center">
<h2 class="font-bold text-4xl lg:text-8xl">Portfolio</h2> <h2 class="font-bold text-4xl lg:text-8xl">Portfolio</h2>
<p class="lg:text-lg"> <p class="lg:text-lg">
A collection of some of the projects and experiences I am most proud of A collection of some of the projects and experiences I am most proud of
@ -68,7 +68,7 @@
</div> </div>
<div <div
class="container my-5 lg:my-20 grid grid-cols-1 @2xl:grid-cols-2 @6xl:grid-cols-3 gap-5 justify-between" class="my-5 lg:my-20 grid grid-cols-1 @2xl:grid-cols-2 @4xl:grid-cols-3 @7xl:grid-cols-4 gap-5 justify-between"
> >
<div class="absolute top-0 -mt-40" id="portfolio" /> <div class="absolute top-0 -mt-40" id="portfolio" />
@ -80,11 +80,12 @@
<span class="text-sm font-light">2023 and ongoing</span> <span class="text-sm font-light">2023 and ongoing</span>
</h3> </h3>
<p class="text-sm text-gray-800 dark:text-gray-100"> <p class="text-sm text-gray-800 dark:text-gray-100">
During my study's internship at Agro IT I developed a user friendly web environment for During an internship at Agro IT I developed a web environment for RVDM, a realtime manure
their RVDM.<br /><br /> transport compliance system. The company liked what I built and hired me to develop it
The company liked what I built and wanted to expand upon it, so they hired me after the internship further as a sidejob. I then developed another system for hour and work registration for
to finish the prototype and roll it out to clients. Now I work on creating web versions for my graduation project, and was hired to continue as a software engineer after my studies.
all their products.<br /><br /> Now I help Agro IT transition their products to the cloud and develop new systems for
customers.
</p> </p>
<img src="/rvdm.png" class="rounded-xl" alt="Picture of some people from the DevOps Team" /> <img src="/rvdm.png" class="rounded-xl" alt="Picture of some people from the DevOps Team" />
</Card> </Card>
@ -135,12 +136,11 @@
<span class="text-sm font-light">2020 to 2024</span> <span class="text-sm font-light">2020 to 2024</span>
</h3> </h3>
<p class="text-sm text-gray-800 dark:text-gray-100"> <p class="text-sm text-gray-800 dark:text-gray-100">
I am a year 4 student at the Saxion University of Applied Sciences in The Netherlands I obtained a Bachelor in HBO-ICT (Software Engineering) at the Saxion University of
majoring in Software Engineering and expected to graduate in July of 2024. Applied Sciences in The Netherlands. During the study I've done a multitude of projects
<br /><br /> for clients and worked in teams comprised of people with lots of different backgrounds. I
During the study I've done several projects for real clients and worked in teams comprised have mostly worked with Java, JavaScript, Python and C#, and also have professional and
of people with lots of different backgrounds. I have mostly worked with Java, JavaScript, Python practical skills with many sysadmin tasks.
and C#.
</p> </p>
<img src="homepage/computer.png" class="w-40" /> <img src="homepage/computer.png" class="w-40" />
</Card> </Card>
@ -162,122 +162,145 @@
</Card> </Card>
</span> </span>
<span class="@xl:row-span-3 @container"> <span class="@2xl:row-span-2">
<Card>
<h3 class="text-xl font-bold flex-wrap inline-flex items-center gap-3 justify-between">
<div class="inline-flex gap-3">⚔️ Skills</div>
</h3>
<p class="text-sm text-gray-800 dark:text-gray-100">
I can work with a wide range of systems, frameworks and technologies! I have a lot of
common knowledge around computer software and hardware that i can use to quickly adapt
to new languages and frameworks. Here is a constantly expanding list of some of the
things I am comfortable and like working with:
</p>
<div id="scroll-container" class="flex flex-wrap gap-1 w-full text-center">
{#each words as word, key}
<p>
{#if key == words.length - 2}
{@html word} and
{:else if key == words.length - 1}
{@html word}.
{:else}
{@html word},
{/if}
</p>
{/each}
</div>
<p class="text-sm font-bold italic pt-5">... and always eager to try out new things!</p>
</Card>
</span>
<span class="@xl:row-span-1 @xl:col-span-2 @container">
<Card> <Card>
<h3 class="text-xl font-bold flex-wrap inline-flex items-center gap-3 justify-between"> <h3 class="text-xl font-bold flex-wrap inline-flex items-center gap-3 justify-between">
<div class="inline-flex gap-3">🏢 Internships</div> <div class="inline-flex gap-3">🏢 Internships</div>
</h3> </h3>
<div class="flex flex-col gap-2"> <div class="grid grid-cols-2 gap-10">
<span class="flex justify-between items-end" <div class="flex flex-col gap-2">
><b class="text-lg">Agro IT - Graduation project</b> <span class="flex justify-between items-end"
<p class="text-sm">2024</p></span ><b class="text-lg">Agro IT - Graduation project</b>
> <p class="text-sm">2024</p></span
<p class="text-sm text-gray-800 dark:text-gray-100"> >
I also did my graduation project at Agro IT, where I will build a complete system <p class="text-sm text-gray-800 dark:text-gray-100">
around employee management, time tracking and employee payouts that integrates with I also did my graduation project at Agro IT, where I built a complete system around
existing infrastructure and streamline the administrative process within the company employee management, time tracking and employee payouts that integrates with
as well as for customers. existing infrastructure and streamline the administrative process within the company
</p> as well as for customers.
</div> </p>
</div>
<div class="flex flex-col gap-2"> <div class="flex flex-col gap-2">
<span class="flex justify-between items-end" <span class="flex justify-between items-end"
><b class="text-lg">Agro IT</b> ><b class="text-lg">Agro IT - 3rd year internship</b>
<p class="text-sm">2023</p></span <p class="text-sm">2023</p></span
> >
<p class="text-sm text-gray-800 dark:text-gray-100"> <p class="text-sm text-gray-800 dark:text-gray-100">
Agro IT is an agricultural software company in The Netherlands. In my 5 month long Agro IT is an agricultural software company in The Netherlands. In my 5 month long
internship I developed a new modern web app that connected to their existing APIs and internship I developed a new modern web app that connected to their existing APIs
made it possible for customers to use their systems from anywhere. and made it possible for customers to use their systems from anywhere.
</p> </p>
</div> </div>
<div class="flex flex-col gap-2"> <div class="flex flex-col gap-2">
<span class="flex justify-between items-end" <span class="flex justify-between items-end"
><b class="text-lg">Witteveen+Bos</b> ><b class="text-lg">Witteveen+Bos</b>
<p class="text-sm">2022</p></span <p class="text-sm">2022</p></span
> >
<p class="text-sm text-gray-800 dark:text-gray-100"> <p class="text-sm text-gray-800 dark:text-gray-100">
Witteveen+Bos is a major worldwide agricultural software company. During my internship Witteveen+Bos is a major worldwide agricultural software company. During my
me and my team developed a generic authentication system in Django that would be used internship me and my team developed a generic authentication system in Django that
as a customized plug-in template for new projects at the company. would be used as a customized plug-in template for new projects at the company.
</p> </p>
</div> </div>
<div class="flex flex-col gap-2"> <div class="flex flex-col gap-2">
<span class="flex justify-between items-end" <span class="flex justify-between items-end"
><b class="text-lg">AgroVision</b> ><b class="text-lg">AgroVision</b>
<p class="text-sm">2021</p></span <p class="text-sm">2021</p></span
> >
<p class="text-sm text-gray-800 dark:text-gray-100"> <p class="text-sm text-gray-800 dark:text-gray-100">
AgroVision is a Dutch software company for farmers. During my internship I worked on AgroVision is a Dutch software company for farmers. During my internship I worked on
an app that generates reports about CO2 usage on farms and informs the farmer on how an app that generates reports about CO2 usage on farms and informs the farmer on how
to reduce thecir emmissions. to reduce thecir emmissions.
</p> </p>
</div> </div>
<div class="flex flex-col gap-2"> <div class="flex flex-col gap-2">
<span class="flex justify-between items-end" <span class="flex justify-between items-end"
><b class="text-lg">SuiteSeven</b> ><b class="text-lg">SuiteSeven</b>
<p class="text-sm">2019</p></span <p class="text-sm">2019</p></span
> >
<p class="text-sm text-gray-800 dark:text-gray-100"> <p class="text-sm text-gray-800 dark:text-gray-100">
SuitSeven is a local webdevelopment studio. During my internship I worked on the SuitSeven is a local webdevelopment studio. During my internship I worked on the
design for a client's website. design for a client's website.
</p> </p>
</div> </div>
<div class="flex flex-col gap-2"> <div class="flex flex-col gap-2">
<span class="flex justify-between items-end" <span class="flex justify-between items-end"
><b class="text-lg">Profity</b> ><b class="text-lg">Profity</b>
<p class="text-sm">2018</p></span <p class="text-sm">2018</p></span
> >
<p class="text-sm text-gray-800 dark:text-gray-100"> <p class="text-sm text-gray-800 dark:text-gray-100">
Profity is a software company creating ERP suites for the Dutch steel industry. During Profity is a software company creating ERP suites for the Dutch steel industry.
my internship I learned the dynamics of a team and the different processes involved in During my internship I learned the dynamics of a team and the different processes
software development. involved in software development.
</p> </p>
</div>
</div> </div>
</Card> </Card>
</span> </span>
<span class="@2xl:col-span-2"> <span class="@2xl:col-span-1">
<Card buttonHref="https://furality.org/" buttonText="🦊 Visit furality.org"> <Card buttonHref="https://furality.org/" buttonText="🦊 Visit furality.org">
<div class="grid grid-cols-2 gap-10"> <div class="w-full flex flex-col gap-5">
<div class="w-full flex flex-col gap-5"> <h3
<h3 class="w-full text-xl font-bold flex-wrap inline-flex items-center gap-3 justify-between"
class="w-full text-xl font-bold flex-wrap inline-flex items-center gap-3 justify-between" >
> <div class="inline-flex gap-3">
<div class="inline-flex gap-3"> <img src="/fox.png" class="h-8" alt="furality" /> Furality
<img src="/fox.png" class="h-8" alt="furality" /> Furality </div>
</div> <span class="text-sm font-light">2023 and ongoing</span>
<span class="text-sm font-light">2023 and ongoing</span> </h3>
</h3> <p class="text-sm text-gray-800 dark:text-gray-100">
<p class="text-sm text-gray-800 dark:text-gray-100"> Furality is a nonprofit organisation that organises Furality Online Experience
Furality is a nonprofit organisation that organises Furality Online Experience (F.O.X.), the largest online furry convention in the world hosted inside VRChat.
(F.O.X.), the largest online furry convention in the world hosted inside VRChat. <br /><br />
<br /><br /> Since December 2023 I volunteer for Furality Inc. as a Backend Developer. I work together
Since December 2023 I volunteer for Furality Inc. as a Backend Developer. I work together with the rest of the DevOps Department to work on APIs and systems that use things such
with the rest of the DevOps Department to work on APIs and systems that use things such as TypeScript, NestJS, Grafana, Prometheus, RabbitMQ, Authentik, C#, Unity, and more.
as TypeScript, NestJS, Grafana, Prometheus, RabbitMQ, Authentik, C#, Unity, and more. <br /><br />
<br /><br /> I am mainly tasked with developing Furality's in-house OIDC system, and expanding Furality's
I am mainly tasked with developing Furality's in-house OIDC system, and expanding Furality's Unity plugins. But I also work on upgrading and scaling queue runners, updating existing
Unity plugins. But I also work on upgrading and scaling queue runners, updating existing APIs that connect with Discord, Patreon, VRChat and others to run the convention itself,
APIs that connect with Discord, Patreon, VRChat and others to run the convention itself, and maintaining databases and infrastructure surrounding the systems.
and maintaining databases and infrastructure surrounding the systems. </p>
</p>
</div>
<img
src="/furalitypic.png"
class="rounded-xl w-full aspect-square object-cover"
alt="Picture of some people from the DevOps Team"
/>
</div> </div>
</Card> </Card>
</span> </span>
<span class="@xl:row-span-3"> <!-- <span class="@xl:row-span-3">
<Card> <Card>
<h3 class="text-xl font-bold flex-wrap inline-flex items-center gap-3"> <h3 class="text-xl font-bold flex-wrap inline-flex items-center gap-3">
<img src="/homepage/esu.png" class="h-10 rounded-full bg-black p-1" alt="esu" /> Easter System <img src="/homepage/esu.png" class="h-10 rounded-full bg-black p-1" alt="esu" /> Easter System
@ -302,35 +325,7 @@
<img src="/homepage/esubanner.png" alt="cover of act 1" /> <img src="/homepage/esubanner.png" alt="cover of act 1" />
</span> </span>
</Card> </Card>
</span> </span> -->
<span class="@2xl:row-span-2">
<Card>
<h3 class="text-xl font-bold flex-wrap inline-flex items-center gap-3 justify-between">
<div class="inline-flex gap-3">⚔️ Skills</div>
</h3>
<p class="text-sm text-gray-800 dark:text-gray-100">
I can work with a wide range of systems, frameworks and technologies! I have a lot of
common knowledge around computer software and hardware that i can use to quickly adapt
to new languages and frameworks. Here is a constantly expanding list of some of the
things I am comfortable and like working with:
</p>
<div id="scroll-container" class="flex flex-wrap gap-1 w-full text-center">
{#each words as word, key}
<p>
{#if key == words.length - 2}
{@html word} and
{:else if key == words.length - 1}
{@html word}.
{:else}
{@html word},
{/if}
</p>
{/each}
</div>
<p class="text-sm font-bold italic pt-5">... and always eager to try out new things!</p>
</Card>
</span>
<span class="@xl:row-span-2 @container"> <span class="@xl:row-span-2 @container">
<Card> <Card>

@ -16,18 +16,18 @@
</h3> </h3>
<div class="grid lg:grid-cols-5 gap-5"> <div class="grid lg:grid-cols-5 gap-5">
<div class="lg:col-span-3 flex flex-col gap-5"> <div class="lg:col-span-3 flex flex-col gap-5">
<div class="flex flex-wrap gap-2 bg-black bg-opacity-5 dark:bg-opacity-40 p-5"> <div class="flex flex-wrap gap-2 bg-blue-500 bg-opacity-20 dark:bg-opacity-40 p-5">
<p class="font-bold"> <p class="font-bold">
Hey there! I'm Pascal, but my internet name is Mid. Nice to have you here on my website. Hey there! I'm Pascal, but my internet name is Mid. Nice to have you here on my website.
I'm a {calculateAge(new Date('2001-10-30'))} year old programmer and tech enthusiast from The I'm a {calculateAge(new Date('2001-10-30'))} year old programmer and tech enthusiast from The
Netherlands. If you wanna know a little more about me then here are some of the things I like Netherlands. If you wanna know a little more about me then here are some of the things I like
to do. For my past experience and portfolio visit to do. For my past experience and portfolio visit
<a href="#portfolio" class="a">my portfolio section</a>. <a href="/portfolio" class="a">my portfolio section</a>.
</p> </p>
</div> </div>
<div <div
class="flex flex-col gap-5 relative text-sm p-5 border-black border-opacity-10 dark:border-opacity-20 border-4" class="flex flex-col gap-5 relative text-sm p-5 border-gray-400 border-opacity-20 dark:border-opacity-20 border-4"
> >
<span id="about-computers" class="absolute top-0 -mt-40" /> <span id="about-computers" class="absolute top-0 -mt-40" />
@ -47,7 +47,7 @@
</div> </div>
<div <div
class="flex flex-col gap-5 relative text-sm p-5 border-black border-opacity-10 dark:border-opacity-20 border-4" class="flex flex-col gap-5 relative text-sm p-5 border-gray-400 border-opacity-20 dark:border-opacity-20 border-4"
> >
<span id="about-furry" class="absolute top-0 -mt-40" /> <span id="about-furry" class="absolute top-0 -mt-40" />
@ -70,7 +70,7 @@
</div> </div>
<div <div
class="flex flex-col gap-5 relative text-sm p-5 border-black border-opacity-10 dark:border-opacity-20 border-4" class="flex flex-col gap-5 relative text-sm p-5 border-gray-400 border-opacity-20 dark:border-opacity-20 border-4"
> >
<span id="about-drones" class="absolute top-0 -mt-40" /> <span id="about-drones" class="absolute top-0 -mt-40" />
@ -93,7 +93,7 @@
</div> </div>
<div <div
class="flex flex-col gap-5 relative text-sm p-5 border-black border-opacity-10 dark:border-opacity-20 border-4" class="flex flex-col gap-5 relative text-sm p-5 border-gray-400 border-opacity-20 dark:border-opacity-20 border-4"
> >
<span id="about-coding" class="absolute top-0 -mt-40" /> <span id="about-coding" class="absolute top-0 -mt-40" />
@ -106,7 +106,7 @@
wrote the following on their website: wrote the following on their website:
</p> </p>
<div class="bg-gray-200 p-5 flex gap-5"> <div class="bg-neutral-200 dark:bg-neutral-900 p-5 flex gap-5">
<p class="text-6xl font-extrabold">"</p> <p class="text-6xl font-extrabold">"</p>
<blockquote cite="https://msx.horse/about.php"> <blockquote cite="https://msx.horse/about.php">
as time has gone on, i have become fairly exhausted with the unnecesary bloat in all as time has gone on, i have become fairly exhausted with the unnecesary bloat in all
@ -132,10 +132,10 @@
<div class="lg:col-span-2 flex flex-col gap-5 overflow-x-hidden pt-10"> <div class="lg:col-span-2 flex flex-col gap-5 overflow-x-hidden pt-10">
<div <div
class="flex flex-col gap-1 text-sm p-5 border-black border-opacity-10 dark:border-opacity-20 border-dashed border-4" class="flex flex-col gap-1 text-sm p-5 border-gray-400 border-opacity-20 dark:border-opacity-20 border-dashed border-4"
> >
<h4 <h4
class="-mt-12 lg:-mt-16 lg:text-lg bg-gray-100 dark:bg-gray-900 -mx-3 text-blue-500 overflow-x-hidden" class="-mt-12 lg:-mt-16 lg:text-lg bg-white dark:bg-black -mx-3 text-blue-500 overflow-x-hidden"
> >
<b <b
>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</b >////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</b

@ -1,89 +1,7 @@
<main class="@container flex flex-col relative"> <main class="@container flex flex-col relative">
<div class="absolute top-0 -mt-40" id="vr" /> <div class="absolute top-0" id="vr" />
<div class="text-center text-xl font-bold flex flex-col text-[#2563EB] fira @2xl:-mt-60"> <section class="w-full h-full flex flex-col justify-between gap-10 @2xl:gap-20">
<div class="opacity-10 flex w-screen justify-between">
<span>//</span>
<span>//</span>
</div>
<div class="opacity-20 flex w-screen justify-between">
<span>///</span>
<span>///</span>
</div>
<div class="opacity-30 flex w-screen justify-between">
<span>////</span>
<span>////</span>
</div>
<div class="opacity-40 flex w-screen justify-between">
<span>/////</span>
<span>/////</span>
</div>
<div class="opacity-50 flex w-screen justify-between">
<span>//////////</span>
<span>//////////</span>
</div>
<div class="opacity-60 flex w-screen justify-between">
<span>////////////////////</span>
<span>////////////////////</span>
</div>
<div class="opacity-70 flex w-screen justify-between">
<span>//////////////////////////////</span>
<span>//////////////////////////////</span>
</div>
<div class="opacity-80 flex w-screen justify-between">
<span>////////////////////////////////////////</span>
<span>////////////////////////////////////////</span>
</div>
<div class="opacity-90">
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
</div>
<div class="opacity-100">
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
</div>
<div class="opacity-100">
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
</div>
<div class="opacity-100">
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
</div>
<div class="opacity-90">
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
</div>
<div class="opacity-80 flex w-screen justify-between">
<span>////////////////////////////////////////</span>
<span>////////////////////////////////////////</span>
</div>
<div class="opacity-70 flex w-screen justify-between">
<span>//////////////////////////////</span>
<span>//////////////////////////////</span>
</div>
<div class="opacity-60 flex w-screen justify-between">
<span>////////////////////</span>
<span>////////////////////</span>
</div>
<div class="opacity-50 flex w-screen justify-between">
<span>//////////</span>
<span>//////////</span>
</div>
<div class="opacity-40 flex w-screen justify-between">
<span>/////</span>
<span>/////</span>
</div>
<div class="opacity-30 flex w-screen justify-between">
<span>////</span>
<span>////</span>
</div>
<div class="opacity-20 flex w-screen justify-between">
<span>///</span>
<span>///</span>
</div>
<div class="opacity-10 flex w-screen justify-between">
<span>//</span>
<span>//</span>
</div>
</div>
<section class="w-full h-full flex flex-col justify-between gap-10 @2xl:gap-20 @2xl:-mt-40">
<div class="baron text-2xl lg:text-4xl 2xl:text-5xl text-center text-blue-600 mx-auto"> <div class="baron text-2xl lg:text-4xl 2xl:text-5xl text-center text-blue-600 mx-auto">
<h2 class="text-4xl lg:text-4xl 2xl:text-6xl">Discover</h2> <h2 class="text-4xl lg:text-4xl 2xl:text-6xl">Discover</h2>
<h2 class="text-4xl lg:text-6xl 2xl:text-8xl">Virtual Creativity</h2> <h2 class="text-4xl lg:text-6xl 2xl:text-8xl">Virtual Creativity</h2>
@ -98,13 +16,13 @@
</h2> </h2>
<img <img
src="/homepage/vr/vr.png" src="/homepage/vr/fancy.png"
class="skew-x-3 lg:ml-3 object-cover @6xl:aspect-[1/2] w-full h-full @6xl:row-span-2" class="skew-x-3 lg:ml-3 object-cover @6xl:aspect-[1/2] w-full h-full @6xl:row-span-2"
alt="couch" alt="couch"
/> />
<img <img
src="/homepage/vr/fancy.png" src="/homepage/vr/me.png"
class="skew-x-3 object-cover @6xl:aspect-[1/1] w-full h-full" class="skew-x-3 object-cover @6xl:aspect-[1/1] w-full h-full"
alt="couch" alt="couch"
/> />
@ -132,7 +50,7 @@
/> />
<img <img
src="/homepage/vr/couch.png" src="/homepage/vr/group.png"
class="skew-x-3 lg:-skew-x-3 lg:-ml-3 object-cover @6xl:aspect-[3/2] w-full h-full @6xl:col-span-3 @6xl:row-span-2" class="skew-x-3 lg:-skew-x-3 lg:-ml-3 object-cover @6xl:aspect-[3/2] w-full h-full @6xl:col-span-3 @6xl:row-span-2"
alt="couch" alt="couch"
/> />
@ -150,7 +68,7 @@
/> />
<img <img
src="/homepage/vr/meet.png" src="/homepage/vr/couch.png"
class="skew-x-3 lg:-ml-3 object-cover @6xl:aspect-[2/1] w-full h-full @6xl:col-span-2" class="skew-x-3 lg:-ml-3 object-cover @6xl:aspect-[2/1] w-full h-full @6xl:col-span-2"
alt="couch" alt="couch"
/> />

@ -0,0 +1,11 @@
<script>
import Header from '$lib/header/Header.svelte';
import '../../app.css';
</script>
<div class="bg-white h-screen overflow-y-auto dark:bg-black text-black dark:text-white">
<div class="w-full min-h-screen max-w-[2000px] flex flex-col gap-5 mx-auto">
<Header />
<slot />
</div>
</div>

@ -0,0 +1,16 @@
<script>
import Banner from '$lib/home/Banner.svelte';
import Blog from '$lib/home/Blog.svelte';
import Portfolio from '$lib/home/Portfolio.svelte';
import Sona from '$lib/home/Sona.svelte';
import Virtual from '$lib/home/Virtual.svelte';
import Furry from '$lib/home/Furry.svelte';
import Nav from '$lib/header/Nav.svelte';
import Header from '$lib/header/Header.svelte';
</script>
<svelte:head>
<title>Bart Industries</title>
</svelte:head>
<Banner />

@ -0,0 +1,13 @@
<script>
import Footer from '$lib/footer/Footer.svelte';
import Header from '$lib/header/Header.svelte';
import '../../app.css';
</script>
<div class="bg-white h-screen overflow-y-auto dark:bg-black text-black dark:text-white">
<div class="w-full min-h-screen max-w-[2000px] flex flex-col mx-auto">
<Header />
<slot />
</div>
<Footer />
</div>

@ -0,0 +1,18 @@
<script>
import Banner from '$lib/home/Banner.svelte';
import Blog from '$lib/home/Blog.svelte';
import Portfolio from '$lib/home/Portfolio.svelte';
import Sona from '$lib/home/Sona.svelte';
import Virtual from '$lib/home/Virtual.svelte';
import Furry from '$lib/home/Furry.svelte';
import Footer from '$lib/footer/Footer.svelte';
</script>
<svelte:head>
<title>Bart Industries</title>
</svelte:head>
<main class="flex flex-col mt-20 gap-40">
<Sona />
<Virtual />
</main>

@ -0,0 +1,3 @@
<main class="pt-10 pb-20 min-h-screen">
<slot />
</main>

@ -0,0 +1,6 @@
<script>
import Footer from '$lib/footer/Footer.svelte';
import Blog from '$lib/home/Blog.svelte';
</script>
<Blog />

@ -0,0 +1,17 @@
<script>
import Banner from '$lib/home/Banner.svelte';
import Blog from '$lib/home/Blog.svelte';
import Portfolio from '$lib/home/Portfolio.svelte';
import Sona from '$lib/home/Sona.svelte';
import Virtual from '$lib/home/Virtual.svelte';
import Furry from '$lib/home/Furry.svelte';
import Footer from '$lib/footer/Footer.svelte';
</script>
<svelte:head>
<title>Bart Industries</title>
</svelte:head>
<main class="flex flex-col mt-20">
<Portfolio />
</main>

@ -1,16 +0,0 @@
<script>
import Footer from "$lib/footer/Footer.svelte";
import Header from "$lib/header/Header.svelte";
import "../app.css";
</script>
<div class="bg-gray-100 dark:bg-gray-900 text-black dark:text-white">
<div class="min-h-screen">
<Header />
<slot />
</div>
<Footer />
</div>

@ -1,45 +0,0 @@
<script>
import Banner from '$lib/home/Banner.svelte';
import Blog from '$lib/home/Blog.svelte';
import Portfolio from '$lib/home/Portfolio.svelte';
import Sona from '$lib/home/Sona.svelte';
import Virtual from '$lib/home/Virtual.svelte';
import Furry from '$lib/home/Furry.svelte';
</script>
<svelte:head>
<title>Bart Industries</title>
</svelte:head>
<main class="overflow-x-hidden flex flex-col">
<Banner />
<div class="bg-gray-200 dark:bg-gray-800 pb-20">
<Blog />
</div>
<div
class="bg-gradient-to-b from-gray-200 via-gray-100 dark:via-gray-900 dark:from-gray-800 w-full"
>
<div class="bg-[#3A53FF] rounded-t-[50px] py-20 lg:mx-5 relative">
<div
class="absolute inset-0 w-full h-full bg-no-repeat bg-cover bg-top rounded-t-[50px]"
style="background-image: url('portfoliobackg.svg')"
/>
<Portfolio />
</div>
</div>
<img class="scale-150 lg:mx-5 lg:scale-100 -mt-[1px]" src="/homepage/steps.svg" />
<div class="py-20">
<Sona />
</div>
<div class="bg-repeat-y bg-contain dotsandlines mt-20 mb-20">
<Virtual />
</div>
<!-- <Furry/> -->
</main>

@ -1,3 +0,0 @@
<main class="container pt-10 pb-20 min-h-screen">
<slot/>
</main>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Loading…
Cancel
Save