feat: add TagManager and tag filtering (#30 #31)
Some checks failed
Deploy to Coolify / Code Quality (pull_request) Has been cancelled
Deploy to Coolify / Run Tests (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Development (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Production (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Test (pull_request) Has been cancelled
Pull Request Checks / Validate PR (pull_request) Has been cancelled
Some checks failed
Deploy to Coolify / Code Quality (pull_request) Has been cancelled
Deploy to Coolify / Run Tests (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Development (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Production (pull_request) Has been cancelled
Deploy to Coolify / Deploy to Test (pull_request) Has been cancelled
Pull Request Checks / Validate PR (pull_request) Has been cancelled
Issue #30 - TagManager component: - Create/delete tags with name, category, icon, color - Color picker with hex input - Organized display by category - Integrated in settings page with tabs Issue #31 - Tag filter for inventory: - TagFilter component with multi-select - Filter button in inventory header - Active filter display with removable badges - Filters items by selected tags (OR logic) - Clean "Clear" button Updates: - Extended useTags composable with createTag, deleteTag - Enhanced settings page with tab navigation - Improved inventory filtering UX Closes #30, #31
This commit is contained in:
@@ -21,9 +21,23 @@
|
||||
>
|
||||
Add Manually
|
||||
</UButton>
|
||||
|
||||
<UButton
|
||||
color="gray"
|
||||
size="lg"
|
||||
icon="i-heroicons-funnel"
|
||||
@click="showFilters = !showFilters"
|
||||
>
|
||||
Filter
|
||||
</UButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Tag Filters -->
|
||||
<UCard v-if="showFilters" class="mb-6">
|
||||
<TagsTagFilter v-model="selectedTagFilters" />
|
||||
</UCard>
|
||||
|
||||
<!-- Add Item Form (Overlay) -->
|
||||
<div v-if="showAddForm" class="fixed inset-0 z-50 flex items-start justify-center pt-20 px-4 bg-black/50">
|
||||
<div class="w-full max-w-lg">
|
||||
@@ -46,6 +60,7 @@
|
||||
<InventoryList
|
||||
ref="inventoryListRef"
|
||||
:refresh="refreshKey"
|
||||
:tag-filters="selectedTagFilters"
|
||||
@add-item="showAddForm = true"
|
||||
@edit-item="editingItem = $event"
|
||||
/>
|
||||
@@ -61,10 +76,12 @@ const route = useRoute()
|
||||
const router = useRouter()
|
||||
|
||||
const showAddForm = ref(false)
|
||||
const showFilters = ref(false)
|
||||
const editingItem = ref<any>(null)
|
||||
const refreshKey = ref(0)
|
||||
const inventoryListRef = ref()
|
||||
const prefilledData = ref<any>(null)
|
||||
const selectedTagFilters = ref<string[]>([])
|
||||
|
||||
// Handle scan-to-add flow (Issue #25)
|
||||
onMounted(() => {
|
||||
|
||||
Reference in New Issue
Block a user