@page @model PlanTempusAdmin.Pages.Azure.IndexModel @{ ViewData["Title"] = "Azure Storage"; } @section Styles { } @if (!Model.IsConnected) {

Kan ikke forbinde til Azure Storage

Tjek at ConnectionStrings:AzureStorage er konfigureret i appsettings.json

} else { var d = Model.Dashboard;
Status
ONLINE
@d.AccountName
Containers
@d.TotalContainers
@d.TotalBlobs blobs total
Total Størrelse
@FormatBytes(d.TotalSize)
Backup: @FormatBytes(d.BackupTotalSize)
Sidste Upload
@FormatTimeAgo(d.LastBackupUpload)
@d.BackupFileCount backup filer
Containers
@foreach (var container in d.Containers) { }
Navn Blobs Størrelse Ændret
@if (container.Name.Contains("backup", StringComparison.OrdinalIgnoreCase)) { 💾 } else { 📦 } @container.Name @container.BlobCount @FormatBytes(container.TotalSize) @FormatTimeAgo(container.LastModified) Åbn
Seneste Uploads
@if (d.RecentBlobs.Count == 0) {

Ingen filer endnu

} @foreach (var blob in d.RecentBlobs) {
@GetFileIcon(blob.Name) @blob.FileName @if (!string.IsNullOrEmpty(blob.AccessTier)) { @blob.AccessTier }
@FormatBytes(blob.Size) · @FormatTimeAgo(blob.LastModified) @if (!string.IsNullOrEmpty(blob.Directory)) { · @blob.Directory }
}
Opdateret: @DateTime.Now.ToString("HH:mm:ss")
} @functions { string FormatBytes(long bytes) { if (bytes == 0) return "0 B"; var sizes = new[] { "B", "KB", "MB", "GB", "TB" }; var i = (int)Math.Floor(Math.Log(bytes) / Math.Log(1024)); return $"{Math.Round(bytes / Math.Pow(1024, i), 1)} {sizes[i]}"; } string FormatTimeAgo(DateTimeOffset? time) { if (!time.HasValue) return "-"; var diff = DateTimeOffset.Now - time.Value; if (diff.TotalMinutes < 1) return "lige nu"; if (diff.TotalMinutes < 60) return $"{(int)diff.TotalMinutes}m siden"; if (diff.TotalHours < 24) return $"{(int)diff.TotalHours}t siden"; if (diff.TotalDays < 7) return $"{(int)diff.TotalDays}d siden"; return time.Value.ToString("dd/MM"); } string GetFileIcon(string name) { if (name.EndsWith(".tar.gz")) return "📦"; if (name.EndsWith(".gz") || name.EndsWith(".zip") || name.EndsWith(".7z")) return "📦"; if (name.EndsWith(".sql")) return "🐘"; if (name.EndsWith(".bak")) return "💾"; if (name.EndsWith(".log")) return "📜"; if (name.EndsWith(".json")) return "📋"; if (name.EndsWith(".xml")) return "📄"; return "📄"; } }