Refactor frontend, display tours with cards on ToursPage
This commit is contained in:
@@ -7,28 +7,72 @@ defineProps({
|
||||
},
|
||||
subtitle: {
|
||||
type: String,
|
||||
},
|
||||
prependImage: {
|
||||
type: String,
|
||||
default: ""
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<v-card
|
||||
:title="title"
|
||||
:subtitle="subtitle"
|
||||
:prepend-icon="icon"
|
||||
>
|
||||
<!-- Show default container only, if there is content -->
|
||||
<v-container v-if="$slots.default">
|
||||
<v-card>
|
||||
<v-row v-if="prependImage != ''">
|
||||
<v-col cols="3" class="pr-0">
|
||||
<v-img
|
||||
:src="prependImage"
|
||||
height="220"
|
||||
cover
|
||||
>
|
||||
<template #placeholder>
|
||||
<v-skeleton-loader
|
||||
type="image"
|
||||
height="300"
|
||||
cover
|
||||
/>
|
||||
</template>
|
||||
</v-img>
|
||||
</v-col>
|
||||
|
||||
<v-col class="pl-0" >
|
||||
<v-card-title>
|
||||
{{ title }}
|
||||
</v-card-title>
|
||||
|
||||
<v-card-subtitle>
|
||||
{{ subtitle }}
|
||||
</v-card-subtitle>
|
||||
|
||||
<div class="pa-4">
|
||||
<slot></slot>
|
||||
</div>
|
||||
|
||||
<v-card-actions v-if="$slots.actions" class="card-actions position-absolute bottom-0 right-0">
|
||||
<v-spacer />
|
||||
<slot name="actions"></slot>
|
||||
</v-card-actions>
|
||||
</v-col>
|
||||
</v-row>
|
||||
|
||||
<v-container v-else>
|
||||
<slot></slot>
|
||||
</v-container>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Show default container only, if there is content -->
|
||||
<!-- <v-container v-if="$slots.default">
|
||||
<slot></slot>
|
||||
</v-container> -->
|
||||
|
||||
<!-- Slot for content without padding -->
|
||||
<slot name="withoutContainer"></slot>
|
||||
<!-- <slot name="withoutContainer"></slot> -->
|
||||
|
||||
<!-- Slot for Action Buttons in the right bottom corner -->
|
||||
<v-card-actions v-if="$slots.actions" class="card-actions">
|
||||
<!-- <v-card-actions v-if="$slots.actions" class="card-actions">
|
||||
<v-spacer />
|
||||
<slot name="actions"></slot>
|
||||
</v-card-actions>
|
||||
</v-card-actions> -->
|
||||
</v-card>
|
||||
</template>
|
||||
|
||||
@@ -12,12 +12,12 @@ const navRail = defineModel("navRail", { type: Boolean })
|
||||
<!-- Shopping Section -->
|
||||
|
||||
<v-list-subheader>
|
||||
<div v-if="!navRail">{{ $t('menu.shopping') }}</div>
|
||||
<div v-if="!navRail">{{ $t('menu.shopping.shopping') }}</div>
|
||||
<div v-else></div>
|
||||
</v-list-subheader>
|
||||
|
||||
<v-list-item :title="$t('menu.products')" prepend-icon="mdi-store" to="/" link />
|
||||
<v-list-item :title="$t('menu.basket')" to="/basket" link >
|
||||
<v-list-item :title="$t('menu.shopping.ticket', 2)" prepend-icon="mdi-ticket" to="/" link />
|
||||
<v-list-item :title="$t('menu.shopping.basket')" to="/basket" link >
|
||||
<template v-slot:prepend>
|
||||
<v-badge color="primary" :content="basketStore.itemsInBasket.length">
|
||||
<v-icon icon="mdi-cart" />
|
||||
@@ -31,21 +31,21 @@ const navRail = defineModel("navRail", { type: Boolean })
|
||||
<!-- Account Section -->
|
||||
|
||||
<v-list-subheader>
|
||||
<div v-if="!navRail">{{ $t('menu.account') }}</div>
|
||||
<div v-if="!navRail">{{ $t('menu.account.accountManagement') }}</div>
|
||||
<div v-else></div>
|
||||
</v-list-subheader>
|
||||
|
||||
<v-expand-transition>
|
||||
<div v-if="accountStore.userAccount.id == null">
|
||||
<v-list-item v-if="accountStore.userAccount.id == null" :title="$t('menu.login')" prepend-icon="mdi-login" to="/login" link />
|
||||
<v-list-item v-if="accountStore.userAccount.id == null" :title="$t('menu.account.login')" prepend-icon="mdi-login" to="/login" link />
|
||||
</div>
|
||||
</v-expand-transition>
|
||||
|
||||
<v-expand-transition>
|
||||
<div v-if="accountStore.userAccount.id != null">
|
||||
<v-list-item :title="$t('menu.account')" prepend-icon="mdi-account" to="/account" link />
|
||||
<v-list-item :title="$t('menu.orders')" prepend-icon="mdi-cart-check" to="/orders" link />
|
||||
<v-list-item :title="$t('menu.logout')" prepend-icon="mdi-logout" @click="accountStore.logout" link />
|
||||
<v-list-item :title="$t('menu.account.account')" prepend-icon="mdi-account" to="/account" link />
|
||||
<v-list-item :title="$t('menu.account.order', 2)" prepend-icon="mdi-cart-check" to="/orders" link />
|
||||
<v-list-item :title="$t('menu.account.logout')" prepend-icon="mdi-logout" @click="accountStore.logout" link />
|
||||
</div>
|
||||
</v-expand-transition>
|
||||
|
||||
@@ -55,12 +55,12 @@ const navRail = defineModel("navRail", { type: Boolean })
|
||||
<!-- System and help section -->
|
||||
|
||||
<v-list-subheader>
|
||||
<div v-if="!navRail">{{ $t('menu.systemAndHelp') }}</div>
|
||||
<div v-if="!navRail">{{ $t('menu.systemAndHelp.systemAndHelp') }}</div>
|
||||
<div v-else></div>
|
||||
</v-list-subheader>
|
||||
<v-list-item :title="$t('menu.helpInstructions')" prepend-icon="mdi-chat-question" to="/help" link />
|
||||
<v-list-item :title="$t('menu.scoreBoard')" prepend-icon="mdi-podium-gold" to="/scoreBoard" link />
|
||||
<v-list-item :title="$t('menu.preferences')" prepend-icon="mdi-cog" to="/preferences" link />
|
||||
<v-list-item :title="$t('menu.systemAndHelp.helpInstructions')" prepend-icon="mdi-chat-question" to="/help" link />
|
||||
<v-list-item :title="$t('menu.systemAndHelp.scoreBoard')" prepend-icon="mdi-podium-gold" to="/scoreBoard" link />
|
||||
<v-list-item :title="$t('menu.systemAndHelp.preferences')" prepend-icon="mdi-cog" to="/preferences" link />
|
||||
|
||||
|
||||
<div v-if="accountStore.userAccount.accountRole.privilegeAdminPanel">
|
||||
@@ -72,10 +72,6 @@ const navRail = defineModel("navRail", { type: Boolean })
|
||||
</v-list-subheader>
|
||||
|
||||
<v-list-item :title="$t('menu.admin.dashboard')" prepend-icon="mdi-view-dashboard" to="/admin/dashboard" link />
|
||||
<v-list-item :title="$t('menu.admin.categories')" prepend-icon="mdi-label" to="/admin/categories" link />
|
||||
<v-list-item :title="$t('brand', 2)" prepend-icon="mdi-factory" to="/admin/brands" link />
|
||||
<v-list-item :title="$t('menu.admin.products')" prepend-icon="mdi-store-cog" to="/admin/products" link />
|
||||
<v-list-item :title="$t('menu.admin.accounts')" prepend-icon="mdi-account-multiple" to="/admin/accounts" link />
|
||||
</div>
|
||||
|
||||
</v-list>
|
||||
|
||||
Reference in New Issue
Block a user