diff --git a/MiniKmsClient/src/app/manage-keys/manage-keys.component.html b/MiniKmsClient/src/app/manage-keys/manage-keys.component.html index 012e432..b682bd4 100644 --- a/MiniKmsClient/src/app/manage-keys/manage-keys.component.html +++ b/MiniKmsClient/src/app/manage-keys/manage-keys.component.html @@ -1 +1,56 @@ -

manage-keys works!

+
+ + Alias + + + + + Key Type + + + {{ type }} + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Key ID {{element.keyId}} Alias {{element.alias}} Key Type {{element.keyType}} Actions + + +
diff --git a/MiniKmsClient/src/app/manage-keys/manage-keys.component.scss b/MiniKmsClient/src/app/manage-keys/manage-keys.component.scss index e69de29..45e5640 100644 --- a/MiniKmsClient/src/app/manage-keys/manage-keys.component.scss +++ b/MiniKmsClient/src/app/manage-keys/manage-keys.component.scss @@ -0,0 +1,37 @@ +:host { + display: block; + min-height: 100vh; + background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + padding: 20px; + box-sizing: border-box; +} + +.controls-row { + display: flex; + gap: 16px; + align-items: center; + margin: 20px auto; + width: 60%; + background: white; + padding: 16px; + border-radius: 12px; + box-shadow: 0 4px 12px rgba(0,0,0,0.15); + padding-top: 36px; +} + +.control { + flex: 1; +} + +button.add-btn { + height: 56px; +} + +.full-width-table { + width: 80%; + margin: 0 auto; + background: white; + border-radius: 12px; + overflow: hidden; + box-shadow: 0 4px 12px rgba(0,0,0,0.15); +} \ No newline at end of file diff --git a/MiniKmsClient/src/app/manage-keys/manage-keys.component.ts b/MiniKmsClient/src/app/manage-keys/manage-keys.component.ts index f016840..a7899db 100644 --- a/MiniKmsClient/src/app/manage-keys/manage-keys.component.ts +++ b/MiniKmsClient/src/app/manage-keys/manage-keys.component.ts @@ -1,4 +1,11 @@ import { Component } from '@angular/core'; +import { MatTableDataSource } from '@angular/material/table'; + +export interface KeyRecord { + keyId: string; + alias: string; + keyType: string; +} @Component({ selector: 'app-manage-keys', @@ -6,5 +13,28 @@ import { Component } from '@angular/core'; styleUrl: './manage-keys.component.scss' }) export class ManageKeysComponent { +keyTypes: string[] = ['AES', 'RSA', 'HMAC']; + + displayedColumns: string[] = ['keyId', 'alias', 'keyType', 'actions']; + dataSource = new MatTableDataSource([ + { keyId: '1', alias: 'Key One', keyType: 'AES' }, + { keyId: '2', alias: 'Key Two', keyType: 'RSA' }, + { keyId: '3', alias: 'Key Three', keyType: 'AES' }, + { keyId: '4', alias: 'Key Four', keyType: 'HMAC' } + ]); + + addKey() { + console.log('Add key clicked'); + // TODO: implement + } + + deleteKey(key: KeyRecord) { + console.log('Delete key', key); + // TODO: implement + } + rotateKey(key: KeyRecord) { + console.log('Rotate key', key); + // TODO: implement + } }