aboutsummaryrefslogtreecommitdiff
path: root/weed/admin/view/app/template_helpers.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/admin/view/app/template_helpers.go')
-rw-r--r--weed/admin/view/app/template_helpers.go84
1 files changed, 84 insertions, 0 deletions
diff --git a/weed/admin/view/app/template_helpers.go b/weed/admin/view/app/template_helpers.go
new file mode 100644
index 000000000..04eebb272
--- /dev/null
+++ b/weed/admin/view/app/template_helpers.go
@@ -0,0 +1,84 @@
+package app
+
+import (
+ "fmt"
+ "strconv"
+)
+
+// getStatusColor returns Bootstrap color class for status
+func getStatusColor(status string) string {
+ switch status {
+ case "active", "healthy":
+ return "success"
+ case "warning":
+ return "warning"
+ case "critical", "unreachable":
+ return "danger"
+ default:
+ return "secondary"
+ }
+}
+
+// getHealthColor returns Bootstrap color class for health status
+func getHealthColor(health string) string {
+ switch health {
+ case "excellent":
+ return "success"
+ case "good":
+ return "primary"
+ case "fair":
+ return "warning"
+ case "poor":
+ return "danger"
+ default:
+ return "secondary"
+ }
+}
+
+// formatBytes converts bytes to human readable format
+func formatBytes(bytes int64) string {
+ if bytes == 0 {
+ return "0 B"
+ }
+
+ units := []string{"B", "KB", "MB", "GB", "TB", "PB"}
+ var i int
+ value := float64(bytes)
+
+ for value >= 1024 && i < len(units)-1 {
+ value /= 1024
+ i++
+ }
+
+ if i == 0 {
+ return fmt.Sprintf("%.0f %s", value, units[i])
+ }
+ return fmt.Sprintf("%.1f %s", value, units[i])
+}
+
+// formatNumber formats large numbers with commas
+func formatNumber(num int64) string {
+ if num == 0 {
+ return "0"
+ }
+
+ str := strconv.FormatInt(num, 10)
+ result := ""
+
+ for i, char := range str {
+ if i > 0 && (len(str)-i)%3 == 0 {
+ result += ","
+ }
+ result += string(char)
+ }
+
+ return result
+}
+
+// calculatePercent calculates percentage for progress bars
+func calculatePercent(current, max int) int {
+ if max == 0 {
+ return 0
+ }
+ return (current * 100) / max
+}