mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 04:01:58 +00:00
50 lines
1.3 KiB
TypeScript
50 lines
1.3 KiB
TypeScript
import { Component, inject, DOCUMENT } from '@angular/core'
|
|
import { DocsLinkDirective, i18nPipe, RELATIVE_URL } from '@start9labs/shared'
|
|
import { TuiButton, TuiIcon } from '@taiga-ui/core'
|
|
import { TuiCardLarge, TuiSurface } from '@taiga-ui/layout'
|
|
import { ApiService } from 'src/app/services/api/embassy-api.service'
|
|
import { ConfigService } from 'src/app/services/config.service'
|
|
|
|
@Component({
|
|
selector: 'ca-wizard',
|
|
templateUrl: './ca-wizard.component.html',
|
|
styleUrls: ['./ca-wizard.component.scss'],
|
|
imports: [
|
|
TuiIcon,
|
|
TuiButton,
|
|
TuiCardLarge,
|
|
TuiSurface,
|
|
i18nPipe,
|
|
DocsLinkDirective,
|
|
],
|
|
})
|
|
export class CAWizardComponent {
|
|
private readonly api = inject(ApiService)
|
|
private readonly relativeUrl = inject(RELATIVE_URL)
|
|
private readonly document = inject(DOCUMENT)
|
|
|
|
readonly config = inject(ConfigService)
|
|
caTrusted = false
|
|
|
|
async ngOnInit() {
|
|
await this.testHttps().catch(e =>
|
|
console.warn('Failed Https connection attempt'),
|
|
)
|
|
}
|
|
|
|
refresh() {
|
|
this.document.location.reload()
|
|
}
|
|
|
|
launchHttps() {
|
|
this.document.defaultView?.open(`https://${this.config.host}`, '_self')
|
|
}
|
|
|
|
private async testHttps() {
|
|
const url = `https://${this.document.location.host}${this.relativeUrl}`
|
|
await this.api.echo({ message: 'ping' }, url).then(() => {
|
|
this.caTrusted = true
|
|
})
|
|
}
|
|
}
|