setup artist page boilerplate code

This commit is contained in:
geoffrey45
2022-11-21 21:59:24 +03:00
committed by Mungai Njoroge
parent f3c4f0310a
commit da852e72f3
7 changed files with 70 additions and 39 deletions
+49
View File
@@ -0,0 +1,49 @@
<template>
<div
class="artist-page v-scroll-page"
style="height: 100%"
:class="{ isSmall, isMedium }"
>
<RecycleScroller
class="scroller"
:items="scrollerItems"
:item-size="null"
key-field="id"
v-slot="{ item }"
style="height: 100%"
>
<component :is="item.component" v-bind="item.props" />
</RecycleScroller>
</div>
</template>
<script setup lang="ts">
import { isMedium, isSmall } from "@/stores/content-width";
import Header from "@/components/ArtistView/Header.vue";
import { computed } from "vue";
interface ScrollerItem {
id: string | number;
component: typeof Header;
// props: Record<string, unknown>;
size: number;
}
const header: ScrollerItem = {
id: "artist-header",
component: Header,
size: 19 * 16,
};
const scrollerItems = computed(() => {
return [header];
});
</script>
<style lang="scss">
.artist-page {
border: solid 1px;
}
</style>
+3
View File
@@ -0,0 +1,3 @@
import ArtistView from "./Main.vue";
export default ArtistView;
-3
View File
@@ -45,9 +45,6 @@ interface ScrollerItem {
const header: ScrollerItem = {
id: "header",
component: Header,
// props: {
// info: playlist.info,
// },
size: 19 * 16,
};