<script setup>
import getPath from '#/src/get-path.js';

defineProps({
	serie: {
		type: Object,
		default: null,
	},
});
</script>

<template>
	<div class="serie-tile">
		<a
			v-if="serie.poster"
			:href="`/serie/${serie.id}/${serie.slug}`"
			class="poster-container"
		>
			<img
				:src="getPath(serie.poster, 'thumbnail')"
				:style="{ 'background-image': `url(${getPath(serie.poster, 'lazy')})` }"
				class="poster"
				loading="lazy"
			>
		</a>

		<div class="tile-info">
			<a
				:href="`/serie/${serie.id}/${serie.slug}`"
				class="title nolink"
			>{{ serie.title }}</a>
		</div>
	</div>
</template>

<style scoped>
.serie-tile {
	display: flex;
	flex-direction: column;
	box-shadow: 0 0 3px var(--shadow-weak-30);
	border-radius: .25rem;
	overflow: hidden;
	background: var(--background-base);

	&:hover {
		box-shadow: 0 0 3px var(--shadow-weak-20);

		:deep(.bookmarks) .icon:not(.favorited):not(:hover) {
			fill: var(--text-light);
		}
	}

	&.unstashed {
		opacity: .5;
	}
}

.poster-container {
	aspect-ratio: 16/9;
	overflow: hidden;
}

.poster {
	width: 100%;
	height: 100%;
	object-fit: cover;
	background-size: cover;
	background-position: center;
}

.tile-info {
	display: flex;
	flex-shrink: 0;
}

.title {
	width: 100%;
	padding: .25rem .5rem;
	flex-shrink: 0;
}
</style>
