changeset 268:083ca8dc3499

Remove charts
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Sun, 14 Mar 2021 13:24:37 +0100
parents e8223540f3f3
children 1836c369cbc4
files LazyBear/UI/ChartView.swift LazyBear/UI/InsiderSummary.swift
diffstat 2 files changed, 12 insertions(+), 77 deletions(-) [+]
line wrap: on
line diff
--- a/LazyBear/UI/ChartView.swift	Sun Mar 14 13:24:25 2021 +0100
+++ b/LazyBear/UI/ChartView.swift	Sun Mar 14 13:24:37 2021 +0100
@@ -6,7 +6,6 @@
 //
 
 import SwiftUI
-import Charts
 
 struct ChartView: View {
     var symbol: String
@@ -26,39 +25,13 @@
                     request(url: url, model: [HistoricalPriceModel].self) { self.historicalPrices = $0 }
                 })
             
-            let (colour, prices) = prepareChart()
-            Chart(data: prices)
-                .frame(height: chartHeight)
-                .chartStyle(AreaChartStyle(.quadCurve, fill:
-                                            LinearGradient(gradient: .init(colors: [colour.opacity(0.5), colour.opacity(0.2)]),
-                                                           startPoint: .top,
-                                                           endPoint: .bottom)))
+
         }
         .onAppear {
             let url = getUrl(endpoint: .historicalPrices, symbol: symbol, range: "3m")
             request(url: url, model: [HistoricalPriceModel].self) { self.historicalPrices = $0 }
         }
     }
-    
-    private func prepareChart() -> (Color, [Double]) {
-        if !historicalPrices.isEmpty {
-            // Historical is been requested and successfully received
-            let prices = historicalPrices.map { $0.close } // Close prices array (for chart)
-            // Modify chart colour depending on % change over time
-            // If it's < 0 -> lost value -> red
-            var colour: Color = .red
-            let changeOverTime = historicalPrices.map { $0.changeOverTime }.last
-            if changeOverTime! >= 0 {
-                colour = .green
-            }
-            
-            return (colour, normalize(prices))
-        }
-        
-        // Handle error here after x seconds of requesting.
-        
-        return (.blue, [Double]())
-    }
 }
 
 struct HistoricalPriceView_Previews: PreviewProvider {
--- a/LazyBear/UI/InsiderSummary.swift	Sun Mar 14 13:24:25 2021 +0100
+++ b/LazyBear/UI/InsiderSummary.swift	Sun Mar 14 13:24:37 2021 +0100
@@ -6,66 +6,28 @@
 //
 
 import SwiftUI
-import SwiftUICharts
 
 struct InsiderSummary: View {
     var symbol: String
-    @State private var dataPoints = [DataPoint]()
-    
     @FetchRequest(entity: UserSettings.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \UserSettings.changedAt, ascending: false)])
     var userSettings: FetchedResults<UserSettings>
     
     var body: some View {
         VStack(alignment: .leading) {
-            if !dataPoints.isEmpty {
-                HStack {
-                    Image(systemName: "star.fill")
-                        .renderingMode(.original)
-                        .imageScale(.large)
-                    
-                    Text("Top insiders")
-                        .font(.title2)
-                        .fontWeight(.semibold)
-                    
-                    Spacer()
-                }
-            }
-            
-            HorizontalBarChartView(dataPoints: dataPoints)
-        }
-        .padding()
-        .onAppear {
-            // Empty array in case there is data already
-            if !dataPoints.isEmpty {
-                self.dataPoints = [DataPoint]()
+            HStack {
+                Image(systemName: "star.fill")
+                    .renderingMode(.original)
+                    .imageScale(.large)
+                
+                Text("Top insiders")
+                    .font(.title2)
+                    .fontWeight(.semibold)
+                
+                Spacer()
             }
             
-            generateChart()
         }
-    }
-    
-    private func generateChart() {
-        let url = getUrl(endpoint: .insiderSummary, symbol: symbol)
-        request(url: url, model: [TopInsiderModel].self) { topInsiders in
-            let theme = userSettings.first?.theme?.lowercased() ?? "default"
-            // Loop over the response
-            var insiderNumber = 0
-            for insider in topInsiders {
-                insiderNumber += 1
-                if insiderNumber < 5 {
-                    if let net = insider.position {
-                        let index = topInsiders.firstIndex(of: insider)  // Get number (indice) of the item in the list
-                        let rowNumber = index! % 5  // Get row color name
-                        let color = Color("\(theme)Row\(rowNumber)")  // Define color
-                        let label = LocalizedStringKey(insider.entityName.capitalized)  // Define label
-                        let legend = Legend(color: color, label: label)  // Define legend SwiftUICharts
-                        let dataPoint = DataPoint(value: Double(net), label: LocalizedStringKey(String(net)), legend: legend)
-                        
-                        dataPoints.append(dataPoint)
-                    }
-                }
-            }
-        }
+        .padding()
     }
 }