diff --git a/src/views/CharacterDetailView.vue b/src/views/CharacterDetailView.vue index e352ccf..5a78ce5 100644 --- a/src/views/CharacterDetailView.vue +++ b/src/views/CharacterDetailView.vue @@ -34,12 +34,36 @@ const API_URL = import.meta.env.VITE_API_URL const selectedAsset = ref(null) const isModalVisible = ref(false) +const activeTab = ref("0") +const isMultiSelectMode = ref(false) +const bulkSelectedAssetIds = ref([]) const openModal = (asset) => { + if (isMultiSelectMode.value) { + toggleBulkSelection(asset.id) + return + } selectedAsset.value = asset isModalVisible.value = true } +const toggleBulkSelection = (id) => { + const idx = bulkSelectedAssetIds.value.indexOf(id) + if (idx > -1) bulkSelectedAssetIds.value.splice(idx, 1) + else bulkSelectedAssetIds.value.push(id) +} + +const handleUseInGeneration = () => { + if (bulkSelectedAssetIds.value.length === 0) return + + const assetsToUse = characterAssets.value.filter(a => bulkSelectedAssetIds.value.includes(a.id)) + selectedAssets.value = [...assetsToUse] + + activeTab.value = "0" + isMultiSelectMode.value = false + bulkSelectedAssetIds.value = [] +} + const loadData = async () => { loading.value = true const charId = route.params.id @@ -396,7 +420,7 @@ const handleLogout = () => { -

Linked Assets ({{ assetsTotalRecords }})

-
+
+