diff --git a/src/lib/lists/gallery.svelte b/src/lib/lists/gallery.svelte index 7fb68f8..0a935df 100644 --- a/src/lib/lists/gallery.svelte +++ b/src/lib/lists/gallery.svelte @@ -5,6 +5,7 @@ img: string; imgAlt: string; link: string; + description: string; } let { @@ -34,9 +35,11 @@ {#if reverseTextOrder} + {:else} + {/if} @@ -56,22 +59,24 @@ .gallery-container { box-sizing: content-box; - height: 80px; + height: 120px; display: flex; flex-direction: row; text-decoration: none; align-items: center; - margin: 6px 0; + margin: 0; + justify-content: center; + border: var(--border-style) transparent var(--border-dash-size); + transition: border-color var(--duration-animation) var(--anim-curve); } .gallery-img, .gallery-img-placeholder { - width: 145px; - min-width: 145px; + width: 180px; + min-width: 180px; height: 100%; margin: 0; object-fit: cover; - /* filter: grayscale(60%); */ - transition: margin var(--duration-animation) ease-out; + transition: width var(--duration-animation) var(--anim-curve); } .gallery-img-placeholder { @@ -79,53 +84,66 @@ } .gallery-text-container { - display: flex; - flex-direction: column; + display: grid; + grid-auto-columns: 1fr; + grid-template-rows: 1fr 1fr 0fr; + align-items: center; + overflow: hidden; flex-grow: 1; - height: 100%; - padding-left: 16px; - padding-right: 16px; - border-style: var(--border-style); - justify-content: center; - border-color: transparent; - border-width: var(--border-dash-size); - border-left: none; - transition: border-color var(--duration-animation) ease-out, - padding-right var(--duration-animation) ease-out, - background-color var(--duration-animation) ease-out, - backdrop-filter var(--duration-blur) ease-out; + padding: 0 16px; + transition: background-color var(--duration-animation) var(--anim-curve), + backdrop-filter var(--duration-blur) var(--anim-curve), + grid-template-rows var(--duration-blur) var(--anim-curve); } - .gallery-title, .gallery-subtitle { + .gallery-title, .gallery-subtitle, .gallery-description { margin: 0; - transition: color var(--duration-animation) ease-out; + transition: color var(--duration-animation) var(--anim-curve), + opacity var(--duration-animation) var(--anim-curve); } .gallery-title { font-family: var(--font-mono); font-weight: 700; + font-size: 1.4rem; + line-height: 2.0rem; } - .gallery-subtitle { + .gallery-subtitle, .gallery-description { font-size: 1.0rem; line-height: 1.2rem; + overflow: hidden; } - .gallery-container:hover .gallery-text-container { + .gallery-description { + font-weight: 500; + opacity: 0; + } + + .gallery-container:hover { border-color: var(--color-highlight); background-color: var(--color-background-highlight); backdrop-filter: blur(var(--blur-radius-background)); } .gallery-container:hover .gallery-img, .gallery-container:hover .gallery-img-placeholder { /* filter: grayscale(0%); */ - margin-left: 8px; + /* margin-left: 8px; */ + width: 260px; } .gallery-container:hover .gallery-text-container { - padding-right: 8px; + /* padding-right: 8px; */ + grid-template-rows: 0fr 1fr 1fr; } .gallery-container:hover p { color: var(--color-highlight); } + .gallery-container:hover .gallery-subtitle { + opacity: 0; + + } + .gallery-container:hover .gallery-description { + opacity: 1; + } @media screen and (max-width: 700px) { /* .gallery-title { diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 7abe250..ea327c7 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -139,9 +139,12 @@ --underline-dash-size: 1px; /* durations */ - --duration-animation: 0.1s; --duration-blur: 0.2s; + /* animation */ + --duration-animation: 0.3s; + --anim-curve: cubic-bezier(0.22, 1, 0.36, 1); + /* fonts */ --font-line-height: 1.6rem; diff --git a/src/routes/blog/+page.svelte b/src/routes/blog/+page.svelte index 57e7ad9..0d1f3b3 100644 --- a/src/routes/blog/+page.svelte +++ b/src/routes/blog/+page.svelte @@ -18,6 +18,7 @@ img: banner, link: `/blog/${entry.key}/`, imgAlt: `Preview image for ${entry.post.title}`, + description: entry.post.description, }; } diff --git a/src/routes/projects/projectn5/+page.svelte b/src/routes/projects/projectn5/+page.svelte index d4f5fa7..b2428f3 100644 --- a/src/routes/projects/projectn5/+page.svelte +++ b/src/routes/projects/projectn5/+page.svelte @@ -13,6 +13,7 @@ img: `/projects/projectn5/devlog/${entry.key}/preview.webp`, link: `/projects/projectn5/devlog/${entry.key}/`, imgAlt: `Preview image for ${entry.post.title}`, + description: entry.post.description, }; }