feat: collection delete

Signed-off-by: Sebastian <krupinski01@gmail.com>
This commit is contained in:
2026-05-05 23:42:27 -04:00
parent 96002b6187
commit ab0a46f5e0
6 changed files with 253 additions and 12 deletions

View File

@@ -23,6 +23,7 @@ const emit = defineEmits<{
select: [folder: CollectionObject]
createFolder: [service: ServiceObject, parentFolder: CollectionObject | null]
editFolder: [service: ServiceObject, folder: CollectionObject]
deleteFolder: [service: ServiceObject, folder: CollectionObject]
}>()
// Page-based navigation state per service account
@@ -56,6 +57,10 @@ const getServiceFolders = (service: ServiceObject): CollectionObject[] => {
return collectionsStore.collectionsForService(service.provider, service.identifier)
}
const canDeleteFolder = (folder: CollectionObject): boolean => {
return !folder.properties.role
}
// Get icon for folder based on role
const getFolderIcon = (folder: CollectionObject): string => {
switch (folder.properties.role) {
@@ -271,6 +276,14 @@ const getCurrentParentFolder = (service: ServiceObject): CollectionObject | null
>
<v-list-item-title>New Subfolder</v-list-item-title>
</v-list-item>
<v-list-item
v-if="canDeleteFolder(folder)"
prepend-icon="mdi-delete"
base-color="error"
@click="emit('deleteFolder', group.service, folder)"
>
<v-list-item-title>Delete Folder</v-list-item-title>
</v-list-item>
</v-list>
</v-menu>
</template>
@@ -420,6 +433,14 @@ const getCurrentParentFolder = (service: ServiceObject): CollectionObject | null
>
<v-list-item-title>New Subfolder</v-list-item-title>
</v-list-item>
<v-list-item
v-if="canDeleteFolder(folder)"
prepend-icon="mdi-delete"
base-color="error"
@click="emit('deleteFolder', group.service, folder)"
>
<v-list-item-title>Delete Folder</v-list-item-title>
</v-list-item>
</v-list>
</v-menu>
</template>