diff --git a/android/app/src/main/assets/fonts/SF-Pro-Rounded-Black.otf b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Black.otf
new file mode 100644
index 00000000000..4a5b7f87db9
Binary files /dev/null and b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Black.otf differ
diff --git a/android/app/src/main/assets/fonts/SF-Pro-Rounded-Bold.otf b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Bold.otf
new file mode 100644
index 00000000000..d430eeee825
Binary files /dev/null and b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Bold.otf differ
diff --git a/android/app/src/main/assets/fonts/SF-Pro-Rounded-Heavy.otf b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Heavy.otf
new file mode 100644
index 00000000000..01d360c50ab
Binary files /dev/null and b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Heavy.otf differ
diff --git a/android/app/src/main/assets/fonts/SF-Pro-Rounded-Light.otf b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Light.otf
new file mode 100644
index 00000000000..6a587bfb905
Binary files /dev/null and b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Light.otf differ
diff --git a/android/app/src/main/assets/fonts/SF-Pro-Rounded-Medium.otf b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Medium.otf
new file mode 100644
index 00000000000..649fe53c45c
Binary files /dev/null and b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Medium.otf differ
diff --git a/android/app/src/main/assets/fonts/SF-Pro-Rounded-Regular.otf b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Regular.otf
new file mode 100644
index 00000000000..b0014e301c0
Binary files /dev/null and b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Regular.otf differ
diff --git a/android/app/src/main/assets/fonts/SF-Pro-Rounded-Semibold.otf b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Semibold.otf
new file mode 100644
index 00000000000..2c0a596acc9
Binary files /dev/null and b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Semibold.otf differ
diff --git a/android/app/src/main/assets/fonts/SF-Pro-Rounded-Thin.otf b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Thin.otf
new file mode 100644
index 00000000000..802413aefb7
Binary files /dev/null and b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Thin.otf differ
diff --git a/android/app/src/main/assets/fonts/SF-Pro-Rounded-Ultralight.otf b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Ultralight.otf
new file mode 100644
index 00000000000..730742c0301
Binary files /dev/null and b/android/app/src/main/assets/fonts/SF-Pro-Rounded-Ultralight.otf differ
diff --git a/android/app/src/main/debug/res/values/strings.xml b/android/app/src/main/debug/res/values/strings.xml
index 92ec981ac2d..e5011b8688a 100644
--- a/android/app/src/main/debug/res/values/strings.xml
+++ b/android/app/src/main/debug/res/values/strings.xml
@@ -1,4 +1,3 @@
- deployment-key-here
Rainbow Debug
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index e2aca8d83a1..89023b90245 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -421,7 +421,7 @@ PODS:
- Sentry (~> 4.4.0)
- RNStoreReview (0.1.5):
- React
- - RNSVG (11.0.1):
+ - RNSVG (11.0.0):
- React
- SDWebImage (5.4.1):
- SDWebImage/Core (= 5.4.1)
@@ -745,14 +745,14 @@ SPEC CHECKSUMS:
RNScreens: 031d10e2b648afc9546f16b6a786d2efc6870310
RNSentry: 9cfa3717b1e6bf9ad4b124683e78e3b98b01d3af
RNStoreReview: 62d6afd7c37db711a594bbffca6b0ea3a812b7a8
- RNSVG: 67f1f12dae2cef6ed59a42cae74a6b8f5a9e7b46
+ RNSVG: 82d44baa568873faae1a9929dd30d29db8f06732
SDWebImage: 29c340dbdcef342bb13125553f4e19ce056b07a7
SDWebImageWebPCoder: 947093edd1349d820c40afbd9f42acb6cdecd987
Sentry: 14bdd673870e8cf64932b149fad5bbbf39a9b390
SRSRadialGradient: 8fdf3adb76320500bc792390ecebc1b82aac54ec
SSZipArchive: fa16b8cc4cdeceb698e5e5d9f67e9558532fbf23
TcpSockets: 14306fb79f9750ea7d2ddd02d8bed182abb01797
- ToolTipMenu: 8ac61aded0fbc4acfe7e84a7d0c9479d15a9a382
+ ToolTipMenu: ad9f45c5ef375418275c81a667c2805bcac8692a
Yoga: b9a1f7189009fa4b6266ee0a63235547326295d2
PODFILE CHECKSUM: 4e11b438fd6bb2763be24d82eeafc6f69c49a2f4
diff --git a/ios/Rainbow.xcodeproj/project.pbxproj b/ios/Rainbow.xcodeproj/project.pbxproj
index 0151cec693e..6691c9655f6 100644
--- a/ios/Rainbow.xcodeproj/project.pbxproj
+++ b/ios/Rainbow.xcodeproj/project.pbxproj
@@ -84,6 +84,15 @@
F9EB9219ED9A4C72826A5908 /* Graphik-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = A6EEFE6EA9354456B0DB4520 /* Graphik-Regular.otf */; };
F9EF1D44351840B8A380BD3E /* SF-Pro-Display-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = BA31E8CEDBCC417CA50BC57B /* SF-Pro-Display-Bold.otf */; };
FBDF4EF177284CF4826D7BF9 /* SF-Pro-Display-HeavyItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = D7BFD847B72D414D9BE734A0 /* SF-Pro-Display-HeavyItalic.otf */; };
+ 041ED9A91C634D62B70DD2A0 /* SF-Pro-Rounded-Black.otf in Resources */ = {isa = PBXBuildFile; fileRef = B809485D25CC4982B166E287 /* SF-Pro-Rounded-Black.otf */; };
+ 830AB06937A24F36A5A233E4 /* SF-Pro-Rounded-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 12778C645D644BCC8744A30F /* SF-Pro-Rounded-Bold.otf */; };
+ 5F1FC886FDBF4E50875905D8 /* SF-Pro-Rounded-Heavy.otf in Resources */ = {isa = PBXBuildFile; fileRef = 6B6183D1BB01462A8EC6971D /* SF-Pro-Rounded-Heavy.otf */; };
+ 788C192F52404F80BC99C83E /* SF-Pro-Rounded-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = CC103294F38D49DEBB00C234 /* SF-Pro-Rounded-Light.otf */; };
+ 45537F942F2B45A2AE0F6E97 /* SF-Pro-Rounded-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = C71A958627CB4BF6B7085E7B /* SF-Pro-Rounded-Medium.otf */; };
+ 888BD587381C4F859E34255C /* SF-Pro-Rounded-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = 6F593D06488648D6B4082A13 /* SF-Pro-Rounded-Regular.otf */; };
+ 9DF9D782A0E8467FAA079A68 /* SF-Pro-Rounded-Semibold.otf in Resources */ = {isa = PBXBuildFile; fileRef = C2BA36ED122C4932A09957E5 /* SF-Pro-Rounded-Semibold.otf */; };
+ EEDAF090F37B4DD9905C3AA1 /* SF-Pro-Rounded-Thin.otf in Resources */ = {isa = PBXBuildFile; fileRef = 2508987EAA5746B799931646 /* SF-Pro-Rounded-Thin.otf */; };
+ 7DE5483C7F3043379686F961 /* SF-Pro-Rounded-Ultralight.otf in Resources */ = {isa = PBXBuildFile; fileRef = E10B4784EF2A4C569A43746A /* SF-Pro-Rounded-Ultralight.otf */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -205,6 +214,15 @@
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
F62BBE10D6534F74B2180711 /* SF-Pro-Text-Bold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "SF-Pro-Text-Bold.otf"; path = "../src/assets/fonts/SF-Pro-Text-Bold.otf"; sourceTree = ""; };
FA887652F27F43869229AD50 /* SF-Pro-Text-SemiboldItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "SF-Pro-Text-SemiboldItalic.otf"; path = "../src/assets/fonts/SF-Pro-Text-SemiboldItalic.otf"; sourceTree = ""; };
+ B809485D25CC4982B166E287 /* SF-Pro-Rounded-Black.otf */ = {isa = PBXFileReference; name = "SF-Pro-Rounded-Black.otf"; path = "../src/assets/fonts/SF-Pro-Rounded-Black.otf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 12778C645D644BCC8744A30F /* SF-Pro-Rounded-Bold.otf */ = {isa = PBXFileReference; name = "SF-Pro-Rounded-Bold.otf"; path = "../src/assets/fonts/SF-Pro-Rounded-Bold.otf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 6B6183D1BB01462A8EC6971D /* SF-Pro-Rounded-Heavy.otf */ = {isa = PBXFileReference; name = "SF-Pro-Rounded-Heavy.otf"; path = "../src/assets/fonts/SF-Pro-Rounded-Heavy.otf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ CC103294F38D49DEBB00C234 /* SF-Pro-Rounded-Light.otf */ = {isa = PBXFileReference; name = "SF-Pro-Rounded-Light.otf"; path = "../src/assets/fonts/SF-Pro-Rounded-Light.otf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ C71A958627CB4BF6B7085E7B /* SF-Pro-Rounded-Medium.otf */ = {isa = PBXFileReference; name = "SF-Pro-Rounded-Medium.otf"; path = "../src/assets/fonts/SF-Pro-Rounded-Medium.otf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 6F593D06488648D6B4082A13 /* SF-Pro-Rounded-Regular.otf */ = {isa = PBXFileReference; name = "SF-Pro-Rounded-Regular.otf"; path = "../src/assets/fonts/SF-Pro-Rounded-Regular.otf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ C2BA36ED122C4932A09957E5 /* SF-Pro-Rounded-Semibold.otf */ = {isa = PBXFileReference; name = "SF-Pro-Rounded-Semibold.otf"; path = "../src/assets/fonts/SF-Pro-Rounded-Semibold.otf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 2508987EAA5746B799931646 /* SF-Pro-Rounded-Thin.otf */ = {isa = PBXFileReference; name = "SF-Pro-Rounded-Thin.otf"; path = "../src/assets/fonts/SF-Pro-Rounded-Thin.otf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ E10B4784EF2A4C569A43746A /* SF-Pro-Rounded-Ultralight.otf */ = {isa = PBXFileReference; name = "SF-Pro-Rounded-Ultralight.otf"; path = "../src/assets/fonts/SF-Pro-Rounded-Ultralight.otf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -432,6 +450,15 @@
668A9E253DAF444A90ECB997 /* SFMono-Medium.otf */,
95F2888C850F40C8A26E083B /* SFMono-Regular.otf */,
B1089F835D6A4F578009B47F /* SFMono-Semibold.otf */,
+ B809485D25CC4982B166E287 /* SF-Pro-Rounded-Black.otf */,
+ 12778C645D644BCC8744A30F /* SF-Pro-Rounded-Bold.otf */,
+ 6B6183D1BB01462A8EC6971D /* SF-Pro-Rounded-Heavy.otf */,
+ CC103294F38D49DEBB00C234 /* SF-Pro-Rounded-Light.otf */,
+ C71A958627CB4BF6B7085E7B /* SF-Pro-Rounded-Medium.otf */,
+ 6F593D06488648D6B4082A13 /* SF-Pro-Rounded-Regular.otf */,
+ C2BA36ED122C4932A09957E5 /* SF-Pro-Rounded-Semibold.otf */,
+ 2508987EAA5746B799931646 /* SF-Pro-Rounded-Thin.otf */,
+ E10B4784EF2A4C569A43746A /* SF-Pro-Rounded-Ultralight.otf */,
);
name = Resources;
sourceTree = "";
@@ -572,6 +599,15 @@
7287CE1EC33B4913AEE1F4B6 /* SFMono-Medium.otf in Resources */,
B7A3E82A4C4449F4A18EB5C2 /* SFMono-Regular.otf in Resources */,
92D7BFC8AFDA4E649EA6FF08 /* SFMono-Semibold.otf in Resources */,
+ 041ED9A91C634D62B70DD2A0 /* SF-Pro-Rounded-Black.otf in Resources */,
+ 830AB06937A24F36A5A233E4 /* SF-Pro-Rounded-Bold.otf in Resources */,
+ 5F1FC886FDBF4E50875905D8 /* SF-Pro-Rounded-Heavy.otf in Resources */,
+ 788C192F52404F80BC99C83E /* SF-Pro-Rounded-Light.otf in Resources */,
+ 45537F942F2B45A2AE0F6E97 /* SF-Pro-Rounded-Medium.otf in Resources */,
+ 888BD587381C4F859E34255C /* SF-Pro-Rounded-Regular.otf in Resources */,
+ 9DF9D782A0E8467FAA079A68 /* SF-Pro-Rounded-Semibold.otf in Resources */,
+ EEDAF090F37B4DD9905C3AA1 /* SF-Pro-Rounded-Thin.otf in Resources */,
+ 7DE5483C7F3043379686F961 /* SF-Pro-Rounded-Ultralight.otf in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/ios/Rainbow/AppDelegate.m b/ios/Rainbow/AppDelegate.m
index a2f9d328e6e..172d907d606 100644
--- a/ios/Rainbow/AppDelegate.m
+++ b/ios/Rainbow/AppDelegate.m
@@ -7,7 +7,6 @@
@import Firebase;
#import "AppDelegate.h"
-#import
#import
#import
#import
@@ -46,7 +45,7 @@ - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
#if DEBUG
return [NSURL URLWithString:[[[[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil] absoluteString] stringByAppendingString:@"&inlineSourceMap=true" ]];
#else
- return [CodePush bundleURL];
+ return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
}
diff --git a/ios/Rainbow/Info.plist b/ios/Rainbow/Info.plist
index abc00b1dea4..5756d71e448 100644
--- a/ios/Rainbow/Info.plist
+++ b/ios/Rainbow/Info.plist
@@ -140,6 +140,15 @@
SFMono-Medium.otf
SFMono-Regular.otf
SFMono-Semibold.otf
+ SF-Pro-Rounded-Black.otf
+ SF-Pro-Rounded-Bold.otf
+ SF-Pro-Rounded-Heavy.otf
+ SF-Pro-Rounded-Light.otf
+ SF-Pro-Rounded-Medium.otf
+ SF-Pro-Rounded-Regular.otf
+ SF-Pro-Rounded-Semibold.otf
+ SF-Pro-Rounded-Thin.otf
+ SF-Pro-Rounded-Ultralight.otf
UIBackgroundModes
diff --git a/package.json b/package.json
index 30bf4b748e0..bf6259c3468 100644
--- a/package.json
+++ b/package.json
@@ -121,7 +121,7 @@
"react-native-splash-screen": "^3.2.0",
"react-native-storage": "^1.0.1",
"react-native-store-review": "^0.1.5",
- "react-native-svg": "^11.0.1",
+ "react-native-svg": "11.0.0",
"react-native-tab-view-viewpager-adapter": "^1.0.7",
"react-native-tab-view": "^2.12.0",
"react-native-tcp": "^3.3.2",
diff --git a/src/App.js b/src/App.js
index acfd66b6b78..5d57cefcfc9 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,4 +1,3 @@
-// eslint-disable-next-line import/default
import PushNotificationIOS from '@react-native-community/push-notification-ios';
import analytics from '@segment/analytics-react-native';
import { init as initSentry, setRelease } from '@sentry/react-native';
diff --git a/src/assets/fonts/SF-Pro-Rounded-Black.otf b/src/assets/fonts/SF-Pro-Rounded-Black.otf
new file mode 100644
index 00000000000..4a5b7f87db9
Binary files /dev/null and b/src/assets/fonts/SF-Pro-Rounded-Black.otf differ
diff --git a/src/assets/fonts/SF-Pro-Rounded-Bold.otf b/src/assets/fonts/SF-Pro-Rounded-Bold.otf
new file mode 100644
index 00000000000..d430eeee825
Binary files /dev/null and b/src/assets/fonts/SF-Pro-Rounded-Bold.otf differ
diff --git a/src/assets/fonts/SF-Pro-Rounded-Heavy.otf b/src/assets/fonts/SF-Pro-Rounded-Heavy.otf
new file mode 100644
index 00000000000..01d360c50ab
Binary files /dev/null and b/src/assets/fonts/SF-Pro-Rounded-Heavy.otf differ
diff --git a/src/assets/fonts/SF-Pro-Rounded-Light.otf b/src/assets/fonts/SF-Pro-Rounded-Light.otf
new file mode 100644
index 00000000000..6a587bfb905
Binary files /dev/null and b/src/assets/fonts/SF-Pro-Rounded-Light.otf differ
diff --git a/src/assets/fonts/SF-Pro-Rounded-Medium.otf b/src/assets/fonts/SF-Pro-Rounded-Medium.otf
new file mode 100644
index 00000000000..649fe53c45c
Binary files /dev/null and b/src/assets/fonts/SF-Pro-Rounded-Medium.otf differ
diff --git a/src/assets/fonts/SF-Pro-Rounded-Regular.otf b/src/assets/fonts/SF-Pro-Rounded-Regular.otf
new file mode 100644
index 00000000000..b0014e301c0
Binary files /dev/null and b/src/assets/fonts/SF-Pro-Rounded-Regular.otf differ
diff --git a/src/assets/fonts/SF-Pro-Rounded-Semibold.otf b/src/assets/fonts/SF-Pro-Rounded-Semibold.otf
new file mode 100644
index 00000000000..2c0a596acc9
Binary files /dev/null and b/src/assets/fonts/SF-Pro-Rounded-Semibold.otf differ
diff --git a/src/assets/fonts/SF-Pro-Rounded-Thin.otf b/src/assets/fonts/SF-Pro-Rounded-Thin.otf
new file mode 100644
index 00000000000..802413aefb7
Binary files /dev/null and b/src/assets/fonts/SF-Pro-Rounded-Thin.otf differ
diff --git a/src/assets/fonts/SF-Pro-Rounded-Ultralight.otf b/src/assets/fonts/SF-Pro-Rounded-Ultralight.otf
new file mode 100644
index 00000000000..730742c0301
Binary files /dev/null and b/src/assets/fonts/SF-Pro-Rounded-Ultralight.otf differ
diff --git a/src/components/asset-list/RecyclerAssetList.js b/src/components/asset-list/RecyclerAssetList.js
index 24c06214c1f..2a0c1646871 100644
--- a/src/components/asset-list/RecyclerAssetList.js
+++ b/src/components/asset-list/RecyclerAssetList.js
@@ -714,13 +714,13 @@ class RecyclerAssetList extends Component {
}
if (
- (contentSize.height - layoutMeasurement.height >= offsetY &&
+ ((contentSize.height - layoutMeasurement.height >= offsetY &&
offsetY >= 0) ||
- (offsetY < reloadHeightOffsetTop && offsetY > reloadHeightOffsetBottom)
+ (offsetY < reloadHeightOffsetTop &&
+ offsetY > reloadHeightOffsetBottom)) &&
+ this.props.scrollViewTracker
) {
- if (this.props.scrollViewTracker) {
- this.props.scrollViewTracker.setValue(offsetY);
- }
+ this.props.scrollViewTracker.setValue(offsetY);
}
};
diff --git a/src/components/expanded-state/ChartExpandedState.js b/src/components/expanded-state/ChartExpandedState.js
index fdbc18d5443..bc8d0c561c6 100644
--- a/src/components/expanded-state/ChartExpandedState.js
+++ b/src/components/expanded-state/ChartExpandedState.js
@@ -12,7 +12,7 @@ import {
import styled from 'styled-components/primitives';
import { withAccountData, withAccountSettings } from '../../hoc';
import { ethereumUtils, deviceUtils } from '../../utils';
-import ValueChart from '../value-chart/ValueChart';
+import Chart from '../value-chart/Chart';
import { BalanceCoinRow } from '../coin-row';
import BottomSendButtons from '../value-chart/BottomSendButtons';
import { colors } from '../../styles';
@@ -50,25 +50,24 @@ const Container = styled.View`
align-items: center;
`;
-const TokenExpandedState = ({
- onPressSend,
- onPressSwap,
- change,
- changeDirection,
- selectedAsset,
-}) => (
-
-
-
-
-
-
-
-
-
-
-
-);
+const TokenExpandedState = ({ onPressSend, onPressSwap, selectedAsset }) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
TokenExpandedState.propTypes = {
change: PropTypes.string,
diff --git a/src/components/send/SendAssetList.js b/src/components/send/SendAssetList.js
index b7cfbb93ceb..48c6b1b7750 100644
--- a/src/components/send/SendAssetList.js
+++ b/src/components/send/SendAssetList.js
@@ -206,9 +206,8 @@ class SendAssetList extends React.Component {
return this.collectiblesRenderItem(data);
} else if (type === 'COLLECTIBLE_ROW_CLOSED') {
return this.collectiblesRenderItem(data);
- } else {
- return null;
}
+ return null;
}
render() {
diff --git a/src/components/value-chart/Chart.js b/src/components/value-chart/Chart.js
new file mode 100644
index 00000000000..c89b019fd3d
--- /dev/null
+++ b/src/components/value-chart/Chart.js
@@ -0,0 +1,100 @@
+import React, { useMemo, useState, useRef } from 'react';
+import ValueChart from './ValueChart';
+import ValueText from './ValueText';
+import {
+ // data1,
+ // data2,
+ // data3,
+ data4,
+ dataColored1,
+ dataColored2,
+ dataColored3,
+} from './data';
+import TimespanSelector from './TimespanSelector';
+import { colors } from '../../styles';
+
+const dataColored = [dataColored1, dataColored2, dataColored3];
+const dataSwitching = [
+ dataColored,
+ [dataColored1, dataColored2],
+ [dataColored2, dataColored3],
+ [data4],
+];
+
+const colorsArray = [
+ colors.red,
+ colors.grey,
+ colors.green,
+ colors.purple,
+ colors.red,
+ colors.green,
+ colors.red,
+ colors.purple,
+ colors.green,
+ colors.grey,
+ colors.green,
+ colors.purple,
+];
+
+let colorIndex = 0;
+
+export default function Chart() {
+ const textInputRef = useRef(null);
+ const data = useMemo(() => {
+ colorIndex = 0;
+ return dataSwitching.map((sectionsData, index) => {
+ return {
+ name: index,
+ segments: sectionsData.map((data, i) => {
+ return {
+ color: colorsArray[colorIndex++],
+ line: i * 5,
+ points: data.map(values => {
+ return { x: values.timestamp, y: values.value };
+ }),
+ renderStartSeparator:
+ colorIndex % 2 !== 0
+ ? {
+ fill: colorsArray[colorIndex],
+ r: 7,
+ stroke: 'white',
+ strokeWidth: colorIndex + 2,
+ }
+ : undefined,
+ };
+ }),
+ };
+ });
+ }, []);
+
+ const [currentChart, setCurrentChart] = useState(0);
+ const change = currentChart % 2 === 0 ? 20 : -20; // placeholder
+
+ return (
+ <>
+ 0}
+ change={change.toFixed(2)}
+ ref={textInputRef}
+ />
+ {
+ textInputRef.current.updateValue(value);
+ }}
+ currentDataSource={currentChart}
+ amountOfPathPoints={100} // amount of points for switch between charts
+ data={data}
+ barColor={change > 0 ? colors.chartGreen : colors.red}
+ stroke={{ detailed: 1.5, simplified: 3 }}
+ />
+ 0 ? colors.chartGreen : colors.red}
+ isLoading={false}
+ />
+ >
+ );
+}
diff --git a/src/components/value-chart/GestureWrapper.js b/src/components/value-chart/GestureWrapper.js
new file mode 100644
index 00000000000..2bb9f8dc028
--- /dev/null
+++ b/src/components/value-chart/GestureWrapper.js
@@ -0,0 +1,38 @@
+import PropTypes from 'prop-types';
+import React from 'react';
+import Animated from 'react-native-reanimated';
+import {
+ PanGestureHandler,
+ TapGestureHandler,
+} from 'react-native-gesture-handler';
+
+const TimestampText = ({
+ children,
+ enabled,
+ onTapGestureEvent,
+ onPanGestureEvent,
+ onHandlerStateChange,
+}) =>
+ enabled ? (
+
+
+
+ {children}
+
+
+
+ ) : (
+ children
+ );
+
+TimestampText.propTypes = {
+ children: PropTypes.string,
+};
+
+export default TimestampText;
diff --git a/src/components/value-chart/TimespanSelector.js b/src/components/value-chart/TimespanSelector.js
index 5a503443d02..2e74a7f5153 100644
--- a/src/components/value-chart/TimespanSelector.js
+++ b/src/components/value-chart/TimespanSelector.js
@@ -5,7 +5,6 @@ import Animated from 'react-native-reanimated';
import { deviceUtils } from '../../utils';
import { ButtonPressAnimation } from '../animations';
import ValueTime from './ValueTime';
-import { colors } from '../../styles';
const springConfig = {
damping: 38,
@@ -29,7 +28,7 @@ const bottomSpaceWidth = deviceUtils.dimensions.width / (4 * 2);
class TimespanSelector extends React.Component {
propTypes = {
- direction: PropTypes.bool,
+ color: PropTypes.string,
isLoading: PropTypes.bool,
reloadChart: PropTypes.func,
};
@@ -86,7 +85,7 @@ class TimespanSelector extends React.Component {
render() {
let color = 'gray';
if (!this.props.isLoading) {
- color = this.props.direction ? colors.chartGreen : colors.red;
+ color = this.props.color;
}
return (
<>
diff --git a/src/components/value-chart/TrendIndicatorText.js b/src/components/value-chart/TrendIndicatorText.js
index 19d07136cac..3af4f95d236 100644
--- a/src/components/value-chart/TrendIndicatorText.js
+++ b/src/components/value-chart/TrendIndicatorText.js
@@ -24,8 +24,7 @@ const TrendIndicatorText = ({ children, direction }) => (
{
- if (data.length > destinatedNumberOfPoints) {
- let destMul = data.length / destinatedNumberOfPoints;
- const maxValue = maxBy(data, 'value');
- const minValue = minBy(data, 'value');
+let allSegmentDividers = [];
- const timestampMul = Math.floor(
- (data[data.length - 1].timestamp - data[0].timestamp) / data.length
+const simplifyChartData = (data, destinatedNumberOfPoints) => {
+ let allSegmentsPoints = [];
+ let colors = [];
+ let lines = [];
+ let dividers = [];
+ let lastPoints = [];
+ let createdLastPoints = [];
+ if (data.segments.length > 0) {
+ for (let i = 0; i < data.segments.length; i++) {
+ allSegmentsPoints = allSegmentsPoints.concat(data.segments[i].points);
+ allSegmentsPoints[allSegmentsPoints.length - 1] = {
+ ...allSegmentsPoints[allSegmentsPoints.length - 1],
+ lastPoint: true,
+ };
+ lastPoints.push(allSegmentsPoints.length - 1);
+ colors.push(data.segments[i].color);
+ lines.push(data.segments[i].line);
+ dividers.push(data.segments[i].renderStartSeparator);
+ }
+ }
+ if (allSegmentsPoints.length > destinatedNumberOfPoints) {
+ let destMul = allSegmentsPoints.length / destinatedNumberOfPoints;
+ const maxValue = maxBy(allSegmentsPoints, 'y');
+ const minValue = minBy(allSegmentsPoints, 'y');
+
+ const xMul = Math.floor(
+ (allSegmentsPoints[allSegmentsPoints.length - 1].x -
+ allSegmentsPoints[0].x) /
+ allSegmentsPoints.length
);
let newData = [];
newData.push({
- timestamp: data[0].timestamp - timestampMul * 10,
- value: data[0].value,
+ x: allSegmentsPoints[0].x - xMul * 10,
+ y: allSegmentsPoints[0].y,
});
newData.push({
- timestamp: data[0].timestamp,
- value: data[0].value,
+ x: allSegmentsPoints[0].x,
+ y: allSegmentsPoints[0].y,
});
for (let i = 2; i < destinatedNumberOfPoints - 2; i++) {
const indexPlace = i * destMul;
const r = indexPlace % 1;
const f = Math.floor(indexPlace);
- const firstValue = data[f].value * r;
- const secondValue = data[f + 1].value * (1 - r);
+ const firstValue = allSegmentsPoints[f].y * r;
+ const secondValue = allSegmentsPoints[f + 1].y * (1 - r);
let finalValue;
if (firstValue === maxValue) {
@@ -78,32 +95,49 @@ const simplifyChartData = (data, destinatedNumberOfPoints) => {
} else {
finalValue = firstValue + secondValue;
}
+ if (i * destMul > lastPoints[createdLastPoints.length]) {
+ createdLastPoints.push(newData.length);
+ }
newData.push({
- timestamp: data[0].timestamp + i * timestampMul,
- value: finalValue,
+ x: allSegmentsPoints[0].x + i * xMul,
+ y: finalValue,
});
}
newData.push({
- timestamp: data[0].timestamp + destinatedNumberOfPoints * timestampMul,
- value: data[data.length - 1].value,
+ x: allSegmentsPoints[0].x + destinatedNumberOfPoints * xMul,
+ y: allSegmentsPoints[allSegmentsPoints.length - 1].y,
});
newData.push({
- timestamp:
- data[0].timestamp +
- destinatedNumberOfPoints * timestampMul +
- timestampMul * 10,
- value: data[data.length - 1].value,
+ x: allSegmentsPoints[0].x + destinatedNumberOfPoints * xMul + xMul * 10,
+ y: allSegmentsPoints[allSegmentsPoints.length - 1].y,
});
- return newData;
+
+ allSegmentDividers = allSegmentDividers.concat(createdLastPoints);
+
+ let data = {
+ allPointsForData: allSegmentsPoints,
+ colors,
+ lastPoints: createdLastPoints,
+ lines,
+ points: newData,
+ startSeparatator: dividers,
+ };
+
+ return data;
}
};
-const usableData = [
- simplifyChartData(data1, amountOfPathPoints),
- simplifyChartData(data4, amountOfPathPoints),
- simplifyChartData(data3, amountOfPathPoints),
- simplifyChartData(data2, amountOfPathPoints),
-];
+const hexToRgb = hex => {
+ // result contain table of [r, g, b] from given hex string
+ let result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
+ return result
+ ? [
+ parseInt(result[1], 16),
+ parseInt(result[2], 16),
+ parseInt(result[3], 16),
+ ]
+ : null;
+};
const { BEGAN, ACTIVE, CANCELLED, END, FAILED, UNDETERMINED } = State;
@@ -111,9 +145,6 @@ const width = deviceUtils.dimensions.width;
const height = 170;
const chartPadding = 16;
-const strokeWidth = 1.5;
-const thickStrokeWidthDifference = 1.5;
-
const flipY = { transform: [{ scaleX: 1 }, { scaleY: -1 }] };
const indexInterval = 10;
@@ -144,15 +175,38 @@ const pickImportantPoints = array => {
return { xs, ys };
};
-export default class ValueChart extends PureComponent {
+export default class Chart extends PureComponent {
+ static propTypes = {
+ amountOfPathPoints: PropTypes.number,
+ barColor: PropTypes.string,
+ currentDataSource: PropTypes.number,
+ data: PropTypes.array,
+ enableSelect: PropTypes.bool,
+ mode: PropTypes.oneOf(['gesture-managed', 'detailed', 'simplified']),
+ onValueUpdate: PropTypes.func,
+ stroke: PropTypes.object,
+ };
+
+ static defaultProps = {
+ enableSelect: true,
+ mode: 'gesture-managed',
+ stroke: { detailed: 1.5, simplified: 3 },
+ };
+
constructor(props) {
super(props);
+ allSegmentDividers = [];
+ this.data = this.props.data.map(data =>
+ simplifyChartData(data, this.props.amountOfPathPoints)
+ );
+
this.state = {
- allData: [[], [], [], []],
- currentData: [],
+ chartData: this.data,
+
+ currentData: this.data[0],
hideLoadingBar: false,
- isLoading: false,
+ isLoading: true,
shouldRenderChart: true,
};
@@ -160,18 +214,20 @@ export default class ValueChart extends PureComponent {
this.clockReversed = new Clock();
this.opacityClock = new Clock();
this.opacityClockReversed = new Clock();
- this.loadingClock = new Clock();
this.loadingValue = new Value(1);
this.gestureState = new Value(UNDETERMINED);
this.panGestureState = new Value(UNDETERMINED);
- this.handle = undefined;
- this.value = new Value(1);
+ this.value = new Value(this.props.mode === 'detailed' ? 0 : 1);
this.opacity = new Value(0);
this.shouldSpring = new Value(0);
this.chartDay = new Value(1);
this.chartWeek = new Value(0);
this.chartMonth = new Value(0);
this.chartYear = new Value(0);
+ this.shouldReactToGestures = new Value(
+ this.props.mode === 'gesture-managed' ? 1 : 0
+ );
+ this.currentChart = new Value(0);
this.currentInterval = 1;
@@ -200,7 +256,11 @@ export default class ValueChart extends PureComponent {
nativeEvent: {
state: state =>
cond(
- or(eq(state, State.BEGAN), eq(state, State.END)),
+ or(
+ eq(state, State.BEGAN),
+ eq(state, State.END),
+ eq(state, State.CANCELLED)
+ ),
set(this.gestureState, state),
delay(
cond(
@@ -236,9 +296,16 @@ export default class ValueChart extends PureComponent {
}
componentDidMount = () => {
- this.reloadChart(0);
+ this.reloadChart(0, true);
};
+ getSnapshotBeforeUpdate() {
+ if (this.currentInterval !== this.props.currentDataSource) {
+ this.currentChart.setValue(this.props.currentDataSource);
+ this.touchX.setValue(deviceUtils.dimensions.width - 1);
+ this.reloadChart(this.props.currentDataSource);
+ }
+ }
touchX = new Value(0);
lastTouchX = new Value(0);
@@ -261,16 +328,16 @@ export default class ValueChart extends PureComponent {
{ useNativeDriver: true }
);
- reloadChart = async currentInterval => {
+ reloadChart = async (currentInterval, isInitial = false) => {
if (currentInterval !== this.currentInterval) {
- let data = this.state.allData;
- if (this.state.allData[currentInterval].length === 0) {
- data[currentInterval] = usableData[currentInterval];
+ if (isInitial) {
await this.setState({
isLoading: true,
});
- this.animatedPath = this.createAnimatedPath();
+ const createdSVG = this.createAnimatedPath();
+ this.animatedPath = createdSVG.paths;
+ this.animatedDividers = createdSVG.points;
}
setTimeout(async () => {
Animated.timing(
@@ -282,36 +349,78 @@ export default class ValueChart extends PureComponent {
this._configUp
).start();
this.currentInterval = currentInterval;
- this._text.updateValue(
- usableData[currentInterval][usableData[currentInterval].length - 1]
- .value
- );
- await this.setState({
- currentData: usableData[currentInterval],
+ await this.setState(prevState => ({
+ currentData: prevState.chartData[currentInterval],
isLoading: false,
- });
+ }));
+ this.props.onValueUpdate(
+ this.state.chartData[currentInterval].points[
+ this.state.chartData[currentInterval].points.length - 1
+ ].y
+ );
});
}
};
+ createSegmentColorsArray = (segments, data) => {
+ let segmentColors = [];
+ let segmentSwitch = [];
+ for (let i = 0; i < segments.length + 1; i++) {
+ segmentColors.push([]);
+ segmentSwitch.push([]);
+ }
+ for (let i = 0; i < data.length; i++) {
+ let dataIndex = 0;
+ for (let j = 0; j < segments.length + 1; j++) {
+ segmentColors[j].push(dataIndex);
+ if (segments[j] === data[i].lastPoints[dataIndex]) {
+ segmentSwitch[j].push(i);
+ dataIndex++;
+ }
+ }
+ }
+ segmentSwitch.pop();
+ return { colors: segmentColors, dividers: segmentSwitch };
+ };
+
createAnimatedPath = () => {
+ let sectionEndPoints = [];
+ const { chartData } = this.state;
+ allSegmentDividers.sort(function(a, b) {
+ return a - b;
+ });
+ let segmentsWithDeletedDuplicates = [];
+
+ allSegmentDividers.forEach(function(x) {
+ if (
+ segmentsWithDeletedDuplicates.length === 0 ||
+ segmentsWithDeletedDuplicates.slice(-1)[0] !== x
+ )
+ segmentsWithDeletedDuplicates.push(x);
+ });
+ allSegmentDividers = segmentsWithDeletedDuplicates;
+
+ const segments = this.createSegmentColorsArray(
+ allSegmentDividers,
+ chartData
+ );
let splinePoints = [];
- for (let i = 0; i < this.state.allData.length; i++) {
- if (this.state.allData[i].length > 0) {
- const maxValue = maxBy(this.state.allData[i], 'value');
- const minValue = minBy(this.state.allData[i], 'value');
+ for (let i = 0; i < chartData.length; i++) {
+ if (chartData[i].points.length > 0) {
+ const maxValue = maxBy(chartData[i].points, 'y');
+ const minValue = minBy(chartData[i].points, 'y');
const timestampLength =
- this.state.allData[i][this.state.allData[i].length - 1].timestamp -
- this.state.allData[i][0].timestamp;
- const xMultiply = width / timestampLength;
+ chartData[i].points[chartData[i].points.length - 1].x -
+ chartData[i].points[0].x;
- const yMultiply = height / (maxValue.value - minValue.value);
+ const xMultiply = width / timestampLength;
- const points = this.state.allData[i].map(({ timestamp, value }) => ({
- x: (timestamp - this.state.allData[i][0].timestamp) * xMultiply,
- y: (value - minValue.value) * yMultiply,
+ const yMultiply = height / (maxValue.y - minValue.y);
+ const points = chartData[i].points.map(({ x, y }) => ({
+ x: (x - chartData[i].points[0].x) * xMultiply,
+ y: (y - minValue.y) * yMultiply,
}));
const importantPoints = pickImportantPoints(points);
@@ -324,7 +433,7 @@ export default class ValueChart extends PureComponent {
.filter(Boolean)
);
} else {
- let emptyArray = new Array(amountOfPathPoints);
+ let emptyArray = new Array(this.props.amountOfPathPoints);
for (let j = 0; j < emptyArray.length; j++) {
emptyArray[j] = { x: 0, y1: 0, y2: 0 };
}
@@ -332,58 +441,148 @@ export default class ValueChart extends PureComponent {
}
}
- const animatedPath = concat(
- 'M -20 0',
- ...splinePoints[0].flatMap(({ x }, index) => [
- 'L',
- x,
- ' ',
+ let chartNode = (multiplyNode, index, chartIndex) =>
+ multiply(
+ multiplyNode,
add(
+ splinePoints[chartIndex][index].y1,
multiply(
- this.chartDay,
- add(
- splinePoints[0][index].y1,
- multiply(
- this.value,
- sub(splinePoints[0][index].y2, splinePoints[0][index].y1)
- )
+ this.value,
+ sub(
+ splinePoints[chartIndex][index].y2,
+ splinePoints[chartIndex][index].y1
)
- ),
- multiply(
- this.chartWeek,
- add(
- splinePoints[1][index].y1,
- multiply(
- this.value,
- sub(splinePoints[1][index].y2, splinePoints[1][index].y1)
- )
+ )
+ )
+ );
+
+ const allNodes = index => {
+ return chartData.map((_, i) => {
+ return chartNode(this.chartsMulti[i], index, i);
+ });
+ };
+
+ let returnPaths = [];
+ let returnPoints = [];
+ for (let i = 0; i <= allSegmentDividers.length; i++) {
+ const animatedPath = concat(
+ 'M 0 0',
+ ...splinePoints[0].flatMap(({ x }, index) => {
+ if (i === 0) {
+ if (index <= allSegmentDividers[i]) {
+ return ['L', x, ' ', add(...allNodes(index))];
+ }
+ } else {
+ if (index === allSegmentDividers[i - 1]) {
+ sectionEndPoints.push({
+ index: segments.dividers[i - 1],
+ opacity: this.chartsMulti[segments.dividers[i - 1]],
+ x,
+ y: add(...allNodes(index)),
+ });
+ return ['M', x, ' ', add(...allNodes(index))];
+ }
+ if (i === allSegmentDividers.length) {
+ if (index >= allSegmentDividers[i - 1]) {
+ return ['L', x, ' ', add(...allNodes(index))];
+ }
+ } else {
+ if (
+ index >= allSegmentDividers[i - 1] &&
+ index <= allSegmentDividers[i]
+ ) {
+ return ['L', x, ' ', add(...allNodes(index))];
+ }
+ }
+ }
+ })
+ );
+
+ const colorMatrix = index => {
+ return index < chartData.length - 1
+ ? cond(
+ eq(this.currentChart, index),
+ Animated.color(
+ ...hexToRgb(chartData[index].colors[segments.colors[i][index]])
+ ),
+ colorMatrix(index + 1)
)
- ),
- multiply(
- this.chartMonth,
- add(
- splinePoints[2][index].y1,
- multiply(
- this.value,
- sub(splinePoints[2][index].y2, splinePoints[2][index].y1)
+ : cond(
+ eq(this.currentChart, index),
+ Animated.color(
+ ...hexToRgb(chartData[index].colors[segments.colors[i][index]])
)
+ );
+ };
+
+ const lineMatrix = index => {
+ return index < chartData.length - 1
+ ? cond(
+ eq(this.currentChart, index),
+ chartData[index].lines[segments.colors[i][index]],
+ lineMatrix(index + 1)
)
- ),
- multiply(
- this.chartYear,
- add(
- splinePoints[3][index].y1,
- multiply(
- this.value,
- sub(splinePoints[3][index].y2, splinePoints[3][index].y1)
- )
+ : cond(
+ eq(this.currentChart, index),
+ chartData[index].lines[segments.colors[i][index]]
+ );
+ };
+
+ returnPaths.push(
+
+ );
+ }
- return animatedPath;
+ let something = [0, 0, 0, 0];
+ sectionEndPoints.forEach(element => {
+ if (chartData[element.index].startSeparatator[something[element.index]]) {
+ returnPoints.push(
+
+ );
+ }
+ });
+
+ return { paths: returnPaths, points: returnPoints };
};
checkValueBoundaries = value => {
@@ -392,153 +591,115 @@ export default class ValueChart extends PureComponent {
}
return value;
};
-
render() {
+ const { amountOfPathPoints } = this.props;
+ const { currentData } = this.state;
let maxValue = 0,
minValue = 0,
- change = 0,
timePeriod = 0,
maxValueDistance = 999,
- minValueDistance = 999,
- isLoading = true;
-
- if (this.state.currentData.length > 0) {
- isLoading = false;
- maxValue = maxBy(this.state.currentData, 'value');
- minValue = minBy(this.state.currentData, 'value');
- change =
- ((this.state.currentData[this.state.currentData.length - 1].value -
- this.state.currentData[0].value) /
- this.state.currentData[0].value) *
- 100;
+ minValueDistance = 999;
+
+ if (currentData.points.length > 0) {
+ maxValue = maxBy(currentData.points, 'y');
+ minValue = minBy(currentData.points, 'y');
timePeriod =
- this.state.currentData[this.state.currentData.length - 1].timestamp -
- this.state.currentData[0].timestamp;
+ currentData.points[currentData.points.length - 1].x -
+ currentData.points[0].x;
maxValueDistance = this.checkValueBoundaries(
- ((maxValue.timestamp - this.state.currentData[0].timestamp) /
- timePeriod) *
- width -
+ ((maxValue.x - currentData.points[0].x) / timePeriod) * width -
width / 2
);
minValueDistance = this.checkValueBoundaries(
- ((minValue.timestamp - this.state.currentData[0].timestamp) /
- timePeriod) *
- width -
+ ((minValue.x - currentData.points[0].x) / timePeriod) * width -
width / 2
);
}
return (
- 0}
- change={change.toFixed(2)}
- ref={component => {
- this._text = component;
- }}
- />
-
-
-
+
-
+ ${Number(maxValue.y).toFixed(2)}
+
+
+
+
-
-
- ${Number(maxValue.value).toFixed(2)}
-
-
-
-
-
-
- 0 ? colors.chartGreen : colors.red,
- borderRadius: 2,
- height: 180,
- position: 'absolute',
- top: 10,
- width: 2,
- zIndex: 10,
- },
+ {this.animatedPath}
+ {this.animatedDividers}
+
+
+
-
-
-
- ${Number(minValue.value).toFixed(2)}
-
-
-
-
+ ],
+ },
+ ]}
+ />
+
+
+
+ ${Number(minValue.y).toFixed(2)}
+
+
-
+
{this.state.isLoading && (
)}
- 0}
- isLoading={isLoading}
- />
{
- this._text.updateValue(
- this.state.currentData[this.state.currentData.length - 1]
- .value
+ this.props.onValueUpdate(
+ currentData.points[currentData.points.length - 1].y
);
}),
]),
@@ -596,46 +751,48 @@ export default class ValueChart extends PureComponent {
const calculatedIndex = Math.floor(
curX /
((width - (width / (amountOfPathPoints + 20)) * 10) /
- this.state.currentData.length)
+ currentData.points.length)
);
- this._text.updateValue(
- this.state.currentData[calculatedIndex].value
+ this.props.onValueUpdate(
+ currentData.points[calculatedIndex].y
);
})
)
),
- cond(
- and(greaterThan(this.value, 0), eq(this.shouldSpring, 1)),
- block([
- stopClock(this.clockReversed),
- set(
- this.value,
- timing({
- clock: this.clock,
- duration: 350,
- easing: Easing.bezier(0.25, 0.46, 0.45, 0.94),
- from: this.value,
- to: 0,
- })
- ),
- ])
- ),
- cond(
- and(lessThan(this.value, 1), eq(this.shouldSpring, 0)),
- block([
- stopClock(this.clock),
- set(
- this.value,
- timing({
- clock: this.clockReversed,
- duration: 350,
- easing: Easing.bezier(0.25, 0.46, 0.45, 0.94),
- from: this.value,
- to: 1,
- })
- ),
- ])
- ),
+ cond(this.shouldReactToGestures, [
+ cond(
+ and(greaterThan(this.value, 0), eq(this.shouldSpring, 1)),
+ block([
+ stopClock(this.clockReversed),
+ set(
+ this.value,
+ timing({
+ clock: this.clock,
+ duration: 350,
+ easing: Easing.bezier(0.25, 0.46, 0.45, 0.94),
+ from: this.value,
+ to: 0,
+ })
+ ),
+ ])
+ ),
+ cond(
+ and(lessThan(this.value, 1), eq(this.shouldSpring, 0)),
+ block([
+ stopClock(this.clock),
+ set(
+ this.value,
+ timing({
+ clock: this.clockReversed,
+ duration: 350,
+ easing: Easing.bezier(0.25, 0.46, 0.45, 0.94),
+ from: this.value,
+ to: 1,
+ })
+ ),
+ ])
+ ),
+ ]),
cond(
and(lessThan(this.opacity, 1), eq(this.shouldSpring, 1)),
block([
diff --git a/src/components/value-chart/ValueText.js b/src/components/value-chart/ValueText.js
index 8ccc38c9dc9..ebb86b71ee1 100644
--- a/src/components/value-chart/ValueText.js
+++ b/src/components/value-chart/ValueText.js
@@ -10,8 +10,7 @@ import { Transition, Transitioning } from 'react-native-reanimated';
const HeadingTextStyles = {
color: colors.dark,
- // FIXME @osdnk add font
- //family: 'SFProRounded',
+ family: 'SFProRounded',
weight: 'bold',
};
diff --git a/src/components/value-chart/data.js b/src/components/value-chart/data.js
index 54adf087767..26d697409bb 100644
--- a/src/components/value-chart/data.js
+++ b/src/components/value-chart/data.js
@@ -1659,949 +1659,6 @@ export const data4 = [
];
export default [
- // { timestamp: 1438214400, value: 0 },
- // { timestamp: 1438300800, value: 0 },
- // { timestamp: 1438387200, value: 0 },
- // { timestamp: 1438473600, value: 0 },
- // { timestamp: 1438560000, value: 0 },
- // { timestamp: 1438646400, value: 0 },
- // { timestamp: 1438732800, value: 0 },
- // { timestamp: 1438819200, value: 0 },
- // { timestamp: 1438905600, value: 2.77 },
- // { timestamp: 1438992000, value: 0.81 },
- // { timestamp: 1439078400, value: 0.74 },
- // { timestamp: 1439164800, value: 0.68 },
- // { timestamp: 1439251200, value: 1.06 },
- // { timestamp: 1439337600, value: 1.25 },
- // { timestamp: 1439424000, value: 1.78 },
- // { timestamp: 1439510400, value: 1.8 },
- // { timestamp: 1439596800, value: 1.79 },
- // { timestamp: 1439683200, value: 1.37 },
- // { timestamp: 1439769600, value: 1.2 },
- // { timestamp: 1439856000, value: 1.27 },
- // { timestamp: 1439942400, value: 1.26 },
- // { timestamp: 1440028800, value: 1.48 },
- // { timestamp: 1440115200, value: 1.44 },
- // { timestamp: 1440201600, value: 1.39 },
- // { timestamp: 1440288000, value: 1.35 },
- // { timestamp: 1440374400, value: 1.24 },
- // { timestamp: 1440460800, value: 1.17 },
- // { timestamp: 1440547200, value: 1.16 },
- // { timestamp: 1440633600, value: 1.13 },
- // { timestamp: 1440720000, value: 1.3 },
- // { timestamp: 1440806400, value: 1.18 },
- // { timestamp: 1440892800, value: 1.32 },
- // { timestamp: 1440979200, value: 1.35 },
- // { timestamp: 1441065600, value: 1.35 },
- // { timestamp: 1441152000, value: 1.29 },
- // { timestamp: 1441238400, value: 1.26 },
- // { timestamp: 1441324800, value: 1.27 },
- // { timestamp: 1441411200, value: 1.37 },
- // { timestamp: 1441497600, value: 1.3 },
- // { timestamp: 1441584000, value: 1.24 },
- // { timestamp: 1441670400, value: 1.23 },
- // { timestamp: 1441756800, value: 1.21 },
- // { timestamp: 1441843200, value: 1.16 },
- // { timestamp: 1441929600, value: 0.98 },
- // { timestamp: 1442016000, value: 1.04 },
- // { timestamp: 1442102400, value: 0.94 },
- // { timestamp: 1442188800, value: 0.87 },
- // { timestamp: 1442275200, value: 0.94 },
- // { timestamp: 1442361600, value: 0.9 },
- // { timestamp: 1442448000, value: 0.89 },
- // { timestamp: 1442534400, value: 0.85 },
- // { timestamp: 1442620800, value: 0.89 },
- // { timestamp: 1442707200, value: 0.94 },
- // { timestamp: 1442793600, value: 0.9 },
- // { timestamp: 1442880000, value: 0.9 },
- // { timestamp: 1442966400, value: 0.9 },
- // { timestamp: 1443052800, value: 0.81 },
- // { timestamp: 1443139200, value: 0.74 },
- // { timestamp: 1443225600, value: 0.78 },
- // { timestamp: 1443312000, value: 0.72 },
- // { timestamp: 1443398400, value: 0.59 },
- // { timestamp: 1443484800, value: 0.68 },
- // { timestamp: 1443571200, value: 0.72 },
- // { timestamp: 1443657600, value: 0.68 },
- // { timestamp: 1443744000, value: 0.68 },
- // { timestamp: 1443830400, value: 0.69 },
- // { timestamp: 1443916800, value: 0.67 },
- // { timestamp: 1444003200, value: 0.63 },
- // { timestamp: 1444089600, value: 0.66 },
- // { timestamp: 1444176000, value: 0.61 },
- // { timestamp: 1444262400, value: 0.62 },
- // { timestamp: 1444348800, value: 0.65 },
- // { timestamp: 1444435200, value: 0.63 },
- // { timestamp: 1444521600, value: 0.63 },
- // { timestamp: 1444608000, value: 0.63 },
- // { timestamp: 1444694400, value: 0.6 },
- // { timestamp: 1444780800, value: 0.51 },
- // { timestamp: 1444867200, value: 0.56 },
- // { timestamp: 1444953600, value: 0.53 },
- // { timestamp: 1445040000, value: 0.55 },
- // { timestamp: 1445126400, value: 0.52 },
- // { timestamp: 1445212800, value: 0.49 },
- // { timestamp: 1445299200, value: 0.44 },
- // { timestamp: 1445385600, value: 0.44 },
- // { timestamp: 1445472000, value: 0.59 },
- // { timestamp: 1445558400, value: 0.52 },
- // { timestamp: 1445644800, value: 0.57 },
- // { timestamp: 1445731200, value: 0.65 },
- // { timestamp: 1445817600, value: 0.74 },
- // { timestamp: 1445904000, value: 0.87 },
- // { timestamp: 1445990400, value: 1.01 },
- // { timestamp: 1446076800, value: 1.16 },
- // { timestamp: 1446163200, value: 1.04 },
- // { timestamp: 1446249600, value: 0.89 },
- // { timestamp: 1446336000, value: 1.05 },
- // { timestamp: 1446422400, value: 0.96 },
- // { timestamp: 1446508800, value: 1 },
- // { timestamp: 1446595200, value: 0.87 },
- // { timestamp: 1446681600, value: 0.89 },
- // { timestamp: 1446768000, value: 0.92 },
- // { timestamp: 1446854400, value: 0.92 },
- // { timestamp: 1446940800, value: 1.02 },
- // { timestamp: 1447027200, value: 1 },
- // { timestamp: 1447113600, value: 0.92 },
- // { timestamp: 1447200000, value: 0.78 },
- // { timestamp: 1447286400, value: 0.89 },
- // { timestamp: 1447372800, value: 0.89 },
- // { timestamp: 1447459200, value: 0.89 },
- // { timestamp: 1447545600, value: 0.9 },
- // { timestamp: 1447632000, value: 0.94 },
- // { timestamp: 1447718400, value: 1 },
- // { timestamp: 1447804800, value: 0.99 },
- // { timestamp: 1447891200, value: 0.95 },
- // { timestamp: 1447977600, value: 0.93 },
- // { timestamp: 1448064000, value: 0.97 },
- // { timestamp: 1448150400, value: 0.96 },
- // { timestamp: 1448236800, value: 0.94 },
- // { timestamp: 1448323200, value: 0.91 },
- // { timestamp: 1448409600, value: 0.86 },
- // { timestamp: 1448496000, value: 0.88 },
- // { timestamp: 1448582400, value: 0.87 },
- // { timestamp: 1448668800, value: 0.91 },
- // { timestamp: 1448755200, value: 0.87 },
- // { timestamp: 1448841600, value: 0.88 },
- // { timestamp: 1448928000, value: 0.87 },
- // { timestamp: 1449014400, value: 0.83 },
- // { timestamp: 1449100800, value: 0.82 },
- // { timestamp: 1449187200, value: 0.84 },
- // { timestamp: 1449273600, value: 0.85 },
- // { timestamp: 1449360000, value: 0.84 },
- // { timestamp: 1449446400, value: 0.8 },
- // { timestamp: 1449532800, value: 0.83 },
- // { timestamp: 1449619200, value: 0.79 },
- // { timestamp: 1449705600, value: 0.84 },
- // { timestamp: 1449792000, value: 0.91 },
- // { timestamp: 1449878400, value: 0.97 },
- // { timestamp: 1449964800, value: 0.96 },
- // { timestamp: 1450051200, value: 0.99 },
- // { timestamp: 1450137600, value: 1.01 },
- // { timestamp: 1450224000, value: 0.99 },
- // { timestamp: 1450310400, value: 0.94 },
- // { timestamp: 1450396800, value: 0.91 },
- // { timestamp: 1450483200, value: 0.9 },
- // { timestamp: 1450569600, value: 0.9 },
- // { timestamp: 1450656000, value: 0.89 },
- // { timestamp: 1450742400, value: 0.87 },
- // { timestamp: 1450828800, value: 0.85 },
- // { timestamp: 1450915200, value: 0.85 },
- // { timestamp: 1451001600, value: 0.87 },
- // { timestamp: 1451088000, value: 0.85 },
- // { timestamp: 1451174400, value: 0.85 },
- // { timestamp: 1451260800, value: 0.84 },
- // { timestamp: 1451347200, value: 0.87 },
- // { timestamp: 1451433600, value: 0.9 },
- // { timestamp: 1451520000, value: 0.93 },
- // { timestamp: 1451606400, value: 0.93 },
- // { timestamp: 1451692800, value: 0.93 },
- // { timestamp: 1451779200, value: 0.97 },
- // { timestamp: 1451865600, value: 0.95 },
- // { timestamp: 1451952000, value: 0.95 },
- // { timestamp: 1452038400, value: 0.96 },
- // { timestamp: 1452124800, value: 0.95 },
- // { timestamp: 1452211200, value: 0.99 },
- // { timestamp: 1452297600, value: 0.99 },
- // { timestamp: 1452384000, value: 0.99 },
- // { timestamp: 1452470400, value: 1.05 },
- // { timestamp: 1452556800, value: 1.23 },
- // { timestamp: 1452643200, value: 1.13 },
- // { timestamp: 1452729600, value: 1.16 },
- // { timestamp: 1452816000, value: 1.22 },
- // { timestamp: 1452902400, value: 1.22 },
- // { timestamp: 1452988800, value: 1.31 },
- // { timestamp: 1453075200, value: 1.47 },
- // { timestamp: 1453161600, value: 1.37 },
- // { timestamp: 1453248000, value: 1.53 },
- // { timestamp: 1453334400, value: 1.54 },
- // { timestamp: 1453420800, value: 1.52 },
- // { timestamp: 1453507200, value: 2.03 },
- // { timestamp: 1453593600, value: 2.1 },
- // { timestamp: 1453680000, value: 2.5 },
- // { timestamp: 1453766400, value: 2.3 },
- // { timestamp: 1453852800, value: 2.42 },
- // { timestamp: 1453939200, value: 2.55 },
- // { timestamp: 1454025600, value: 2.41 },
- // { timestamp: 1454112000, value: 2.43 },
- // { timestamp: 1454198400, value: 2.2 },
- // { timestamp: 1454284800, value: 2.17 },
- // { timestamp: 1454371200, value: 2.45 },
- // { timestamp: 1454457600, value: 2.53 },
- // { timestamp: 1454544000, value: 2.57 },
- // { timestamp: 1454630400, value: 2.57 },
- // { timestamp: 1454716800, value: 2.53 },
- // { timestamp: 1454803200, value: 3 },
- // { timestamp: 1454889600, value: 3.16 },
- // { timestamp: 1454976000, value: 3.76 },
- // { timestamp: 1455062400, value: 4.35 },
- // { timestamp: 1455148800, value: 6.38 },
- // { timestamp: 1455235200, value: 5.27 },
- // { timestamp: 1455321600, value: 5.22 },
- // { timestamp: 1455408000, value: 5.2 },
- // { timestamp: 1455494400, value: 5.22 },
- // { timestamp: 1455580800, value: 4.25 },
- // { timestamp: 1455667200, value: 3.86 },
- // { timestamp: 1455753600, value: 4.36 },
- // { timestamp: 1455840000, value: 4.45 },
- // { timestamp: 1455926400, value: 4.37 },
- // { timestamp: 1456012800, value: 4.63 },
- // { timestamp: 1456099200, value: 5.6 },
- // { timestamp: 1456185600, value: 5.7 },
- // { timestamp: 1456272000, value: 6.23 },
- // { timestamp: 1456358400, value: 5.93 },
- // { timestamp: 1456444800, value: 6.03 },
- // { timestamp: 1456531200, value: 6.31 },
- // { timestamp: 1456617600, value: 6.5 },
- // { timestamp: 1456704000, value: 6.35 },
- // { timestamp: 1456790400, value: 7.59 },
- // { timestamp: 1456876800, value: 8.7 },
- // { timestamp: 1456963200, value: 9.35 },
- // { timestamp: 1457049600, value: 9.96 },
- // { timestamp: 1457136000, value: 11 },
- // { timestamp: 1457222400, value: 10.98 },
- // { timestamp: 1457308800, value: 9.5 },
- // { timestamp: 1457395200, value: 9.88 },
- // { timestamp: 1457481600, value: 11.55 },
- // { timestamp: 1457568000, value: 11.11 },
- // { timestamp: 1457654400, value: 11.25 },
- // { timestamp: 1457740800, value: 13.25 },
- // { timestamp: 1457827200, value: 15 },
- // { timestamp: 1457913600, value: 12.5 },
- // { timestamp: 1458000000, value: 13.09 },
- // { timestamp: 1458086400, value: 12.92 },
- // { timestamp: 1458172800, value: 11.14 },
- // { timestamp: 1458259200, value: 10.75 },
- // { timestamp: 1458345600, value: 10.55 },
- // { timestamp: 1458432000, value: 10.06 },
- // { timestamp: 1458518400, value: 11.97 },
- // { timestamp: 1458604800, value: 10.96 },
- // { timestamp: 1458691200, value: 12.29 },
- // { timestamp: 1458777600, value: 11.13 },
- // { timestamp: 1458864000, value: 10.69 },
- // { timestamp: 1458950400, value: 11 },
- // { timestamp: 1459036800, value: 10.5 },
- // { timestamp: 1459123200, value: 11.58 },
- // { timestamp: 1459209600, value: 11.73 },
- // { timestamp: 1459296000, value: 11.88 },
- // { timestamp: 1459382400, value: 11.41 },
- // { timestamp: 1459468800, value: 11.63 },
- // { timestamp: 1459555200, value: 11.61 },
- // { timestamp: 1459641600, value: 11.58 },
- // { timestamp: 1459728000, value: 11.1 },
- // { timestamp: 1459814400, value: 10.39 },
- // { timestamp: 1459900800, value: 10.79 },
- // { timestamp: 1459987200, value: 10.08 },
- // { timestamp: 1460073600, value: 9.74 },
- // { timestamp: 1460160000, value: 9.16 },
- // { timestamp: 1460246400, value: 8.8 },
- // { timestamp: 1460332800, value: 8.72 },
- // { timestamp: 1460419200, value: 7.54 },
- // { timestamp: 1460505600, value: 8.02 },
- // { timestamp: 1460592000, value: 8.48 },
- // { timestamp: 1460678400, value: 8.22 },
- // { timestamp: 1460764800, value: 8.48 },
- // { timestamp: 1460851200, value: 9.45 },
- // { timestamp: 1460937600, value: 8.92 },
- // { timestamp: 1461024000, value: 8.77 },
- // { timestamp: 1461110400, value: 8.54 },
- // { timestamp: 1461196800, value: 8.16 },
- // { timestamp: 1461283200, value: 7.83 },
- // { timestamp: 1461369600, value: 8.31 },
- // { timestamp: 1461456000, value: 8 },
- // { timestamp: 1461542400, value: 7.43 },
- // { timestamp: 1461628800, value: 7.5 },
- // { timestamp: 1461715200, value: 7.77 },
- // { timestamp: 1461801600, value: 7.3 },
- // { timestamp: 1461888000, value: 7.52 },
- // { timestamp: 1461974400, value: 8.83 },
- // { timestamp: 1462060800, value: 8.76 },
- // { timestamp: 1462147200, value: 10.03 },
- // { timestamp: 1462233600, value: 9.37 },
- // { timestamp: 1462320000, value: 9.43 },
- // { timestamp: 1462406400, value: 9.79 },
- // { timestamp: 1462492800, value: 9.27 },
- // { timestamp: 1462579200, value: 9.3 },
- // { timestamp: 1462665600, value: 9.44 },
- // { timestamp: 1462752000, value: 9.32 },
- // { timestamp: 1462838400, value: 9.39 },
- // { timestamp: 1462924800, value: 9.97 },
- // { timestamp: 1463011200, value: 10.1 },
- // { timestamp: 1463097600, value: 10.48 },
- // { timestamp: 1463184000, value: 10.14 },
- // { timestamp: 1463270400, value: 9.94 },
- // { timestamp: 1463356800, value: 11.04 },
- // { timestamp: 1463443200, value: 12.26 },
- // { timestamp: 1463529600, value: 13.29 },
- // { timestamp: 1463616000, value: 14.49 },
- // { timestamp: 1463702400, value: 13.73 },
- // { timestamp: 1463788800, value: 13.95 },
- // { timestamp: 1463875200, value: 14.21 },
- // { timestamp: 1463961600, value: 13.45 },
- // { timestamp: 1464048000, value: 12.62 },
- // { timestamp: 1464134400, value: 12.53 },
- // { timestamp: 1464220800, value: 12.37 },
- // { timestamp: 1464307200, value: 11.11 },
- // { timestamp: 1464393600, value: 11.56 },
- // { timestamp: 1464480000, value: 12.28 },
- // { timestamp: 1464566400, value: 12.48 },
- // { timestamp: 1464652800, value: 13.85 },
- // { timestamp: 1464739200, value: 13.83 },
- // { timestamp: 1464825600, value: 13.78 },
- // { timestamp: 1464912000, value: 13.78 },
- // { timestamp: 1464998400, value: 13.66 },
- // { timestamp: 1465084800, value: 13.85 },
- // { timestamp: 1465171200, value: 13.96 },
- // { timestamp: 1465257600, value: 14.41 },
- // { timestamp: 1465344000, value: 14.44 },
- // { timestamp: 1465430400, value: 14.49 },
- // { timestamp: 1465516800, value: 13.97 },
- // { timestamp: 1465603200, value: 14.01 },
- // { timestamp: 1465689600, value: 15.57 },
- // { timestamp: 1465776000, value: 17.55 },
- // { timestamp: 1465862400, value: 18.7 },
- // { timestamp: 1465948800, value: 18.3 },
- // { timestamp: 1466035200, value: 20.61 },
- // { timestamp: 1466121600, value: 15.49 },
- // { timestamp: 1466208000, value: 11.36 },
- // { timestamp: 1466294400, value: 12.33 },
- // { timestamp: 1466380800, value: 11.7 },
- // { timestamp: 1466467200, value: 12.71 },
- // { timestamp: 1466553600, value: 13.21 },
- // { timestamp: 1466640000, value: 13.58 },
- // { timestamp: 1466726400, value: 14.25 },
- // { timestamp: 1466812800, value: 14.28 },
- // { timestamp: 1466899200, value: 13.82 },
- // { timestamp: 1466985600, value: 14.04 },
- // { timestamp: 1467072000, value: 12.15 },
- // { timestamp: 1467158400, value: 12.76 },
- // { timestamp: 1467244800, value: 12.4 },
- // { timestamp: 1467331200, value: 12.23 },
- // { timestamp: 1467417600, value: 12.04 },
- // { timestamp: 1467504000, value: 11.85 },
- // { timestamp: 1467590400, value: 11.34 },
- // { timestamp: 1467676800, value: 10.45 },
- // { timestamp: 1467763200, value: 10.51 },
- // { timestamp: 1467849600, value: 10.07 },
- // { timestamp: 1467936000, value: 11.3 },
- // { timestamp: 1468022400, value: 10.92 },
- // { timestamp: 1468108800, value: 10.97 },
- // { timestamp: 1468195200, value: 10.58 },
- // { timestamp: 1468281600, value: 10.54 },
- // { timestamp: 1468368000, value: 10.44 },
- // { timestamp: 1468454400, value: 11.55 },
- // { timestamp: 1468540800, value: 11.88 },
- // { timestamp: 1468627200, value: 11.59 },
- // { timestamp: 1468713600, value: 11.19 },
- // { timestamp: 1468800000, value: 11.03 },
- // { timestamp: 1468886400, value: 11.63 },
- // { timestamp: 1468972800, value: 12.54 },
- // { timestamp: 1469059200, value: 12.66 },
- // { timestamp: 1469145600, value: 14.82 },
- // { timestamp: 1469232000, value: 14.4 },
- // { timestamp: 1469318400, value: 12.63 },
- // { timestamp: 1469404800, value: 13.84 },
- // { timestamp: 1469491200, value: 12.08 },
- // { timestamp: 1469577600, value: 13.05 },
- // { timestamp: 1469664000, value: 12.87 },
- // { timestamp: 1469750400, value: 12.87 },
- // { timestamp: 1469836800, value: 12.57 },
- // { timestamp: 1469923200, value: 11.86 },
- // { timestamp: 1470009600, value: 11.04 },
- // { timestamp: 1470096000, value: 8.3 },
- // { timestamp: 1470182400, value: 10.42 },
- // { timestamp: 1470268800, value: 11.21 },
- // { timestamp: 1470355200, value: 11.05 },
- // { timestamp: 1470441600, value: 10.95 },
- // { timestamp: 1470528000, value: 10.98 },
- // { timestamp: 1470614400, value: 11.29 },
- // { timestamp: 1470700800, value: 12.22 },
- // { timestamp: 1470787200, value: 12.22 },
- // { timestamp: 1470873600, value: 11.68 },
- // { timestamp: 1470960000, value: 11.78 },
- // { timestamp: 1471046400, value: 11.56 },
- // { timestamp: 1471132800, value: 11.21 },
- // { timestamp: 1471219200, value: 11.21 },
- // { timestamp: 1471305600, value: 11.17 },
- // { timestamp: 1471392000, value: 10.77 },
- // { timestamp: 1471478400, value: 10.77 },
- // { timestamp: 1471564800, value: 10.71 },
- // { timestamp: 1471651200, value: 11.28 },
- // { timestamp: 1471737600, value: 11.14 },
- // { timestamp: 1471824000, value: 11.07 },
- // { timestamp: 1471910400, value: 11.01 },
- // { timestamp: 1471996800, value: 11.01 },
- // { timestamp: 1472083200, value: 11.35 },
- // { timestamp: 1472169600, value: 11.26 },
- // { timestamp: 1472256000, value: 11.19 },
- // { timestamp: 1472342400, value: 10.99 },
- // { timestamp: 1472428800, value: 10.95 },
- // { timestamp: 1472515200, value: 11.21 },
- // { timestamp: 1472601600, value: 11.55 },
- // { timestamp: 1472688000, value: 12.21 },
- // { timestamp: 1472774400, value: 12.08 },
- // { timestamp: 1472860800, value: 11.85 },
- // { timestamp: 1472947200, value: 11.71 },
- // { timestamp: 1473033600, value: 11.75 },
- // { timestamp: 1473120000, value: 11.7 },
- // { timestamp: 1473206400, value: 11.59 },
- // { timestamp: 1473292800, value: 11.39 },
- // { timestamp: 1473379200, value: 11.72 },
- // { timestamp: 1473465600, value: 12.05 },
- // { timestamp: 1473552000, value: 11.64 },
- // { timestamp: 1473638400, value: 11.89 },
- // { timestamp: 1473724800, value: 11.92 },
- // { timestamp: 1473811200, value: 11.97 },
- // { timestamp: 1473897600, value: 11.96 },
- // { timestamp: 1473984000, value: 12.61 },
- // { timestamp: 1474070400, value: 12.83 },
- // { timestamp: 1474156800, value: 12.39 },
- // { timestamp: 1474243200, value: 12.93 },
- // { timestamp: 1474329600, value: 14.72 },
- // { timestamp: 1474416000, value: 13.72 },
- // { timestamp: 1474502400, value: 13.11 },
- // { timestamp: 1474588800, value: 13.36 },
- // { timestamp: 1474675200, value: 12.91 },
- // { timestamp: 1474761600, value: 13.05 },
- // { timestamp: 1474848000, value: 12.89 },
- // { timestamp: 1474934400, value: 13.09 },
- // { timestamp: 1475020800, value: 13.3 },
- // { timestamp: 1475107200, value: 13.17 },
- // { timestamp: 1475193600, value: 13.24 },
- // { timestamp: 1475280000, value: 13.21 },
- // { timestamp: 1475366400, value: 13.23 },
- // { timestamp: 1475452800, value: 13.45 },
- // { timestamp: 1475539200, value: 13.32 },
- // { timestamp: 1475625600, value: 13.09 },
- // { timestamp: 1475712000, value: 12.87 },
- // { timestamp: 1475798400, value: 12.68 },
- // { timestamp: 1475884800, value: 12.24 },
- // { timestamp: 1475971200, value: 12.06 },
- // { timestamp: 1476057600, value: 11.74 },
- // { timestamp: 1476144000, value: 11.75 },
- // { timestamp: 1476230400, value: 11.77 },
- // { timestamp: 1476316800, value: 12.02 },
- // { timestamp: 1476403200, value: 11.9 },
- // { timestamp: 1476489600, value: 11.96 },
- // { timestamp: 1476576000, value: 11.93 },
- // { timestamp: 1476662400, value: 11.98 },
- // { timestamp: 1476748800, value: 12.5 },
- // { timestamp: 1476835200, value: 11.98 },
- // { timestamp: 1476921600, value: 12.05 },
- // { timestamp: 1477008000, value: 12.07 },
- // { timestamp: 1477094400, value: 12.06 },
- // { timestamp: 1477180800, value: 11.95 },
- // { timestamp: 1477267200, value: 11.93 },
- // { timestamp: 1477353600, value: 11.38 },
- // { timestamp: 1477440000, value: 11.5 },
- // { timestamp: 1477526400, value: 11.43 },
- // { timestamp: 1477612800, value: 11.08 },
- // { timestamp: 1477699200, value: 10.39 },
- // { timestamp: 1477785600, value: 11.22 },
- // { timestamp: 1477872000, value: 10.91 },
- // { timestamp: 1477958400, value: 10.75 },
- // { timestamp: 1478044800, value: 10.82 },
- // { timestamp: 1478131200, value: 10.86 },
- // { timestamp: 1478217600, value: 11.13 },
- // { timestamp: 1478304000, value: 11.11 },
- // { timestamp: 1478390400, value: 10.97 },
- // { timestamp: 1478476800, value: 10.9 },
- // { timestamp: 1478563200, value: 10.86 },
- // { timestamp: 1478649600, value: 10.64 },
- // { timestamp: 1478736000, value: 10.52 },
- // { timestamp: 1478822400, value: 10.29 },
- // { timestamp: 1478908800, value: 9.96 },
- // { timestamp: 1478995200, value: 10.13 },
- // { timestamp: 1479081600, value: 10 },
- // { timestamp: 1479168000, value: 10.22 },
- // { timestamp: 1479254400, value: 10.01 },
- // { timestamp: 1479340800, value: 9.95 },
- // { timestamp: 1479427200, value: 9.53 },
- // { timestamp: 1479513600, value: 9.7 },
- // { timestamp: 1479600000, value: 9.57 },
- // { timestamp: 1479686400, value: 9.56 },
- // { timestamp: 1479772800, value: 9.84 },
- // { timestamp: 1479859200, value: 9.78 },
- // { timestamp: 1479945600, value: 9.22 },
- // { timestamp: 1480032000, value: 9.39 },
- // { timestamp: 1480118400, value: 9.34 },
- // { timestamp: 1480204800, value: 8.91 },
- // { timestamp: 1480291200, value: 8.67 },
- // { timestamp: 1480377600, value: 8.18 },
- // { timestamp: 1480464000, value: 8.59 },
- // { timestamp: 1480550400, value: 8.44 },
- // { timestamp: 1480636800, value: 7.65 },
- // { timestamp: 1480723200, value: 7.9 },
- // { timestamp: 1480809600, value: 7.54 },
- // { timestamp: 1480896000, value: 6.69 },
- // { timestamp: 1480982400, value: 7.61 },
- // { timestamp: 1481068800, value: 8.35 },
- // { timestamp: 1481155200, value: 8.3 },
- // { timestamp: 1481241600, value: 8.52 },
- // { timestamp: 1481328000, value: 8.09 },
- // { timestamp: 1481414400, value: 8.2 },
- // { timestamp: 1481500800, value: 8.45 },
- // { timestamp: 1481587200, value: 8.4 },
- // { timestamp: 1481673600, value: 8.23 },
- // { timestamp: 1481760000, value: 7.76 },
- // { timestamp: 1481846400, value: 7.85 },
- // { timestamp: 1481932800, value: 7.66 },
- // { timestamp: 1482019200, value: 7.89 },
- // { timestamp: 1482105600, value: 7.61 },
- // { timestamp: 1482192000, value: 7.59 },
- // { timestamp: 1482278400, value: 7.87 },
- // { timestamp: 1482364800, value: 7.64 },
- // { timestamp: 1482451200, value: 7.16 },
- // { timestamp: 1482537600, value: 7.23 },
- // { timestamp: 1482624000, value: 7.19 },
- // { timestamp: 1482710400, value: 7.21 },
- // { timestamp: 1482796800, value: 7.15 },
- // { timestamp: 1482883200, value: 7.57 },
- // { timestamp: 1482969600, value: 8.21 },
- // { timestamp: 1483056000, value: 8.16 },
- // { timestamp: 1483142400, value: 8.05 },
- // { timestamp: 1483228800, value: 8.14 },
- // { timestamp: 1483315200, value: 8.34 },
- // { timestamp: 1483401600, value: 9.6 },
- // { timestamp: 1483488000, value: 10.88 },
- // { timestamp: 1483574400, value: 10.2 },
- // { timestamp: 1483660800, value: 10.07 },
- // { timestamp: 1483747200, value: 9.79 },
- // { timestamp: 1483833600, value: 10.27 },
- // { timestamp: 1483920000, value: 10.2 },
- // { timestamp: 1484006400, value: 10.55 },
- // { timestamp: 1484092800, value: 9.83 },
- // { timestamp: 1484179200, value: 9.81 },
- // { timestamp: 1484265600, value: 9.78 },
- // { timestamp: 1484352000, value: 9.78 },
- // { timestamp: 1484438400, value: 9.88 },
- // { timestamp: 1484524800, value: 9.59 },
- // { timestamp: 1484611200, value: 10.14 },
- // { timestamp: 1484697600, value: 10.19 },
- // { timestamp: 1484784000, value: 10.43 },
- // { timestamp: 1484870400, value: 10.6 },
- // { timestamp: 1484956800, value: 10.91 },
- // { timestamp: 1485043200, value: 10.71 },
- // { timestamp: 1485129600, value: 10.78 },
- // { timestamp: 1485216000, value: 10.51 },
- // { timestamp: 1485302400, value: 10.51 },
- // { timestamp: 1485388800, value: 10.65 },
- // { timestamp: 1485475200, value: 10.51 },
- // { timestamp: 1485561600, value: 10.54 },
- // { timestamp: 1485648000, value: 10.47 },
- // { timestamp: 1485734400, value: 10.62 },
- // { timestamp: 1485820800, value: 10.71 },
- // { timestamp: 1485907200, value: 10.71 },
- // { timestamp: 1485993600, value: 10.78 },
- // { timestamp: 1486080000, value: 10.95 },
- // { timestamp: 1486166400, value: 11.32 },
- // { timestamp: 1486252800, value: 11.22 },
- // { timestamp: 1486339200, value: 11.32 },
- // { timestamp: 1486425600, value: 11.45 },
- // { timestamp: 1486512000, value: 11.39 },
- // { timestamp: 1486598400, value: 10.94 },
- // { timestamp: 1486684800, value: 11.34 },
- // { timestamp: 1486771200, value: 11.43 },
- // { timestamp: 1486857600, value: 11.42 },
- // { timestamp: 1486944000, value: 11.39 },
- // { timestamp: 1487030400, value: 13 },
- // { timestamp: 1487116800, value: 12.97 },
- // { timestamp: 1487203200, value: 12.95 },
- // { timestamp: 1487289600, value: 12.72 },
- // { timestamp: 1487376000, value: 12.83 },
- // { timestamp: 1487462400, value: 12.82 },
- // { timestamp: 1487548800, value: 12.52 },
- // { timestamp: 1487635200, value: 12.77 },
- // { timestamp: 1487721600, value: 12.69 },
- // { timestamp: 1487808000, value: 13.13 },
- // { timestamp: 1487894400, value: 13.11 },
- // { timestamp: 1487980800, value: 13.57 },
- // { timestamp: 1488067200, value: 14.59 },
- // { timestamp: 1488153600, value: 15.55 },
- // { timestamp: 1488240000, value: 16.07 },
- // { timestamp: 1488326400, value: 17.55 },
- // { timestamp: 1488412800, value: 19.08 },
- // { timestamp: 1488499200, value: 19.48 },
- // { timestamp: 1488585600, value: 18.61 },
- // { timestamp: 1488672000, value: 19.22 },
- // { timestamp: 1488758400, value: 19.75 },
- // { timestamp: 1488844800, value: 18.91 },
- // { timestamp: 1488931200, value: 16.54 },
- // { timestamp: 1489017600, value: 17.71 },
- // { timestamp: 1489104000, value: 19.13 },
- // { timestamp: 1489190400, value: 21.45 },
- // { timestamp: 1489276800, value: 23.31 },
- // { timestamp: 1489363200, value: 28.45 },
- // { timestamp: 1489449600, value: 28.58 },
- // { timestamp: 1489536000, value: 35.18 },
- // { timestamp: 1489622400, value: 45.51 },
- // { timestamp: 1489708800, value: 44.48 },
- // { timestamp: 1489795200, value: 34 },
- // { timestamp: 1489881600, value: 43.12 },
- // { timestamp: 1489968000, value: 42.51 },
- // { timestamp: 1490054400, value: 42.67 },
- // { timestamp: 1490140800, value: 41.65 },
- // { timestamp: 1490227200, value: 43.2 },
- // { timestamp: 1490313600, value: 53.19 },
- // { timestamp: 1490400000, value: 50.62 },
- // { timestamp: 1490486400, value: 50.63 },
- // { timestamp: 1490572800, value: 49.06 },
- // { timestamp: 1490659200, value: 50.25 },
- // { timestamp: 1490745600, value: 53.07 },
- // { timestamp: 1490832000, value: 51.91 },
- // { timestamp: 1490918400, value: 49.91 },
- // { timestamp: 1491004800, value: 50.6 },
- // { timestamp: 1491091200, value: 48.55 },
- // { timestamp: 1491177600, value: 44.13 },
- // { timestamp: 1491264000, value: 44.43 },
- // { timestamp: 1491350400, value: 44.9 },
- // { timestamp: 1491436800, value: 43.23 },
- // { timestamp: 1491523200, value: 42.31 },
- // { timestamp: 1491609600, value: 44.37 },
- // { timestamp: 1491696000, value: 43.72 },
- // { timestamp: 1491782400, value: 43.74 },
- // { timestamp: 1491868800, value: 43.74 },
- // { timestamp: 1491955200, value: 46.38 },
- // { timestamp: 1492041600, value: 49.97 },
- // { timestamp: 1492128000, value: 47.32 },
- // { timestamp: 1492214400, value: 48.89 },
- // { timestamp: 1492300800, value: 48.22 },
- // { timestamp: 1492387200, value: 47.94 },
- // { timestamp: 1492473600, value: 49.88 },
- // { timestamp: 1492560000, value: 47.88 },
- // { timestamp: 1492646400, value: 49.36 },
- // { timestamp: 1492732800, value: 48.27 },
- // { timestamp: 1492819200, value: 48.41 },
- // { timestamp: 1492905600, value: 48.75 },
- // { timestamp: 1492992000, value: 49.94 },
- // { timestamp: 1493078400, value: 50.09 },
- // { timestamp: 1493164800, value: 53.28 },
- // { timestamp: 1493251200, value: 63.14 },
- // { timestamp: 1493337600, value: 72.42 },
- // { timestamp: 1493424000, value: 69.83 },
- // { timestamp: 1493510400, value: 79.83 },
- // { timestamp: 1493596800, value: 77.53 },
- // { timestamp: 1493683200, value: 77.25 },
- // { timestamp: 1493769600, value: 80.37 },
- // { timestamp: 1493856000, value: 94.55 },
- // { timestamp: 1493942400, value: 90.79 },
- // { timestamp: 1494028800, value: 94.82 },
- // { timestamp: 1494115200, value: 90.46 },
- // { timestamp: 1494201600, value: 88.39 },
- // { timestamp: 1494288000, value: 86.27 },
- // { timestamp: 1494374400, value: 87.83 },
- // { timestamp: 1494460800, value: 88.2 },
- // { timestamp: 1494547200, value: 85.15 },
- // { timestamp: 1494633600, value: 87.96 },
- // { timestamp: 1494720000, value: 88.72 },
- // { timestamp: 1494806400, value: 90.32 },
- // { timestamp: 1494892800, value: 87.8 },
- // { timestamp: 1494979200, value: 86.98 },
- // { timestamp: 1495065600, value: 95.88 },
- // { timestamp: 1495152000, value: 124.38 },
- // { timestamp: 1495238400, value: 123.06 },
- // { timestamp: 1495324800, value: 148 },
- // { timestamp: 1495411200, value: 160.39 },
- // { timestamp: 1495497600, value: 169.5 },
- // { timestamp: 1495584000, value: 193.03 },
- // { timestamp: 1495670400, value: 177.33 },
- // { timestamp: 1495756800, value: 162.83 },
- // { timestamp: 1495843200, value: 156.63 },
- // { timestamp: 1495929600, value: 172.86 },
- // { timestamp: 1496016000, value: 194.17 },
- // { timestamp: 1496102400, value: 228.58 },
- // { timestamp: 1496188800, value: 228.64 },
- // { timestamp: 1496275200, value: 220.7 },
- // { timestamp: 1496361600, value: 222.04 },
- // { timestamp: 1496448000, value: 224.3 },
- // { timestamp: 1496534400, value: 244.96 },
- // { timestamp: 1496620800, value: 247.75 },
- // { timestamp: 1496707200, value: 264.26 },
- // { timestamp: 1496793600, value: 255.77 },
- // { timestamp: 1496880000, value: 259.41 },
- // { timestamp: 1496966400, value: 279.11 },
- // { timestamp: 1497052800, value: 335.95 },
- // { timestamp: 1497139200, value: 339.68 },
- // { timestamp: 1497225600, value: 394.66 },
- // { timestamp: 1497312000, value: 388.09 },
- // { timestamp: 1497398400, value: 343.84 },
- // { timestamp: 1497484800, value: 344.68 },
- // { timestamp: 1497571200, value: 353.61 },
- // { timestamp: 1497657600, value: 368.1 },
- // { timestamp: 1497744000, value: 351.53 },
- // { timestamp: 1497830400, value: 358.2 },
- // { timestamp: 1497916800, value: 350.53 },
- // { timestamp: 1498003200, value: 325.3 },
- // { timestamp: 1498089600, value: 320.97 },
- // { timestamp: 1498176000, value: 326.85 },
- // { timestamp: 1498262400, value: 304.54 },
- // { timestamp: 1498348800, value: 279.36 },
- // { timestamp: 1498435200, value: 253.68 },
- // { timestamp: 1498521600, value: 286.14 },
- // { timestamp: 1498608000, value: 315.86 },
- // { timestamp: 1498694400, value: 292.9 },
- // { timestamp: 1498780800, value: 280.68 },
- // { timestamp: 1498867200, value: 261 },
- // { timestamp: 1498953600, value: 283.99 },
- // { timestamp: 1499040000, value: 276.41 },
- // { timestamp: 1499126400, value: 269.05 },
- // { timestamp: 1499212800, value: 266 },
- // { timestamp: 1499299200, value: 265.88 },
- // { timestamp: 1499385600, value: 240.94 },
- // { timestamp: 1499472000, value: 245.67 },
- // { timestamp: 1499558400, value: 237.72 },
- // { timestamp: 1499644800, value: 205.76 },
- // { timestamp: 1499731200, value: 190.55 },
- // { timestamp: 1499817600, value: 224.15 },
- // { timestamp: 1499904000, value: 205.41 },
- // { timestamp: 1499990400, value: 197.14 },
- // { timestamp: 1500076800, value: 169.1 },
- // { timestamp: 1500163200, value: 155.42 },
- // { timestamp: 1500249600, value: 189.97 },
- // { timestamp: 1500336000, value: 227.09 },
- // { timestamp: 1500422400, value: 194.41 },
- // { timestamp: 1500508800, value: 226.33 },
- // { timestamp: 1500595200, value: 216.33 },
- // { timestamp: 1500681600, value: 230.47 },
- // { timestamp: 1500768000, value: 228.32 },
- // { timestamp: 1500854400, value: 225.48 },
- // { timestamp: 1500940800, value: 203.59 },
- // { timestamp: 1501027200, value: 202.88 },
- // { timestamp: 1501113600, value: 202.93 },
- // { timestamp: 1501200000, value: 191.21 },
- // { timestamp: 1501286400, value: 206.14 },
- // { timestamp: 1501372800, value: 196.78 },
- // { timestamp: 1501459200, value: 201.33 },
- // { timestamp: 1501545600, value: 225.9 },
- // { timestamp: 1501632000, value: 218.12 },
- // { timestamp: 1501718400, value: 224.39 },
- // { timestamp: 1501804800, value: 220.6 },
- // { timestamp: 1501891200, value: 253.09 },
- // { timestamp: 1501977600, value: 264.56 },
- // { timestamp: 1502064000, value: 269.94 },
- // { timestamp: 1502150400, value: 296.51 },
- // { timestamp: 1502236800, value: 295.28 },
- // { timestamp: 1502323200, value: 298.28 },
- // { timestamp: 1502409600, value: 309.32 },
- // { timestamp: 1502496000, value: 308.02 },
- // { timestamp: 1502582400, value: 296.62 },
- // { timestamp: 1502668800, value: 299.16 },
- // { timestamp: 1502755200, value: 286.52 },
- // { timestamp: 1502841600, value: 301.38 },
- // { timestamp: 1502928000, value: 300.3 },
- // { timestamp: 1503014400, value: 292.62 },
- // { timestamp: 1503100800, value: 293.02 },
- // { timestamp: 1503187200, value: 298.2 },
- // { timestamp: 1503273600, value: 321.85 },
- // { timestamp: 1503360000, value: 313.37 },
- // { timestamp: 1503446400, value: 317.4 },
- // { timestamp: 1503532800, value: 325.28 },
- // { timestamp: 1503619200, value: 330.06 },
- // { timestamp: 1503705600, value: 332.86 },
- // { timestamp: 1503792000, value: 347.88 },
- // { timestamp: 1503878400, value: 347.66 },
- // { timestamp: 1503964800, value: 372.35 },
- // { timestamp: 1504051200, value: 383.86 },
- // { timestamp: 1504137600, value: 388.33 },
- // { timestamp: 1504224000, value: 391.42 },
- // { timestamp: 1504310400, value: 351.03 },
- // { timestamp: 1504396800, value: 352.45 },
- // { timestamp: 1504483200, value: 303.7 },
- // { timestamp: 1504569600, value: 317.94 },
- // { timestamp: 1504656000, value: 338.92 },
- // { timestamp: 1504742400, value: 335.37 },
- // { timestamp: 1504828800, value: 306.72 },
- // { timestamp: 1504915200, value: 303.79 },
- // { timestamp: 1505001600, value: 299.21 },
- // { timestamp: 1505088000, value: 297.95 },
- // { timestamp: 1505174400, value: 294.1 },
- // { timestamp: 1505260800, value: 275.84 },
- // { timestamp: 1505347200, value: 223.14 },
- // { timestamp: 1505433600, value: 259.57 },
- // { timestamp: 1505520000, value: 254.49 },
- // { timestamp: 1505606400, value: 258.4 },
- // { timestamp: 1505692800, value: 297.53 },
- // { timestamp: 1505779200, value: 283 },
- // { timestamp: 1505865600, value: 283.56 },
- // { timestamp: 1505952000, value: 257.77 },
- // { timestamp: 1506038400, value: 262.94 },
- // { timestamp: 1506124800, value: 286.14 },
- // { timestamp: 1506211200, value: 282.6 },
- // { timestamp: 1506297600, value: 294.89 },
- // { timestamp: 1506384000, value: 288.64 },
- // { timestamp: 1506470400, value: 309.97 },
- // { timestamp: 1506556800, value: 302.77 },
- // { timestamp: 1506643200, value: 292.58 },
- // { timestamp: 1506729600, value: 302.77 },
- // { timestamp: 1506816000, value: 303.95 },
- // { timestamp: 1506902400, value: 296.81 },
- // { timestamp: 1506988800, value: 291.81 },
- // { timestamp: 1507075200, value: 291.68 },
- // { timestamp: 1507161600, value: 294.99 },
- // { timestamp: 1507248000, value: 308.33 },
- // { timestamp: 1507334400, value: 311.26 },
- // { timestamp: 1507420800, value: 309.49 },
- // { timestamp: 1507507200, value: 296.95 },
- // { timestamp: 1507593600, value: 298.46 },
- // { timestamp: 1507680000, value: 302.86 },
- // { timestamp: 1507766400, value: 302.89 },
- // { timestamp: 1507852800, value: 336.83 },
- // { timestamp: 1507939200, value: 338.81 },
- // { timestamp: 1508025600, value: 336.58 },
- // { timestamp: 1508112000, value: 334.23 },
- // { timestamp: 1508198400, value: 316.14 },
- // { timestamp: 1508284800, value: 313.54 },
- // { timestamp: 1508371200, value: 307.41 },
- // { timestamp: 1508457600, value: 303.08 },
- // { timestamp: 1508544000, value: 299.55 },
- // { timestamp: 1508630400, value: 294.03 },
- // { timestamp: 1508716800, value: 285.27 },
- // { timestamp: 1508803200, value: 296.5 },
- // { timestamp: 1508889600, value: 296.35 },
- // { timestamp: 1508976000, value: 295.54 },
- // { timestamp: 1509062400, value: 296.36 },
- // { timestamp: 1509148800, value: 293.35 },
- // { timestamp: 1509235200, value: 304.04 },
- // { timestamp: 1509321600, value: 306.8 },
- // { timestamp: 1509408000, value: 303.64 },
- // { timestamp: 1509494400, value: 289.42 },
- // { timestamp: 1509580800, value: 284.92 },
- // { timestamp: 1509667200, value: 304.51 },
- // { timestamp: 1509753600, value: 300.04 },
- // { timestamp: 1509840000, value: 296.23 },
- // { timestamp: 1509926400, value: 296.82 },
- // { timestamp: 1510012800, value: 291.84 },
- // { timestamp: 1510099200, value: 307.35 },
- // { timestamp: 1510185600, value: 319.66 },
- // { timestamp: 1510272000, value: 296.86 },
- // { timestamp: 1510358400, value: 314.23 },
- // { timestamp: 1510444800, value: 306.02 },
- // { timestamp: 1510531200, value: 314.6 },
- // { timestamp: 1510617600, value: 334.72 },
- // { timestamp: 1510704000, value: 331.2 },
- // { timestamp: 1510790400, value: 330.32 },
- // { timestamp: 1510876800, value: 331.72 },
- // { timestamp: 1510963200, value: 346.65 },
- // { timestamp: 1511049600, value: 354.6 },
- // { timestamp: 1511136000, value: 367.71 },
- // { timestamp: 1511222400, value: 360.52 },
- // { timestamp: 1511308800, value: 380.84 },
- // { timestamp: 1511395200, value: 406.57 },
- // { timestamp: 1511481600, value: 470.43 },
- // { timestamp: 1511568000, value: 464.61 },
- // { timestamp: 1511654400, value: 470.54 },
- // { timestamp: 1511740800, value: 475.24 },
- // { timestamp: 1511827200, value: 466.27 },
- // { timestamp: 1511913600, value: 427.42 },
- // { timestamp: 1512000000, value: 434.85 },
- // { timestamp: 1512086400, value: 461.58 },
- // { timestamp: 1512172800, value: 457.96 },
- // { timestamp: 1512259200, value: 462.81 },
- // { timestamp: 1512345600, value: 466.93 },
- // { timestamp: 1512432000, value: 453.96 },
- // { timestamp: 1512518400, value: 422.48 },
- // { timestamp: 1512604800, value: 421.15 },
- // { timestamp: 1512691200, value: 451.74 },
- // { timestamp: 1512777600, value: 472.86 },
- // { timestamp: 1512864000, value: 436.49 },
- // { timestamp: 1512950400, value: 513.29 },
- // { timestamp: 1513036800, value: 656.52 },
- // { timestamp: 1513123200, value: 699.09 },
- // { timestamp: 1513209600, value: 693.58 },
- // { timestamp: 1513296000, value: 684.27 },
- // { timestamp: 1513382400, value: 692.83 },
- // { timestamp: 1513468800, value: 717.71 },
- // { timestamp: 1513555200, value: 785.99 },
- // { timestamp: 1513641600, value: 812.5 },
- // { timestamp: 1513728000, value: 799.17 },
- // { timestamp: 1513814400, value: 789.39 },
- // { timestamp: 1513900800, value: 657.83 },
- // { timestamp: 1513987200, value: 700.44 },
- // { timestamp: 1514073600, value: 675.91 },
- // { timestamp: 1514160000, value: 723.14 },
- // { timestamp: 1514246400, value: 753.4 },
- // { timestamp: 1514332800, value: 739.94 },
- // { timestamp: 1514419200, value: 716.69 },
- // { timestamp: 1514505600, value: 739.6 },
- // { timestamp: 1514592000, value: 692.99 },
- // { timestamp: 1514678400, value: 741.13 },
- // { timestamp: 1514764800, value: 756.2 },
- // { timestamp: 1514851200, value: 861.97 },
- // { timestamp: 1514937600, value: 941.1 },
- // { timestamp: 1515024000, value: 944.83 },
- // { timestamp: 1515110400, value: 967.13 },
- // { timestamp: 1515196800, value: 1006.41 },
- // { timestamp: 1515283200, value: 1117.75 },
- // { timestamp: 1515369600, value: 1136.11 },
- // { timestamp: 1515456000, value: 1289.24 },
- // { timestamp: 1515542400, value: 1248.99 },
- // { timestamp: 1515628800, value: 1139.32 },
- // { timestamp: 1515715200, value: 1261.03 },
- // { timestamp: 1515801600, value: 1385.02 },
- // { timestamp: 1515888000, value: 1359.48 },
- // { timestamp: 1515974400, value: 1278.69 },
- // { timestamp: 1516060800, value: 1050.26 },
- // { timestamp: 1516147200, value: 1024.69 },
- // { timestamp: 1516233600, value: 1012.97 },
- // { timestamp: 1516320000, value: 1037.36 },
- // { timestamp: 1516406400, value: 1150.5 },
- // { timestamp: 1516492800, value: 1049.09 },
- // { timestamp: 1516579200, value: 999.64 },
- // { timestamp: 1516665600, value: 984.47 },
- // { timestamp: 1516752000, value: 1061.78 },
- // { timestamp: 1516838400, value: 1046.37 },
- // { timestamp: 1516924800, value: 1048.58 },
- // { timestamp: 1517011200, value: 1109.08 },
- // { timestamp: 1517097600, value: 1231.58 },
- // { timestamp: 1517184000, value: 1169.96 },
- // { timestamp: 1517270400, value: 1063.75 },
- // { timestamp: 1517356800, value: 1111.31 },
- // { timestamp: 1517443200, value: 1026.19 },
- // { timestamp: 1517529600, value: 917.47 },
- // { timestamp: 1517616000, value: 970.87 },
- // { timestamp: 1517702400, value: 827.59 },
- // { timestamp: 1517788800, value: 695.08 },
- // { timestamp: 1517875200, value: 785.01 },
- // { timestamp: 1517961600, value: 751.81 },
- // { timestamp: 1518048000, value: 813.55 },
- // { timestamp: 1518134400, value: 877.88 },
- // { timestamp: 1518220800, value: 850.75 },
- // { timestamp: 1518307200, value: 811.24 },
- // { timestamp: 1518393600, value: 865.27 },
- // { timestamp: 1518480000, value: 840.98 },
- // { timestamp: 1518566400, value: 920.11 },
- // { timestamp: 1518652800, value: 927.95 },
- // { timestamp: 1518739200, value: 938.02 },
- // { timestamp: 1518825600, value: 974.77 },
- // { timestamp: 1518912000, value: 913.9 },
- // { timestamp: 1518998400, value: 939.79 },
- // { timestamp: 1519084800, value: 885.52 },
- // { timestamp: 1519171200, value: 840.1 },
- // { timestamp: 1519257600, value: 804.63 },
- // { timestamp: 1519344000, value: 854.7 },
- // { timestamp: 1519430400, value: 833.49 },
- // { timestamp: 1519516800, value: 840.28 },
- // { timestamp: 1519603200, value: 867.62 },
{ timestamp: 1519689600, value: 871.58 },
{ timestamp: 1519776000, value: 851.5 },
{ timestamp: 1519862400, value: 869.87 },
@@ -3023,107 +2080,364 @@ export default [
{ timestamp: 1555804800, value: 170.3 },
{ timestamp: 1555891200, value: 171.9 },
{ timestamp: 1555977600, value: 170.66 },
- // { timestamp: 1556064000, value: 166.05 },
- // { timestamp: 1556150400, value: 152.99 },
- // { timestamp: 1556236800, value: 156.45 },
- // { timestamp: 1556323200, value: 158.36 },
- // { timestamp: 1556409600, value: 158.05 },
- // { timestamp: 1556496000, value: 156.69 },
- // { timestamp: 1556582400, value: 164.39 },
- // { timestamp: 1556668800, value: 161.42 },
- // { timestamp: 1556755200, value: 161.29 },
- // { timestamp: 1556841600, value: 168.24 },
- // { timestamp: 1556928000, value: 163.61 },
- // { timestamp: 1557014400, value: 163.94 },
- // { timestamp: 1557100800, value: 173.7 },
- // { timestamp: 1557187200, value: 168.59 },
- // { timestamp: 1557273600, value: 171.42 },
- // { timestamp: 1557360000, value: 170.86 },
- // { timestamp: 1557446400, value: 172.5 },
- // { timestamp: 1557532800, value: 192.44 },
- // { timestamp: 1557619200, value: 188.14 },
- // { timestamp: 1557705600, value: 195.83 },
- // { timestamp: 1557792000, value: 217.16 },
- // { timestamp: 1557878400, value: 248.64 },
- // { timestamp: 1557964800, value: 264.47 },
- // { timestamp: 1558051200, value: 244.84 },
- // { timestamp: 1558137600, value: 233.96 },
- // { timestamp: 1558224000, value: 260.9 },
- // { timestamp: 1558310400, value: 252.1 },
- // { timestamp: 1558396800, value: 254.94 },
- // { timestamp: 1558483200, value: 243.46 },
- // { timestamp: 1558569600, value: 245.6 },
- // { timestamp: 1558656000, value: 249.61 },
- // { timestamp: 1558742400, value: 251.49 },
- // { timestamp: 1558828800, value: 268.26 },
- // { timestamp: 1558915200, value: 271.83 },
- // { timestamp: 1559001600, value: 271.45 },
- // { timestamp: 1559088000, value: 269.6 },
- // { timestamp: 1559174400, value: 254.45 },
- // { timestamp: 1559260800, value: 267.42 },
- // { timestamp: 1559347200, value: 264.71 },
- // { timestamp: 1559433600, value: 269.31 },
- // { timestamp: 1559520000, value: 249.61 },
- // { timestamp: 1559606400, value: 241.1 },
- // { timestamp: 1559692800, value: 246.16 },
- // { timestamp: 1559779200, value: 249.43 },
- // { timestamp: 1559865600, value: 249.54 },
- // { timestamp: 1559952000, value: 244.4 },
- // { timestamp: 1560038400, value: 231.43 },
- // { timestamp: 1560124800, value: 247.96 },
- // { timestamp: 1560211200, value: 245.16 },
- // { timestamp: 1560297600, value: 263.05 },
- // { timestamp: 1560384000, value: 255.09 },
- // { timestamp: 1560470400, value: 263.76 },
- // { timestamp: 1560556800, value: 269.22 },
- // { timestamp: 1560643200, value: 268.53 },
- // { timestamp: 1560729600, value: 273.92 },
- // { timestamp: 1560816000, value: 264.51 },
- // { timestamp: 1560902400, value: 269.01 },
- // { timestamp: 1560988800, value: 272.21 },
- // { timestamp: 1561075200, value: 296.03 },
- // { timestamp: 1561161600, value: 309.41 },
- // { timestamp: 1561248000, value: 307.37 },
- // { timestamp: 1561334400, value: 311.22 },
- // { timestamp: 1561420800, value: 316.53 },
- // { timestamp: 1561507200, value: 333.76 },
- // { timestamp: 1561593600, value: 294.07 },
- // { timestamp: 1561680000, value: 309.37 },
- // { timestamp: 1561766400, value: 317.32 },
- // { timestamp: 1561852800, value: 290.15 },
- // { timestamp: 1561939200, value: 294.17 },
- // { timestamp: 1562025600, value: 291.61 },
- // { timestamp: 1562112000, value: 302.17 },
- // { timestamp: 1562198400, value: 283.1 },
- // { timestamp: 1562284800, value: 287.9 },
- // { timestamp: 1562371200, value: 287.98 },
- // { timestamp: 1562457600, value: 306.43 },
- // { timestamp: 1562544000, value: 313.34 },
- // { timestamp: 1562630400, value: 307.89 },
- // { timestamp: 1562716800, value: 288.64 },
- // { timestamp: 1562803200, value: 268.56 },
- // { timestamp: 1562889600, value: 275.41 },
- // { timestamp: 1562976000, value: 268.94 },
- // { timestamp: 1563062400, value: 226.16 },
- // { timestamp: 1563148800, value: 228.14 },
- // { timestamp: 1563235200, value: 198.71 },
- // { timestamp: 1563321600, value: 211.29 },
- // { timestamp: 1563408000, value: 226.09 },
- // { timestamp: 1563494400, value: 221.28 },
- // { timestamp: 1563580800, value: 228.71 },
- // { timestamp: 1563667200, value: 225.4 },
- // { timestamp: 1563753600, value: 217.22 },
- // { timestamp: 1563840000, value: 212.21 },
- // { timestamp: 1563926400, value: 216.66 },
- // { timestamp: 1564012800, value: 219.41 },
- // { timestamp: 1564099200, value: 219.23 },
- // { timestamp: 1564185600, value: 219.85 },
- // { timestamp: 1564272000, value: 211.15 },
- // { timestamp: 1564358400, value: 211.52 },
- // { timestamp: 1564444800, value: 209.82 },
- // { timestamp: 1564531200, value: 218.7 },
- // { timestamp: 1564617600, value: 217.51 },
- // { timestamp: 1564704000, value: 217.7 },
- // { timestamp: 1564790400, value: 217.73 },
- // { timestamp: 1564876800, value: 221.72 },
+];
+
+export const dataColored1 = [
+ { timestamp: 1451865600, value: 0.95 },
+ { timestamp: 1451952000, value: 0.95 },
+ { timestamp: 1452038400, value: 0.96 },
+ { timestamp: 1452124800, value: 0.95 },
+ { timestamp: 1452211200, value: 0.99 },
+ { timestamp: 1452297600, value: 0.99 },
+ { timestamp: 1452384000, value: 0.99 },
+ { timestamp: 1452470400, value: 1.05 },
+ { timestamp: 1452556800, value: 1.23 },
+ { timestamp: 1452643200, value: 1.13 },
+ { timestamp: 1452729600, value: 1.16 },
+ { timestamp: 1452816000, value: 1.22 },
+ { timestamp: 1452902400, value: 1.22 },
+ { timestamp: 1452988800, value: 1.31 },
+ { timestamp: 1453075200, value: 1.47 },
+ { timestamp: 1453161600, value: 1.37 },
+ { timestamp: 1453248000, value: 1.53 },
+ { timestamp: 1453334400, value: 1.54 },
+ { timestamp: 1453420800, value: 1.52 },
+ { timestamp: 1453507200, value: 2.03 },
+ { timestamp: 1453593600, value: 2.1 },
+ { timestamp: 1453680000, value: 2.5 },
+ { timestamp: 1453766400, value: 2.3 },
+ { timestamp: 1453852800, value: 2.42 },
+ { timestamp: 1453939200, value: 2.55 },
+ { timestamp: 1454025600, value: 2.41 },
+ { timestamp: 1454112000, value: 2.43 },
+ { timestamp: 1454198400, value: 2.2 },
+ { timestamp: 1454284800, value: 2.17 },
+ { timestamp: 1454371200, value: 2.45 },
+ { timestamp: 1454457600, value: 2.53 },
+ { timestamp: 1454544000, value: 2.57 },
+ { timestamp: 1454630400, value: 2.57 },
+ { timestamp: 1454716800, value: 2.53 },
+ { timestamp: 1454803200, value: 3 },
+ { timestamp: 1454889600, value: 3.16 },
+ { timestamp: 1454976000, value: 3.76 },
+ { timestamp: 1455062400, value: 4.35 },
+ { timestamp: 1455148800, value: 6.38 },
+ { timestamp: 1455235200, value: 5.27 },
+ { timestamp: 1455321600, value: 5.22 },
+ { timestamp: 1455408000, value: 5.2 },
+ { timestamp: 1455494400, value: 5.22 },
+ { timestamp: 1455580800, value: 4.25 },
+ { timestamp: 1455667200, value: 3.86 },
+ { timestamp: 1455753600, value: 4.36 },
+ { timestamp: 1455840000, value: 4.45 },
+ { timestamp: 1455926400, value: 4.37 },
+ { timestamp: 1456012800, value: 4.63 },
+ { timestamp: 1456099200, value: 5.6 },
+ { timestamp: 1456185600, value: 5.7 },
+ { timestamp: 1456272000, value: 6.23 },
+ { timestamp: 1456358400, value: 5.93 },
+ { timestamp: 1456444800, value: 6.03 },
+ { timestamp: 1456531200, value: 6.31 },
+ { timestamp: 1456617600, value: 6.5 },
+ { timestamp: 1456704000, value: 6.35 },
+ { timestamp: 1456790400, value: 7.59 },
+ { timestamp: 1456876800, value: 8.7 },
+ { timestamp: 1456963200, value: 9.35 },
+ { timestamp: 1457049600, value: 9.96 },
+ { timestamp: 1457136000, value: 11 },
+ { timestamp: 1457222400, value: 10.98 },
+ { timestamp: 1457308800, value: 9.5 },
+ { timestamp: 1457395200, value: 9.88 },
+ { timestamp: 1457481600, value: 11.55 },
+ { timestamp: 1457568000, value: 11.11 },
+ { timestamp: 1457654400, value: 11.25 },
+ { timestamp: 1457740800, value: 13.25 },
+ { timestamp: 1457827200, value: 15 },
+ { timestamp: 1457913600, value: 12.5 },
+ { timestamp: 1458000000, value: 13.09 },
+ { timestamp: 1458086400, value: 12.92 },
+ { timestamp: 1458172800, value: 11.14 },
+ { timestamp: 1458259200, value: 10.75 },
+ { timestamp: 1458345600, value: 10.55 },
+ { timestamp: 1458432000, value: 10.06 },
+ { timestamp: 1458518400, value: 11.97 },
+ { timestamp: 1458604800, value: 10.96 },
+ { timestamp: 1458691200, value: 12.29 },
+];
+export const dataColored2 = [
+ { timestamp: 1458777600, value: 11.13 },
+ { timestamp: 1458864000, value: 10.69 },
+ { timestamp: 1458950400, value: 11 },
+ { timestamp: 1459036800, value: 10.5 },
+ { timestamp: 1459123200, value: 11.58 },
+ { timestamp: 1459209600, value: 11.73 },
+ { timestamp: 1459296000, value: 11.88 },
+ { timestamp: 1459382400, value: 11.41 },
+ { timestamp: 1459468800, value: 11.63 },
+ { timestamp: 1459555200, value: 11.61 },
+ { timestamp: 1459641600, value: 11.58 },
+ { timestamp: 1459728000, value: 11.1 },
+ { timestamp: 1459814400, value: 10.39 },
+ { timestamp: 1459900800, value: 10.79 },
+ { timestamp: 1459987200, value: 10.08 },
+ { timestamp: 1460073600, value: 9.74 },
+ { timestamp: 1460160000, value: 9.16 },
+ { timestamp: 1460246400, value: 8.8 },
+ { timestamp: 1460332800, value: 8.72 },
+ { timestamp: 1460419200, value: 7.54 },
+ { timestamp: 1460505600, value: 8.02 },
+ { timestamp: 1460592000, value: 8.48 },
+ { timestamp: 1460678400, value: 8.22 },
+ { timestamp: 1460764800, value: 8.48 },
+ { timestamp: 1460851200, value: 9.45 },
+ { timestamp: 1460937600, value: 8.92 },
+ { timestamp: 1461024000, value: 8.77 },
+ { timestamp: 1461110400, value: 8.54 },
+ { timestamp: 1461196800, value: 8.16 },
+ { timestamp: 1461283200, value: 7.83 },
+ { timestamp: 1461369600, value: 8.31 },
+ { timestamp: 1461456000, value: 8 },
+ { timestamp: 1461542400, value: 7.43 },
+ { timestamp: 1461628800, value: 7.5 },
+ { timestamp: 1461715200, value: 7.77 },
+ { timestamp: 1461801600, value: 7.3 },
+ { timestamp: 1461888000, value: 7.52 },
+ { timestamp: 1461974400, value: 8.83 },
+ { timestamp: 1462060800, value: 8.76 },
+ { timestamp: 1462147200, value: 10.03 },
+ { timestamp: 1462233600, value: 9.37 },
+ { timestamp: 1462320000, value: 9.43 },
+ { timestamp: 1462406400, value: 9.79 },
+ { timestamp: 1462492800, value: 9.27 },
+ { timestamp: 1462579200, value: 9.3 },
+ { timestamp: 1462665600, value: 9.44 },
+ { timestamp: 1462752000, value: 9.32 },
+ { timestamp: 1462838400, value: 9.39 },
+ { timestamp: 1462924800, value: 9.97 },
+ { timestamp: 1463011200, value: 10.1 },
+ { timestamp: 1463097600, value: 10.48 },
+ { timestamp: 1463184000, value: 10.14 },
+ { timestamp: 1463270400, value: 9.94 },
+ { timestamp: 1463356800, value: 11.04 },
+ { timestamp: 1463443200, value: 12.26 },
+ { timestamp: 1463529600, value: 13.29 },
+ { timestamp: 1463616000, value: 14.49 },
+ { timestamp: 1463702400, value: 13.73 },
+ { timestamp: 1463788800, value: 13.95 },
+ { timestamp: 1463875200, value: 14.21 },
+ { timestamp: 1463961600, value: 13.45 },
+ { timestamp: 1464048000, value: 12.62 },
+ { timestamp: 1464134400, value: 12.53 },
+ { timestamp: 1464220800, value: 12.37 },
+ { timestamp: 1464307200, value: 11.11 },
+ { timestamp: 1464393600, value: 11.56 },
+ { timestamp: 1464480000, value: 12.28 },
+ { timestamp: 1464566400, value: 12.48 },
+ { timestamp: 1464652800, value: 13.85 },
+ { timestamp: 1464739200, value: 13.83 },
+ { timestamp: 1464825600, value: 13.78 },
+ { timestamp: 1464912000, value: 13.78 },
+ { timestamp: 1464998400, value: 13.66 },
+ { timestamp: 1465084800, value: 13.85 },
+ { timestamp: 1465171200, value: 13.96 },
+ { timestamp: 1465257600, value: 14.41 },
+ { timestamp: 1465344000, value: 14.44 },
+ { timestamp: 1465430400, value: 14.49 },
+ { timestamp: 1465516800, value: 13.97 },
+ { timestamp: 1465603200, value: 14.01 },
+ { timestamp: 1465689600, value: 15.57 },
+ { timestamp: 1465776000, value: 17.55 },
+ { timestamp: 1465862400, value: 18.7 },
+ { timestamp: 1465948800, value: 18.3 },
+ { timestamp: 1466035200, value: 20.61 },
+ { timestamp: 1466121600, value: 15.49 },
+ { timestamp: 1466208000, value: 11.36 },
+ { timestamp: 1466294400, value: 12.33 },
+ { timestamp: 1466380800, value: 11.7 },
+ { timestamp: 1466467200, value: 12.71 },
+ { timestamp: 1466553600, value: 13.21 },
+ { timestamp: 1466640000, value: 13.58 },
+ { timestamp: 1466726400, value: 14.25 },
+ { timestamp: 1466812800, value: 14.28 },
+ { timestamp: 1466899200, value: 13.82 },
+ { timestamp: 1466985600, value: 14.04 },
+ { timestamp: 1467072000, value: 12.15 },
+ { timestamp: 1467158400, value: 12.76 },
+ { timestamp: 1467244800, value: 12.4 },
+ { timestamp: 1467331200, value: 12.23 },
+ { timestamp: 1467417600, value: 12.04 },
+ { timestamp: 1467504000, value: 11.85 },
+ { timestamp: 1467590400, value: 11.34 },
+ { timestamp: 1467676800, value: 10.45 },
+ { timestamp: 1467763200, value: 10.51 },
+ { timestamp: 1467849600, value: 10.07 },
+ { timestamp: 1467936000, value: 11.3 },
+ { timestamp: 1468022400, value: 10.92 },
+ { timestamp: 1468108800, value: 10.97 },
+ { timestamp: 1468195200, value: 10.58 },
+ { timestamp: 1468281600, value: 10.54 },
+ { timestamp: 1468368000, value: 10.44 },
+ { timestamp: 1468454400, value: 11.55 },
+ { timestamp: 1468540800, value: 11.88 },
+ { timestamp: 1468627200, value: 11.59 },
+ { timestamp: 1468713600, value: 11.19 },
+ { timestamp: 1468800000, value: 11.03 },
+ { timestamp: 1468886400, value: 11.63 },
+ { timestamp: 1468972800, value: 12.54 },
+ { timestamp: 1469059200, value: 12.66 },
+ { timestamp: 1469145600, value: 14.82 },
+ { timestamp: 1469232000, value: 14.4 },
+ { timestamp: 1469318400, value: 12.63 },
+ { timestamp: 1469404800, value: 13.84 },
+ { timestamp: 1469491200, value: 12.08 },
+ { timestamp: 1469577600, value: 13.05 },
+ { timestamp: 1469664000, value: 12.87 },
+ { timestamp: 1469750400, value: 12.87 },
+ { timestamp: 1469836800, value: 12.57 },
+ { timestamp: 1469923200, value: 11.86 },
+ { timestamp: 1470009600, value: 11.04 },
+ { timestamp: 1470096000, value: 8.3 },
+];
+export const dataColored3 = [
+ { timestamp: 1470182400, value: 10.42 },
+ { timestamp: 1470268800, value: 11.21 },
+ { timestamp: 1470355200, value: 11.05 },
+ { timestamp: 1470441600, value: 10.95 },
+ { timestamp: 1470528000, value: 10.98 },
+ { timestamp: 1470614400, value: 11.29 },
+ { timestamp: 1470700800, value: 12.22 },
+ { timestamp: 1470787200, value: 12.22 },
+ { timestamp: 1470873600, value: 11.68 },
+ { timestamp: 1470960000, value: 11.78 },
+ { timestamp: 1471046400, value: 11.56 },
+ { timestamp: 1471132800, value: 11.21 },
+ { timestamp: 1471219200, value: 11.21 },
+ { timestamp: 1471305600, value: 11.17 },
+ { timestamp: 1471392000, value: 10.77 },
+ { timestamp: 1471478400, value: 10.77 },
+ { timestamp: 1471564800, value: 10.71 },
+ { timestamp: 1471651200, value: 11.28 },
+ { timestamp: 1471737600, value: 11.14 },
+ { timestamp: 1471824000, value: 11.07 },
+ { timestamp: 1471910400, value: 11.01 },
+ { timestamp: 1471996800, value: 11.01 },
+ { timestamp: 1472083200, value: 11.35 },
+ { timestamp: 1472169600, value: 11.26 },
+ { timestamp: 1472256000, value: 11.19 },
+ { timestamp: 1472342400, value: 10.99 },
+ { timestamp: 1472428800, value: 10.95 },
+ { timestamp: 1472515200, value: 11.21 },
+ { timestamp: 1472601600, value: 11.55 },
+ { timestamp: 1472688000, value: 12.21 },
+ { timestamp: 1472774400, value: 12.08 },
+ { timestamp: 1472860800, value: 11.85 },
+ { timestamp: 1472947200, value: 11.71 },
+ { timestamp: 1473033600, value: 11.75 },
+ { timestamp: 1473120000, value: 11.7 },
+ { timestamp: 1473206400, value: 11.59 },
+ { timestamp: 1473292800, value: 11.39 },
+ { timestamp: 1473379200, value: 11.72 },
+ { timestamp: 1473465600, value: 12.05 },
+ { timestamp: 1473552000, value: 11.64 },
+ { timestamp: 1473638400, value: 11.89 },
+ { timestamp: 1473724800, value: 11.92 },
+ { timestamp: 1473811200, value: 11.97 },
+ { timestamp: 1473897600, value: 11.96 },
+ { timestamp: 1473984000, value: 12.61 },
+ { timestamp: 1474070400, value: 12.83 },
+ { timestamp: 1474156800, value: 12.39 },
+ { timestamp: 1474243200, value: 12.93 },
+ { timestamp: 1474329600, value: 14.72 },
+ { timestamp: 1474416000, value: 13.72 },
+ { timestamp: 1474502400, value: 13.11 },
+ { timestamp: 1474588800, value: 13.36 },
+ { timestamp: 1474675200, value: 12.91 },
+ { timestamp: 1474761600, value: 13.05 },
+ { timestamp: 1474848000, value: 12.89 },
+ { timestamp: 1474934400, value: 13.09 },
+ { timestamp: 1475020800, value: 13.3 },
+ { timestamp: 1475107200, value: 13.17 },
+ { timestamp: 1475193600, value: 13.24 },
+ { timestamp: 1475280000, value: 13.21 },
+ { timestamp: 1475366400, value: 13.23 },
+ { timestamp: 1475452800, value: 13.45 },
+ { timestamp: 1475539200, value: 13.32 },
+ { timestamp: 1475625600, value: 13.09 },
+ { timestamp: 1475712000, value: 12.87 },
+ { timestamp: 1475798400, value: 12.68 },
+ { timestamp: 1475884800, value: 12.24 },
+ { timestamp: 1475971200, value: 12.06 },
+ { timestamp: 1476057600, value: 11.74 },
+ { timestamp: 1476144000, value: 11.75 },
+ { timestamp: 1476230400, value: 11.77 },
+ { timestamp: 1476316800, value: 12.02 },
+ { timestamp: 1476403200, value: 11.9 },
+ { timestamp: 1476489600, value: 11.96 },
+ { timestamp: 1476576000, value: 11.93 },
+ { timestamp: 1476662400, value: 11.98 },
+ { timestamp: 1476748800, value: 12.5 },
+ { timestamp: 1476835200, value: 11.98 },
+ { timestamp: 1476921600, value: 12.05 },
+ { timestamp: 1477008000, value: 12.07 },
+ { timestamp: 1477094400, value: 12.06 },
+ { timestamp: 1477180800, value: 11.95 },
+ { timestamp: 1477267200, value: 11.93 },
+ { timestamp: 1477353600, value: 11.38 },
+ { timestamp: 1477440000, value: 11.5 },
+ { timestamp: 1477526400, value: 11.43 },
+ { timestamp: 1477612800, value: 11.08 },
+ { timestamp: 1477699200, value: 10.39 },
+ { timestamp: 1477785600, value: 11.22 },
+ { timestamp: 1477872000, value: 10.91 },
+ { timestamp: 1477958400, value: 10.75 },
+ { timestamp: 1478044800, value: 10.82 },
+ { timestamp: 1478131200, value: 10.86 },
+ { timestamp: 1478217600, value: 11.13 },
+ { timestamp: 1478304000, value: 11.11 },
+ { timestamp: 1478390400, value: 10.97 },
+ { timestamp: 1478476800, value: 10.9 },
+ { timestamp: 1478563200, value: 10.86 },
+ { timestamp: 1478649600, value: 10.64 },
+ { timestamp: 1478736000, value: 10.52 },
+ { timestamp: 1478822400, value: 10.29 },
+ { timestamp: 1478908800, value: 9.96 },
+ { timestamp: 1478995200, value: 10.13 },
+ { timestamp: 1479081600, value: 10 },
+ { timestamp: 1479168000, value: 10.22 },
+ { timestamp: 1479254400, value: 10.01 },
+ { timestamp: 1479340800, value: 9.95 },
+ { timestamp: 1479427200, value: 9.53 },
+ { timestamp: 1479513600, value: 9.7 },
+ { timestamp: 1479600000, value: 9.57 },
+ { timestamp: 1479686400, value: 9.56 },
+ { timestamp: 1479772800, value: 9.84 },
+ { timestamp: 1479859200, value: 9.78 },
+ { timestamp: 1479945600, value: 9.22 },
+ { timestamp: 1480032000, value: 9.39 },
+ { timestamp: 1480118400, value: 9.34 },
+ { timestamp: 1480204800, value: 8.91 },
+ { timestamp: 1480291200, value: 8.67 },
+ { timestamp: 1480377600, value: 8.18 },
+ { timestamp: 1480464000, value: 8.59 },
+ { timestamp: 1480550400, value: 8.44 },
+ { timestamp: 1480636800, value: 7.65 },
+ { timestamp: 1480723200, value: 7.9 },
+ { timestamp: 1480809600, value: 7.54 },
+ { timestamp: 1480896000, value: 6.69 },
+ { timestamp: 1480982400, value: 7.61 },
+ { timestamp: 1481068800, value: 8.35 },
+ { timestamp: 1481155200, value: 8.3 },
+ { timestamp: 1481241600, value: 8.52 },
+ { timestamp: 1481328000, value: 8.09 },
+ { timestamp: 1481414400, value: 8.2 },
+ { timestamp: 1481500800, value: 8.45 },
+ { timestamp: 1481587200, value: 8.4 },
+ { timestamp: 1481673600, value: 8.23 },
+ { timestamp: 1481760000, value: 7.76 },
+ { timestamp: 1481846400, value: 7.85 },
+ { timestamp: 1481932800, value: 7.66 },
+ { timestamp: 1482019200, value: 7.89 },
+ { timestamp: 1482105600, value: 7.61 },
+ { timestamp: 1482192000, value: 7.59 },
+ { timestamp: 1482278400, value: 7.87 },
];
diff --git a/src/styles/fonts.js b/src/styles/fonts.js
index 72d97c29fa5..463b436911f 100644
--- a/src/styles/fonts.js
+++ b/src/styles/fonts.js
@@ -6,6 +6,7 @@ font.family = {
SFMono: 'SFMono-Regular',
SFProDisplay: 'SF Pro Display',
SFProText: 'SF Pro Text',
+ SFProRounded: 'SF Pro Rounded',
};
font.letterSpacing = {
diff --git a/src/utils/deviceUtils.js b/src/utils/deviceUtils.js
index c79d9a9197c..8a435363c79 100644
--- a/src/utils/deviceUtils.js
+++ b/src/utils/deviceUtils.js
@@ -4,6 +4,7 @@ const { height, width } = Dimensions.get('window');
const deviceUtils = {};
+deviceUtils.iPhoneXHeight = 812;
deviceUtils.iPhoneXWidth = 375;
deviceUtils.iPhone6Height = 667;
@@ -11,6 +12,8 @@ deviceUtils.isNarrowPhone = width < deviceUtils.iPhoneXWidth;
deviceUtils.isSmallPhone = height <= deviceUtils.iPhone6Height;
deviceUtils.isLargePhone = width >= deviceUtils.iPhoneXWidth;
+deviceUtils.isTallPhone = height >= deviceUtils.iPhoneXHeight;
+
deviceUtils.dimensions = {
height,
width,
diff --git a/yarn.lock b/yarn.lock
index 62c34a5acc3..29858b501c5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9325,10 +9325,10 @@ react-native-store-review@^0.1.5:
resolved "https://registry.yarnpkg.com/react-native-store-review/-/react-native-store-review-0.1.5.tgz#9df69786a137580748e368641698d2104519e4cf"
integrity sha512-vVx7NYaQva3bGU5MdqXn4yEB+o+GPdmjqAuj7PnkepfeCS6Bi3sqniiKoXmKOKDgRTfIobBZjUkHzWeHli1+3A==
-react-native-svg@^11.0.1:
- version "11.0.1"
- resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-11.0.1.tgz#e92e7e9f9cb2604333fd5014fd4edcf62fea6496"
- integrity sha512-XriIwSoe9eTtKyqxpNC6POSOqmXAB9mZQOm5tMoaimEqQOMfzgYrBoF9nY6VPGmaH5dRlWBqnnBf389APiZFcQ==
+react-native-svg@11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-11.0.0.tgz#8ed1abf90d9732c07ed316934af9cad659238687"
+ integrity sha512-EoLP14WnD8igJ8Uiw2oiFWrr0LRpl7eGeHetUxODyo08FoIO3cecL4gR8Ooyt5qPULN15KarQbDrQ7MH9MXtkg==
dependencies:
css-select "^2.1.0"
css-tree "^1.0.0-alpha.39"