<template>
	<div class="movies">
		<div class="content-inner">
			<div class="tiles">
				<MovieTile
					v-for="movie in movies"
					:key="`movie-${movie.id}`"
					:movie="movie"
				/>
			</div>
		</div>

		<Footer />
	</div>
</template>

<script>
import MovieTile from './movie-tile.vue';

async function mounted() {
	const { movies, totalCount } = await this.$store.dispatch('fetchMovies', {
		limit: 30,
	});

	this.movies = movies;
	this.totalCount = totalCount;
}

export default {
	components: {
		MovieTile,
	},
	data() {
		return {
			movies: [],
			totalCount: 0,
		};
	},
	mounted,
};
</script>

<style lang="scss" scoped>
@import 'breakpoints';

.movies {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
	grid-gap: 1rem;
	padding: 1rem;
}

@media(max-width: $breakpoint) {
	.tiles {
		grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
	}
}
</style>