From 4e738d8ea3ec181b0a296324c810fad96e5d2891 Mon Sep 17 00:00:00 2001 From: mrFq1 <1xxbx0il0@mozmail.com> Date: Mon, 29 May 2023 20:13:33 +0800 Subject: [PATCH] feat: memory overview item --- ClashX Dashboard/Views/ClashApiDatasStorage.swift | 11 +++++++++++ .../Views/ContentTabs/Overview/OverviewView.swift | 10 +++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ClashX Dashboard/Views/ClashApiDatasStorage.swift b/ClashX Dashboard/Views/ClashApiDatasStorage.swift index 6e75f96..6577606 100644 --- a/ClashX Dashboard/Views/ClashApiDatasStorage.swift +++ b/ClashX Dashboard/Views/ClashApiDatasStorage.swift @@ -41,6 +41,15 @@ extension ClashApiDatasStorage: ApiRequestStreamDelegate { } } } + + func didUpdateMemory(memory: Int64) { + let v = ByteCountFormatter().string(fromByteCount: memory) + + if overviewData.memory != v { + overviewData.memory = v + } + } + } fileprivate let TrafficHistoryLimit = 120 @@ -56,6 +65,8 @@ class ClashOverviewData: ObservableObject, Identifiable { @Published var activeConns = "0" + @Published var memory = "0 MB" + @Published var downloadHistories = [CGFloat](repeating: 0, count: TrafficHistoryLimit) @Published var uploadHistories = [CGFloat](repeating: 0, count: TrafficHistoryLimit) diff --git a/ClashX Dashboard/Views/ContentTabs/Overview/OverviewView.swift b/ClashX Dashboard/Views/ContentTabs/Overview/OverviewView.swift index 7484e72..60d48e1 100644 --- a/ClashX Dashboard/Views/ContentTabs/Overview/OverviewView.swift +++ b/ClashX Dashboard/Views/ContentTabs/Overview/OverviewView.swift @@ -15,13 +15,21 @@ struct OverviewView: View { var body: some View { VStack(spacing: 25) { - HStack() { + + + + LazyVGrid(columns: Array(repeating: GridItem(.flexible(minimum: 155)), count: 4)) { + OverviewTopItemView(name: "Upload", value: $data.uploadString) OverviewTopItemView(name: "Download", value: $data.downloadString) OverviewTopItemView(name: "Upload Total", value: $data.uploadTotal) OverviewTopItemView(name: "Download Total", value: $data.downloadTotal) + OverviewTopItemView(name: "Active Connections", value: $data.activeConns) + OverviewTopItemView(name: "Memory Usage", value: $data.memory) } + + HStack { RoundedRectangle(cornerRadius: 2)