diff --git a/src/modules/project/pages/ProjectPage.vue b/src/modules/project/pages/ProjectPage.vue index d0ea4d4d4a510fceb1292c331736ef234028f541..92c9d3033616235426b180be44df639d9577e4c9 100644 --- a/src/modules/project/pages/ProjectPage.vue +++ b/src/modules/project/pages/ProjectPage.vue @@ -10,11 +10,12 @@ <div class="list"> <b-card-group id="card-deck" deck> <CoscineCard + v-if="!isLoadingRoles" id="addResource" :title="$t('page.project.addResource')" type="create" :to="toCreateResource()" - :disabled="!isEmailValid" + :disabled="!isEmailValid || isGuest" @open-card="openCreateResource($event)" /> <b-tooltip target="addResource"> @@ -48,10 +49,10 @@ /> <!-- Loading Card Placeholder --> <CoscineCard - v-if="!resources" + v-if="!resources || isLoadingRoles" :to="{}" :title="$t('default.loading')" - :is-loading="!resources" + :is-loading="true" :disabled="true" /> </b-card-group> @@ -66,17 +67,19 @@ <div class="list"> <b-card-group id="card-deck" deck> <CoscineCard + v-if="!isLoadingRoles" :title="$t('page.listProjects.addProject')" type="create" :to="toCreateSubProject()" + :disabled="isGuest" @open-card="openCreateProject($event)" /> <!-- Loading Card Placeholder --> <CoscineCard - v-if="!subProjects" + v-if="!subProjects || isLoadingRoles" :to="{}" :title="$t('default.loading')" - :is-loading="!subProjects" + :is-loading="true" /> <!-- Content Cards --> <CoscineCard @@ -156,6 +159,9 @@ export default defineComponent({ isGuest(): boolean | undefined { return this.projectStore.currentUserRoleIsGuest; }, + isLoadingRoles(): boolean { + return this.projectStore.currentUserRole ? false : true; + }, user(): UserObject | null { return this.userStore.user; }, @@ -192,10 +198,12 @@ export default defineComponent({ return this.isGuest ? null : route; }, openCreateProject(to: RawLocation) { - this.$router.push(to); + if (!this.isGuest) { + this.$router.push(to); + } }, openCreateResource(to: RawLocation) { - if (this.isEmailValid) { + if (this.isEmailValid && !this.isGuest) { // Set current resource ID to null this.resourceStore.currentId = null; this.$router.push(to); @@ -249,7 +257,6 @@ export default defineComponent({ /* Prevents Members list to become wider */ max-width: 27rem; } - .coscine_card:hover { background-color: var(--coscine_card-background-color--hover); }