Compare commits

..

2 Commits

14 changed files with 152 additions and 55 deletions

View File

@@ -32,15 +32,15 @@
{/snippet} {/snippet}
{#if type == "quote"} {#if type == "quote"}
<div class="callout-container callout-quote"> <div class="callout-container blurred-background callout-quote">
{@render calloutContent()} {@render calloutContent()}
</div> </div>
{:else if type == "info"} {:else if type == "info"}
<div class="callout-container callout-info"> <div class="callout-container blurred-background callout-info">
{@render calloutContent()} {@render calloutContent()}
</div> </div>
{:else} {:else}
<div class="callout-container callout-warn"> <div class="callout-container blurred-background callout-warn">
{@render calloutContent()} {@render calloutContent()}
</div> </div>
{/if} {/if}
@@ -67,7 +67,6 @@
align-items: center; align-items: center;
border: var(--border-style) var(--border-dash-size) var(--color-callout); border: var(--border-style) var(--border-dash-size) var(--color-callout);
background-color: var(--color-callout-background); background-color: var(--color-callout-background);
backdrop-filter: blur(var(--blur-radius-background));
border-radius: var(--border-radius); border-radius: var(--border-radius);
padding: 16px; padding: 16px;
gap: 16px; gap: 16px;

View File

@@ -9,7 +9,7 @@
<svelte:window bind:scrollY={y} /> <svelte:window bind:scrollY={y} />
{#if y > 2400} {#if y > 2400}
<button class="scroll-top-button" onclick={scrollToTop}>↑</button> <button class="scroll-top-button blurred-background" onclick={scrollToTop}>↑</button>
{/if} {/if}
<style> <style>
@@ -22,7 +22,6 @@
border: var(--border-style) var(--border-dash-size) var(--color-highlight); border: var(--border-style) var(--border-dash-size) var(--color-highlight);
color: var(--color-highlight); color: var(--color-highlight);
background-color: var(--color-background-highlight); background-color: var(--color-background-highlight);
backdrop-filter: blur(var(--blur-radius-background));
padding: 12px; padding: 12px;
transition: background-color var(--duration-animation) var(--anim-curve); transition: background-color var(--duration-animation) var(--anim-curve);
z-index: 10; z-index: 10;

View File

@@ -44,17 +44,17 @@
<!-- this structure is ugly as fuck. there must be a better way of doing this --> <!-- this structure is ugly as fuck. there must be a better way of doing this -->
{#if alignment && alignment == "left"} {#if alignment && alignment == "left"}
{#if smaller} {#if smaller}
<a class="subtitled-img-container subtitled-img-container-left subtitled-img-reduced-size" href="{image}"> <a class="subtitled-img-container blurred-background subtitled-img-container-left subtitled-img-reduced-size" href="{image}">
{@render subtitledImageContent()} {@render subtitledImageContent()}
</a> </a>
{:else} {:else}
<a class="subtitled-img-container subtitled-img-container-left" href="{image}"> <a class="subtitled-img-container blurred-background subtitled-img-container-left" href="{image}">
{@render subtitledImageContent()} {@render subtitledImageContent()}
</a> </a>
{/if} {/if}
{:else if alignment && alignment == "right"} {:else if alignment && alignment == "right"}
{#if smaller} {#if smaller}
<a class="subtitled-img-container subtitled-img-container-right subtitled-img-reduced-size" href="{image}"> <a class="subtitled-img-container blurred-background subtitled-img-container-right subtitled-img-reduced-size" href="{image}">
{@render subtitledImageContent()} {@render subtitledImageContent()}
</a> </a>
{:else} {:else}
@@ -64,11 +64,11 @@
{/if} {/if}
{:else} {:else}
{#if smaller} {#if smaller}
<a class="subtitled-img-container subtitled-img-container-centred subtitled-img-reduced-size" href="{image}"> <a class="subtitled-img-container blurred-background subtitled-img-container-centred subtitled-img-reduced-size" href="{image}">
{@render subtitledImageContent()} {@render subtitledImageContent()}
</a> </a>
{:else} {:else}
<a class="subtitled-img-container subtitled-img-container-centred" href="{image}"> <a class="subtitled-img-container blurred-background subtitled-img-container-centred" href="{image}">
{@render subtitledImageContent()} {@render subtitledImageContent()}
</a> </a>
{/if} {/if}
@@ -81,7 +81,6 @@
border: var(--border-dash-size) var(--color-highlight) var(--border-style); border: var(--border-dash-size) var(--color-highlight) var(--border-style);
text-decoration: none; text-decoration: none;
box-sizing: border-box; box-sizing: border-box;
backdrop-filter: blur(var(--blur-radius-background));
transition: background-color var(--duration-animation) var(--anim-curve); transition: background-color var(--duration-animation) var(--anim-curve);
} }

View File

@@ -63,7 +63,7 @@
{/snippet} {/snippet}
{#if tocEntries.length > 0} {#if tocEntries.length > 0}
<div class="toc-container"> <div class="toc-container blurred-background">
<ul class="toc-list"> <ul class="toc-list">
{#each tocEntries as entry} {#each tocEntries as entry}
{@render tocEntryLine({ entry })} {@render tocEntryLine({ entry })}
@@ -88,7 +88,6 @@
background-color: var(--color-background-highlight); background-color: var(--color-background-highlight);
padding: 16px 0; padding: 16px 0;
border: var(--border-style) var(--border-dash-size) var(--color-highlight); border: var(--border-style) var(--border-dash-size) var(--color-highlight);
backdrop-filter: blur(var(--blur-radius-background));
} }
.toc-list { .toc-list {

View File

@@ -10,7 +10,7 @@
<div class="entry-container"> <div class="entry-container">
{#each posts as post} {#each posts as post}
<a class="entry" href="{post.key}"> <a class="entry blurred-background-hover" href="{post.key}">
<div class="entry-banner-container"> <div class="entry-banner-container">
<img class="entry-banner" src="{post.key}/{post.post.banner}" alt="{post.post.bannerAlt}"> <img class="entry-banner" src="{post.key}/{post.post.banner}" alt="{post.post.bannerAlt}">
</div> </div>
@@ -55,7 +55,6 @@
.entry:hover { .entry:hover {
background-color: var(--color-background-highlight-alt); background-color: var(--color-background-highlight-alt);
border-color: var(--color-highlight-alt); border-color: var(--color-highlight-alt);
backdrop-filter: blur(var(--blur-radius-background));
} }
.entry:hover .entry-banner { .entry:hover .entry-banner {

View File

@@ -16,7 +16,7 @@
<div class="row-container"> <div class="row-container">
{#each entries as entry} {#each entries as entry}
<a class="row-entry" href="{entry.link}"> <a class="row-entry blurred-background-hover" href="{entry.link}">
<div class="row-img-container"> <div class="row-img-container">
<img class="row-img" src="{entry.img}" alt="{entry.altText}"> <img class="row-img" src="{entry.img}" alt="{entry.altText}">
</div> </div>
@@ -49,7 +49,6 @@
.row-entry:hover { .row-entry:hover {
background-color: var(--color-background-highlight); background-color: var(--color-background-highlight);
border-color: var(--color-highlight); border-color: var(--color-highlight);
backdrop-filter: blur(var(--blur-radius-background));
} }
.row-entry:hover .row-img { .row-entry:hover .row-img {

View File

@@ -22,7 +22,7 @@
</div> </div>
{#snippet galleryEntry({entry}: {entry: GalleryEntry})} {#snippet galleryEntry({entry}: {entry: GalleryEntry})}
<a class="gallery-container" href="{entry.link}"> <a class="gallery-container blurred-background-hover" href="{entry.link}">
{#if entry.img && entry.img !== ""} {#if entry.img && entry.img !== ""}
<img class="gallery-img" src="{entry.img}" alt="{entry.imgAlt}"> <img class="gallery-img" src="{entry.img}" alt="{entry.imgAlt}">
{:else} {:else}
@@ -111,7 +111,6 @@
.gallery-container:hover { .gallery-container:hover {
border-color: var(--color-highlight); border-color: var(--color-highlight);
background-color: var(--color-background-highlight); background-color: var(--color-background-highlight);
backdrop-filter: blur(var(--blur-radius-background));
} }
.gallery-container:hover p { .gallery-container:hover p {
color: var(--color-highlight); color: var(--color-highlight);

View File

@@ -0,0 +1,71 @@
<script lang="ts">
export interface GalleryImage {
src: string;
alt: string;
desc: string;
}
let {
images,
}: {
images: GalleryImage[];
} = $props();
let currentIndex: number = $state(0);
function galleryBack() {
if (currentIndex == 0) {
currentIndex = images.length - 1;
} else {
currentIndex -= 1;
}
}
function galleryForward() {
if (currentIndex == images.length - 1) {
currentIndex = 0;
} else {
currentIndex += 1;
}
}
</script>
<div class="gallery-container">
<div class="gallery-button-container">
<button onclick={galleryBack}>&lt;</button>
<button onclick={galleryForward}>&gt;</button>
</div>
<img src={images[currentIndex].src} alt={images[currentIndex].alt}>
</div>
<style>
.gallery-container {
position: relative;
max-width: var(--media-width);
margin: 0 auto;
border: var(--border-style) var(--border-dash-size) var(--color-highlight-alt);border-radius: var(--border-radius);
}
.gallery-container img {
width: 100%;
object-fit: contain;
}
.gallery-button-container {
position: absolute;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
height: 100%;
}
.gallery-button-container button {
background-color: aqua;
height: fit-content;
cursor: pointer;
font-size: 2.4rem;
line-height: 2.4rem;
padding: 8px;
}
</style>

View File

@@ -15,7 +15,7 @@
</script> </script>
<footer> <footer>
<div class="background"> <div class="background blurred-background">
<hr> <hr>
<div class="content-container"> <div class="content-container">
<div class="content-box center-box"> <div class="content-box center-box">
@@ -92,7 +92,6 @@
.background { .background {
background-color: var(--color-background-highlight); background-color: var(--color-background-highlight);
backdrop-filter: blur(var(--blur-radius-background));
margin-top: 32px; margin-top: 32px;
} }

View File

@@ -0,0 +1,19 @@
<div class="waters"></div>
<style>
.waters {
--color-waters: #242424;
position: fixed;
z-index: -99;
top: 0;
left: 0;
height: 100%;
width: 100%;
background-color: var(--color-waters);
mask-image: url('/bremen-waters-white.svg');
mask-position: center;
background-position: center;
background-attachment: fixed;
}
</style>

View File

@@ -1,6 +1,7 @@
<script> <script>
import Header from "$lib/viewport/header.svelte"; import Header from "$lib/viewport/header.svelte";
import Footer from "$lib/viewport/footer.svelte"; import Footer from "$lib/viewport/footer.svelte";
import WaterBackground from "$lib/viewport/water-background.svelte";
let { children } = $props(); let { children } = $props();
</script> </script>
@@ -9,7 +10,7 @@
<meta name="robots" content="noai, noimageai"> <meta name="robots" content="noai, noimageai">
</svelte:head> </svelte:head>
<div class="waters"></div> <WaterBackground />
<div class="all-content-container"> <div class="all-content-container">
<Header /> <Header />
@@ -113,8 +114,6 @@
--color-background-highlight-hover: color-mix(in srgb, var(--color-highlight) 60%, transparent); --color-background-highlight-hover: color-mix(in srgb, var(--color-highlight) 60%, transparent);
--color-background-highlight-hover-alt: color-mix(in srgb, var(--color-highlight-alt) 66%, transparent); --color-background-highlight-hover-alt: color-mix(in srgb, var(--color-highlight-alt) 66%, transparent);
--color-background-highlight-hover-dark: color-mix(in srgb, var(--color-highlight-dark) 60%, transparent); --color-background-highlight-hover-dark: color-mix(in srgb, var(--color-highlight-dark) 60%, transparent);
--color-waters: #242424;
--color-link-unvisited: #c2e8ff; --color-link-unvisited: #c2e8ff;
--color-link-visited: #ffd7f0; --color-link-visited: #ffd7f0;
@@ -197,20 +196,6 @@
/* max-width: 100%; */ /* max-width: 100%; */
} }
.waters {
position: fixed;
z-index: -99;
top: 0;
left: 0;
height: 100%;
width: 100%;
background-color: var(--color-waters);
mask-image: url('/bremen-waters-white.svg');
mask-position: center;
background-position: center;
background-attachment: fixed;
}
p, span, li, pre, a { p, span, li, pre, a {
color: var(--color-text); color: var(--color-text);
font-size: var(--font-size-sans-serif); font-size: var(--font-size-sans-serif);
@@ -325,9 +310,14 @@
max-width: var(--media-width); max-width: var(--media-width);
margin-top: 12px; margin-top: 12px;
margin-bottom: 12px; margin-bottom: 12px;
/* padding: 8px; }
.blurred-background {
backdrop-filter: blur(var(--blur-radius-background));
}
.blurred-background-hover:hover {
backdrop-filter: blur(var(--blur-radius-background)); backdrop-filter: blur(var(--blur-radius-background));
border: var(--border-dash-size) var(--border-style) var(--color-highlight); */
} }
.lightyears-text { .lightyears-text {
@@ -463,15 +453,5 @@
font-family: var(--font-sans-serif); font-family: var(--font-sans-serif);
padding: 4px; padding: 4px;
} }
.callout-warning {
margin: 12px auto;
max-width: var(--width-toc);
padding: 12px 20px;
box-sizing: border-box;
backdrop-filter: blur(var(--blur-radius-background));
background-color: var(--color-background-highlight-alt);
border: var(--border-dash-size) var(--border-style) var(--color-highlight-alt);
}
} }
</style> </style>

View File

@@ -112,7 +112,7 @@
</div> </div>
<div> <div>
<div class="sidebox-container"> <div class="sidebox-container blurred-background">
<h4 class="sidebox-header">heads-up</h4> <h4 class="sidebox-header">heads-up</h4>
<p>This website works best on Firefox and other Gecko-based browsers! All pages <i>should</i> be responsive and work on mobile.</p> <p>This website works best on Firefox and other Gecko-based browsers! All pages <i>should</i> be responsive and work on mobile.</p>
<p>This website is 100% mobile-friendly or at least trying to be!</p> <p>This website is 100% mobile-friendly or at least trying to be!</p>
@@ -216,7 +216,6 @@
.sidebox-container { .sidebox-container {
padding: 8px 16px; padding: 8px 16px;
backdrop-filter: blur(var(--blur-radius-background));
border-width: var(--border-dash-size); border-width: var(--border-dash-size);
border-style: var(--border-style); border-style: var(--border-style);
border-color: var(--color-highlight-alt); border-color: var(--color-highlight-alt);

View File

@@ -79,7 +79,7 @@
</div> </div>
{/if} {/if}
<p class="project-info project-status-c-{getStatusCode(project)}"> <p class="project-info blurred-background project-status-c-{getStatusCode(project)}">
{#if project.date} {#if project.date}
{project.date} | {project.date} |
{/if} {/if}
@@ -134,7 +134,6 @@
background-color: color-mix(in srgb, var(--color-status) 6%, transparent); background-color: color-mix(in srgb, var(--color-status) 6%, transparent);
border: var(--border-style) var(--border-dash-size) var(--color-status); border: var(--border-style) var(--border-dash-size) var(--color-status);
padding: 2px 8px; padding: 2px 8px;
backdrop-filter: blur(var(--blur-radius-background));
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 1.0rem; font-size: 1.0rem;

View File

@@ -0,0 +1,37 @@
<script lang="ts">
import Content from "$lib/viewport/content.svelte";
import ImageGallery, {
type GalleryImage,
} from "$lib/lists/image-gallery.svelte";
let i: GalleryImage[] = [
{
src: "/projects/projectn5/devlog/2025/0523/birds_eye.webp",
alt: "gawk",
desc: "gawk gawk gawk",
},
{
src: "/blog/robert.webp",
alt: "ROOOOBEEERT",
desc: "ROOOOBEEERT",
},
{
src: "/blog/2026/0208/sadstick.webp",
alt: ":(",
desc: ":(",
},
{
src: "/art/drawings/2026/0310.webp",
alt: "girl",
desc: "girl girl girl girl girlgirlgirl vgirl",
},
];
</script>
<Content>
<h1>TEST</h1>
test page go brr
<ImageGallery images={i} />
</Content>