oggui/ogWebconsole/src/app/components/global-status/ogboot-status/ogboot-status.component.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>