small ui/ux improvments

This commit is contained in:
Benny Samir Hierl 2022-02-07 19:19:12 +01:00
parent 1c18ddfcc3
commit 56f8ccc13c
5 changed files with 59 additions and 31 deletions

View file

@ -1,6 +1,5 @@
<template> <template>
<div class="app max-w-[900px] mx-auto p-10"> <main class="app h-screen max-w-[900px] mx-auto p-10">
<main>
<router-view v-slot="{ Component }"> <router-view v-slot="{ Component }">
<template v-if="Component"> <template v-if="Component">
<div <div
@ -27,7 +26,6 @@
</router-view> </router-view>
</main> </main>
<modal-overlay /> <modal-overlay />
</div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { onErrorCaptured, ref } from 'vue' import { onErrorCaptured, ref } from 'vue'

View file

@ -0,0 +1,8 @@
<template>
<svg viewBox="0 0 24 24">
<path
d="M21 6h-3.17A3 3 0 0 0 18 5c0-1.66-1.34-3-3-3c-1 0-1.88.5-2.43 1.24v-.01L12 4l-.57-.77v.01A3.034 3.034 0 0 0 9 2c-1.03 0-1.94.5-2.5 1.32l1.53 1.51C8.12 4.36 8.5 4 9 4c.55 0 1 .45 1 1c0 .5-.36.88-.83.97L13 9.8V8h8v2h-7.8l2 2H20v4.8l2 2V12c.55 0 1-.45 1-1V8a2 2 0 0 0-2-2m-6 0c-.55 0-1-.45-1-1s.45-1 1-1s1 .45 1 1s-.45 1-1 1M1.11 3l3 3H3c-1.1 0-2 .9-2 2v3c0 .55.45 1 1 1v8a2 2 0 0 0 2 2h16.1l1.46 1.45l1.27-1.27L2.39 1.73L1.11 3M13 14.89L18.11 20H13v-5.11m-2-2V20H4v-8h6.11l.89.89M8.11 10H3V8h3.11l2 2z"
fill="currentColor"
></path>
</svg>
</template>

View file

@ -17,6 +17,11 @@
}, },
"pages": { "pages": {
"detail-view": { "detail-view": {
"main": {
"empty-list": {
"text": "Diese Wunschliste ist leer."
}
},
"confirmation-modal": { "confirmation-modal": {
"title": { "title": {
"text": "Möchten Sie den Gegenstand von der Liste nehmen?" "text": "Möchten Sie den Gegenstand von der Liste nehmen?"

View file

@ -17,6 +17,11 @@
}, },
"pages": { "pages": {
"detail-view": { "detail-view": {
"main": {
"empty-list": {
"text": "This wishlist is empty."
}
},
"confirmation-modal": { "confirmation-modal": {
"title": { "title": {
"text": "Do you want to remove the item from the list?" "text": "Do you want to remove the item from the list?"

View file

@ -6,6 +6,7 @@ import { useRoute } from 'vue-router'
import { useWishlistStore, useModal } from '@/composables' import { useWishlistStore, useModal } from '@/composables'
import Tile from '@/components/Tile.vue' import Tile from '@/components/Tile.vue'
import WishlistItem from '@/components/WishlistItem.vue' import WishlistItem from '@/components/WishlistItem.vue'
import IconNoGift from '../components/icons/IconNoGift.vue'
const route = useRoute() const route = useRoute()
const modal = useModal() const modal = useModal()
@ -36,7 +37,7 @@ const bought = async (item: WishlistItemType): Promise<void> => {
</script> </script>
<template> <template>
<div v-if="list !== null"> <div v-if="list !== null" class="h-full">
<div <div
class="flex flex-col md:flex-row space-x-0 md:space-x-6 space-y-2 md:space-y-0 items-center" class="flex flex-col md:flex-row space-x-0 md:space-x-6 space-y-2 md:space-y-0 items-center"
> >
@ -50,7 +51,10 @@ const bought = async (item: WishlistItemType): Promise<void> => {
</p> </p>
</div> </div>
</div> </div>
<div class="flex flex-col space-y-14 md:space-y-8 my-10"> <div
v-if="notBoughtItems && notBoughtItems.length > 0"
class="flex flex-col space-y-14 md:space-y-8 my-10"
>
<WishlistItem <WishlistItem
v-for="(item, index) in notBoughtItems" v-for="(item, index) in notBoughtItems"
:key="index" :key="index"
@ -61,5 +65,13 @@ const bought = async (item: WishlistItemType): Promise<void> => {
@bought="bought(item)" @bought="bought(item)"
/> />
</div> </div>
<div v-else class="h-1/2 w-full flex justify-center">
<div
class="flex flex-wrap flex-col sm:flex-row items-center sm:space-x-2 justify-center text-center sm:text-left text-xl text-gray-600/75"
>
<IconNoGift class="h-10 w-10" />
<span>{{ t('pages.detail-view.main.empty-list.text') }}</span>
</div>
</div>
</div> </div>
</template> </template>