Centered goop

This commit is contained in:
2023-01-01 22:21:48 +03:00
parent 3963b68a73
commit 689dc589bc
2 changed files with 28 additions and 8 deletions

View File

@@ -30,7 +30,7 @@
height: 100%; height: 100%;
} }
.gooWrapper { .gooey {
filter: url('#goo'); filter: url('#goo');
} }
@@ -38,7 +38,6 @@
.blob { .blob {
position: absolute; position: absolute;
left: 50%; left: 50%;
transform: translateX(-50%);
cursor: pointer; cursor: pointer;
} }
@@ -50,6 +49,7 @@
height: auto; height: auto;
padding: var(--gap-sm); padding: var(--gap-sm);
box-sizing: border-box; box-sizing: border-box;
transform: translateX(-50%);
} }
.control>img { .control>img {
@@ -60,14 +60,15 @@
background: var(--clr-bg); background: var(--clr-bg);
border-radius: 20px; border-radius: 20px;
aspect-ratio: 1/1; aspect-ratio: 1/1;
transition: width .6s, height .6s, transform .6s; transition: transform .6s;
width: 0; width: 64px;
height: 0; height: 64px;
transform-origin: 0;
transform: scale(0) translateX(-50%);
} }
.selected { .selected {
width: 64px; transform: scale(1) translateX(-50%);
height: 64px;
} }
.control:nth-child(2), .control:nth-child(2),
@@ -101,6 +102,14 @@
.blob { .blob {
top: 0; top: 0;
left: 0; left: 0;
}
.blob {
transform: scale(0);
transform-origin: center;
}
.control {
transform: translateX(0); transform: translateX(0);
} }
@@ -121,4 +130,8 @@
top: unset; top: unset;
left: calc(var(--blob-distance) * 2); left: calc(var(--blob-distance) * 2);
} }
.selected {
transform: scale(1);
}
} }

View File

@@ -29,6 +29,8 @@ export default () => {
} }
} }
const gooey = true;
createEffect((prev) => { createEffect((prev) => {
if (prev !== state.visibleChapter()) { if (prev !== state.visibleChapter()) {
selectChapter(state.visibleChapter()); selectChapter(state.visibleChapter());
@@ -40,7 +42,12 @@ export default () => {
<> <>
<div class={styles.Controls}> <div class={styles.Controls}>
<div class={styles.chapters}> <div class={styles.chapters}>
<div class={styles.gooWrapper}> <div
class={styles.gooWrapper}
classList={{
[styles.gooey]: gooey
}}
>
<For each={chapters}>{(chapter) => <For each={chapters}>{(chapter) =>
<div <div
class={styles.blob} class={styles.blob}