Skip to content

Commit 309035e

Browse files
francofrizzoclaude
andcommitted
polish sidebar and loading states
- Sidebar: stronger shadow, consistent hover borders across menu sections - Loading: waveform inherits parent color, unified subtle pulse animation - Loading: reduced opacity to /35 with custom pulse-subtle keyframe Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c7d7e1e commit 309035e

5 files changed

Lines changed: 33 additions & 13 deletions

File tree

src/assets/styles.css

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,17 @@
136136
transform: translateY(12px);
137137
}
138138

139+
/* Subtle pulse — fades to 60% instead of 0 */
140+
@keyframes pulse-subtle {
141+
0%,
142+
100% {
143+
opacity: 1;
144+
}
145+
50% {
146+
opacity: 0.6;
147+
}
148+
}
149+
139150
/* Simple fade in */
140151
@keyframes fade-in {
141152
from {

src/components/navigation/SongMenu.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ const otherCollectionMenuItems = computed(() => {
4141
<label for="my-drawer" aria-label="close sidebar" class="drawer-overlay"></label>
4242
<div class="flex min-h-full w-80 lg:p-3">
4343
<div
44-
class="from-primary/12 to-base-100/12 bg-base-100/40 text-base-content border-base-200 lg:rounded-box flex w-full flex-col gap-6 border bg-linear-to-t px-3 py-4 shadow-lg backdrop-blur-lg lg:px-1"
44+
class="from-primary/12 to-base-100/12 bg-base-100/40 text-base-content border-base-200 lg:rounded-box flex w-full flex-col gap-6 border bg-linear-to-t px-3 py-4 shadow-2xl backdrop-blur-lg lg:px-1"
4545
>
4646
<div v-if="currentCollection" class="flex flex-col gap-2">
4747
<div class="flex items-center justify-between gap-2 pr-3 pl-5">
@@ -87,8 +87,8 @@ const otherCollectionMenuItems = computed(() => {
8787
:class="[
8888
'border-l-2',
8989
currentSong?.id === song.id
90-
? 'menu-active bg-primary/12 text-primary border-primary font-semibold'
91-
: 'hover:bg-base-content/6 hover:border-base-content/15 border-transparent'
90+
? 'menu-active bg-primary/20 text-primary border-primary font-semibold'
91+
: 'hover:border-base-content/10 border-transparent'
9292
]"
9393
@click="isOpen = false"
9494
>
@@ -119,7 +119,7 @@ const otherCollectionMenuItems = computed(() => {
119119
collectionSlug: otherCollection.slug
120120
}
121121
}"
122-
class="flex items-center gap-1.5"
122+
class="hover:border-base-content/10 flex items-center gap-1.5 border-l-2 border-transparent"
123123
@click="isOpen = false"
124124
>
125125
{{ otherCollection.title }}

src/components/player/MultitrackPlayer.vue

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -812,11 +812,12 @@ const initializeAudioContext = async () => {
812812
v-if="!isReady && tracksVisible"
813813
class="bg-base-100/80 md:rounded-box absolute inset-0 z-10 flex items-center justify-center backdrop-blur-[1px] select-none"
814814
>
815-
<div class="text-base-content/50 flex flex-col items-center gap-4">
815+
<div
816+
class="text-base-content/35 flex flex-col items-center gap-4"
817+
style="animation: pulse-subtle 3s ease-in-out infinite"
818+
>
816819
<LoadingWaveform size="lg" :bar-count="12" />
817-
<span class="animate-pulse text-sm tracking-wide" style="animation-duration: 3s"
818-
>Cargando...</span
819-
>
820+
<span class="text-sm tracking-wide">Cargando...</span>
820821
</div>
821822
</div>
822823
</div>

src/components/ui/LoadingScreen.vue

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@ import LoadingWaveform from "@/components/ui/LoadingWaveform.vue";
44

55
<template>
66
<div
7-
class="bg-base-200 text-base-content/50 flex h-dvh w-full flex-col items-center justify-center gap-6 p-2 text-lg select-none"
7+
class="bg-base-200 text-base-content/35 flex h-dvh w-full flex-col items-center justify-center p-2 text-lg select-none"
88
>
9-
<LoadingWaveform size="lg" :bar-count="14" />
10-
<span class="animate-pulse tracking-wide" style="animation-duration: 3s">Cargando...</span>
9+
<div
10+
class="flex flex-col items-center gap-6"
11+
style="animation: pulse-subtle 3s ease-in-out infinite"
12+
>
13+
<LoadingWaveform size="lg" :bar-count="14" />
14+
<span class="tracking-wide">Cargando...</span>
15+
</div>
1116
</div>
1217
</template>

src/components/ui/LoadingWaveform.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,14 @@ const barMax = (i: number) =>
4444
</script>
4545

4646
<template>
47-
<div class="flex items-center" :style="{ gap: `${config.gap}px`, height: `${config.maxHeight}px` }">
47+
<div
48+
class="flex items-center"
49+
:style="{ gap: `${config.gap}px`, height: `${config.maxHeight}px` }"
50+
>
4851
<div
4952
v-for="i in barCount"
5053
:key="i"
51-
class="bg-base-content/15 loading-bar rounded-full"
54+
class="loading-bar rounded-full bg-current"
5255
:style="{
5356
width: `${config.barWidth}px`,
5457
animationDelay: `${barOffset(i)}s`,

0 commit comments

Comments
 (0)