fix build commit
This commit is contained in:
@@ -1,90 +0,0 @@
|
||||
<template>
|
||||
<aside class="w-64 flex-shrink-0">
|
||||
<div class="sticky top-20 bg-gray-800 rounded-xl border border-gray-700 p-4 space-y-5">
|
||||
<h2 class="text-sm font-semibold text-gray-300 uppercase tracking-wider">Filters</h2>
|
||||
|
||||
<CityFilter :city="filters.city" @change="$emit('set-city', $event)" />
|
||||
|
||||
<div>
|
||||
<label class="block text-xs font-medium text-gray-400 mb-1">Quality</label>
|
||||
<select
|
||||
class="w-full bg-gray-900 border border-gray-600 rounded-lg px-3 py-2 text-sm text-gray-200 focus:outline-none focus:border-amber-500"
|
||||
:value="filters.quality"
|
||||
@change="$emit('set-quality', Number(($event.target as HTMLSelectElement).value) as AlbionQuality)"
|
||||
>
|
||||
<option v-for="q in QUALITIES" :key="q.value" :value="q.value">{{ q.label }}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<CategoryFilter :categories="filters.categories" @toggle="$emit('toggle-category', $event)" />
|
||||
|
||||
<TierFilter :tiers="filters.tiers" @toggle="$emit('toggle-tier', $event)" />
|
||||
|
||||
<TaxInput :tax-rate="filters.taxRate" @change="$emit('set-tax-rate', $event)" />
|
||||
|
||||
<div>
|
||||
<label class="block text-xs font-medium text-gray-400 mb-1">Min Profit (silver)</label>
|
||||
<input
|
||||
type="number"
|
||||
class="w-full bg-gray-900 border border-gray-600 rounded-lg px-3 py-2 text-sm text-gray-200 focus:outline-none focus:border-amber-500"
|
||||
:value="filters.minProfit"
|
||||
@input="$emit('set-min-profit', Number(($event.target as HTMLInputElement).value))"
|
||||
min="0"
|
||||
step="1000"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="space-y-2">
|
||||
<label class="flex items-center gap-2 cursor-pointer select-none">
|
||||
<input
|
||||
type="checkbox"
|
||||
class="w-4 h-4 rounded accent-amber-500"
|
||||
:checked="filters.hideStale"
|
||||
@change="$emit('set-hide-stale', ($event.target as HTMLInputElement).checked)"
|
||||
/>
|
||||
<span class="text-xs text-gray-300">Hide stale prices</span>
|
||||
</label>
|
||||
<label class="flex items-center gap-2 cursor-pointer select-none">
|
||||
<input
|
||||
type="checkbox"
|
||||
class="w-4 h-4 rounded accent-amber-500"
|
||||
:checked="filters.hideMissing"
|
||||
@change="$emit('set-hide-missing', ($event.target as HTMLInputElement).checked)"
|
||||
/>
|
||||
<span class="text-xs text-gray-300">Hide missing prices</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="pt-1 border-t border-gray-700 text-xs text-gray-500">
|
||||
{{ resultCount }} results shown
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import CityFilter from './CityFilter.vue'
|
||||
import CategoryFilter from './CategoryFilter.vue'
|
||||
import TierFilter from './TierFilter.vue'
|
||||
import TaxInput from './TaxInput.vue'
|
||||
import type { FilterState } from '../../types/filters'
|
||||
import type { AlbionCity, AlbionQuality } from '../../types/api'
|
||||
import type { Tier, ItemCategory } from '../../types/crafting'
|
||||
import { QUALITIES } from '../../data/constants'
|
||||
|
||||
defineProps<{
|
||||
filters: FilterState
|
||||
resultCount: number
|
||||
}>()
|
||||
|
||||
defineEmits<{
|
||||
'set-city': [city: AlbionCity]
|
||||
'set-quality': [quality: AlbionQuality]
|
||||
'toggle-tier': [tier: Tier]
|
||||
'toggle-category': [category: ItemCategory]
|
||||
'set-tax-rate': [rate: number]
|
||||
'set-min-profit': [value: number]
|
||||
'set-hide-stale': [value: boolean]
|
||||
'set-hide-missing': [value: boolean]
|
||||
}>()
|
||||
</script>
|
||||
@@ -29,6 +29,8 @@ defineEmits<{
|
||||
|
||||
function tierActiveClass(tier: Tier): string {
|
||||
const classes: Record<Tier, string> = {
|
||||
2: 'bg-stone-600 border-stone-500 text-white',
|
||||
3: 'bg-stone-500 border-stone-400 text-white',
|
||||
4: 'bg-blue-600 border-blue-500 text-white',
|
||||
5: 'bg-green-600 border-green-500 text-white',
|
||||
6: 'bg-yellow-600 border-yellow-500 text-white',
|
||||
|
||||
@@ -281,7 +281,7 @@ const STATION: Record<JournalType, { label: string; cls: string }> = {
|
||||
toolmaker: { label: 'Toolmaker', cls: 'bg-orange-900/30 border border-orange-700/40 text-orange-400' },
|
||||
}
|
||||
|
||||
const VARIANT_INFO: Record<string, { label: string; cls: string }> = {
|
||||
const VARIANT_INFO = {
|
||||
avalon: { label: 'Avalon', cls: 'bg-violet-600/30 text-violet-300 border border-violet-600/40' },
|
||||
crystal: { label: 'Crystal', cls: 'bg-cyan-600/30 text-cyan-300 border border-cyan-600/40' },
|
||||
artifact: { label: 'Artifact', cls: 'bg-amber-600/30 text-amber-300 border border-amber-600/40' },
|
||||
@@ -380,7 +380,7 @@ function startEdit(itemId: string, current: number) {
|
||||
|
||||
function saveEdit(itemId: string) {
|
||||
const v = Math.ceil(Number(inputValue.value))
|
||||
if (!inputValue.value && inputValue.value !== 0) {
|
||||
if (!inputValue.value) {
|
||||
clearManualPrice(itemId, filters.value.city)
|
||||
} else if (v > 0) {
|
||||
setManualPrice(itemId, filters.value.city, v)
|
||||
|
||||
@@ -70,9 +70,8 @@ import { ref, computed } from 'vue'
|
||||
import { tierStyle, itemImageUrl } from '../utils/formatting'
|
||||
import PriceCell from '../components/PriceCell.vue'
|
||||
import { ENCHANTMENTS } from '../data/constants'
|
||||
import type { Enchantment } from '../types/crafting'
|
||||
|
||||
function enchantedId(baseId: string, enchant: Enchantment): string {
|
||||
function enchantedId(baseId: string, enchant: number): string {
|
||||
return enchant === 0 ? baseId : `${baseId}_LEVEL${enchant}`
|
||||
}
|
||||
|
||||
|
||||
@@ -219,7 +219,7 @@ export function enchantTextStyle(enc: number): { color: string } {
|
||||
return { color: map[enc] ?? '#9ca3af' }
|
||||
}
|
||||
|
||||
export function tierEnchantStyle(tier: number, enchantment: number): object {
|
||||
export function tierEnchantStyle(tier: number, enchantment: number): Record<string, string> {
|
||||
const base = tierStyle(tier)
|
||||
if (enchantment === 0) return base
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user