mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 12:11:56 +00:00
* tail logs * add cli * add FE * abstract http to shared * batch new logs * file download for logs * fix modal error when no config Co-authored-by: Chris Guida <chrisguida@users.noreply.github.com> Co-authored-by: Aiden McClelland <me@drbonez.dev> Co-authored-by: Matt Hill <matthewonthemoon@gmail.com> Co-authored-by: BluJ <mogulslayer@gmail.com>
55 lines
1.5 KiB
TypeScript
55 lines
1.5 KiB
TypeScript
import { Component, Input, ViewChild } from '@angular/core'
|
|
import { IonInput, LoadingController, ModalController } from '@ionic/angular'
|
|
import { ApiService, DiskBackupTarget } from 'src/app/services/api/api.service'
|
|
import { RPCEncryptedService } from 'src/app/services/rpc-encrypted.service'
|
|
|
|
@Component({
|
|
selector: 'prod-key-modal',
|
|
templateUrl: 'prod-key-modal.page.html',
|
|
styleUrls: ['prod-key-modal.page.scss'],
|
|
})
|
|
export class ProdKeyModal {
|
|
@ViewChild('focusInput') elem?: IonInput
|
|
@Input() target!: DiskBackupTarget
|
|
|
|
error = ''
|
|
productKey = ''
|
|
unmasked = false
|
|
|
|
constructor(
|
|
private readonly modalController: ModalController,
|
|
private readonly apiService: ApiService,
|
|
private readonly loadingCtrl: LoadingController,
|
|
private readonly encrypted: RPCEncryptedService,
|
|
) {}
|
|
|
|
ngAfterViewInit() {
|
|
setTimeout(() => this.elem?.setFocus(), 400)
|
|
}
|
|
|
|
async verifyProductKey() {
|
|
if (!this.productKey || !this.target.logicalname) return
|
|
|
|
const loader = await this.loadingCtrl.create({
|
|
message: 'Verifying Product Key',
|
|
})
|
|
await loader.present()
|
|
|
|
try {
|
|
await this.apiService.set02XDrive(this.target.logicalname)
|
|
this.encrypted.productKey = this.productKey
|
|
await this.apiService.verifyProductKey()
|
|
this.modalController.dismiss({ productKey: this.productKey }, 'success')
|
|
} catch (e) {
|
|
this.encrypted.productKey = undefined
|
|
this.error = 'Invalid Product Key'
|
|
} finally {
|
|
loader.dismiss()
|
|
}
|
|
}
|
|
|
|
cancel() {
|
|
this.modalController.dismiss()
|
|
}
|
|
}
|