mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 22:57:21 +01:00
* initial market - routing - store - load market data * move drawer/drawerSlider / count/star badge to components/ui * filter market categories * shopItem with gem / gold * show count of purchable items * show count of purchable itemsshow drawer with currently owned items + DrawerHeaderTabs-Component * show featured gear * show Gear - filter by class - sort by (type, price, stats) - sort market items * Component: ItemRows - shows only the max items in one row (depending on the available width) * Sell Dialog + Balance Component * generic buy-dialog / attributes grid with highlight * buyItem - hide already owned gear * filter: hide locked/pinned - lock items if not enough gold * API: Sell multiple items * show avatar in buy-equipment-dialog with changed gear * market banner * misc fixes * filter by text * pin/unpin gear store actions * Sell API: amount as query-parameter * Update user.js * fixes * fix sell api amount test * add back stroke/fill currentColor * use scss variables
61 lines
1.1 KiB
Vue
61 lines
1.1 KiB
Vue
<template lang="pug">
|
|
div(v-if="emptyItem")
|
|
.item-wrapper
|
|
.item.item-empty
|
|
.item-content
|
|
span.item-label(v-if="label") {{ label }}
|
|
b-popover(
|
|
v-else,
|
|
:triggers="[showPopover?'hover':'']",
|
|
:placement="popoverPosition",
|
|
)
|
|
span(slot="content")
|
|
slot(name="popoverContent", :item="item")
|
|
|
|
.item-wrapper(@click="click")
|
|
.item
|
|
slot(name="itemBadge", :item="item")
|
|
span.item-content(
|
|
:class="itemContentClass"
|
|
)
|
|
span.item-label(v-if="label") {{ label }}
|
|
</template>
|
|
|
|
<script>
|
|
import bPopover from 'bootstrap-vue/lib/components/popover';
|
|
|
|
export default {
|
|
components: {
|
|
bPopover,
|
|
},
|
|
props: {
|
|
item: {
|
|
type: Object,
|
|
},
|
|
itemContentClass: {
|
|
type: String,
|
|
},
|
|
label: {
|
|
type: String,
|
|
},
|
|
emptyItem: {
|
|
type: Boolean,
|
|
default: false,
|
|
},
|
|
popoverPosition: {
|
|
type: String,
|
|
default: 'bottom',
|
|
},
|
|
showPopover: {
|
|
type: Boolean,
|
|
default: true,
|
|
},
|
|
},
|
|
methods: {
|
|
click () {
|
|
this.$emit('click', this.item);
|
|
},
|
|
},
|
|
};
|
|
</script>
|