changeset 296:b481783c32c0

Start version 4
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Sun, 21 Mar 2021 19:56:24 +0100
parents 50a2fb4a174e
children 46dfb60e0874
files Company+CoreDataClass.swift Company+CoreDataProperties.swift LazyBear.xcodeproj/project.pbxproj LazyBear/Assets.xcassets/Alternative icon/Contents.json LazyBear/Assets.xcassets/Alternative icon/blueIcon.imageset/Contents.json LazyBear/Assets.xcassets/Alternative icon/blueIcon.imageset/blue.png LazyBear/Assets.xcassets/Alternative icon/defaultIcon.imageset/Contents.json LazyBear/Assets.xcassets/Alternative icon/defaultIcon.imageset/default.png LazyBear/Assets.xcassets/Alternative icon/graffitiIcon.imageset/Contents.json LazyBear/Assets.xcassets/Alternative icon/graffitiIcon.imageset/graffiti.png LazyBear/Assets.xcassets/Alternative icon/greenIcon.imageset/Contents.json LazyBear/Assets.xcassets/Alternative icon/greenIcon.imageset/green.png LazyBear/Assets.xcassets/Alternative icon/matteBlackIcon.imageset/Contents.json LazyBear/Assets.xcassets/Alternative icon/matteBlackIcon.imageset/matteBlack.png LazyBear/Assets.xcassets/Alternative icon/matteWhiteIcon.imageset/Contents.json LazyBear/Assets.xcassets/Alternative icon/matteWhiteIcon.imageset/matteWhite.png LazyBear/Assets.xcassets/Alternative icon/pinkIcon.imageset/Contents.json LazyBear/Assets.xcassets/Alternative icon/pinkIcon.imageset/pink.png LazyBear/Assets.xcassets/Alternative icon/redIcon.imageset/Contents.json LazyBear/Assets.xcassets/Alternative icon/redIcon.imageset/red.png LazyBear/Assets.xcassets/Basic theme/Contents.json LazyBear/Assets.xcassets/Basic theme/basicAccent.colorset/Contents.json LazyBear/Assets.xcassets/Basic theme/basicBackground.colorset/Contents.json LazyBear/Assets.xcassets/Basic theme/basicRow0.colorset/Contents.json LazyBear/Assets.xcassets/Basic theme/basicRow1.colorset/Contents.json LazyBear/Assets.xcassets/Basic theme/basicRow2.colorset/Contents.json LazyBear/Assets.xcassets/Basic theme/basicRow3.colorset/Contents.json LazyBear/Assets.xcassets/Basic theme/basicRow4.colorset/Contents.json LazyBear/Assets.xcassets/Default theme/Contents.json LazyBear/Assets.xcassets/Default theme/defaultAccent.colorset/Contents.json LazyBear/Assets.xcassets/Default theme/defaultBackground.colorset/Contents.json LazyBear/Assets.xcassets/Default theme/defaultRow0.colorset/Contents.json LazyBear/Assets.xcassets/Default theme/defaultRow1.colorset/Contents.json LazyBear/Assets.xcassets/Default theme/defaultRow2.colorset/Contents.json LazyBear/Assets.xcassets/Default theme/defaultRow3.colorset/Contents.json LazyBear/Assets.xcassets/Default theme/defaultRow4.colorset/Contents.json LazyBear/Assets.xcassets/Earth theme/Contents.json LazyBear/Assets.xcassets/Earth theme/earthAccent.colorset/Contents.json LazyBear/Assets.xcassets/Earth theme/earthBackground.colorset/Contents.json LazyBear/Assets.xcassets/Earth theme/earthRow0.colorset/Contents.json LazyBear/Assets.xcassets/Earth theme/earthRow1.colorset/Contents.json LazyBear/Assets.xcassets/Earth theme/earthRow2.colorset/Contents.json LazyBear/Assets.xcassets/Earth theme/earthRow3.colorset/Contents.json LazyBear/Assets.xcassets/Earth theme/earthRow4.colorset/Contents.json LazyBear/Assets.xcassets/Forest theme/Contents.json LazyBear/Assets.xcassets/Forest theme/forestAccent.colorset/Contents.json LazyBear/Assets.xcassets/Forest theme/forestBackground.colorset/Contents.json LazyBear/Assets.xcassets/Forest theme/forestRow0.colorset/Contents.json LazyBear/Assets.xcassets/Forest theme/forestRow1.colorset/Contents.json LazyBear/Assets.xcassets/Forest theme/forestRow2.colorset/Contents.json LazyBear/Assets.xcassets/Forest theme/forestRow3.colorset/Contents.json LazyBear/Assets.xcassets/Forest theme/forestRow4.colorset/Contents.json LazyBear/Assets.xcassets/Logos/Contents.json LazyBear/Assets.xcassets/Logos/default.imageset/Contents.json LazyBear/Assets.xcassets/Logos/default.imageset/default.png LazyBear/Assets.xcassets/Multicolor theme/Contents.json LazyBear/Assets.xcassets/Multicolor theme/multicolorAccent.colorset/Contents.json LazyBear/Assets.xcassets/Multicolor theme/multicolorBackground.colorset/Contents.json LazyBear/Assets.xcassets/Multicolor theme/multicolorRow0.colorset/Contents.json LazyBear/Assets.xcassets/Multicolor theme/multicolorRow1.colorset/Contents.json LazyBear/Assets.xcassets/Multicolor theme/multicolorRow2.colorset/Contents.json LazyBear/Assets.xcassets/Multicolor theme/multicolorRow3.colorset/Contents.json LazyBear/Assets.xcassets/Multicolor theme/multicolorRow4.colorset/Contents.json LazyBear/Assets.xcassets/Nature theme/Contents.json LazyBear/Assets.xcassets/Nature theme/natureAccent.colorset/Contents.json LazyBear/Assets.xcassets/Nature theme/natureBackground.colorset/Contents.json LazyBear/Assets.xcassets/Nature theme/natureRow0.colorset/Contents.json LazyBear/Assets.xcassets/Nature theme/natureRow1.colorset/Contents.json LazyBear/Assets.xcassets/Nature theme/natureRow2.colorset/Contents.json LazyBear/Assets.xcassets/Nature theme/natureRow3.colorset/Contents.json LazyBear/Assets.xcassets/Nature theme/natureRow4.colorset/Contents.json LazyBear/Assets.xcassets/See theme/Contents.json LazyBear/Assets.xcassets/See theme/seeAccent.colorset/Contents.json LazyBear/Assets.xcassets/See theme/seeBackground.colorset/Contents.json LazyBear/Assets.xcassets/See theme/seeRow0.colorset/Contents.json LazyBear/Assets.xcassets/See theme/seeRow1.colorset/Contents.json LazyBear/Assets.xcassets/See theme/seeRow2.colorset/Contents.json LazyBear/Assets.xcassets/See theme/seeRow3.colorset/Contents.json LazyBear/Assets.xcassets/See theme/seeRow4.colorset/Contents.json LazyBear/Assets.xcassets/Summer theme/Contents.json LazyBear/Assets.xcassets/Summer theme/summerAccent.colorset/Contents.json LazyBear/Assets.xcassets/Summer theme/summerBackground.colorset/Contents.json LazyBear/Assets.xcassets/Summer theme/summerRow0.colorset/Contents.json LazyBear/Assets.xcassets/Summer theme/summerRow1.colorset/Contents.json LazyBear/Assets.xcassets/Summer theme/summerRow2.colorset/Contents.json LazyBear/Assets.xcassets/Summer theme/summerRow3.colorset/Contents.json LazyBear/Assets.xcassets/Summer theme/summerRow4.colorset/Contents.json LazyBear/Assets.xcassets/Themes/Contents.json LazyBear/CompanyOption.swift LazyBear/ContentView.swift LazyBear/DeviceSize.swift LazyBear/Functions/GetUrl.swift LazyBear/Functions/NormalizeData.swift LazyBear/Functions/ReadJson.swift LazyBear/Functions/Request.swift LazyBear/Functions/StringToDate.swift LazyBear/HUDManager.swift LazyBear/HapticsManager.swift LazyBear/Models/CompanyModel.swift LazyBear/Models/HistoricalPriceModel.swift LazyBear/Models/IconModel.swift LazyBear/Models/InsiderSummaryModel.swift LazyBear/Models/InsiderTranModel.swift LazyBear/Models/KeyStatsModel.swift LazyBear/Models/NewsLanguageModel.swift LazyBear/Models/NewsModel.swift LazyBear/Models/PriceModel.swift LazyBear/Models/ThemeModel.swift LazyBear/Resources/alternativeIcons.json LazyBear/Resources/blue.png LazyBear/Resources/default.png LazyBear/Resources/graffiti.png LazyBear/Resources/green.png LazyBear/Resources/matteBlack.png LazyBear/Resources/matteWhite.png LazyBear/Resources/newsLanguages.json LazyBear/Resources/pink.png LazyBear/Resources/red.png LazyBear/Resources/themes.json LazyBear/Resources/transactionCodes.swift LazyBear/UI/ActionView.swift LazyBear/UI/ChartView.swift LazyBear/UI/CompanyRow.swift LazyBear/UI/CompanyView.swift LazyBear/UI/DateSelection.swift LazyBear/UI/HorizontalBar.swift LazyBear/UI/IconPicker.swift LazyBear/UI/IexAttribution.swift LazyBear/UI/IndicatorPoint.swift LazyBear/UI/InsiderSummary.swift LazyBear/UI/InsiderTransactions.swift LazyBear/UI/KeyStatComponent.swift LazyBear/UI/KeyStatsDetail.swift LazyBear/UI/KeyStatsView.swift LazyBear/UI/LanguagePicker.swift LazyBear/UI/LineView.swift LazyBear/UI/NewsRow.swift LazyBear/UI/NewsView.swift LazyBear/UI/Notification.swift LazyBear/UI/PriceChartIndicator.swift LazyBear/UI/PriceView.swift LazyBear/UI/SafariView.swift LazyBear/UI/Search.swift LazyBear/UI/SettingRow.swift LazyBear/UI/Settings.swift LazyBear/UI/SideColor.swift LazyBear/UI/ThemePicker.swift LazyBear/UI/TransactionDetail.swift LazyBear/UI/TransactionRow.swift LazyBear/UI/Watchlist.swift LazyBear/Views/OnboardView.swift LazyBear/Views/WelcomeView.swift UserSettings+CoreDataClass.swift UserSettings+CoreDataProperties.swift
diffstat 154 files changed, 101 insertions(+), 5220 deletions(-) [+]
line wrap: on
line diff
--- a/Company+CoreDataClass.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-//
-//  Company+CoreDataClass.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/2/21.
-//
-//
-
-import Foundation
-import CoreData
-
-@objc(Company)
-public class Company: NSManagedObject {
- 
-}
--- a/Company+CoreDataProperties.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-//
-//  Company+CoreDataProperties.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/2/21.
-//
-//
-
-import Foundation
-import CoreData
-
-
-extension Company {
-
-    @nonobjc public class func fetchRequest() -> NSFetchRequest<Company> {
-        return NSFetchRequest<Company>(entityName: "Company")
-    }
-
-    @NSManaged public var symbol: String
-    @NSManaged public var exchange: String
-    @NSManaged public var exchangeName: String
-    @NSManaged public var name: String
-    @NSManaged public var region: String
-    @NSManaged public var currency: String
-    @NSManaged public var cik: String
-
-}
-
--- a/LazyBear.xcodeproj/project.pbxproj	Sat Mar 20 19:18:25 2021 +0100
+++ b/LazyBear.xcodeproj/project.pbxproj	Sun Mar 21 19:56:24 2021 +0100
@@ -3,165 +3,36 @@
 	archiveVersion = 1;
 	classes = {
 	};
-	objectVersion = 52;
+	objectVersion = 50;
 	objects = {
 
 /* Begin PBXBuildFile section */
-		9505763625ED605100D548E4 /* matteBlack.png in Resources */ = {isa = PBXBuildFile; fileRef = 9505763525ED605100D548E4 /* matteBlack.png */; };
-		9505764025ED670B00D548E4 /* graffiti.png in Resources */ = {isa = PBXBuildFile; fileRef = 9505763A25ED670B00D548E4 /* graffiti.png */; };
-		9505764125ED670B00D548E4 /* green.png in Resources */ = {isa = PBXBuildFile; fileRef = 9505763B25ED670B00D548E4 /* green.png */; };
-		9505764225ED670B00D548E4 /* matteWhite.png in Resources */ = {isa = PBXBuildFile; fileRef = 9505763C25ED670B00D548E4 /* matteWhite.png */; };
-		9505764325ED670B00D548E4 /* blue.png in Resources */ = {isa = PBXBuildFile; fileRef = 9505763D25ED670B00D548E4 /* blue.png */; };
-		9505764425ED670B00D548E4 /* pink.png in Resources */ = {isa = PBXBuildFile; fileRef = 9505763E25ED670B00D548E4 /* pink.png */; };
-		9505764525ED670B00D548E4 /* red.png in Resources */ = {isa = PBXBuildFile; fileRef = 9505763F25ED670B00D548E4 /* red.png */; };
-		950B674925E99FA900BF8593 /* IconPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 950B674825E99FA900BF8593 /* IconPicker.swift */; };
-		950B674C25E9A03E00BF8593 /* alternativeIcons.json in Resources */ = {isa = PBXBuildFile; fileRef = 950B674B25E9A03E00BF8593 /* alternativeIcons.json */; };
-		950B674F25E9A0AE00BF8593 /* IconModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 950B674E25E9A0AE00BF8593 /* IconModel.swift */; };
-		9517626025EEB37E00733235 /* PriceModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9517625F25EEB37E00733235 /* PriceModel.swift */; };
-		9517626325EEBD3800733235 /* IexAttribution.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9517626225EEBD3800733235 /* IexAttribution.swift */; };
-		9520C26F25F4D43D0070DD71 /* TransactionDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9520C26E25F4D43D0070DD71 /* TransactionDetail.swift */; };
-		9525C89725FBF7310080A0E8 /* WaterfallGrid in Frameworks */ = {isa = PBXBuildFile; productRef = 9525C89625FBF7310080A0E8 /* WaterfallGrid */; };
-		9551FD9B2604E2B0009F61BF /* StringToDate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9551FD9A2604E2B0009F61BF /* StringToDate.swift */; };
 		95672B8F25DDA54700DCBE4A /* LazyBearApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95672B8E25DDA54700DCBE4A /* LazyBearApp.swift */; };
-		95672B9125DDA54700DCBE4A /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95672B9025DDA54700DCBE4A /* ContentView.swift */; };
 		95672B9325DDA54700DCBE4A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 95672B9225DDA54700DCBE4A /* Assets.xcassets */; };
 		95672B9625DDA54700DCBE4A /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 95672B9525DDA54700DCBE4A /* Preview Assets.xcassets */; };
 		95672B9825DDA54700DCBE4A /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95672B9725DDA54700DCBE4A /* Persistence.swift */; };
 		95672B9B25DDA54800DCBE4A /* LazyBear.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 95672B9925DDA54800DCBE4A /* LazyBear.xcdatamodeld */; };
-		957B816825F2A02C0005E5C0 /* InsiderTranModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 957B816725F2A02C0005E5C0 /* InsiderTranModel.swift */; };
-		957B816D25F2A35D0005E5C0 /* TransactionRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 957B816C25F2A35D0005E5C0 /* TransactionRow.swift */; };
-		957B817025F2A4290005E5C0 /* SideColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 957B816F25F2A4290005E5C0 /* SideColor.swift */; };
-		958A733A25E00C3100FD7ECA /* Company+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958A733825E00C3100FD7ECA /* Company+CoreDataClass.swift */; };
-		958A733B25E00C3100FD7ECA /* Company+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958A733925E00C3100FD7ECA /* Company+CoreDataProperties.swift */; };
-		958A734225E00C9900FD7ECA /* Watchlist.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958A734125E00C9900FD7ECA /* Watchlist.swift */; };
-		958A734525E00D3D00FD7ECA /* CompanyRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958A734425E00D3D00FD7ECA /* CompanyRow.swift */; };
-		958A734925E010F900FD7ECA /* Search.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958A734825E010F900FD7ECA /* Search.swift */; };
 		958A735225E0170900FD7ECA /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 958A735125E0170900FD7ECA /* CloudKit.framework */; };
-		958A735725E01F9E00FD7ECA /* ReadJson.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958A735625E01F9E00FD7ECA /* ReadJson.swift */; };
-		958A735B25E0264E00FD7ECA /* CompanyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958A735A25E0264E00FD7ECA /* CompanyModel.swift */; };
-		958A735F25E0311B00FD7ECA /* Settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958A735E25E0311B00FD7ECA /* Settings.swift */; };
-		95A5D95A25FCEDDB0090C1EA /* CompanyOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A5D95925FCEDDB0090C1EA /* CompanyOption.swift */; };
-		95A5D95D25FCEEBC0090C1EA /* GetUrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A5D95C25FCEEBC0090C1EA /* GetUrl.swift */; };
-		95A5D96425FCF3640090C1EA /* SafariView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95A5D96325FCF3640090C1EA /* SafariView.swift */; };
-		95ABDD3125E1602D00310776 /* PriceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95ABDD3025E1602D00310776 /* PriceView.swift */; };
-		95ABDD3525E166BA00310776 /* NewsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95ABDD3425E166BA00310776 /* NewsView.swift */; };
-		95ABDD3825E167E500310776 /* NewsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95ABDD3725E167E500310776 /* NewsModel.swift */; };
-		95ABDD3C25E1717300310776 /* NewsRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95ABDD3B25E1717300310776 /* NewsRow.swift */; };
-		95ACB5A925E0397B00A3CCC8 /* CompanyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95ACB5A825E0397B00A3CCC8 /* CompanyView.swift */; };
-		95ACB5AC25E03A7D00A3CCC8 /* themes.json in Resources */ = {isa = PBXBuildFile; fileRef = 95ACB5AB25E03A7D00A3CCC8 /* themes.json */; };
-		95ACB5AF25E03AA100A3CCC8 /* ThemeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95ACB5AE25E03AA100A3CCC8 /* ThemeModel.swift */; };
-		95AEF3AC25FFBB4D001B77BB /* LineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AEF3AB25FFBB4D001B77BB /* LineView.swift */; };
-		95AEF3B325FFDC04001B77BB /* DeviceSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AEF3B225FFDC04001B77BB /* DeviceSize.swift */; };
-		95B3E09F25E127D7007EFDE3 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B3E09E25E127D7007EFDE3 /* Request.swift */; };
-		95B3E0A625E1318D007EFDE3 /* SwiftlySearch in Frameworks */ = {isa = PBXBuildFile; productRef = 95B3E0A525E1318D007EFDE3 /* SwiftlySearch */; };
-		95B60E402605054700A49DF8 /* KeyStatsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B60E3F2605054700A49DF8 /* KeyStatsModel.swift */; };
-		95B60E43260506F400A49DF8 /* KeyStatsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B60E42260506F400A49DF8 /* KeyStatsView.swift */; };
-		95B60E4626050A9C00A49DF8 /* KeyStatComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B60E4526050A9C00A49DF8 /* KeyStatComponent.swift */; };
-		95B746F52603A28100BC4E22 /* NormalizeData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B746F42603A28100BC4E22 /* NormalizeData.swift */; };
-		95B746FD2603ACA200BC4E22 /* PriceChartIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B746FC2603ACA200BC4E22 /* PriceChartIndicator.swift */; };
-		95BB43C025EA667700B6C965 /* DateSelection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95BB43BF25EA667700B6C965 /* DateSelection.swift */; };
-		95BFAE4B25E2AEA000A70EC3 /* Notification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95BFAE4A25E2AEA000A70EC3 /* Notification.swift */; };
-		95BFAE4E25E2B0C200A70EC3 /* HudManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95BFAE4D25E2B0C200A70EC3 /* HudManager.swift */; };
-		95BFAE5425E2C52300A70EC3 /* HistoricalPriceModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95BFAE5325E2C52300A70EC3 /* HistoricalPriceModel.swift */; };
-		95BFAE5825E2C5A700A70EC3 /* ChartView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95BFAE5725E2C5A700A70EC3 /* ChartView.swift */; };
-		95C9F857260544510062ED11 /* KeyStatsDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C9F856260544510062ED11 /* KeyStatsDetail.swift */; };
-		95D34C2725EFD5FE006F4A81 /* SDWebImageSwiftUI in Frameworks */ = {isa = PBXBuildFile; productRef = 95D34C2625EFD5FE006F4A81 /* SDWebImageSwiftUI */; };
-		95D62B7826063489007EACBF /* HapticsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D62B7726063489007EACBF /* HapticsManager.swift */; };
-		95D62B8326063931007EACBF /* HorizontalBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D62B8226063931007EACBF /* HorizontalBar.swift */; };
-		95DED9D525F2A752000DFCBA /* transactionCodes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95DED9D425F2A752000DFCBA /* transactionCodes.swift */; };
-		95DED9D825F2B1EF000DFCBA /* InsiderSummaryModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95DED9D725F2B1EF000DFCBA /* InsiderSummaryModel.swift */; };
-		95DED9DB25F2B268000DFCBA /* InsiderSummary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95DED9DA25F2B268000DFCBA /* InsiderSummary.swift */; };
-		95E9D09725F6AA0400A947A1 /* ActionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95E9D09625F6AA0400A947A1 /* ActionView.swift */; };
-		95F045FB25E96A58006A5A17 /* newsLanguages.json in Resources */ = {isa = PBXBuildFile; fileRef = 95F045FA25E96A58006A5A17 /* newsLanguages.json */; };
-		95F045FE25E96AA1006A5A17 /* NewsLanguageModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95F045FD25E96AA1006A5A17 /* NewsLanguageModel.swift */; };
-		95F0460425E96DBB006A5A17 /* UserSettings+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95F0460225E96DBB006A5A17 /* UserSettings+CoreDataClass.swift */; };
-		95F0460525E96DBB006A5A17 /* UserSettings+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95F0460325E96DBB006A5A17 /* UserSettings+CoreDataProperties.swift */; };
-		95F0460825E9704F006A5A17 /* ThemePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95F0460725E9704F006A5A17 /* ThemePicker.swift */; };
-		95F0460B25E970DB006A5A17 /* LanguagePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95F0460A25E970DB006A5A17 /* LanguagePicker.swift */; };
-		95F0461025E976B5006A5A17 /* SettingRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95F0460F25E976B5006A5A17 /* SettingRow.swift */; };
-		95F0462825E98376006A5A17 /* default.png in Resources */ = {isa = PBXBuildFile; fileRef = 95F0462625E98376006A5A17 /* default.png */; };
-		95F8433E2602455E00770F8A /* IndicatorPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95F8433D2602455E00770F8A /* IndicatorPoint.swift */; };
-		95F90AB825F280190023A4B0 /* InsiderTransactions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95F90AB725F280190023A4B0 /* InsiderTransactions.swift */; };
+		95AD4A2D26078C1400498079 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AD4A2C26078C1400498079 /* ContentView.swift */; };
+		95AD4A38260794A800498079 /* OnboardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AD4A37260794A800498079 /* OnboardView.swift */; };
+		95E512D32607B42200C283E0 /* WelcomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95E512D22607B42200C283E0 /* WelcomeView.swift */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
-		9505763525ED605100D548E4 /* matteBlack.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = matteBlack.png; sourceTree = "<group>"; };
-		9505763A25ED670B00D548E4 /* graffiti.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = graffiti.png; sourceTree = "<group>"; };
-		9505763B25ED670B00D548E4 /* green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = green.png; sourceTree = "<group>"; };
-		9505763C25ED670B00D548E4 /* matteWhite.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = matteWhite.png; sourceTree = "<group>"; };
-		9505763D25ED670B00D548E4 /* blue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = blue.png; sourceTree = "<group>"; };
-		9505763E25ED670B00D548E4 /* pink.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pink.png; sourceTree = "<group>"; };
-		9505763F25ED670B00D548E4 /* red.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = red.png; sourceTree = "<group>"; };
-		950B674825E99FA900BF8593 /* IconPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconPicker.swift; sourceTree = "<group>"; };
-		950B674B25E9A03E00BF8593 /* alternativeIcons.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = alternativeIcons.json; sourceTree = "<group>"; };
-		950B674E25E9A0AE00BF8593 /* IconModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconModel.swift; sourceTree = "<group>"; };
 		950BA46B25E944F500D065EF /* Production.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Production.xcconfig; sourceTree = "<group>"; };
 		950BA46C25E944FC00D065EF /* Sandbox.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Sandbox.xcconfig; sourceTree = "<group>"; };
-		9517625F25EEB37E00733235 /* PriceModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PriceModel.swift; sourceTree = "<group>"; };
-		9517626225EEBD3800733235 /* IexAttribution.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IexAttribution.swift; sourceTree = "<group>"; };
-		9520C26E25F4D43D0070DD71 /* TransactionDetail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TransactionDetail.swift; sourceTree = "<group>"; };
-		9551FD9A2604E2B0009F61BF /* StringToDate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringToDate.swift; sourceTree = "<group>"; };
 		95672B8B25DDA54700DCBE4A /* LazyBear.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LazyBear.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		95672B8E25DDA54700DCBE4A /* LazyBearApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LazyBearApp.swift; sourceTree = "<group>"; };
-		95672B9025DDA54700DCBE4A /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
 		95672B9225DDA54700DCBE4A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
 		95672B9525DDA54700DCBE4A /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
 		95672B9725DDA54700DCBE4A /* Persistence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Persistence.swift; sourceTree = "<group>"; };
 		95672B9A25DDA54800DCBE4A /* LazyBear.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = LazyBear.xcdatamodel; sourceTree = "<group>"; };
 		95672B9C25DDA54800DCBE4A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-		957B816725F2A02C0005E5C0 /* InsiderTranModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InsiderTranModel.swift; sourceTree = "<group>"; };
-		957B816C25F2A35D0005E5C0 /* TransactionRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TransactionRow.swift; sourceTree = "<group>"; };
-		957B816F25F2A4290005E5C0 /* SideColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SideColor.swift; sourceTree = "<group>"; };
-		958A733825E00C3100FD7ECA /* Company+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Company+CoreDataClass.swift"; sourceTree = "<group>"; };
-		958A733925E00C3100FD7ECA /* Company+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Company+CoreDataProperties.swift"; sourceTree = "<group>"; };
-		958A734125E00C9900FD7ECA /* Watchlist.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Watchlist.swift; sourceTree = "<group>"; };
-		958A734425E00D3D00FD7ECA /* CompanyRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompanyRow.swift; sourceTree = "<group>"; };
-		958A734825E010F900FD7ECA /* Search.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Search.swift; sourceTree = "<group>"; };
 		958A734E25E016FD00FD7ECA /* LazyBear.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = LazyBear.entitlements; sourceTree = "<group>"; };
 		958A735125E0170900FD7ECA /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; };
-		958A735625E01F9E00FD7ECA /* ReadJson.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReadJson.swift; sourceTree = "<group>"; };
-		958A735A25E0264E00FD7ECA /* CompanyModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompanyModel.swift; sourceTree = "<group>"; };
-		958A735E25E0311B00FD7ECA /* Settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Settings.swift; sourceTree = "<group>"; };
-		95A5D95925FCEDDB0090C1EA /* CompanyOption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompanyOption.swift; sourceTree = "<group>"; };
-		95A5D95C25FCEEBC0090C1EA /* GetUrl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetUrl.swift; sourceTree = "<group>"; };
-		95A5D96325FCF3640090C1EA /* SafariView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariView.swift; sourceTree = "<group>"; };
-		95ABDD3025E1602D00310776 /* PriceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PriceView.swift; sourceTree = "<group>"; };
-		95ABDD3425E166BA00310776 /* NewsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewsView.swift; sourceTree = "<group>"; };
-		95ABDD3725E167E500310776 /* NewsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewsModel.swift; sourceTree = "<group>"; };
-		95ABDD3B25E1717300310776 /* NewsRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewsRow.swift; sourceTree = "<group>"; };
-		95ACB5A825E0397B00A3CCC8 /* CompanyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompanyView.swift; sourceTree = "<group>"; };
-		95ACB5AB25E03A7D00A3CCC8 /* themes.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = themes.json; sourceTree = "<group>"; };
-		95ACB5AE25E03AA100A3CCC8 /* ThemeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeModel.swift; sourceTree = "<group>"; };
-		95AEF3AB25FFBB4D001B77BB /* LineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LineView.swift; sourceTree = "<group>"; };
-		95AEF3B225FFDC04001B77BB /* DeviceSize.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeviceSize.swift; sourceTree = "<group>"; };
-		95B3E09E25E127D7007EFDE3 /* Request.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Request.swift; sourceTree = "<group>"; };
-		95B60E3F2605054700A49DF8 /* KeyStatsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyStatsModel.swift; sourceTree = "<group>"; };
-		95B60E42260506F400A49DF8 /* KeyStatsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyStatsView.swift; sourceTree = "<group>"; };
-		95B60E4526050A9C00A49DF8 /* KeyStatComponent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyStatComponent.swift; sourceTree = "<group>"; };
-		95B746F42603A28100BC4E22 /* NormalizeData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NormalizeData.swift; sourceTree = "<group>"; };
-		95B746FC2603ACA200BC4E22 /* PriceChartIndicator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PriceChartIndicator.swift; sourceTree = "<group>"; };
-		95BB43BF25EA667700B6C965 /* DateSelection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateSelection.swift; sourceTree = "<group>"; };
-		95BFAE4A25E2AEA000A70EC3 /* Notification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notification.swift; sourceTree = "<group>"; };
-		95BFAE4D25E2B0C200A70EC3 /* HudManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HudManager.swift; sourceTree = "<group>"; };
-		95BFAE5325E2C52300A70EC3 /* HistoricalPriceModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoricalPriceModel.swift; sourceTree = "<group>"; };
-		95BFAE5725E2C5A700A70EC3 /* ChartView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChartView.swift; sourceTree = "<group>"; };
-		95C9F856260544510062ED11 /* KeyStatsDetail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyStatsDetail.swift; sourceTree = "<group>"; };
-		95D62B7726063489007EACBF /* HapticsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HapticsManager.swift; sourceTree = "<group>"; };
-		95D62B8226063931007EACBF /* HorizontalBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HorizontalBar.swift; sourceTree = "<group>"; };
-		95DED9D425F2A752000DFCBA /* transactionCodes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = transactionCodes.swift; sourceTree = "<group>"; };
-		95DED9D725F2B1EF000DFCBA /* InsiderSummaryModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InsiderSummaryModel.swift; sourceTree = "<group>"; };
-		95DED9DA25F2B268000DFCBA /* InsiderSummary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InsiderSummary.swift; sourceTree = "<group>"; };
-		95E9D09625F6AA0400A947A1 /* ActionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActionView.swift; sourceTree = "<group>"; };
-		95F045FA25E96A58006A5A17 /* newsLanguages.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = newsLanguages.json; sourceTree = "<group>"; };
-		95F045FD25E96AA1006A5A17 /* NewsLanguageModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewsLanguageModel.swift; sourceTree = "<group>"; };
-		95F0460225E96DBB006A5A17 /* UserSettings+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserSettings+CoreDataClass.swift"; sourceTree = "<group>"; };
-		95F0460325E96DBB006A5A17 /* UserSettings+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserSettings+CoreDataProperties.swift"; sourceTree = "<group>"; };
-		95F0460725E9704F006A5A17 /* ThemePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemePicker.swift; sourceTree = "<group>"; };
-		95F0460A25E970DB006A5A17 /* LanguagePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LanguagePicker.swift; sourceTree = "<group>"; };
-		95F0460F25E976B5006A5A17 /* SettingRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingRow.swift; sourceTree = "<group>"; };
-		95F0462625E98376006A5A17 /* default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = default.png; sourceTree = "<group>"; };
-		95F8433D2602455E00770F8A /* IndicatorPoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IndicatorPoint.swift; sourceTree = "<group>"; };
-		95F90AB725F280190023A4B0 /* InsiderTransactions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InsiderTransactions.swift; sourceTree = "<group>"; };
+		95AD4A2C26078C1400498079 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
+		95AD4A37260794A800498079 /* OnboardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardView.swift; sourceTree = "<group>"; };
+		95E512D22607B42200C283E0 /* WelcomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelcomeView.swift; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -169,10 +40,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				95D34C2725EFD5FE006F4A81 /* SDWebImageSwiftUI in Frameworks */,
 				958A735225E0170900FD7ECA /* CloudKit.framework in Frameworks */,
-				9525C89725FBF7310080A0E8 /* WaterfallGrid in Frameworks */,
-				95B3E0A625E1318D007EFDE3 /* SwiftlySearch in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -189,10 +57,6 @@
 		95672B8225DDA54700DCBE4A = {
 			isa = PBXGroup;
 			children = (
-				95F0460225E96DBB006A5A17 /* UserSettings+CoreDataClass.swift */,
-				95F0460325E96DBB006A5A17 /* UserSettings+CoreDataProperties.swift */,
-				958A733825E00C3100FD7ECA /* Company+CoreDataClass.swift */,
-				958A733925E00C3100FD7ECA /* Company+CoreDataProperties.swift */,
 				95672B8D25DDA54700DCBE4A /* LazyBear */,
 				95672B8C25DDA54700DCBE4A /* Products */,
 				958A735025E0170900FD7ECA /* Frameworks */,
@@ -217,15 +81,11 @@
 				950BA46C25E944FC00D065EF /* Sandbox.xcconfig */,
 				95672B9225DDA54700DCBE4A /* Assets.xcassets */,
 				95672B8E25DDA54700DCBE4A /* LazyBearApp.swift */,
-				95672B9025DDA54700DCBE4A /* ContentView.swift */,
-				95BFAE4D25E2B0C200A70EC3 /* HudManager.swift */,
+				95AD4A2C26078C1400498079 /* ContentView.swift */,
 				95672B9725DDA54700DCBE4A /* Persistence.swift */,
-				95A5D95925FCEDDB0090C1EA /* CompanyOption.swift */,
-				95AEF3B225FFDC04001B77BB /* DeviceSize.swift */,
-				95D62B7726063489007EACBF /* HapticsManager.swift */,
-				95B1874925DDAC4D0068A364 /* UI */,
+				95B1874925DDAC4D0068A364 /* Views */,
+				95E512DE2607C81F00C283E0 /* Classes */,
 				95B1874825DDAC470068A364 /* Models */,
-				958A735525E01F7E00FD7ECA /* Functions */,
 				95F0463425E98788006A5A17 /* Resources */,
 				950BA46D25E9450B00D065EF /* Tests */,
 				95672B9425DDA54700DCBE4A /* Preview Content */,
@@ -249,87 +109,32 @@
 			name = Frameworks;
 			sourceTree = "<group>";
 		};
-		958A735525E01F7E00FD7ECA /* Functions */ = {
-			isa = PBXGroup;
-			children = (
-				958A735625E01F9E00FD7ECA /* ReadJson.swift */,
-				95B3E09E25E127D7007EFDE3 /* Request.swift */,
-				95A5D95C25FCEEBC0090C1EA /* GetUrl.swift */,
-				95B746F42603A28100BC4E22 /* NormalizeData.swift */,
-				9551FD9A2604E2B0009F61BF /* StringToDate.swift */,
-			);
-			path = Functions;
-			sourceTree = "<group>";
-		};
 		95B1874825DDAC470068A364 /* Models */ = {
 			isa = PBXGroup;
 			children = (
-				958A735A25E0264E00FD7ECA /* CompanyModel.swift */,
-				95ACB5AE25E03AA100A3CCC8 /* ThemeModel.swift */,
-				95ABDD3725E167E500310776 /* NewsModel.swift */,
-				95BFAE5325E2C52300A70EC3 /* HistoricalPriceModel.swift */,
-				95F045FD25E96AA1006A5A17 /* NewsLanguageModel.swift */,
-				950B674E25E9A0AE00BF8593 /* IconModel.swift */,
-				9517625F25EEB37E00733235 /* PriceModel.swift */,
-				957B816725F2A02C0005E5C0 /* InsiderTranModel.swift */,
-				95DED9D725F2B1EF000DFCBA /* InsiderSummaryModel.swift */,
-				95B60E3F2605054700A49DF8 /* KeyStatsModel.swift */,
 			);
 			path = Models;
 			sourceTree = "<group>";
 		};
-		95B1874925DDAC4D0068A364 /* UI */ = {
+		95B1874925DDAC4D0068A364 /* Views */ = {
 			isa = PBXGroup;
 			children = (
-				958A734125E00C9900FD7ECA /* Watchlist.swift */,
-				958A734825E010F900FD7ECA /* Search.swift */,
-				958A734425E00D3D00FD7ECA /* CompanyRow.swift */,
-				957B816F25F2A4290005E5C0 /* SideColor.swift */,
-				95ACB5A825E0397B00A3CCC8 /* CompanyView.swift */,
-				95ABDD3025E1602D00310776 /* PriceView.swift */,
-				95BB43BF25EA667700B6C965 /* DateSelection.swift */,
-				95BFAE5725E2C5A700A70EC3 /* ChartView.swift */,
-				95B746FC2603ACA200BC4E22 /* PriceChartIndicator.swift */,
-				95ABDD3425E166BA00310776 /* NewsView.swift */,
-				95ABDD3B25E1717300310776 /* NewsRow.swift */,
-				95A5D96325FCF3640090C1EA /* SafariView.swift */,
-				958A735E25E0311B00FD7ECA /* Settings.swift */,
-				95F0460725E9704F006A5A17 /* ThemePicker.swift */,
-				95F0460A25E970DB006A5A17 /* LanguagePicker.swift */,
-				950B674825E99FA900BF8593 /* IconPicker.swift */,
-				95F0460F25E976B5006A5A17 /* SettingRow.swift */,
-				9517626225EEBD3800733235 /* IexAttribution.swift */,
-				95BFAE4A25E2AEA000A70EC3 /* Notification.swift */,
-				95F90AB725F280190023A4B0 /* InsiderTransactions.swift */,
-				957B816C25F2A35D0005E5C0 /* TransactionRow.swift */,
-				9520C26E25F4D43D0070DD71 /* TransactionDetail.swift */,
-				95DED9DA25F2B268000DFCBA /* InsiderSummary.swift */,
-				95D62B8226063931007EACBF /* HorizontalBar.swift */,
-				95E9D09625F6AA0400A947A1 /* ActionView.swift */,
-				95AEF3AB25FFBB4D001B77BB /* LineView.swift */,
-				95F8433D2602455E00770F8A /* IndicatorPoint.swift */,
-				95B60E42260506F400A49DF8 /* KeyStatsView.swift */,
-				95B60E4526050A9C00A49DF8 /* KeyStatComponent.swift */,
-				95C9F856260544510062ED11 /* KeyStatsDetail.swift */,
+				95E512D22607B42200C283E0 /* WelcomeView.swift */,
+				95AD4A37260794A800498079 /* OnboardView.swift */,
 			);
-			path = UI;
+			path = Views;
+			sourceTree = "<group>";
+		};
+		95E512DE2607C81F00C283E0 /* Classes */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			path = Classes;
 			sourceTree = "<group>";
 		};
 		95F0463425E98788006A5A17 /* Resources */ = {
 			isa = PBXGroup;
 			children = (
-				95ACB5AB25E03A7D00A3CCC8 /* themes.json */,
-				95F045FA25E96A58006A5A17 /* newsLanguages.json */,
-				950B674B25E9A03E00BF8593 /* alternativeIcons.json */,
-				95F0462625E98376006A5A17 /* default.png */,
-				9505763D25ED670B00D548E4 /* blue.png */,
-				9505763B25ED670B00D548E4 /* green.png */,
-				9505763E25ED670B00D548E4 /* pink.png */,
-				9505763F25ED670B00D548E4 /* red.png */,
-				9505763525ED605100D548E4 /* matteBlack.png */,
-				9505763C25ED670B00D548E4 /* matteWhite.png */,
-				9505763A25ED670B00D548E4 /* graffiti.png */,
-				95DED9D425F2A752000DFCBA /* transactionCodes.swift */,
 			);
 			path = Resources;
 			sourceTree = "<group>";
@@ -351,9 +156,6 @@
 			);
 			name = LazyBear;
 			packageProductDependencies = (
-				95B3E0A525E1318D007EFDE3 /* SwiftlySearch */,
-				95D34C2625EFD5FE006F4A81 /* SDWebImageSwiftUI */,
-				9525C89625FBF7310080A0E8 /* WaterfallGrid */,
 			);
 			productName = LazyBear;
 			productReference = 95672B8B25DDA54700DCBE4A /* LazyBear.app */;
@@ -383,9 +185,6 @@
 			);
 			mainGroup = 95672B8225DDA54700DCBE4A;
 			packageReferences = (
-				95B3E0A425E1318D007EFDE3 /* XCRemoteSwiftPackageReference "SwiftlySearch" */,
-				95D34C2525EFD5FE006F4A81 /* XCRemoteSwiftPackageReference "SDWebImageSwiftUI" */,
-				9525C89525FBF7310080A0E8 /* XCRemoteSwiftPackageReference "WaterfallGrid" */,
 			);
 			productRefGroup = 95672B8C25DDA54700DCBE4A /* Products */;
 			projectDirPath = "";
@@ -402,18 +201,7 @@
 			buildActionMask = 2147483647;
 			files = (
 				95672B9625DDA54700DCBE4A /* Preview Assets.xcassets in Resources */,
-				95F0462825E98376006A5A17 /* default.png in Resources */,
-				95ACB5AC25E03A7D00A3CCC8 /* themes.json in Resources */,
-				9505764225ED670B00D548E4 /* matteWhite.png in Resources */,
-				9505764525ED670B00D548E4 /* red.png in Resources */,
-				9505764125ED670B00D548E4 /* green.png in Resources */,
-				9505764425ED670B00D548E4 /* pink.png in Resources */,
-				9505764025ED670B00D548E4 /* graffiti.png in Resources */,
-				9505763625ED605100D548E4 /* matteBlack.png in Resources */,
-				9505764325ED670B00D548E4 /* blue.png in Resources */,
-				95F045FB25E96A58006A5A17 /* newsLanguages.json in Resources */,
 				95672B9325DDA54700DCBE4A /* Assets.xcassets in Resources */,
-				950B674C25E9A03E00BF8593 /* alternativeIcons.json in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -424,64 +212,12 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				95ABDD3825E167E500310776 /* NewsModel.swift in Sources */,
-				95B60E402605054700A49DF8 /* KeyStatsModel.swift in Sources */,
-				95ABDD3C25E1717300310776 /* NewsRow.swift in Sources */,
-				950B674925E99FA900BF8593 /* IconPicker.swift in Sources */,
-				958A735725E01F9E00FD7ECA /* ReadJson.swift in Sources */,
-				95B60E43260506F400A49DF8 /* KeyStatsView.swift in Sources */,
-				958A734925E010F900FD7ECA /* Search.swift in Sources */,
-				958A735F25E0311B00FD7ECA /* Settings.swift in Sources */,
-				95F0461025E976B5006A5A17 /* SettingRow.swift in Sources */,
-				95B60E4626050A9C00A49DF8 /* KeyStatComponent.swift in Sources */,
-				95D62B7826063489007EACBF /* HapticsManager.swift in Sources */,
-				95F0460825E9704F006A5A17 /* ThemePicker.swift in Sources */,
-				95A5D95A25FCEDDB0090C1EA /* CompanyOption.swift in Sources */,
-				95AEF3AC25FFBB4D001B77BB /* LineView.swift in Sources */,
 				95672B9825DDA54700DCBE4A /* Persistence.swift in Sources */,
-				958A735B25E0264E00FD7ECA /* CompanyModel.swift in Sources */,
-				95B3E09F25E127D7007EFDE3 /* Request.swift in Sources */,
-				95F045FE25E96AA1006A5A17 /* NewsLanguageModel.swift in Sources */,
-				95BFAE5425E2C52300A70EC3 /* HistoricalPriceModel.swift in Sources */,
-				95B746FD2603ACA200BC4E22 /* PriceChartIndicator.swift in Sources */,
-				95BFAE5825E2C5A700A70EC3 /* ChartView.swift in Sources */,
-				95672B9125DDA54700DCBE4A /* ContentView.swift in Sources */,
-				95F0460425E96DBB006A5A17 /* UserSettings+CoreDataClass.swift in Sources */,
-				950B674F25E9A0AE00BF8593 /* IconModel.swift in Sources */,
-				95A5D96425FCF3640090C1EA /* SafariView.swift in Sources */,
-				958A733B25E00C3100FD7ECA /* Company+CoreDataProperties.swift in Sources */,
-				95A5D95D25FCEEBC0090C1EA /* GetUrl.swift in Sources */,
-				9517626325EEBD3800733235 /* IexAttribution.swift in Sources */,
-				95F90AB825F280190023A4B0 /* InsiderTransactions.swift in Sources */,
-				95F8433E2602455E00770F8A /* IndicatorPoint.swift in Sources */,
-				95ACB5AF25E03AA100A3CCC8 /* ThemeModel.swift in Sources */,
+				95E512D32607B42200C283E0 /* WelcomeView.swift in Sources */,
+				95AD4A38260794A800498079 /* OnboardView.swift in Sources */,
 				95672B8F25DDA54700DCBE4A /* LazyBearApp.swift in Sources */,
-				9517626025EEB37E00733235 /* PriceModel.swift in Sources */,
-				95AEF3B325FFDC04001B77BB /* DeviceSize.swift in Sources */,
-				9551FD9B2604E2B0009F61BF /* StringToDate.swift in Sources */,
-				958A734525E00D3D00FD7ECA /* CompanyRow.swift in Sources */,
-				95DED9D525F2A752000DFCBA /* transactionCodes.swift in Sources */,
-				95ABDD3525E166BA00310776 /* NewsView.swift in Sources */,
-				95D62B8326063931007EACBF /* HorizontalBar.swift in Sources */,
-				957B816825F2A02C0005E5C0 /* InsiderTranModel.swift in Sources */,
 				95672B9B25DDA54800DCBE4A /* LazyBear.xcdatamodeld in Sources */,
-				95F0460B25E970DB006A5A17 /* LanguagePicker.swift in Sources */,
-				95E9D09725F6AA0400A947A1 /* ActionView.swift in Sources */,
-				95ABDD3125E1602D00310776 /* PriceView.swift in Sources */,
-				95BFAE4B25E2AEA000A70EC3 /* Notification.swift in Sources */,
-				95F0460525E96DBB006A5A17 /* UserSettings+CoreDataProperties.swift in Sources */,
-				95DED9DB25F2B268000DFCBA /* InsiderSummary.swift in Sources */,
-				958A733A25E00C3100FD7ECA /* Company+CoreDataClass.swift in Sources */,
-				957B816D25F2A35D0005E5C0 /* TransactionRow.swift in Sources */,
-				95ACB5A925E0397B00A3CCC8 /* CompanyView.swift in Sources */,
-				958A734225E00C9900FD7ECA /* Watchlist.swift in Sources */,
-				9520C26F25F4D43D0070DD71 /* TransactionDetail.swift in Sources */,
-				95BB43C025EA667700B6C965 /* DateSelection.swift in Sources */,
-				957B817025F2A4290005E5C0 /* SideColor.swift in Sources */,
-				95DED9D825F2B1EF000DFCBA /* InsiderSummaryModel.swift in Sources */,
-				95C9F857260544510062ED11 /* KeyStatsDetail.swift in Sources */,
-				95B746F52603A28100BC4E22 /* NormalizeData.swift in Sources */,
-				95BFAE4E25E2B0C200A70EC3 /* HudManager.swift in Sources */,
+				95AD4A2D26078C1400498079 /* ContentView.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -623,7 +359,7 @@
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 3.3;
+				MARKETING_VERSION = 4;
 				PRODUCT_BUNDLE_IDENTIFIER = dennis.LazyBear;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SWIFT_VERSION = 5.0;
@@ -648,7 +384,7 @@
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 3.3;
+				MARKETING_VERSION = 4;
 				PRODUCT_BUNDLE_IDENTIFIER = dennis.LazyBear;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SWIFT_VERSION = 5.0;
@@ -679,51 +415,6 @@
 		};
 /* End XCConfigurationList section */
 
-/* Begin XCRemoteSwiftPackageReference section */
-		9525C89525FBF7310080A0E8 /* XCRemoteSwiftPackageReference "WaterfallGrid" */ = {
-			isa = XCRemoteSwiftPackageReference;
-			repositoryURL = "https://github.com/paololeonardi/WaterfallGrid.git";
-			requirement = {
-				kind = upToNextMajorVersion;
-				minimumVersion = 1.0.1;
-			};
-		};
-		95B3E0A425E1318D007EFDE3 /* XCRemoteSwiftPackageReference "SwiftlySearch" */ = {
-			isa = XCRemoteSwiftPackageReference;
-			repositoryURL = "https://github.com/thislooksfun/SwiftlySearch.git";
-			requirement = {
-				kind = upToNextMajorVersion;
-				minimumVersion = 1.2.3;
-			};
-		};
-		95D34C2525EFD5FE006F4A81 /* XCRemoteSwiftPackageReference "SDWebImageSwiftUI" */ = {
-			isa = XCRemoteSwiftPackageReference;
-			repositoryURL = "https://github.com/SDWebImage/SDWebImageSwiftUI.git";
-			requirement = {
-				kind = upToNextMajorVersion;
-				minimumVersion = 2.0.1;
-			};
-		};
-/* End XCRemoteSwiftPackageReference section */
-
-/* Begin XCSwiftPackageProductDependency section */
-		9525C89625FBF7310080A0E8 /* WaterfallGrid */ = {
-			isa = XCSwiftPackageProductDependency;
-			package = 9525C89525FBF7310080A0E8 /* XCRemoteSwiftPackageReference "WaterfallGrid" */;
-			productName = WaterfallGrid;
-		};
-		95B3E0A525E1318D007EFDE3 /* SwiftlySearch */ = {
-			isa = XCSwiftPackageProductDependency;
-			package = 95B3E0A425E1318D007EFDE3 /* XCRemoteSwiftPackageReference "SwiftlySearch" */;
-			productName = SwiftlySearch;
-		};
-		95D34C2625EFD5FE006F4A81 /* SDWebImageSwiftUI */ = {
-			isa = XCSwiftPackageProductDependency;
-			package = 95D34C2525EFD5FE006F4A81 /* XCRemoteSwiftPackageReference "SDWebImageSwiftUI" */;
-			productName = SDWebImageSwiftUI;
-		};
-/* End XCSwiftPackageProductDependency section */
-
 /* Begin XCVersionGroup section */
 		95672B9925DDA54800DCBE4A /* LazyBear.xcdatamodeld */ = {
 			isa = XCVersionGroup;
--- a/LazyBear/Assets.xcassets/Alternative icon/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Alternative icon/blueIcon.imageset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "blue.png",
-      "idiom" : "universal",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
Binary file LazyBear/Assets.xcassets/Alternative icon/blueIcon.imageset/blue.png has changed
--- a/LazyBear/Assets.xcassets/Alternative icon/defaultIcon.imageset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "default.png",
-      "idiom" : "universal",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
Binary file LazyBear/Assets.xcassets/Alternative icon/defaultIcon.imageset/default.png has changed
--- a/LazyBear/Assets.xcassets/Alternative icon/graffitiIcon.imageset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "graffiti.png",
-      "idiom" : "universal",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
Binary file LazyBear/Assets.xcassets/Alternative icon/graffitiIcon.imageset/graffiti.png has changed
--- a/LazyBear/Assets.xcassets/Alternative icon/greenIcon.imageset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "green.png",
-      "idiom" : "universal",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
Binary file LazyBear/Assets.xcassets/Alternative icon/greenIcon.imageset/green.png has changed
--- a/LazyBear/Assets.xcassets/Alternative icon/matteBlackIcon.imageset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "matteBlack.png",
-      "idiom" : "universal",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
Binary file LazyBear/Assets.xcassets/Alternative icon/matteBlackIcon.imageset/matteBlack.png has changed
--- a/LazyBear/Assets.xcassets/Alternative icon/matteWhiteIcon.imageset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "matteWhite.png",
-      "idiom" : "universal",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
Binary file LazyBear/Assets.xcassets/Alternative icon/matteWhiteIcon.imageset/matteWhite.png has changed
--- a/LazyBear/Assets.xcassets/Alternative icon/pinkIcon.imageset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "pink.png",
-      "idiom" : "universal",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
Binary file LazyBear/Assets.xcassets/Alternative icon/pinkIcon.imageset/pink.png has changed
--- a/LazyBear/Assets.xcassets/Alternative icon/redIcon.imageset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "red.png",
-      "idiom" : "universal",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
Binary file LazyBear/Assets.xcassets/Alternative icon/redIcon.imageset/red.png has changed
--- a/LazyBear/Assets.xcassets/Basic theme/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Basic theme/basicAccent.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.702",
-          "green" : "0.747",
-          "red" : "0.514"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.702",
-          "green" : "0.747",
-          "red" : "0.514"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Basic theme/basicBackground.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.384",
-          "green" : "0.412",
-          "red" : "0.881"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.384",
-          "green" : "0.412",
-          "red" : "0.881"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Basic theme/basicRow0.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.310",
-          "green" : "0.318",
-          "red" : "0.314"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.310",
-          "green" : "0.318",
-          "red" : "0.314"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Basic theme/basicRow1.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.384",
-          "green" : "0.412",
-          "red" : "0.881"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.384",
-          "green" : "0.412",
-          "red" : "0.881"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Basic theme/basicRow2.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.475",
-          "green" : "0.881",
-          "red" : "0.980"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.475",
-          "green" : "0.881",
-          "red" : "0.980"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Basic theme/basicRow3.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.615",
-          "green" : "0.475",
-          "red" : "0.247"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.615",
-          "green" : "0.475",
-          "red" : "0.247"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Basic theme/basicRow4.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.702",
-          "green" : "0.747",
-          "red" : "0.514"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.702",
-          "green" : "0.747",
-          "red" : "0.514"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Default theme/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Default theme/defaultAccent.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "platform" : "ios",
-        "reference" : "linkColor"
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "platform" : "ios",
-        "reference" : "linkColor"
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Default theme/defaultBackground.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.729",
-          "green" : "0.649",
-          "red" : "0.545"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.729",
-          "green" : "0.649",
-          "red" : "0.545"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Default theme/defaultRow0.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.419",
-          "green" : "0.299",
-          "red" : "0.227"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.419",
-          "green" : "0.299",
-          "red" : "0.227"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Default theme/defaultRow1.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.772",
-          "green" : "0.688",
-          "red" : "0.577"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.772",
-          "green" : "0.688",
-          "red" : "0.577"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Default theme/defaultRow2.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.859",
-          "green" : "0.851",
-          "red" : "0.779"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.859",
-          "green" : "0.851",
-          "red" : "0.779"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Default theme/defaultRow3.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.298",
-          "green" : "0.403",
-          "red" : "0.771"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.298",
-          "green" : "0.403",
-          "red" : "0.771"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Default theme/defaultRow4.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.227",
-          "green" : "0.179",
-          "red" : "0.153"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.227",
-          "green" : "0.179",
-          "red" : "0.153"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Earth theme/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Earth theme/earthAccent.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.200",
-          "green" : "0.544",
-          "red" : "0.925"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.200",
-          "green" : "0.544",
-          "red" : "0.925"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Earth theme/earthBackground.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.254",
-          "green" : "0.727",
-          "red" : "0.957"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.254",
-          "green" : "0.727",
-          "red" : "0.957"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Earth theme/earthRow0.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.889",
-          "green" : "0.786",
-          "red" : "0.609"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.889",
-          "green" : "0.786",
-          "red" : "0.609"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Earth theme/earthRow1.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.724",
-          "green" : "0.610",
-          "red" : "0.300"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.724",
-          "green" : "0.610",
-          "red" : "0.300"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Earth theme/earthRow2.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.270",
-          "green" : "0.186",
-          "red" : "0.068"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.270",
-          "green" : "0.186",
-          "red" : "0.068"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Earth theme/earthRow3.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.254",
-          "green" : "0.727",
-          "red" : "0.957"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.254",
-          "green" : "0.727",
-          "red" : "0.957"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Earth theme/earthRow4.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.200",
-          "green" : "0.544",
-          "red" : "0.925"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.200",
-          "green" : "0.544",
-          "red" : "0.925"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Forest theme/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Forest theme/forestAccent.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.435",
-          "green" : "0.472",
-          "red" : "0.356"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.435",
-          "green" : "0.472",
-          "red" : "0.356"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Forest theme/forestBackground.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.777",
-          "green" : "0.821",
-          "red" : "0.797"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.777",
-          "green" : "0.821",
-          "red" : "0.797"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Forest theme/forestRow0.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.777",
-          "green" : "0.821",
-          "red" : "0.797"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.777",
-          "green" : "0.821",
-          "red" : "0.797"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Forest theme/forestRow1.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.557",
-          "green" : "0.658",
-          "red" : "0.545"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.557",
-          "green" : "0.658",
-          "red" : "0.545"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Forest theme/forestRow2.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.435",
-          "green" : "0.472",
-          "red" : "0.356"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.435",
-          "green" : "0.472",
-          "red" : "0.356"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Forest theme/forestRow3.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.317",
-          "green" : "0.306",
-          "red" : "0.231"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.317",
-          "green" : "0.306",
-          "red" : "0.231"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Forest theme/forestRow4.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.270",
-          "green" : "0.243",
-          "red" : "0.197"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.270",
-          "green" : "0.243",
-          "red" : "0.197"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LazyBear/Assets.xcassets/Logos/Contents.json	Sun Mar 21 19:56:24 2021 +0100
@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LazyBear/Assets.xcassets/Logos/default.imageset/Contents.json	Sun Mar 21 19:56:24 2021 +0100
@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "filename" : "default.png",
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
Binary file LazyBear/Assets.xcassets/Logos/default.imageset/default.png has changed
--- a/LazyBear/Assets.xcassets/Multicolor theme/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Multicolor theme/multicolorAccent.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.442",
-          "green" : "0.332",
-          "red" : "0.865"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.442",
-          "green" : "0.332",
-          "red" : "0.865"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Multicolor theme/multicolorBackground.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.467",
-          "green" : "0.825",
-          "red" : "0.970"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.467",
-          "green" : "0.825",
-          "red" : "0.970"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Multicolor theme/multicolorRow0.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.643",
-          "green" : "0.825",
-          "red" : "0.383"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.643",
-          "green" : "0.825",
-          "red" : "0.383"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Multicolor theme/multicolorRow1.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.681",
-          "green" : "0.534",
-          "red" : "0.247"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.681",
-          "green" : "0.534",
-          "red" : "0.247"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Multicolor theme/multicolorRow2.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.290",
-          "green" : "0.226",
-          "red" : "0.097"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.290",
-          "green" : "0.226",
-          "red" : "0.097"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Multicolor theme/multicolorRow3.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.442",
-          "green" : "0.332",
-          "red" : "0.865"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.442",
-          "green" : "0.332",
-          "red" : "0.865"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Multicolor theme/multicolorRow4.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.467",
-          "green" : "0.825",
-          "red" : "0.970"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.467",
-          "green" : "0.825",
-          "red" : "0.970"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Nature theme/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Nature theme/natureAccent.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.511",
-          "green" : "0.609",
-          "red" : "0.765"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.511",
-          "green" : "0.609",
-          "red" : "0.765"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Nature theme/natureBackground.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.672",
-          "green" : "0.750",
-          "red" : "0.847"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.672",
-          "green" : "0.750",
-          "red" : "0.847"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Nature theme/natureRow0.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.369",
-          "green" : "0.437",
-          "red" : "0.423"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.369",
-          "green" : "0.437",
-          "red" : "0.423"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Nature theme/natureRow1.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.672",
-          "green" : "0.750",
-          "red" : "0.847"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.672",
-          "green" : "0.750",
-          "red" : "0.847"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Nature theme/natureRow2.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.848",
-          "green" : "0.915",
-          "red" : "0.986"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.848",
-          "green" : "0.915",
-          "red" : "0.986"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Nature theme/natureRow3.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.651",
-          "green" : "0.719",
-          "red" : "0.717"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.651",
-          "green" : "0.719",
-          "red" : "0.717"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Nature theme/natureRow4.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.561",
-          "green" : "0.645",
-          "red" : "0.646"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.561",
-          "green" : "0.645",
-          "red" : "0.646"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/See theme/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/See theme/seeAccent.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.333",
-          "green" : "0.204",
-          "red" : "0.134"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.333",
-          "green" : "0.204",
-          "red" : "0.134"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/See theme/seeBackground.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.603",
-          "green" : "0.475",
-          "red" : "0.320"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.603",
-          "green" : "0.475",
-          "red" : "0.320"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/See theme/seeRow0.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.333",
-          "green" : "0.204",
-          "red" : "0.134"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.333",
-          "green" : "0.204",
-          "red" : "0.134"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/See theme/seeRow1.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.603",
-          "green" : "0.475",
-          "red" : "0.320"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.603",
-          "green" : "0.475",
-          "red" : "0.320"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/See theme/seeRow2.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.858",
-          "green" : "0.847",
-          "red" : "0.700"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.858",
-          "green" : "0.847",
-          "red" : "0.700"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/See theme/seeRow3.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.937",
-          "green" : "0.978",
-          "red" : "0.950"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.937",
-          "green" : "0.978",
-          "red" : "0.950"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/See theme/seeRow4.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.298",
-          "green" : "0.283",
-          "red" : "0.833"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.298",
-          "green" : "0.283",
-          "red" : "0.833"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Summer theme/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Summer theme/summerAccent.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.424",
-          "green" : "0.650",
-          "red" : "0.910"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.424",
-          "green" : "0.650",
-          "red" : "0.910"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Summer theme/summerBackground.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.560",
-          "green" : "0.606",
-          "red" : "0.310"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.560",
-          "green" : "0.606",
-          "red" : "0.310"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Summer theme/summerRow0.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.321",
-          "green" : "0.270",
-          "red" : "0.180"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.321",
-          "green" : "0.270",
-          "red" : "0.180"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Summer theme/summerRow1.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.560",
-          "green" : "0.606",
-          "red" : "0.310"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.560",
-          "green" : "0.606",
-          "red" : "0.310"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Summer theme/summerRow2.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.466",
-          "green" : "0.774",
-          "red" : "0.890"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.466",
-          "green" : "0.774",
-          "red" : "0.890"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Summer theme/summerRow3.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.424",
-          "green" : "0.650",
-          "red" : "0.910"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.424",
-          "green" : "0.650",
-          "red" : "0.910"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- a/LazyBear/Assets.xcassets/Summer theme/summerRow4.colorset/Contents.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-{
-  "colors" : [
-    {
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.349",
-          "green" : "0.462",
-          "red" : "0.848"
-        }
-      },
-      "idiom" : "universal"
-    },
-    {
-      "appearances" : [
-        {
-          "appearance" : "luminosity",
-          "value" : "dark"
-        }
-      ],
-      "color" : {
-        "color-space" : "display-p3",
-        "components" : {
-          "alpha" : "1.000",
-          "blue" : "0.349",
-          "green" : "0.462",
-          "red" : "0.848"
-        }
-      },
-      "idiom" : "universal"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LazyBear/Assets.xcassets/Themes/Contents.json	Sun Mar 21 19:56:24 2021 +0100
@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
--- a/LazyBear/CompanyOption.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-//
-//  CompanyOption.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 13/3/21.
-//
-
-import SwiftUI
-
-class CompanyOption: ObservableObject {
-    @Published var view = ViewType.stock
-}
--- a/LazyBear/ContentView.swift	Sat Mar 20 19:18:25 2021 +0100
+++ b/LazyBear/ContentView.swift	Sun Mar 21 19:56:24 2021 +0100
@@ -2,79 +2,19 @@
 //  ContentView.swift
 //  LazyBear
 //
-//  Created by Dennis Concepción Martín on 17/2/21.
+//  Created by Dennis Concepción Martín on 21/3/21.
 //
 
 import SwiftUI
 
 struct ContentView: View {
-    @EnvironmentObject var hudManager: HudManager
-    @EnvironmentObject var deviceSize: DeviceSize
-    @EnvironmentObject var hapticsManager: HapticsManager
-    
-    // Fetch user appearence settings
-    @FetchRequest(entity: UserSettings.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \UserSettings.changedAt, ascending: false)])
-    var userSettings: FetchedResults<UserSettings>
-    
     var body: some View {
-        GeometryReader { geo in
-            ZStack(alignment: .top) {
-                TabView {
-                    // First view
-                    Watchlist()
-                        .tabItem {
-                            Label("Watchlist", systemImage: "list.dash")
-                        }
-                    
-                    // First view
-                    Search()
-                        .tabItem {
-                            Label("Search", systemImage: "magnifyingglass")
-                        }
-                    
-                    // First view
-                    Settings()
-                        .tabItem {
-                            Label("Settings", systemImage: "gear")
-                        }
-                }
-                
-                // Show HUDs
-                // Notification
-                Notification(text: "Company saved", image: "checkmark.circle")
-                    .offset(y: hudManager.showNotification ? 0 : -100)
-                    .animation(.easeInOut)
-                
-                // Action sheet
-                ZStack(alignment: .bottom) {
-                    Color(.black)
-                        .edgesIgnoringSafeArea(.all)
-                        .opacity(hudManager.showAction ? 0.2: 0)
-                        .animation(.easeInOut)
-                        .onTapGesture { hudManager.showAction = false }
-                    
-                    ActionView()
-                        .offset(y: hudManager.showAction ? 0 : 250)
-                        .animation(.easeInOut)
-                        .padding()
-                }
-            }
-            .accentColor(Color("\(userSettings.first?.theme?.lowercased() ?? "default")Accent"))
-            // If this value is not optional it will cause a crash
-            .onAppear {
-                // Assign device screen size to the class
-                self.deviceSize.width = geo.size.width
-                self.deviceSize.height = geo.size.height
-                hapticsManager.prepareHaptics()
-            }
-        }
+        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
     }
 }
 
-
 struct ContentView_Previews: PreviewProvider {
     static var previews: some View {
         ContentView()
-            .environmentObject(HudManager())
     }
 }
--- a/LazyBear/DeviceSize.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-//
-//  DeviceSize.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 15/3/21.
-//
-
-import SwiftUI
-
-class DeviceSize: ObservableObject {
-    @Published var width = CGFloat(400)
-    @Published var height = CGFloat(400)
-}
--- a/LazyBear/Functions/GetUrl.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-//
-//  GetUrl.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 13/3/21.
-//
-
-import SwiftUI
-
-enum Endpoint {
-    case quote
-    case news
-    case historicalPrices
-    case insiderTransactions
-    case insiderSummary
-    case keyStats
-}
-
-func getUrl(endpoint: Endpoint, symbol: String, range: String = "") -> String {
-    let baseUrl = Bundle.main.infoDictionary?["IEX_URL"] as? String ?? "Empty url"
-    let apiKey = Bundle.main.infoDictionary?["IEX_API"] as? String ?? "Empty key"
-    
-    switch endpoint {
-    case .quote:
-        return "\(baseUrl)/stock/\(symbol)/quote?token=\(apiKey)"
-    case .news:
-        return "\(baseUrl)/stock/\(symbol)/news/last/30?token=\(apiKey)"
-    case .historicalPrices:
-        return "\(baseUrl)/stock/\(symbol)/chart/\(range)?chartCloseOnly=true&token=\(apiKey)"
-    case .insiderTransactions:
-        return "\(baseUrl)/stock/\(symbol)/insider-transactions?token=\(apiKey)"
-    case .insiderSummary:
-        return "\(baseUrl)/stock/\(symbol)/insider-roster?token=\(apiKey)"
-    case .keyStats:
-        return "\(baseUrl)/stock/\(symbol)/stats?token=\(apiKey)"
-    }
-}
--- a/LazyBear/Functions/NormalizeData.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-//
-//  NormalizeData.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 18/3/21.
-//
-
-import SwiftUI
-
-func normalize(_ data: [Double]) -> [Double] {
-    var normalData = [Double]()
-    let min = data.min()!
-    let max = data.max()!
-
-    for value in data {
-        let normal = (value - min) / (max - min)
-        normalData.append(normal)
-    }
-
-    return normalData
-}
--- a/LazyBear/Functions/ReadJson.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-//
-//  ReadJson.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/2/21.
-//
-
-import Foundation
-
-let themes: [ThemeModel] = load("themes.json")
-let newsLanguages: [NewsLanguageModel] = load("newsLanguages.json")
-let icons: [IconModel] = load("alternativeIcons.json")
-
-func load<T: Decodable>(_ filename: String) -> T {
-    let data: Data
-    
-    guard let file = Bundle.main.url(forResource: filename, withExtension: nil)
-        else {
-            fatalError("Couldn't find \(filename) in main bundle.")
-    }
-    
-    do {
-        data = try Data(contentsOf: file)
-    } catch {
-        fatalError("Couldn't load \(filename) from main bundle:\n\(error)")
-    }
-    
-    do {
-        let decoder = JSONDecoder()
-        return try decoder.decode(T.self, from: data)
-    } catch {
-        fatalError("Couldn't parse \(filename) as \(T.self):\n\(error)")
-    }
-}
--- a/LazyBear/Functions/Request.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-//
-//  Request.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 20/2/21.
-//
-
-import Foundation
-
-// Network request
-func request<T: Decodable>(url: String, model: T.Type, completion: @escaping (_ result: T) -> Void) {
-    // We take some model data T.Type
-    guard let url = URL(string: url) else {
-        print("Invalid URL")
-        return
-    }
-    let request = URLRequest(url: url)
-    URLSession.shared.dataTask(with: request) { data, response, error in
-        if let data = data {
-            do {
-                // Decode response with the model passed
-                let decodedResponse = try JSONDecoder().decode(model, from: data)
-                DispatchQueue.main.async {
-                    completion(decodedResponse)
-                }
-                return
-            } catch {
-                // Return error regarding the escaping code
-                print(error)
-            }
-        }
-        // Error with the request
-        print("Fetch failed: \(error?.localizedDescription ?? "Unknown error")")
-    }
-    .resume()
-}
--- a/LazyBear/Functions/StringToDate.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-//
-//  DateToString.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/3/21.
-//
-
-import SwiftUI
-
-func convertStringToDate(_ stringDate: String) -> String {
-    // Convert string to date
-    let dateFormatter = DateFormatter()
-    dateFormatter.dateFormat = "yy-MM-dd"
-    let date = dateFormatter.date(from: stringDate)
-    
-    // Format date to the final format
-    dateFormatter.dateStyle = .long
-    let finalDate = dateFormatter.string(from: date!)
-    
-    return finalDate
-}
--- a/LazyBear/HUDManager.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-//
-//  HUDManager.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 21/2/21.
-//
-
-import SwiftUI
-
-enum HudType {
-    case notification, action
-}
-
-class HudManager: ObservableObject {
-    @Published var showNotification = false
-    @Published var showAction = false
-    
-    func selectHud(type: HudType) {
-        if type == .notification {
-            self.showNotification = true
-            
-            // Dimiss after time
-            DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
-                self.showNotification = false
-            }
-        } else if type == .action {
-            self.showAction = true
-        }
-    }
-}
--- a/LazyBear/HapticsManager.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-//
-//  Haptics.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 20/3/21.
-//
-
-import SwiftUI
-import CoreHaptics
-
-class HapticsManager: ObservableObject {
-    @Published var engine: CHHapticEngine?
-    
-    func prepareHaptics() {
-        guard CHHapticEngine.capabilitiesForHardware().supportsHaptics else { return }
-
-        do {
-            self.engine = try CHHapticEngine()
-            try engine?.start()
-        } catch {
-            print("There was an error creating the engine: \(error.localizedDescription)")
-        }
-    }
-    
-    func simpleSuccess() {
-        let generator = UINotificationFeedbackGenerator()
-        generator.notificationOccurred(.success)
-    }
-    
-    func complexSuccess() {
-        // make sure that the device supports haptics
-        guard CHHapticEngine.capabilitiesForHardware().supportsHaptics else { return }
-        var events = [CHHapticEvent]()
-
-        // create one intense, sharp tap
-        let intensity = CHHapticEventParameter(parameterID: .hapticIntensity, value: 2)
-        let sharpness = CHHapticEventParameter(parameterID: .hapticSharpness, value: 1)
-        let event = CHHapticEvent(eventType: .hapticTransient, parameters: [intensity, sharpness], relativeTime: 0)
-        events.append(event)
-
-        // convert those events into a pattern and play it immediately
-        do {
-            let pattern = try CHHapticPattern(events: events, parameters: [])
-            let player = try engine?.makePlayer(with: pattern)
-            try player?.start(atTime: 0)
-        } catch {
-            print("Failed to play pattern: \(error.localizedDescription).")
-        }
-    }
-}
--- a/LazyBear/Models/CompanyModel.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-//
-//  LocalCompany.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/2/21.
-//
-
-import SwiftUI
-
-struct CompanyModel: Codable {
-    var symbol: String
-    var securityName: String?
-}
-
--- a/LazyBear/Models/HistoricalPriceModel.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-//
-//  HistoricalPrice.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 21/2/21.
-//
-
-import SwiftUI
-
-struct HistoricalPriceModel: Codable {
-    var date: String
-    var minute: String? // Intraday data only
-    var close: Double
-    var volume: Int
-    var change: Double? // Not intraday data only
-    var changePercent: Double? // Not intraday data only
-    var changeOverTime: Double? // Not intraday data only
-
-}
--- a/LazyBear/Models/IconModel.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-//
-//  IconModel.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 26/2/21.
-//
-
-import SwiftUI
-
-struct IconModel: Codable, Hashable {
-    var name: String
-    var file: String
-    var background: Bool
-}
--- a/LazyBear/Models/InsiderSummaryModel.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-//
-//  InsiderSummaryModel.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 5/3/21.
-//
-
-import SwiftUI
-
-struct InsiderSummaryModel: Codable, Hashable {
-    var entityName: String
-    var position: Int?
-}
--- a/LazyBear/Models/InsiderTranModel.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-//
-//  InsiderModel.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 5/3/21.
-//
-
-import SwiftUI
-
-struct InsiderTranModel: Codable, Hashable {
-    var directIndirect: String?
-    var transactionDate: String?
-    var fullName: String?
-    var postShares: Int?
-    var transactionCode: String?
-    var transactionPrice: Float?
-    var transactionShares: Int?
-    var transactionValue: Float?
-    
-}
--- a/LazyBear/Models/KeyStatsModel.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-//
-//  KeyStatsModel.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/3/21.
-//
-
-import SwiftUI
-
-struct KeyStatsModel: Hashable, Codable {
-    var Market_Cap: Double?
-    var Weeks52_High: Double?
-    var Weeks52_Low: Double?
-    var Shares: Double?
-    var Days10_Avg_Volume: Double?
-    var Days30_Avg_Volume: Double?
-    var Days200_Moving_Avg: Double?
-    var Days50_Moving_Avg: Double?
-    var Employees: Double?
-    var Trailing_EPS: Double?
-    var Trailing_Dividend_Rate: Double?
-    var Dividend_Yield: Double?
-    var Next_Dividend_Date: String?
-    var PE_Ratio: Double?
-    var Beta: Double?
-    
-    
-    // Custom keys
-    enum CodingKeys: String, CodingKey {
-        case Market_Cap = "marketcap"
-        case Weeks52_High = "week52high"
-        case Weeks52_Low = "week52low"
-        case Shares = "sharesOutstanding"
-        case Days10_Avg_Volume = "avg10Volume"
-        case Days30_Avg_Volume = "avg30Volume"
-        case Days200_Moving_Avg = "day200MovingAvg"
-        case Days50_Moving_Avg = "day50MovingAvg"
-        case Employees = "employees"
-        case Trailing_EPS = "ttmEPS"
-        case Trailing_Dividend_Rate = "ttmDividendRate"
-        case Dividend_Yield = "dividendYield"
-        case Next_Dividend_Date = "nextDividendDate"
-        case PE_Ratio = "peRatio"
-        case Beta = "beta"
-    }
-}
-
--- a/LazyBear/Models/NewsLanguageModel.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-//
-//  NewsLanguageModel.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 26/2/21.
-//
-
-import SwiftUI
-
-struct NewsLanguageModel: Codable, Hashable {
-    var name: String
-    var code: String
-    var flag: String
-}
--- a/LazyBear/Models/NewsModel.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-//
-//  NewsModel.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 20/2/21.
-//
-
-import SwiftUI
-
-struct NewsModel: Codable, Hashable {
-    var datetime: Int?
-    var headline: String?
-    var source: String?
-    var url: String?
-    var summary: String?
-    var image: String?
-    var lang: String?
-}
--- a/LazyBear/Models/PriceModel.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-//
-//  PriceModel.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 2/3/21.
-//
-
-import SwiftUI
-
-struct PriceModel: Codable {
-    var latestPrice: Float?
-    var changePercent: Double?
-}
--- a/LazyBear/Models/ThemeModel.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-//
-//  ThemeModel.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/2/21.
-//
-
-import SwiftUI
-
-struct ThemeModel: Hashable, Codable {
-    var name: String
-}
--- a/LazyBear/Resources/alternativeIcons.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-[
-    {
-        "name": "Default",
-        "file": "defaultIcon",
-        "background": false
-    },
-    {
-        "name": "Blue",
-        "file": "blueIcon",
-        "background": false
-    },
-    {
-        "name": "Green",
-        "file": "greenIcon",
-        "background": false
-    },
-    {
-        "name": "Pink",
-        "file": "pinkIcon",
-        "background": false
-    },
-    {
-        "name": "Red",
-        "file": "redIcon",
-        "background": false
-    },
-    {
-        "name": "Matte black",
-        "file": "matteBlackIcon",
-        "background": true
-    },
-    {
-        "name": "Matte white",
-        "file": "matteWhiteIcon",
-        "background": false
-    },
-    {
-        "name": "Graffiti",
-        "file": "graffitiIcon",
-        "background": false
-    }
-]
Binary file LazyBear/Resources/blue.png has changed
Binary file LazyBear/Resources/default.png has changed
Binary file LazyBear/Resources/graffiti.png has changed
Binary file LazyBear/Resources/green.png has changed
Binary file LazyBear/Resources/matteBlack.png has changed
Binary file LazyBear/Resources/matteWhite.png has changed
--- a/LazyBear/Resources/newsLanguages.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-[
-    {
-        "name": "English", 
-        "code": "en",
-        "flag": "🇺🇸"
-    },
-    {
-        "name": "Spanish",
-        "code": "es",
-        "flag": "🇪🇸"
-    },
-    {
-        "name": "Italian",
-        "code": "it",
-        "flag": "🇮🇹"
-    },
-    {
-        "name": "French",
-        "code": "fr",
-        "flag": "🇫🇷"
-    },
-    {
-        "name": "German",
-        "code": "de",
-        "flag": "🇩🇪"
-    },
-    {
-        "name": "Portuguese",
-        "code": "pt",
-        "flag": "🇵🇹"
-    },
-    {
-        "name": "Russian",
-        "code": "ru",
-        "flag": "🇷🇺"
-    }
-]
Binary file LazyBear/Resources/pink.png has changed
Binary file LazyBear/Resources/red.png has changed
--- a/LazyBear/Resources/themes.json	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-[
-    {
-        "name": "Default"
-    },
-    {
-        "name": "Summer"
-    },
-    {
-        "name": "Basic"
-    },
-    {
-        "name": "Earth"
-    },
-    {
-        "name": "Forest"
-    },
-    {
-        "name": "Multicolor"
-    },
-    {
-        "name": "Nature"
-    },
-    {
-        "name": "See"
-    }
-]
--- a/LazyBear/Resources/transactionCodes.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-//
-//  transactionCodes.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 5/3/21.
-//
-
-import SwiftUI
-
-// General transaction codes for Form 4
-let transactionCodes: [String: String] = [
-    "P": "Open market or private purchase of securities",
-    "S": "Open market or private sale of securities",
-    "V": "Transaction voluntarily reported earlier than required",
-    "A": "Grant, award, or other acquisition",
-    "D": "Sale (or disposition) back to the issuer of the securities",
-    "F": "Payment of exercise price or tax liability by delivering or withholding securities",
-    "I": "Discretionary transaction, which is an order to the broker to execute the transaction at the best possible price",
-    "M": "Exercise or conversion of derivative security",
-    "C": "Conversion of derivative security (usually options)",
-    "E": "Expiration of short derivative position (usually options)",
-    "H": "Expiration (or cancellation) of long derivative position with value received (usually options)",
-    "O": "Exercise of out-of-the-money derivative securities (usually options)",
-    "X": "Exercise of in-the-money or at-the-money derivatives securities (usually options)",
-    "G": "Bona fide gift form of any clauses",
-    "L": "Small acquisition",
-    "W": "Acquisition or disposition by will or laws of descent and distribution",
-    "Z": "Deposit into or withdrawal from voting trust",
-    "J": "Other acquisition or disposition (transaction described in footnotes)",
-    "K": "Transaction in equity swap or similar instrument",
-    "U": "Disposition due to a tender of shares in a change of control transaction",
-]
--- a/LazyBear/UI/ActionView.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-//
-//  ActionView.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 8/3/21.
-//
-
-import SwiftUI
-
-struct ActionView: View {
-    @EnvironmentObject var companyOption: CompanyOption
-    @EnvironmentObject var hudManager: HudManager
-    @Environment(\.colorScheme) var colorScheme  // Detect dark mode
-    
-    var body: some View {
-        VStack(alignment: .leading) {
-            VStack(alignment: .leading) {
-                Group {
-                    Button(action: { changeViewTo(.stock) }) {
-                        Image(systemName: "chart.bar")
-                            .frame(width: 50)
-                        
-                        Text("Stock & news")
-                        Spacer()
-                    }
-                    .padding([.leading, .top, .trailing])
-                    
-                    Divider()
-                        .offset(x: 75)
-                    
-                    Button(action: { changeViewTo(.insiders) }) {
-                        Image(systemName: "chart.pie")
-                            .frame(width: 50)
-                        
-                        Text("Insider transactions")
-                        Spacer()
-                    }
-                    .padding([.leading, .bottom, .trailing])
-                }
-                .modifier(Title())
-            }
-            .background(
-                colorScheme == .dark ? Color(red: 0.15, green: 0.17, blue: 0.18): Color(.white)
-            )
-            .cornerRadius(20)
-            
-            Button(action: { self.hudManager.showAction = false }) {
-                Spacer()
-                Text("Cancel")
-                Spacer()
-            }
-            .modifier(Title())
-            .padding()
-            .background(
-                colorScheme == .dark ? Color(red: 0.15, green: 0.17, blue: 0.18): Color(.white)
-            )
-            .cornerRadius(20)
-        }
-        .frame(maxWidth: 500)
-    }
-        
-    private func changeViewTo(_ view: ViewType ) {
-        // Show view after one second.
-        // Give time to dismiss the Action View
-        self.hudManager.showAction = false
-        
-        if view == .stock {
-            DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
-                self.companyOption.view = .stock
-                
-            }
-        } else if view == .insiders {
-            DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
-                self.companyOption.view = .insiders
-            }
-        }
-    }
-}
-
-
-struct ActionView_Previews: PreviewProvider {
-    static var previews: some View {
-        ActionView()
-    }
-}
-
-struct Title: ViewModifier {
-    func body(content: Content) -> some View {
-        content
-            .font(.title3)
-            .imageScale(.large)
-            .frame(maxWidth: .infinity)
-    }
-}
-
--- a/LazyBear/UI/ChartView.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-//
-//  HistoricalPriceView.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 21/2/21.
-//
-
-import SwiftUI
-
-struct ChartView: View {
-    var symbol: String
-    @State private var historicalPrices = [HistoricalPriceModel]()
-    @EnvironmentObject var deviceSize: DeviceSize
-   
-    // Date picker
-    var period = ["1W", "1M", "3M", "6M", "1Y", "2Y", "5Y"]
-    @State var selectedPeriod = 2
-    
-    // Line View
-    @State private var orientation: UIDeviceOrientation = UIDevice.current.orientation
-    @State var showingChartIndicator = false
-    @State var pointInPath: CGPoint = .zero
-    @State var indexValue = Int()
-    
-    
-    var body: some View {
-        let prices = historicalPrices.map { $0.close }
-        let dates = historicalPrices.map { $0.date }
-        let minutes = historicalPrices.map {$0.minute }
-        
-        VStack {
-            ZStack {
-                if showingChartIndicator {
-                    PriceChartIndicator(prices: prices, dates: dates, minutes: minutes, indexValue: $indexValue)
-                } else {
-                    DateSelection(period: period, selectedperiod: $selectedPeriod)
-                        .padding(.horizontal)
-                        .onChange(of: selectedPeriod, perform: { (value) in
-                            let url = rangeEndpointSelector(value)
-                            request(url: url, model: [HistoricalPriceModel].self) { self.historicalPrices = $0 }
-                        })
-                }
-            }
-            .frame(height: 40)
-            
-            let (width, height) = lineViewSize()
-            if !historicalPrices.isEmpty {
-                LineView(colour: lineViewColour(prices) ,width: width, height: height, normalizedData: normalize(prices), showingChartIndicator: $showingChartIndicator, pointInPath: $pointInPath, indexValue: $indexValue)
-                    .frame(width: width, height: height)
-                    .rotationEffect(.degrees(180), anchor: .center)
-                    .rotation3DEffect(.degrees(180), axis: (x: 0.0, y: 1.0, z: 0.0))
-                    .padding([.top, .bottom])
-                    // Detect changes on device orientation and upodate view
-                    .onReceive(NotificationCenter.Publisher(center: .default, name: UIDevice.orientationDidChangeNotification)) { _ in
-                              self.orientation = UIDevice.current.orientation
-                            }
-            }
-        }
-        .onAppear {
-            self.selectedPeriod = 2
-            let url = getUrl(endpoint: .historicalPrices, symbol: symbol, range: "3m")
-            request(url: url, model: [HistoricalPriceModel].self) { self.historicalPrices = $0 }
-        }
-    }
-    
-    private enum HistoricalInterval {
-        case oneWeek
-        case oneMonth
-    }
-    
-    private func selected(interval: HistoricalInterval) -> String {
-        switch interval {
-        case .oneWeek:
-            return "5dm"
-        case .oneMonth:
-            return "1mm"
-        }
-    }
-    
-    private func rangeEndpointSelector(_ value: Int) -> String {
-        var url = ""
-
-        if selectedPeriod == 0 {  // 1 week
-            url = getUrl(endpoint: .historicalPrices, symbol: symbol, range: selected(interval: .oneWeek))
-        } else if selectedPeriod == 1 {  // 1 month
-            url = getUrl(endpoint: .historicalPrices, symbol: symbol, range: selected(interval: .oneMonth))
-        } else {  // The rest
-            url = getUrl(endpoint: .historicalPrices, symbol: symbol, range: period[value])
-        }
-        
-        return url
-    }
-    
-    private func lineViewColour(_ prices: [Double]) -> Color {
-        var colour = Color(.systemGreen)
-        
-        let firstPrice = prices[0]
-        let lastPrice = prices.last
-        
-        if lastPrice! < firstPrice {
-            colour = Color(.systemRed)
-        }
-        
-        return colour
-    }
-    
-    private func lineViewSize() -> (CGFloat, CGFloat) {
-        var width = deviceSize.width
-        var height = width / 3
-        
-        // if running on iPad
-        if UIDevice.current.userInterfaceIdiom == .pad {
-            height =  width / 6
-            if orientation.isLandscape {
-                width = deviceSize.height
-                height = width / 6
-            }
-        }
-        
-        return (width, height)
-    }
-}
-
-struct HistoricalPriceView_Previews: PreviewProvider {
-    static var previews: some View {
-        ChartView(symbol: "aapl")
-    }
-}
--- a/LazyBear/UI/CompanyRow.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-//
-//  CompanyRow.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/2/21.
-//
-
-import SwiftUI
-
-struct CompanyRow: View {
-    var symbol: String
-    var name: String
-    var rowNumber: Int
-    var showPrice: Bool
-    
-    var body: some View {
-        HStack {
-            SideColor(rowNumber: rowNumber)
-            VStack(alignment: .leading) {
-                Text(symbol.uppercased())
-                    .fontWeight(.semibold)
-
-                Text(name.capitalized)
-                    .lineLimit(1)
-            }
-            
-            Spacer()
-            if showPrice {
-                PriceView(symbol: symbol, showVertical: true)
-            }
-        }
-    }
-}
-
-struct Row_Previews: PreviewProvider {
-    static var previews: some View {
-        List {
-            CompanyRow(symbol: "aapl", name: "apple inc", rowNumber: 2, showPrice: true)
-        }
-    }
-}
--- a/LazyBear/UI/CompanyView.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-//
-//  CompanyView.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/2/21.
-//
-
-import SwiftUI
-
-enum ViewType {
-    case stock, insiders
-}
-
-struct CompanyView: View {
-    var name: String
-    var symbol: String
-    @State private var scale: CGFloat = 1
-    @EnvironmentObject var hudManager: HudManager
-    @EnvironmentObject var companyOption: CompanyOption
-    @EnvironmentObject var hapticsManager: HapticsManager
-    @Environment(\.managedObjectContext) private var moc
-    @FetchRequest(entity: Company.entity(), sortDescriptors: []) var companies: FetchedResults<Company>
-    
-    var body: some View {
-        ScrollView {
-            if companyOption.view == .stock {
-                PriceView(symbol: symbol, showVertical: false)
-                ChartView(symbol: symbol)
-                KeyStatsView(symbol: symbol)
-                NewsView(symbol: symbol)
-                    
-            } else if companyOption.view == .insiders {
-                InsiderSummary(symbol: symbol)
-                InsiderTransactions(symbol: symbol)
-            }
-        }
-        .onAppear { companyOption.view = .stock }
-        .toolbar {
-            ToolbarItem(placement: .principal) {
-                Button(action: { self.hudManager.showAction.toggle(); hapticsManager.complexSuccess()}) {
-                    HStack {
-                        if companyOption.view == .stock {
-                            Text("Stock")
-                        } else if companyOption.view == .insiders {
-                            Text("Insiders")
-                        }
-                        Image(systemName: "chevron.down")
-                    }
-                }
-            }
-            
-            ToolbarItem(placement: .navigationBarTrailing) {
-                let symbols = companies.map { $0.symbol }
-                if !symbols.contains(symbol) {
-                    Button(action: { addCompany() }) {
-                        Image(systemName: "star")
-                    }
-                    .scaleEffect(scale)
-                    .animation(.easeIn)
-                    
-                } else {
-                    Button(action: { removeCompany() }) {
-                        Image(systemName: "star.fill")
-                    }
-                }
-            }
-        }
-    }
-    
-    // Add to watchlist
-    private func addCompany() {
-        let company = Company(context: moc)
-        company.symbol = symbol
-        company.name = name
-        do {
-            try moc.save()
-            hudManager.selectHud(type: .notification)
-            hapticsManager.simpleSuccess()
-            print("Company saved")
-        } catch {
-            print(error.localizedDescription)
-        }
-    }
-    
-    private func removeCompany() {
-        let symbols = companies.map { $0.symbol }
-        let index = symbols.firstIndex(of: symbol)
-        let company = companies[index!]
-        moc.delete(company)
-        do {
-            try moc.save()
-            print("Company deleted")
-        } catch {
-            // Error
-        }
-    }
-}
-
-struct CompanyView_Previews: PreviewProvider {
-    static var previews: some View {
-        NavigationView {
-            CompanyView(name: "apple inc", symbol: "aapl")
-                .environmentObject(HudManager())
-                .environmentObject(CompanyOption())
-                .navigationTitle("APPL")
-        }
-        .navigationViewStyle(StackNavigationViewStyle())
-    }
-}
--- a/LazyBear/UI/DateSelection.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-//
-//  DateSelection.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 27/2/21.
-//
-
-import SwiftUI
-
-struct DateSelection: View {
-    var period: [String]
-    @Binding var selectedperiod: Int
-    
-    var body: some View {
-        Picker(selection: $selectedperiod, label: Text("Please choose a period")) {
-            ForEach(0 ..< period.count) {
-                Text(self.period[$0])
-            }
-        }
-         .pickerStyle(SegmentedPickerStyle())
-    }
-}
-
-struct DateSelection_Previews: PreviewProvider {
-    static var previews: some View {
-        DateSelection(period: ["1W", "1M", "3M", "6M", "1Y", "2Y", "5Y"], selectedperiod: .constant(0))
-    }
-}
--- a/LazyBear/UI/HorizontalBar.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-//
-//  HorizontalBar.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 20/3/21.
-//
-
-import SwiftUI
-
-struct HorizontalBar: View {
-    @State var text: String
-    @State var data: Int
-    @State var capsulePctWidth: CGFloat  // 0.3 = 30%
-    // How much large the data capsule is with respect to the placeholder capsule
-    @FetchRequest(entity: UserSettings.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \UserSettings.changedAt, ascending: false)])
-    var userSettings: FetchedResults<UserSettings>
-    
-    var body: some View {
-        VStack(alignment: .leading) {
-            HStack {
-                Text(text.capitalized)
-                    .font(.headline)
-                
-                Spacer()
-                Text("\(data) shares")
-            }
-            ZStack {
-                GeometryReader { geo in
-                    Group {
-                        Capsule()
-                            .foregroundColor(Color(.systemGray))
-                            .opacity(0.2)
-                        
-                        Capsule()
-                            .foregroundColor(Color("\(userSettings.first?.theme?.lowercased() ?? "default")Accent"))
-                            .frame(width: geo.size.width * capsulePctWidth)
-                    }
-                    .frame(height: 10)
-                }
-            }
-        }
-    }
-}
-
-struct HorizontalBar_Previews: PreviewProvider {
-    static var previews: some View {
-        HorizontalBar(text: "Dennis Concepción", data: 1000, capsulePctWidth: 0.3)
-    }
-}
--- a/LazyBear/UI/IconPicker.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-//
-//  IconPicker.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 26/2/21.
-//
-
-import SwiftUI
-
-struct IconPicker: View {
-    var body: some View {
-        List {
-            Section(header: Text("White background")) {
-                ForEach(icons, id: \.name) { icon in
-                    if !icon.background {
-                        IconRow(icon: icon)
-                    }
-                }
-            }
-            
-            Section(header: Text("Black background")) {
-                ForEach(icons, id: \.name) { icon in
-                    if icon.background {
-                        IconRow(icon: icon)
-                    }
-                }
-            }
-        }
-        .listStyle(GroupedListStyle())
-    }
-}
-
-struct IconRow: View {
-    @Environment(\.colorScheme) var colorScheme  // Detect dark mode
-    @EnvironmentObject var hapticsManager: HapticsManager
-    var icon: IconModel
-    
-    var body: some View {
-        Button(action: { hapticsManager.complexSuccess(); changeIcon(key: icon.file) }) {
-            HStack {
-                Image(icon.file)
-                    .resizable()
-                    .cornerRadius(20)
-                    .frame(width: 70, height: 70)
-                    
-                Text(icon.name)
-                    .foregroundColor(colorScheme == .dark ? .white: .black)
-            }
-        }
-    }
-    
-    private func changeIcon(key: String) {
-        if key != "defaultIcon" {
-            UIApplication.shared.setAlternateIconName(key) { error in
-                if let error = error {
-                    print(error.localizedDescription)
-                } else {
-                    print("Success!")
-                }
-            }
-        } else {
-            UIApplication.shared.setAlternateIconName(nil)
-        }
-    }
-}
-
-struct IconPicker_Previews: PreviewProvider {
-    static var previews: some View {
-        NavigationView {
-            IconPicker()
-            
-        }
-    }
-}
--- a/LazyBear/UI/IexAttribution.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-//
-//  IexAttribution.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 2/3/21.
-//
-
-import SwiftUI
-
-struct IexAttribution: View {
-    var text: String
-    
-    var body: some View {
-        Link(destination: URL(string: "https://iexcloud.io")!) {
-            Text(text)
-                .font(.caption)
-                .opacity(0.6)
-                
-        }
-    }
-}
-
-struct IexAttribution_Previews: PreviewProvider {
-    static var previews: some View {
-        IexAttribution(text: "IEX Cloud")
-    }
-}
--- a/LazyBear/UI/IndicatorPoint.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-//
-//  IndicatorPoint.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 17/3/21.
-//
-
-import SwiftUI
-
-struct IndicatorPoint: View {
-    @FetchRequest(entity: UserSettings.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \UserSettings.changedAt, ascending: false)])
-    var userSettings: FetchedResults<UserSettings>
-    
-    var body: some View {
-        let colour = Color("\(userSettings.first?.theme?.lowercased() ?? "default")Accent")
-        Circle()
-            .frame(width: 20, height: 20)
-            .foregroundColor(colour)
-    }
-}
-
-struct IndicatorPoint_Previews: PreviewProvider {
-    static var previews: some View {
-        IndicatorPoint()
-    }
-}
--- a/LazyBear/UI/InsiderSummary.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-//
-//  InsiderSummary.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 5/3/21.
-//
-
-import SwiftUI
-
-struct InsiderSummary: View {
-    var symbol: String
-    @State private var insiderSummary = [InsiderSummaryModel]()
-    
-    var body: some View {
-        let maxPosition = insiderSummary.map { ($0.position ?? 0) }.max()
-        VStack(alignment: .leading) {
-            HStack {
-                Text("Top insiders")
-                    .font(.title)
-                    .fontWeight(.semibold)
-                
-                Spacer()
-            }
-            .padding(.bottom)
-            
-            ForEach(insiderSummary.indices, id: \.self) { index in
-                if index < 3 {  // Number of rows that I want to show
-                    let name = insiderSummary[index].entityName
-                    let position = insiderSummary[index].position ?? 1
-                    let pct = getPercentage(maxPosition ?? 1, position)
-                    HorizontalBar(text: name, data: position, capsulePctWidth: pct)
-                }
-            }
-        }
-        .padding()
-        .onAppear {
-            let url = getUrl(endpoint: .insiderSummary, symbol: symbol)
-            request(url: url, model: [InsiderSummaryModel].self) { self.insiderSummary = $0 }
-        }
-    }
-    
-    private func getPercentage(_ maxValue: Int, _ value: Int) -> CGFloat {
-        let pct = Double(value) / Double(maxValue)
-        
-        return CGFloat(pct)
-    }
-}
-
-struct InsiderSummary_Previews: PreviewProvider {
-    static var previews: some View {
-        InsiderSummary(symbol: "aapl")
-    }
-}
--- a/LazyBear/UI/InsiderTransactions.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-//
-//  InsiderTransactions.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 5/3/21.
-//
-
-import SwiftUI
-
-struct InsiderTransactions: View {
-    var symbol: String
-    @State private var transactions = [InsiderTranModel]()
-    
-    var body: some View {
-        VStack(alignment: .leading) {
-            if !transactions.isEmpty {
-                HStack {
-                    Text("Latest transactions")
-                        .font(.title)
-                        .fontWeight(.semibold)
-                    
-                    Spacer()
-                }
-                .padding(.horizontal)
-            }
-            
-            ForEach(transactions.reversed(), id: \.self) { trans in
-                TransactionRow(transaction: trans)
-                    .padding(.horizontal)
-                    .padding(.vertical, 5)
-                
-                Divider()
-           }
-        }
-        .onAppear {
-            let url = getUrl(endpoint: .insiderTransactions, symbol: symbol)
-            request(url: url, model: [InsiderTranModel].self) { self.transactions = $0 }
-        }
-    }
-}
-
-struct InsiderTransactions_Previews: PreviewProvider {
-    static var previews: some View {
-        InsiderTransactions(symbol: "aapl")
-    }
-}
--- a/LazyBear/UI/KeyStatComponent.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-//
-//  KeyStatComponent.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/3/21.
-//
-
-import SwiftUI
-
-enum CustomStatLabel {
-    
-}
-
-struct KeyStatComponent: View {
-    var text: String
-    var data: Any
-    
-    var body: some View {
-        HStack {
-            let cleanText = text.replacingOccurrences(of: "_", with: " ")
-            Text(cleanText)
-                .font(.caption)
-                .fontWeight(.semibold)
-            
-            // Check type of data
-            if let dataString = data as? String {
-                if dataString.isEmpty {
-                    Text("-")
-                        .font(.caption)
-                } else {
-                Text(dataString)
-                    .font(.caption)
-                }
-            } else if let dataNumber = data as? Double {
-                Text("\(dataNumber, specifier: "%.2f")")
-                    .font(.caption)
-            }
-        }
-        .padding(10)
-        .background(
-            Capsule()
-                .foregroundColor(.white)
-                .shadow(color: .gray, radius: 5, x: 0.0, y: 0.0).opacity(0.3)
-        )
-    }
-}
-
-struct KeyStatComponent_Previews: PreviewProvider {
-    static var previews: some View {
-        KeyStatComponent(text: "Market cap", data: 123456.00)
-    }
-}
--- a/LazyBear/UI/KeyStatsDetail.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-//
-//  KeyStatsDetail.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/3/21.
-//
-
-import SwiftUI
-
-struct KeyStatsDetail: View {
-    var keyStats: KeyStatsModel
-    
-    var body: some View {
-        NavigationView {
-            Form {
-                FirstSection(keyStats: keyStats)
-                SecondSection(keyStats: keyStats)
-                ThirdSection(keyStats: keyStats)
-            }
-            .navigationTitle("Key statistics")
-        }
-    }
-}
-
-struct StatCell: View {
-    var icon: String?
-    var text: String
-    var data: Any
-    
-    var body: some View {
-        HStack {
-            if let symbol = icon {
-                Image(systemName: symbol)
-            }
-            Text(text)
-                .font(.headline)
-            if let numData = data as? Double {
-                Text("\(numData, specifier: "%.2f")")
-            } else if let stringData = data as? String {
-                Text(stringData)
-            }
-        }
-    }
-}
-
-struct FirstSection: View {
-    var keyStats: KeyStatsModel
-    
-    var body: some View {
-        Section(header: Text("About the company")) {
-            if let employees = keyStats.Employees {
-                StatCell(icon: nil, text: "Employees: ", data: employees)
-            }
-            if let marketCap = keyStats.Market_Cap {
-                StatCell(icon: nil, text: "Market cap:", data: marketCap)
-            }
-            if let shares = keyStats.Shares {
-                StatCell(icon: nil, text: "Shares outstanding: ", data: shares)
-            }
-        }
-    }
-}
-
-struct SecondSection: View {
-    var keyStats: KeyStatsModel
-    
-    var body: some View {
-        Section(header: Text("About the stock")) {
-            if let beta = keyStats.Beta {
-                StatCell(icon: nil, text: "Beta: ", data: beta)
-            }
-            if let peRatio = keyStats.PE_Ratio {
-                StatCell(icon: nil, text: "P/E Ratio: ", data: peRatio)
-            }
-            if let trailingEps = keyStats.Trailing_EPS {
-                StatCell(icon: nil, text: "Trailing EPS: ", data: trailingEps)
-            }
-            if let dividendYield = keyStats.Dividend_Yield {
-                StatCell(icon: nil, text: "Dividend yield in %: ", data: dividendYield*100)
-            }
-            if let nextDividendDate = keyStats.Next_Dividend_Date {
-                StatCell(icon: nil, text: "Next dividend date: ", data: nextDividendDate)
-            }
-            if let trailingDividendRate = keyStats.Trailing_Dividend_Rate {
-                StatCell(icon: nil, text: "Trailing dividend rate: ", data: trailingDividendRate)
-            }
-        }
-    }
-}
-
-struct ThirdSection: View {
-    var keyStats: KeyStatsModel
-    
-    var body: some View {
-        Section(header: Text("Technical analysis")) {
-            if let weeks52low = keyStats.Weeks52_Low {
-                StatCell(icon: nil, text: "52 weeks low: ", data: weeks52low)
-            }
-            if let weeks52High = keyStats.Weeks52_High {
-                StatCell(icon: nil, text: "52 weeks high: ", data: weeks52High)
-            }
-            if let days10AvgVolume = keyStats.Days10_Avg_Volume {
-                StatCell(icon: nil, text: "10 days average volume: ", data: days10AvgVolume)
-            }
-            if let days30AvgVolume = keyStats.Days30_Avg_Volume {
-                StatCell(icon: nil, text: "30 days average volume: ", data: days30AvgVolume)
-            }
-            if let days200MovingAvg = keyStats.Days200_Moving_Avg {
-                StatCell(icon: nil, text: "200 days moving average: ", data: days200MovingAvg)
-            }
-            if let days50MovingAvg = keyStats.Days50_Moving_Avg {
-                StatCell(icon: nil, text: "50 days moving average: ", data: days50MovingAvg)
-            }
-        }
-    }
-}
-
-struct KeyStatsDetail_Previews: PreviewProvider {
-    static var previews: some View {
-        KeyStatsDetail(keyStats: KeyStatsModel(Market_Cap: 100000, Weeks52_High: 12, Weeks52_Low: 12, Shares: 13334434, Days10_Avg_Volume: 12, Days30_Avg_Volume: 12, Days200_Moving_Avg: 12, Days50_Moving_Avg: 12, Employees: 12345, Trailing_EPS: 12, Trailing_Dividend_Rate: 12, Dividend_Yield: 0.07, Next_Dividend_Date: "2020-02-02", PE_Ratio: 12, Beta: 12))
-    }
-}
--- a/LazyBear/UI/KeyStatsView.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-//
-//  KeyStatsView.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/3/21.
-//
-
-import SwiftUI
-
-struct KeyStatsView: View {
-    var symbol: String
-    @Environment(\.colorScheme) var colorScheme  // Detect dark mode
-    @State private var keyStats = KeyStatsModel()
-    @State var showingDetail = false
-    
-    var body: some View {
-        ScrollView(.horizontal, showsIndicators: false) {
-            HStack(spacing: 20) {
-                let keys = Array(mirrorStructure().keys)
-                let values = Array(mirrorStructure().values)
-                ForEach(keys.indices, id: \.self) { index in
-                    Button(action: { self.showingDetail = true }) {
-                        KeyStatComponent(text: keys[index], data: values[index])
-                    }
-                    .foregroundColor(colorScheme == .dark ? .white: .black)
-                }
-                Button(action: { self.showingDetail = true }) {
-                    Text("See more ratios")
-                        .font(.caption)
-                        .fontWeight(.semibold)
-                }
-            }
-            .padding()
-        }
-        .sheet(isPresented: $showingDetail) {
-            KeyStatsDetail(keyStats: keyStats)
-        }
-        .onAppear {
-            let url = getUrl(endpoint: .keyStats, symbol: symbol)
-            request(url: url, model: KeyStatsModel.self) { result in
-                self.keyStats = result
-            }
-        }
-    }
-    
-    // Get an array with all the stats from the struct
-    func mirrorStructure() -> ([String: Any]) {
-        let mirrorKeyStats = Mirror(reflecting: keyStats)
-        var statsDict = [String: Any]()
-
-        for stat in mirrorKeyStats.children {
-            if let numValue = stat.value as? Double {
-                statsDict[stat.label!] = numValue
-            } else if let stringValue = stat.value as? String {
-                statsDict[stat.label!] = stringValue
-            }
-        }
-        
-        return statsDict
-    }
-}
-
-struct KeyStatsView_Previews: PreviewProvider {
-    static var previews: some View {
-        KeyStatsView(symbol: "aapl")
-    }
-}
--- a/LazyBear/UI/LanguagePicker.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-//
-//  NewsLanguagePicker.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 26/2/21.
-//
-
-import SwiftUI
-
-struct LanguagePicker: View {
-    @Environment(\.managedObjectContext) private var moc
-    @EnvironmentObject var hapticsManager: HapticsManager
-    @State var language: String
-    
-    var body: some View {
-        Picker("News language", selection: $language) {
-            ForEach(newsLanguages, id: \.code) { language in
-                Text("\(language.flag) \(language.name)")
-                    .tag(language.code)
-            }
-        }
-        .onChange(of: language, perform: { language in
-            save(change: language)
-        })
-    }
-    
-    private func save(change: Any) {
-        let userSettings = UserSettings(context: moc)
-        userSettings.changedAt = Date()
-        userSettings.newsLanguage = change as? String
-        do {
-            try moc.save()
-            hapticsManager.complexSuccess()
-            print("Settings saved")
-        } catch {
-            print(error.localizedDescription)
-        }
-    }
-}
-
-struct NewsLanguagePicker_Previews: PreviewProvider {
-    static var previews: some View {
-        LanguagePicker(language: "en")
-    }
-}
--- a/LazyBear/UI/LineView.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-//
-//  LineView.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 15/3/21.
-//
-
-import SwiftUI
-
-struct LineView: View {
-    var colour: Color
-    var width: CGFloat
-    var height: CGFloat
-    var normalizedData: [Double]
-    
-    // Drag gesture
-    @Binding var showingChartIndicator: Bool
-    @Binding var pointInPath: CGPoint
-    @Binding var indexValue: Int
-    
-    @FetchRequest(entity: UserSettings.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \UserSettings.changedAt, ascending: false)])
-    var userSettings: FetchedResults<UserSettings>
-    @EnvironmentObject var hapticsManager: HapticsManager
-
-    var body: some View {
-        let colour = Color("\(userSettings.first?.theme?.lowercased() ?? "default")Accent")
-        
-        // Substract 2 to skip the first and the last item
-        let widthBetweenPoints = Double(width) / Double(normalizedData.count - 2)
-        let initialPoint = normalizedData[0] * Double(height)
-        var x: Double = 0
-        var pathPoints = [CGPoint]()
-        
-        ZStack {
-            GeometryReader { geo in
-                Path { path in
-                    path.move(to: CGPoint(x: x, y: initialPoint))
-                    for y in normalizedData {
-                        // Skip first item
-                        if normalizedData.firstIndex(of: y) != 0 {
-                            x += widthBetweenPoints
-                            let y = y * Double(height)
-                            path.addLine(to: CGPoint(x: x, y: y))
-                        }
-                        
-                        pathPoints.append(path.currentPoint!)
-                    }
-                }
-                .stroke(self.showingChartIndicator ? colour: self.colour, lineWidth: 2)
-                
-                if showingChartIndicator {
-                    IndicatorPoint()
-                        .position(x: pointInPath.x, y: pointInPath.y)
-                    }
-            }
-        }
-        .contentShape(Rectangle())  // Control tappable area
-        .gesture(
-            LongPressGesture(minimumDuration: 0.2)
-                .sequenced(before: DragGesture(minimumDistance: 0, coordinateSpace: .local))
-        .onChanged({ value in  // Take value of the gesture
-            switch value {
-            // Start the second gesture -> Drag()
-            case .second(true, let drag):
-                if let longPressLocation = drag?.location {
-                    let (closestXPoint, closestYPoint, yPointIndex) = getClosestValueFrom(longPressLocation, inData: pathPoints)
-                    self.pointInPath.x = closestXPoint
-                    self.pointInPath.y = closestYPoint
-                    self.showingChartIndicator = true
-                    self.indexValue = yPointIndex
-                } else {
-                    hapticsManager.simpleSuccess()
-                }
-            default:
-                break
-            }
-        })
-                .onEnded({ value in
-                    self.showingChartIndicator = false
-                })
-        )
-    }
-    
-    // First search the closest X path point from the touch location. The find the correspondant Y path point
-    // given the X path point
-    func getClosestValueFrom(_ value: CGPoint, inData: [CGPoint]) -> (CGFloat, CGFloat, Int) {
-        let touchPoint: (CGFloat, CGFloat) = (value.x, value.y)
-        let xPathPoints = inData.map { $0.x }
-        let yPathPoints = inData.map { $0.y }
-        
-        // Closest X value
-        let closestXPoint = xPathPoints.enumerated().min( by: { abs($0.1 - touchPoint.0) < abs($1.1 - touchPoint.0) } )!
-        let closestYPointIndex = xPathPoints.firstIndex(of: closestXPoint.element)!
-        let closestYPoint = yPathPoints[closestYPointIndex]
-        
-        // Index of the closest points in the array
-        let yPointIndex = yPathPoints.firstIndex(of: closestYPoint)!
-
-        return (closestXPoint.element, closestYPoint, yPointIndex)
-    }
-}
-
-struct LineView_Previews: PreviewProvider {
-    static var previews: some View {
-        GeometryReader { geo in
-            VStack {
-                let normalizedData: [Double] = [0, 0.1, 0.15, 0.2, 0.3, 0.4, 0.35, 0.38, 0.5, 0.55, 0.6, 0.57, 0.8, 1]
-                LineView(colour: Color(.systemGreen), width: geo.size.width, height: geo.size.width / 2, normalizedData: normalizedData, showingChartIndicator: .constant(false), pointInPath: .constant(.zero), indexValue: .constant(0))
-            }
-        }
-    }
-}
--- a/LazyBear/UI/NewsRow.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-//
-//  NewsRow.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 20/2/21.
-//
-
-import SwiftUI
-import SDWebImageSwiftUI
-
-struct NewsRow: View {
-    var new: NewsModel
-    @State private var showingSafari = false
-    @Environment(\.colorScheme) var colorScheme  // Detect dark mode
-    
-    var body: some View {
-        Button(action: { self.showingSafari = true }) {
-            VStack(alignment: .leading) {
-                // If iPad show Image
-                if UIDevice.current.userInterfaceIdiom == .pad {
-                    WebImage(url: URL(string: new.image ?? ""))
-                        .resizable()
-                        .placeholder {  }
-                        .indicator(.activity)
-                        .aspectRatio(contentMode: .fit)
-                        .cornerRadius(UIDevice.current.userInterfaceIdiom == .pad ? 10: 0)
-                }
-            
-                if let source = new.source {
-                    Text(source.uppercased())
-                        .font(.caption)
-                        .opacity(0.5)
-                    
-                }
-
-                if let headline = new.headline {
-                    Text(headline)
-                        .font(.headline)
-                        .lineLimit(UIDevice.current.userInterfaceIdiom == .pad ? nil: 4)
-                }
-                
-                if let summary = new.summary {
-                    Text(summary)
-                        .opacity(0.5)
-                        .font(.subheadline)
-                        .lineLimit(UIDevice.current.userInterfaceIdiom == .pad ? 10: 1)
-                        .padding(.bottom, 5)
-                }
-                
-                if (new.datetime != nil) {
-                    let humanDate = convertDate()
-                    Text("\(humanDate) ago")
-                        .font(.caption2)
-                        .opacity(0.5)
-                }
-            }
-        }
-        .foregroundColor(colorScheme == .dark ? .white: .black)
-        .sheet(isPresented: $showingSafari) {
-            SafariView(url:URL(string: new.url ?? "")!)
-        }
-    }
-    
-    // Convert Epoch time to human date
-        private func convertDate() -> String {
-            let now = Date() // Current date
-            // Time when the article was published. Divide new.datetime by 1,000 because
-            // TimeInterval() function must be in seconds, not in miliseconds
-            let articlePublished = Date(timeIntervalSince1970: TimeInterval(new.datetime ?? 0)/1000)
-            let formatter = DateComponentsFormatter()
-            formatter.unitsStyle = .full
-            let humanDate = formatter.string(from: articlePublished, to: now)!
-            
-            return humanDate
-        }
-}
-
-struct NewsRow_Previews: PreviewProvider {
-    static var previews: some View {
-        NewsRow(new: NewsModel(datetime: 1613838000000, headline: "As Facebook, Microsoft, Apple, Uber, Amazon, and others play larger roles in OpenStreetMap, hobbyists fear private sector will overshadow their work (Corey Dickinson/Bloomberg)", source: "Techmeme", url: "https://cloud.iexapis.com/v1/news/article/d760b0bc-42f0-4ed0-a721-a7691eeaa132", summary: "Corey Dickinson / Bloomberg : As Facebook, Microsoft, Apple, Uber, Amazon, and others play larger roles in OpenStreetMap, hobbyists fear private sector will overshadow their work — What do Lyft, Facebook, the International Red Cross, the U.N., the government of Nepal and Pokémon Go have in common?", image: "https://cloud.iexapis.com/v1/news/image/d760b0bc-42f0-4ed0-a721-a7691eeaa132"))
-    }
-}
--- a/LazyBear/UI/NewsView.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-//
-//  NewsView.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 20/2/21.
-//
-
-import SwiftUI
-import WaterfallGrid
-
-struct NewsView: View {
-    var symbol: String
-    @FetchRequest(entity: UserSettings.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \UserSettings.changedAt, ascending: false)])
-    var userSettings: FetchedResults<UserSettings>
-    @State private var news = [NewsModel]()
-    
-    var body: some View {
-        VStack(alignment: .leading) {
-            if !news.isEmpty {
-                HStack {
-                    Text("Recent news")
-                        .font(.title)
-                        .fontWeight(.semibold)
-                    
-                    Spacer()
-                }
-                .padding([.horizontal, .bottom])
-            }
-            
-            let language = userSettings.first?.newsLanguage ?? "en"
-            let filteredNews = news.filter { $0.lang == language }
-            
-            // If iPhone
-            if UIDevice.current.userInterfaceIdiom == .phone {
-                ForEach(filteredNews, id: \.self) { new in
-                    NewsRow(new: new)
-                      .padding(.horizontal)
-                    
-                    Divider()
-                    
-                }
-            }
-            
-            // If iPad
-            if UIDevice.current.userInterfaceIdiom == .pad {
-                WaterfallGrid(filteredNews, id: \.self) { new in
-                    NewsRow(new: new)
-                }
-                .gridStyle(
-                    columnsInPortrait: 2,
-                    columnsInLandscape: 3,
-                    spacing: 8,
-                    animation: .easeInOut
-                  )
-                .padding(EdgeInsets(top: 16, leading: 8, bottom: 16, trailing: 8))
-            }
-        }
-        .onAppear {
-            let url = getUrl(endpoint: .news, symbol: symbol)
-            request(url: url, model: [NewsModel].self) { self.news = $0 }
-        }
-    }
-}
-
-
-struct NewsView_Previews: PreviewProvider {
-    static var previews: some View {
-        NewsView(symbol: "aapl")
-    }
-}
--- a/LazyBear/UI/Notification.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-//
-//  Notification.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 21/2/21.
-//
-
-import SwiftUI
-
-struct Notification: View {
-    var text: String
-    var image: String
-    
-    var body: some View {
-        Label(text, systemImage: image)
-            .foregroundColor(.gray)
-            .padding(.horizontal, 10)
-            .padding(14)
-            .background(
-                Blur(style: .systemMaterial)
-                    .clipShape(Capsule())
-                    .shadow(color: Color(.black).opacity(0.22), radius: 12, x: 0, y: 5)
-            )
-    }
-}
-
-struct Blur: UIViewRepresentable {
-    var style: UIBlurEffect.Style
-    
-    func makeUIView(context: Context) -> UIVisualEffectView {
-        return UIVisualEffectView(effect: UIBlurEffect(style: style))
-    }
-    
-    func updateUIView(_ uiView: UIVisualEffectView, context: Context) {
-        uiView.effect = UIBlurEffect(style: style)
-    }
-}
--- a/LazyBear/UI/PriceChartIndicator.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-//
-//  PriceChartIndicator.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 18/3/21.
-//
-
-import SwiftUI
-
-struct PriceChartIndicator: View {
-    var prices: [Double]
-    var dates: [String]
-    var minutes: [String?]
-    @Binding var indexValue: Int
-    @FetchRequest(entity: UserSettings.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \UserSettings.changedAt, ascending: false)])
-    var userSettings: FetchedResults<UserSettings>
-    
-    var body: some View {
-        let colour = Color("\(userSettings.first?.theme?.lowercased() ?? "default")Accent")
-        HStack {
-            Group {
-                let date = convertStringToDate(dates[indexValue])
-                Text(date)
-                if let minute = minutes[indexValue] {
-                    Text(minute)
-                }
-                Text("\(prices[indexValue], specifier: "%.2f")")
-                    .foregroundColor(colour)
-            }
-            .font(.subheadline)
-        }
-    }
-}
-
-struct PriceChartIndicator_Previews: PreviewProvider {
-    static var previews: some View {
-        PriceChartIndicator(prices: [100, 50], dates: ["10-10-2020", "11-10-2020"], minutes: ["9:02", "9:03"], indexValue: .constant(0))
-    }
-}
--- a/LazyBear/UI/PriceView.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-//
-//  PriceView.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 20/2/21.
-//
-
-import SwiftUI
-
-struct PriceView: View {
-    var symbol: String
-    var showVertical: Bool
-    @State private var price = PriceModel()
-    @State private var timer = Timer.publish(every: 10, on: .main, in: .common).autoconnect()  // Set recurrent price request
-    
-    var body: some View {
-        let latestPrice = price.latestPrice ?? 0
-        let changePercent = price.changePercent ?? 0
-        VStack {
-            if showVertical {
-                VStack(alignment: .trailing) {
-                    Text("\(latestPrice, specifier: "%.2f")")
-                        .fontWeight(.semibold)
-                        .padding(.horizontal)
-                    
-                    Text("\(changePercent*100, specifier: "%.2f")%")
-                        .foregroundColor(changePercent < 0 ? Color(.systemRed) : Color(.systemGreen))
-                        .padding(.trailing)
-                }
-            } else {
-                HStack {
-                    Text("\(latestPrice, specifier: "%.2f")")
-                        .font(.title3)
-                        .fontWeight(.bold)
-                        .padding(.horizontal)
-
-                    Text("\(changePercent*100, specifier: "%.2f")%")
-                        .font(.headline)
-                        .foregroundColor(changePercent < 0 ? Color(.systemRed) : Color(.systemGreen))
-                        .padding(.trailing)
-                    
-                    Spacer()
-                }
-            }
-        }
-        .onReceive(timer) { _ in call(); print("requested") }
-        .onAppear {
-            call()
-            self.timer = Timer.publish(every: 10, on: .main, in: .common).autoconnect()  // Restart timer
-        }
-        .onDisappear { self.timer.upstream.connect().cancel() }  // Stop timer
-    }
-    
-    private func call() {
-        let url = getUrl(endpoint: .quote, symbol: symbol)
-        request(url: url, model: PriceModel.self) { result in
-            self.price = result
-        }
-    }
-}
-
-
-struct PriceView_Previews: PreviewProvider {
-    static var previews: some View {
-        PriceView(symbol: "aapl", showVertical: false)
-    }
-}
--- a/LazyBear/UI/SafariView.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-//
-//  SafariView.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 13/3/21.
-//
-
-import SwiftUI
-import SafariServices
-
-struct SafariView: UIViewControllerRepresentable {
-    let url: URL
-
-    func makeUIViewController(context: UIViewControllerRepresentableContext<SafariView>) -> SFSafariViewController {
-        return SFSafariViewController(url: url)
-    }
-
-    func updateUIViewController(_ uiViewController: SFSafariViewController, context: UIViewControllerRepresentableContext<SafariView>) {
-
-    }
-
-}
--- a/LazyBear/UI/Search.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-//
-//  Search.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/2/21.
-//
-
-import SwiftUI
-import SwiftlySearch
-
-struct Search: View {
-    @EnvironmentObject var hudManager: HudManager
-    @State private var company = String()
-    @State private var companies = [CompanyModel]()
-    
-    var body: some View {
-        NavigationView {
-            let list = filterList()
-            List(list.indices, id: \.self) { i in
-                let name = list[i].securityName ?? "-"
-                let symbol = list[i].symbol
-                NavigationLink(destination: CompanyView(name: name, symbol: symbol)
-                                .navigationTitle(symbol)
-                ) {
-                    CompanyRow(symbol: symbol, name: name, rowNumber: i % 5, showPrice: true)
-                }
-            }
-            .navigationBarSearch(self.$company)
-                .onChange(of: company, perform: { company in
-                    request(url: getUrl(), model: [CompanyModel].self) { self.companies = $0 }
-                })
-            .navigationTitle("Search")
-        }
-        .navigationViewStyle(StackNavigationViewStyle())
-        
-        // Empty list
-        .onDisappear { self.companies = [CompanyModel]() }
-    }
-    
-    private func getUrl() -> String {
-        let baseUrl = Bundle.main.infoDictionary?["IEX_URL"] as? String ?? "Empty url"
-        let apiKey = Bundle.main.infoDictionary?["IEX_API"] as? String ?? "Empty key"
-        let encodedCompanyName = company.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
-        let url = "\(baseUrl)/search/\(encodedCompanyName!)?token=\(apiKey)"
-        
-        return url
-    }
-    
-    private func filterList() -> [CompanyModel] {
-        // Exclude symbols with "-" and numbers -> they are secondary stock symbols
-        // of the same company but different market. Currently, not interested in them.
-        let decimalCharacters = CharacterSet.decimalDigits
-        let filteredCompanies = companies.filter {
-            $0.symbol.rangeOfCharacter(from: decimalCharacters) == nil && // Exclude symbols with numbers
-            !$0.symbol.contains("-")  // Exclude symbols with "-"
-        }
-        
-        return filteredCompanies
-    }
-}
-
-struct Search_Previews: PreviewProvider {
-    static var previews: some View {
-        Search()
-    }
-}
--- a/LazyBear/UI/SettingRow.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-//
-//  SettingRow.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 26/2/21.
-//
-
-import SwiftUI
-
-struct SettingRow: View {
-    // Should pass @State because if not preview crashes
-    @State var image: String
-    @State var text: String
-    @State var colour: UIColor
-    
-    var body: some View {
-        HStack {
-            Image(systemName: image)
-                .foregroundColor(.white)
-                .padding(3)
-                .background(Color(colour)
-                                .cornerRadius(4)
-                                .frame(width: 30, height: 30)
-                )
-            
-            Text(text)
-                .padding(.horizontal, 7)
-        }
-    }
-}
-
-struct SettingRow_Previews: PreviewProvider {
-    static var previews: some View {
-        SettingRow(image: "at", text: "About", colour: .systemBlue)
-    }
-}
--- a/LazyBear/UI/Settings.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-//
-//  Settings.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/2/21.
-//
-
-import SwiftUI
-import CoreData
-
-struct Settings: View {
-    let setting = SettingMetadata()
-    @FetchRequest(entity: UserSettings.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \UserSettings.changedAt, ascending: false)])
-    var userSettings: FetchedResults<UserSettings>
-    @Environment(\.colorScheme) var colorScheme  // Detect dark mode
-    @State private var showingSafari = false
-    
-    var body: some View {
-        NavigationView {
-            Form {
-                ThemePicker(theme: userSettings.first?.theme ?? "Default")
-                LanguagePicker(language: userSettings.first?.newsLanguage ?? "en")
-                NavigationLink(destination: IconPicker()) {
-                    Text("App icon")
-                }
-                
-                Section(footer: IexAttribution(text: "Data provided by IEX Cloud").padding(.top)) {
-                    ForEach((0...3), id: \.self) { index in
-                            Button(action: { self.showingSafari = true }) {
-                                HStack {
-                                    SettingRow(image: setting.images[index], text: setting.texts[index], colour: setting.colours[index])
-                                    FakeLinkArrow()
-                                }
-                            }
-                            .foregroundColor(colorScheme == .dark ? .white: .black)
-                            .sheet(isPresented: $showingSafari) {
-                                SafariView(url:URL(string: setting.links[index])!)
-                            }
-                        
-                    }
-                }
-            }
-            .navigationTitle("Settings")
-        }
-        .navigationViewStyle(StackNavigationViewStyle())
-    }
-}
-
-struct FakeLinkArrow: View {
-    var body: some View {
-        Spacer()
-        Image(systemName: "chevron.right")
-            .font(Font.body.weight(.semibold))
-            .imageScale(.small)
-            .opacity(0.2)
-    }
-}
-
-class SettingMetadata {
-    var links = ["https://lazybear.app",
-                 "https://apps.apple.com/us/app/lazybear/id1534612943",
-                 "https://github.com/DennisTechnologies/Lazybear-App/issues",
-                 "https://github.com/DennisTechnologies/Lazybear-App/discussions"]
-    
-    var images = ["at", "suit.heart.fill", "ladybug.fill", "message.fill"]
-    var texts = ["About", "Rate Lazybear", "Bug tracker", "Community"]
-    var colours: [UIColor] = [.systemBlue, .systemRed, .systemYellow, .systemTeal]
-}
-
-
-struct Settings_Previews: PreviewProvider {
-    static var previews: some View {
-        return Settings()
-    }
-}
--- a/LazyBear/UI/SideColor.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-//
-//  SideColor.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 5/3/21.
-//
-
-import SwiftUI
-
-struct SideColor: View {
-    var rowNumber: Int
-    
-    @FetchRequest(entity: UserSettings.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \UserSettings.changedAt, ascending: false)])
-    var userSettings: FetchedResults<UserSettings>
-    
-    var body: some View {
-        let theme = userSettings.first?.theme?.lowercased() ?? "default"
-        RoundedRectangle(cornerRadius: 15)
-            .foregroundColor(Color("\(theme)Row\(rowNumber)"))
-            .frame(width: 5)
-    }
-}
-
-struct SideColor_Previews: PreviewProvider {
-    static var previews: some View {
-        SideColor(rowNumber: 2)
-    }
-}
--- a/LazyBear/UI/ThemePicker.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-//
-//  ThemePicker.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 26/2/21.
-//
-
-import SwiftUI
-
-struct ThemePicker: View {
-    @Environment(\.managedObjectContext) private var moc
-    @EnvironmentObject var hapticsManager: HapticsManager
-    @State var theme: String
-    
-    var body: some View {
-        Picker("Themes", selection: $theme) {
-            ForEach(themes, id: \.name) { theme in
-                HStack {
-                    RoundedRectangle(cornerRadius: 4)
-                        .frame(width: 20, height: 20)
-                        .foregroundColor(Color("\(theme.name.lowercased())Accent"))
-                    
-                    Text(theme.name)
-                        .tag(theme.name)
-                }
-            }
-        }
-        .onChange(of: theme, perform: { theme in
-            save(change: theme)
-        })
-    }
-    
-    private func save(change: Any) {
-        let userSettings = UserSettings(context: moc)
-        userSettings.changedAt = Date()
-        userSettings.theme = change as? String
-        do {
-            try moc.save()
-            hapticsManager.complexSuccess()
-            print("Settings saved")
-        } catch {
-            print(error.localizedDescription)
-        }
-    }
-}
-
-struct ThemePicker_Previews: PreviewProvider {
-    static var previews: some View {
-        NavigationView {
-            Form {
-                ThemePicker(theme: "Default")
-            }
-            .navigationBarHidden(true)
-        }
-    }
-}
--- a/LazyBear/UI/TransactionDetail.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-//
-//  TransactionDetail.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 7/3/21.
-//
-
-import SwiftUI
-
-struct TransactionDetail: View {
-    var transaction: InsiderTranModel
-    
-    var body: some View {
-        NavigationView {
-            Form {
-                Section(header: Text("Insider information")) {
-                    HStack {
-                        Image(systemName: "person.fill")
-                        Text(transaction.fullName?.capitalized ?? "-")
-                    }
-                    
-                    if let postShares = transaction.postShares {
-                        HStack {
-                            Image(systemName: "number")
-                            Text("\(postShares) shares owned")
-                        }
-                    }
-                }
-                
-                Section(header: Text("Transaction information")) {
-                    HStack {
-                        Image(systemName: "calendar")
-                        Text(transaction.transactionDate ?? "-")
-                    }
-                    
-                    let direcIndirect = transaction.directIndirect ?? "-"
-                    if direcIndirect == "D" {
-                        Text("Direct transaction")
-                    } else if direcIndirect == "I" {
-                        Text("Indirect transaction")
-                    }
-                    
-                    if let tranPrice = transaction.transactionPrice {
-                        Text(String(format: "Price per share: $%.2f", tranPrice))
-                    }
-                    
-                    if let tranShares = transaction.transactionShares {
-                        Text("Shares transacted: \(tranShares)")
-                    }
-                    
-                    if let tranValue = transaction.transactionValue {
-                        Text(String(format: "Transaction value: $%.2f", tranValue))
-                    }
-                }
-                
-                if let tranType = transactionCodes[transaction.transactionCode ?? "-"] {
-                    Section(header: Text("Transaction type")) {
-                        Text(tranType)
-                    }
-                }
-            }
-            .navigationTitle("Transaction detail")
-        }
-    }
-}
-
-struct TransactionDetail_Previews: PreviewProvider {
-    static var previews: some View {
-        TransactionDetail(transaction: InsiderTranModel(directIndirect: "D", transactionDate: "2020-02-04", fullName: "WAGNER SUSAN", postShares: 886126, transactionCode: "M", transactionPrice: 13.20, transactionShares: 12345, transactionValue: 123456.50))
-    }
-}
--- a/LazyBear/UI/TransactionRow.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-//
-//  TransactionRow.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 5/3/21.
-//
-
-import SwiftUI
-
-struct TransactionRow: View {
-    var transaction: InsiderTranModel
-    @State private var showingDetail = false
-    @Environment(\.colorScheme) var colorScheme  // Detect dark mode
-    
-    var body: some View {
-        Button(action: { self.showingDetail = true }) {
-            HStack(alignment: .top) {
-                VStack(alignment: .leading) {
-                    Text(transaction.fullName?.capitalized ?? "-")
-                        .fontWeight(.semibold)
-                    
-                    if let date = transaction.transactionDate {
-                        Text(date)
-                    }
-                }
-                
-                Spacer()
-                if let shares = transaction.transactionShares ?? 0 {
-                    Text("\(shares)")
-                        .foregroundColor(shares < 0 ? Color(.systemRed): Color(.systemGreen))
-                        .fontWeight(.semibold)
-                }
-            }
-        }
-        .foregroundColor(colorScheme == .dark ? .white: .black)
-        .sheet(isPresented: $showingDetail) {
-            TransactionDetail(transaction: transaction)
-        }
-    }
-}
-
-struct TransactionRow_Previews: PreviewProvider {
-    static var previews: some View {
-        TransactionRow(transaction: InsiderTranModel(directIndirect: "D", transactionDate: "2020-02-04", fullName: "WAGNER SUSAN", postShares: 886126, transactionCode: "M", transactionPrice: 13.20, transactionShares: 12345, transactionValue: 123456.50))
-    }
-}
--- a/LazyBear/UI/Watchlist.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-//
-//  Watchlist.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 19/2/21.
-//
-
-import SwiftUI
-import CoreData
-
-struct Watchlist: View {
-    @EnvironmentObject var hudManager: HudManager
-    @Environment(\.managedObjectContext) private var moc
-    @FetchRequest(entity: Company.entity(), sortDescriptors: []) var companies: FetchedResults<Company>
-    
-    var body: some View {
-        NavigationView {
-            List {
-                ForEach(companies, id: \.symbol) { company in
-                    let index = companies.firstIndex(of: company)
-                    let name = company.name
-                    let symbol = company.symbol
-                    NavigationLink(destination: CompanyView(name: name, symbol: symbol)
-                                    .navigationTitle(symbol)
-                    ) {
-                        CompanyRow(symbol: symbol, name: name, rowNumber: index! % 5, showPrice: true)
-                    }
-                }
-                .onDelete(perform: removeCompany)
-            }
-            .navigationTitle("Watchlist")
-        }
-        .navigationViewStyle(StackNavigationViewStyle())
-    }
-    
-    private func removeCompany(at offsets: IndexSet) {
-        for index in offsets {
-            let company = companies[index]
-            moc.delete(company)
-        }
-        do {
-            try moc.save()
-        } catch {
-            // Error
-        }
-    }
-}
-
-struct Watchlist_Previews: PreviewProvider {
-    static var previews: some View {
-        Watchlist()
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LazyBear/Views/OnboardView.swift	Sun Mar 21 19:56:24 2021 +0100
@@ -0,0 +1,20 @@
+//
+//  OnboardView.swift
+//  LazyBear
+//
+//  Created by Dennis Concepción Martín on 21/3/21.
+//
+
+import SwiftUI
+
+struct OnboardView: View {
+    var body: some View {
+        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
+    }
+}
+
+struct OnboardView_Previews: PreviewProvider {
+    static var previews: some View {
+        OnboardView()
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LazyBear/Views/WelcomeView.swift	Sun Mar 21 19:56:24 2021 +0100
@@ -0,0 +1,20 @@
+//
+//  WelcomeView.swift
+//  LazyBear
+//
+//  Created by Dennis Concepción Martín on 21/3/21.
+//
+
+import SwiftUI
+
+struct WelcomeView: View {
+    var body: some View {
+        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
+    }
+}
+
+struct WelcomeView_Previews: PreviewProvider {
+    static var previews: some View {
+        WelcomeView()
+    }
+}
--- a/UserSettings+CoreDataClass.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-//
-//  UserSettings+CoreDataClass.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 26/2/21.
-//
-//
-
-import Foundation
-import CoreData
-
-@objc(UserSettings)
-public class UserSettings: NSManagedObject {
-
-}
--- a/UserSettings+CoreDataProperties.swift	Sat Mar 20 19:18:25 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-//
-//  UserSettings+CoreDataProperties.swift
-//  LazyBear
-//
-//  Created by Dennis Concepción Martín on 26/2/21.
-//
-//
-
-import Foundation
-import CoreData
-
-
-extension UserSettings {
-
-    @nonobjc public class func fetchRequest() -> NSFetchRequest<UserSettings> {
-        return NSFetchRequest<UserSettings>(entityName: "UserSettings")
-    }
-
-    @NSManaged public var appIcon: String?
-    @NSManaged public var changedAt: Date
-    @NSManaged public var theme: String?
-    @NSManaged public var newsLanguage: String?
-
-}
-
-extension UserSettings : Identifiable {
-
-}