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()) {