added role support

This commit is contained in:
Edward Tirado Jr 2026-04-09 18:44:44 -05:00
parent cab29c8c56
commit 3c5c22aad4
11 changed files with 745 additions and 32 deletions

View file

@ -28,6 +28,9 @@ const {data: listResponse} = await useApiData<ResourceResponse<MovieList>>(`/api
}
});
const isAdmin = computed(() => ['ADMIN', 'OWNER'].includes(listResponse.value.data.role));
const canEdit = computed(() => listResponse.value.data.role === 'EDITOR' || isAdmin.value);
const refreshList = (updatedList: MovieList) => {
listResponse.value = {data: updatedList};
}
@ -61,7 +64,7 @@ const removeMovieFromList = (movieId: number) => {
<div v-if="listResponse" class="content">
<div class="page-header">
<PageTitle :title="listResponse.data.name"/>
<Icon class="settings-icon" name="solar:settings-bold" @click="toggleSettings"/>
<Icon v-if="isAdmin" class="settings-icon" name="solar:settings-bold" @click="toggleSettings"/>
</div>
<ListSettings
@ -73,6 +76,7 @@ const removeMovieFromList = (movieId: number) => {
<MovieList
v-else
:can-edit="canEdit"
:movies="listResponse.data.movies"
@movie-clicked="selectedMovie = $event"
@add-movie="toggleMovieSearch"
@ -81,7 +85,8 @@ const removeMovieFromList = (movieId: number) => {
<!-- MOVIE DETAILS SLIDEOUT -->
<SlideoutPanel :open="!!selectedMovie" @close="selectedMovie = null">
<MovieDetails v-if="selectedMovie" :selectedMovie="selectedMovie" @remove-movie="removeMovieFromList"/>
<MovieDetails v-if="selectedMovie" :can-edit="canEdit" :selectedMovie="selectedMovie"
@remove-movie="removeMovieFromList"/>
</SlideoutPanel>
<!-- MOVIE SEARCH SLIDEOUT -->