diff --git a/app/components/Album/Card.vue b/app/components/Album/Card.vue index 4669a60..4c3b84f 100644 --- a/app/components/Album/Card.vue +++ b/app/components/Album/Card.vue @@ -4,13 +4,14 @@ import type { Album } from "@/utils/types" type AlbumProps = Omit, "artists"> & { artists: Array> genre?: Genre + carousel?: boolean } const props = defineProps() diff --git a/app/components/Slider.vue b/app/components/Slider.vue index da4d0f6..01f70b7 100644 --- a/app/components/Slider.vue +++ b/app/components/Slider.vue @@ -126,4 +126,17 @@ onMounted(() => { .right { right: -48px; } + +@media (max-width: 767px) { + .left, + .right { + display: none; + } + + .slider { + -webkit-overflow-scrolling: touch; + overscroll-behavior-x: contain; + scroll-padding-inline: 0.25rem; + } +} diff --git a/app/pages/artist/[id]/index.vue b/app/pages/artist/[id]/index.vue index 9026875..3c4f8a0 100644 --- a/app/pages/artist/[id]/index.vue +++ b/app/pages/artist/[id]/index.vue @@ -44,12 +44,15 @@ useHead({ title: computed(() => artistData.value ? `${artistData.value.name} - A @@ -158,4 +166,55 @@ $gap: 12px; } } } + +@media (max-width: 767px) { + .info { + flex-direction: column; + align-items: stretch; + gap: 0.25rem; + } + + .artist-art { + padding: 0.5rem; + } + + .artist-image { + width: 100%; + height: auto; + } + + .info .details { + align-items: center; + padding-top: 0; + text-align: center; + + h1 { + margin-top: 0; + margin-bottom: 0; + } + + .buttons { + margin-top: 0.375rem; + gap: 0.75rem; + } + } + + .details .buttons :deep(.button) { + padding: 0.75rem; + border-radius: 50%; + } + + .details .buttons :deep(.icon-wrapper) { + font-size: 1.5rem; + } + + .details .buttons :deep(.button-label) { + display: none; + } + + .tracks { + flex-basis: 100%; + min-width: 0; + } +}