@page @model PlanTempusAdmin.Pages.Azure.ContainerModel @{ ViewData["Title"] = $"Container: {Model.Name}"; } @section Styles { } @if (!Model.IsConnected) {

Kan ikke forbinde til Azure Storage

} else { @if (Model.Details.Prefixes.Count > 0) {
Mapper
@foreach (var prefix in Model.Details.Prefixes) { var folderName = prefix.Split('/').Last(p => !string.IsNullOrEmpty(p)); ๐Ÿ“ @folderName }
}
Filer @Model.Details.Blobs.Count filer
@if (Model.Details.Blobs.Count == 0) {

Ingen filer i denne mappe

} else { @foreach (var blob in Model.Details.Blobs) { }
Navn Stรธrrelse Type Tier ร†ndret
@GetFileIcon(blob.Name) @blob.FileName @FormatBytes(blob.Size) @(blob.ContentType ?? "-") @if (!string.IsNullOrEmpty(blob.AccessTier)) { @blob.AccessTier } @FormatTimeAgo(blob.LastModified) โฌ‡๏ธ
}
โ† Tilbage til oversigt
} @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 HH: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 "๐Ÿ“„"; } string GetTierClass(string tier) { var t = tier.ToLower(); if (t == "hot") return "hot"; if (t == "cool") return "cool"; if (t == "archive") return "archive"; return ""; } }