84 lines
3.4 KiB
HTML
84 lines
3.4 KiB
HTML
<div class="section-content">
|
|
<div class="repositories-container">
|
|
@if(bootServers.length === 0) {
|
|
<div class="no-repositories">
|
|
<mat-icon class="no-data-icon">cloud_off</mat-icon>
|
|
<h3>No hay servidores de boot disponibles</h3>
|
|
<p>No se encontraron servidores OgBoot configurados en el sistema.</p>
|
|
</div>
|
|
} @else {
|
|
<div class="repositories-selector-container">
|
|
<div class="repository-selector">
|
|
<mat-form-field appearance="outline" class="repository-select-field">
|
|
<mat-label>Seleccionar servidor OgBoot</mat-label>
|
|
<mat-select [(ngModel)]="selectedBootServerUuid" (selectionChange)="onBootServerChange($event.value)">
|
|
@for(server of bootServers; track server.uuid) {
|
|
<mat-option [value]="server.uuid">
|
|
{{ server.name }}
|
|
</mat-option>
|
|
}
|
|
</mat-select>
|
|
<mat-icon matSuffix>storage</mat-icon>
|
|
</mat-form-field>
|
|
</div>
|
|
|
|
@if(selectedBootServerUuid && !errorBootServers[selectedBootServerUuid] && bootServerStatuses[selectedBootServerUuid]) {
|
|
<div class="selected-repository-content">
|
|
<div class="repository-item">
|
|
<div class="section-header">
|
|
<h2>{{ getSelectedBootServerName() }}</h2>
|
|
<button class="logs-button" (click)="scrollToLogs()">
|
|
<mat-icon>article</mat-icon>
|
|
<span>Ver logs</span>
|
|
</button>
|
|
</div>
|
|
|
|
<div class="repository-content">
|
|
<app-status-tab [loading]="loadingBootServers" [diskUsage]="bootServerStatuses[selectedBootServerUuid].disk"
|
|
[servicesStatus]="bootServerStatuses[selectedBootServerUuid].services"
|
|
[installedOgLives]="bootServerStatuses[selectedBootServerUuid].installedOgLives"
|
|
[diskUsageChartData]="bootServerStatuses[selectedBootServerUuid].diskUsageChartData" [view]="view" [colorScheme]="colorScheme"
|
|
[isDoughnut]="isDoughnut" [showLabels]="showLabels" [isDhcp]="false" [isRepository]="false">
|
|
</app-status-tab>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="logs-section" id="ogboot-logs-section">
|
|
<div class="logs-header">
|
|
<h3>Logs de OgBoot</h3>
|
|
<p>Logs en tiempo real del servidor OgBoot seleccionado</p>
|
|
</div>
|
|
<div class="logs-container">
|
|
<iframe [src]="getBootServerIframeUrl()" width="100%" height="800" frameborder="0" class="ogboot-logs-iframe">
|
|
</iframe>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
@if(!selectedBootServerUuid) {
|
|
<div class="no-repository-selected">
|
|
<mat-icon class="no-data-icon">storage</mat-icon>
|
|
<h3>Selecciona un servidor de boot</h3>
|
|
<p>Elige un servidor de boot de la lista para ver su estado detallado.</p>
|
|
</div>
|
|
}
|
|
|
|
@if(selectedBootServerUuid && errorBootServers[selectedBootServerUuid]) {
|
|
<div class="error-container">
|
|
<div class="error-card">
|
|
<mat-icon class="error-icon">error_outline</mat-icon>
|
|
<h3>Error de conexión</h3>
|
|
<p>No se pudo conectar con el servidor OgBoot seleccionado</p>
|
|
<button mat-raised-button color="primary" (click)="retryBootServerStatus(selectedBootServerUuid)">
|
|
<mat-icon>refresh</mat-icon>
|
|
Reintentar
|
|
</button>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|