mirror of
https://github.com/danbulant/Mangades
synced 2026-06-19 22:31:30 +00:00
add banner as image to art list
This commit is contained in:
parent
4eb9ebc38c
commit
cd4b73a1c8
2 changed files with 39 additions and 7 deletions
|
|
@ -1,9 +1,16 @@
|
|||
<script>
|
||||
<script lang="ts">
|
||||
import request, { imageproxy } from "$lib/util/request";
|
||||
|
||||
export var mangaId;
|
||||
export var mangaId: string;
|
||||
export var additionalList: {
|
||||
alt: string;
|
||||
src: string;
|
||||
width?: number;
|
||||
height?: number;
|
||||
color?: string;
|
||||
}[] = [];
|
||||
|
||||
let list;
|
||||
let list: any;
|
||||
$: list = request("cover?manga[]=" + mangaId + "&locales[]=en&locales[]=uk&locales[]=ja");
|
||||
|
||||
export var selectedImage = null;
|
||||
|
|
@ -17,6 +24,9 @@
|
|||
<img on:click={() => selectedImage = `${imageproxy}https://uploads.mangadex.org/covers/${mangaId}/${item.attributes.fileName}.512.jpg`} width=512 height=805 src="{imageproxy}https://uploads.mangadex.org/covers/{mangaId}/{item.attributes.fileName}.512.jpg" alt="" draggable={false}>
|
||||
{/each}
|
||||
{/await}
|
||||
{#each additionalList as item}
|
||||
<img on:click={() => selectedImage = item.src} style="{item.color ? "--box-shadow-color: " + item.color : ""};" width={item.width} height={item.height} src="{item.src}" alt="{item.alt}" draggable={false}>
|
||||
{/each}
|
||||
</div>
|
||||
|
||||
<style>
|
||||
|
|
@ -32,10 +42,16 @@
|
|||
border-radius: 5px;
|
||||
height: 10rem;
|
||||
width: auto;
|
||||
--box-shadow-color: white;
|
||||
box-shadow: 0 0 0 0 var(--box-shadow-color);
|
||||
transition: box-shadow 0.2s ease-in-out;
|
||||
}
|
||||
div img:first-child {
|
||||
grid-column: 1 / span 2;
|
||||
grid-row: 1 / span 2;
|
||||
height: 20rem;
|
||||
}
|
||||
div img:hover, div img:active, div img:focus {
|
||||
box-shadow: 0 0 0.5rem var(--box-shadow-color);
|
||||
}
|
||||
</style>
|
||||
|
|
@ -293,6 +293,19 @@
|
|||
$: smallScreenMode = width < 700;
|
||||
|
||||
var scrollY, innerHeight;
|
||||
|
||||
let additionalImages = [];
|
||||
|
||||
$: if(anilistData) anilistData.then(data => {
|
||||
if(data.bannerImage && !additionalImages.find(t => t.src === data.bannerImage)) {
|
||||
additionalImages.push({
|
||||
src: data.bannerImage,
|
||||
alt: "Banner image",
|
||||
color: data.coverImage.color
|
||||
});
|
||||
additionalImages = additionalImages;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<svelte:window on:beforeUnload={beforeUnload} bind:innerWidth={width} bind:scrollY bind:innerHeight />
|
||||
|
|
@ -442,7 +455,7 @@
|
|||
</SwiperSlide>
|
||||
<SwiperSlide>
|
||||
<div style="min-height: 30rem;">
|
||||
<ArtList {mangaId} bind:selectedImage />
|
||||
<ArtList {mangaId} bind:selectedImage additionalList={additionalImages} />
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide>
|
||||
|
|
@ -528,8 +541,9 @@
|
|||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
.infoflex {
|
||||
.infoflex.flex {
|
||||
margin: 15px;
|
||||
justify-content: start;
|
||||
}
|
||||
.flex-wrapped {
|
||||
display: flex;
|
||||
|
|
@ -555,8 +569,10 @@
|
|||
}
|
||||
.banner {
|
||||
width: 100%;
|
||||
max-height: 100%;
|
||||
max-height: 40vh;
|
||||
object-fit: cover;
|
||||
object-position: center top;
|
||||
overflow: hidden;
|
||||
}
|
||||
.banner-container .fader {
|
||||
position: absolute;
|
||||
|
|
@ -565,7 +581,7 @@
|
|||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
|
||||
background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,1) 100%);
|
||||
}
|
||||
.genre {
|
||||
border-radius: 5px;
|
||||
|
|
|
|||
Loading…
Reference in a new issue