From da987cbbe1d9f0a9bec07cd2e1eb4031ca6f039a Mon Sep 17 00:00:00 2001
From: Hinton
Date: Fri, 30 Jan 2026 13:34:46 +0100
Subject: [PATCH] Use dropdown button in vault list instead
---
.../vault/app/vault-v3/vault-list.component.html | 12 ++++++++----
.../vault/app/vault-v3/vault-list.component.ts | 15 +++++++++++----
.../src/vault/app/vault-v3/vault.component.html | 3 ++-
3 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/apps/desktop/src/vault/app/vault-v3/vault-list.component.html b/apps/desktop/src/vault/app/vault-v3/vault-list.component.html
index 2bc0935c199..c3d9276fd8a 100644
--- a/apps/desktop/src/vault/app/vault-v3/vault-list.component.html
+++ b/apps/desktop/src/vault/app/vault-v3/vault-list.component.html
@@ -75,10 +75,14 @@
{{ emptyStateItem()?.description | i18n }}
@if (showAddCipherBtn()) {
-
+
}
}
diff --git a/apps/desktop/src/vault/app/vault-v3/vault-list.component.ts b/apps/desktop/src/vault/app/vault-v3/vault-list.component.ts
index c86cc925a35..552a4cbe6b8 100644
--- a/apps/desktop/src/vault/app/vault-v3/vault-list.component.ts
+++ b/apps/desktop/src/vault/app/vault-v3/vault-list.component.ts
@@ -10,6 +10,7 @@ import { BitSvg } from "@bitwarden/assets/svg";
import { CollectionView } from "@bitwarden/common/admin-console/models/collections";
import { Organization } from "@bitwarden/common/admin-console/models/domain/organization";
import { CipherArchiveService } from "@bitwarden/common/vault/abstractions/cipher-archive.service";
+import { CipherType } from "@bitwarden/common/vault/enums";
import { CipherAuthorizationService } from "@bitwarden/common/vault/services/cipher-authorization.service";
import {
RestrictedCipherType,
@@ -29,7 +30,7 @@ import {
NoItemsModule,
} from "@bitwarden/components";
import { I18nPipe } from "@bitwarden/ui-common";
-import { VaultItem } from "@bitwarden/vault";
+import { NewCipherMenuComponent, VaultItem } from "@bitwarden/vault";
import { VaultCipherRowComponent } from "./vault-items/vault-cipher-row.component";
import { VaultCollectionRowComponent } from "./vault-items/vault-collection-row.component";
@@ -60,6 +61,7 @@ type EmptyStateItem = {
VaultCollectionRowComponent,
VaultCipherRowComponent,
NoItemsModule,
+ NewCipherMenuComponent,
],
})
export class VaultListComponent {
@@ -80,7 +82,8 @@ export class VaultListComponent {
protected readonly emptyStateItem = input();
protected onEvent = output>();
- protected onAddCipher = output();
+ protected onAddCipher = output();
+ protected onAddFolder = output();
protected cipherAuthorizationService = inject(CipherAuthorizationService);
protected restrictedItemTypesService = inject(RestrictedItemTypesService);
@@ -111,8 +114,12 @@ export class VaultListComponent {
this.onEvent.emit(event);
}
- protected addCipher() {
- this.onAddCipher.emit();
+ protected addCipher(type: CipherType) {
+ this.onAddCipher.emit(type);
+ }
+
+ protected addFolder() {
+ this.onAddFolder.emit();
}
protected canClone$(vaultItem: VaultItem): Observable {
diff --git a/apps/desktop/src/vault/app/vault-v3/vault.component.html b/apps/desktop/src/vault/app/vault-v3/vault.component.html
index 727457cc71c..b1b3253b03f 100644
--- a/apps/desktop/src/vault/app/vault-v3/vault.component.html
+++ b/apps/desktop/src/vault/app/vault-v3/vault.component.html
@@ -34,7 +34,8 @@
[showAddCipherBtn]="showAddCipherBtn"
[emptyStateItem]="emptyState$ | async"
(onEvent)="onVaultItemsEvent($event)"
- (onAddCipher)="addCipher()"
+ (onAddCipher)="addCipher($event)"
+ (onAddFolder)="addFolder()"
/>
@if (action()) {