17
android/.project
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>eSteem</name>
|
||||
<comment>Project android created by Buildship.</comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
2
android/.settings/org.eclipse.buildship.core.prefs
Normal file
@ -0,0 +1,2 @@
|
||||
connection.project.dir=
|
||||
eclipse.preferences.version=1
|
6
android/app/.classpath
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-12/"/>
|
||||
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
|
||||
<classpathentry kind="output" path="bin/default"/>
|
||||
</classpath>
|
23
android/app/.project
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>app</name>
|
||||
<comment>Project app created by Buildship.</comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
2
android/app/.settings/org.eclipse.buildship.core.prefs
Normal file
@ -0,0 +1,2 @@
|
||||
connection.project.dir=..
|
||||
eclipse.preferences.version=1
|
@ -14,7 +14,6 @@
|
||||
android:name=".MainApplication"
|
||||
android:label="@string/app_name"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:allowBackup="false"
|
||||
android:largeHeap="true"
|
||||
android:theme="@style/AppTheme">
|
||||
|
BIN
android/app/src/main/res/mipmap-hdpi-v26/ic_foreground.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
4
android/app/src/main/res/mipmap-hdpi-v26/ic_launcher.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/iconBackground"/>
|
||||
<foreground android:drawable="@mipmap/ic_foreground"/>
|
||||
</adaptive-icon>
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 4.2 KiB |
BIN
android/app/src/main/res/mipmap-ldpi-v26/ic_foreground.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
4
android/app/src/main/res/mipmap-ldpi-v26/ic_launcher.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/iconBackground"/>
|
||||
<foreground android:drawable="@mipmap/ic_foreground"/>
|
||||
</adaptive-icon>
|
BIN
android/app/src/main/res/mipmap-ldpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
android/app/src/main/res/mipmap-mdpi-v26/ic_foreground.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
4
android/app/src/main/res/mipmap-mdpi-v26/ic_launcher.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/iconBackground"/>
|
||||
<foreground android:drawable="@mipmap/ic_foreground"/>
|
||||
</adaptive-icon>
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 2.7 KiB |
BIN
android/app/src/main/res/mipmap-xhdpi-v26/ic_foreground.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
@ -0,0 +1,4 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/iconBackground"/>
|
||||
<foreground android:drawable="@mipmap/ic_foreground"/>
|
||||
</adaptive-icon>
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 5.9 KiB |
BIN
android/app/src/main/res/mipmap-xxhdpi-v26/ic_foreground.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
@ -0,0 +1,4 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/iconBackground"/>
|
||||
<foreground android:drawable="@mipmap/ic_foreground"/>
|
||||
</adaptive-icon>
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 9.5 KiB |
BIN
android/app/src/main/res/mipmap-xxxhdpi-v26/ic_foreground.png
Normal file
After Width: | Height: | Size: 14 KiB |
@ -0,0 +1,4 @@
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/iconBackground"/>
|
||||
<foreground android:drawable="@mipmap/ic_foreground"/>
|
||||
</adaptive-icon>
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 14 KiB |
3
android/app/src/main/res/values/colors-icon.xml
Normal file
@ -0,0 +1,3 @@
|
||||
<resources>
|
||||
<color name ='iconBackground'>#FFFFFF</color>
|
||||
</resources>
|
@ -232,6 +232,8 @@ PODS:
|
||||
- React
|
||||
- react-native-randombytes (3.5.3):
|
||||
- React
|
||||
- react-native-splash-screen (3.2.0):
|
||||
- React
|
||||
- react-native-version-number (0.3.6):
|
||||
- React
|
||||
- react-native-webview (8.0.4):
|
||||
@ -329,6 +331,7 @@ DEPENDENCIES:
|
||||
- react-native-fast-image (from `../node_modules/react-native-fast-image`)
|
||||
- "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
|
||||
- react-native-randombytes (from `../node_modules/react-native-randombytes`)
|
||||
- react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
|
||||
- react-native-version-number (from `../node_modules/react-native-version-number`)
|
||||
- react-native-webview (from `../node_modules/react-native-webview`)
|
||||
- React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
|
||||
@ -418,6 +421,8 @@ EXTERNAL SOURCES:
|
||||
:path: "../node_modules/@react-native-community/netinfo"
|
||||
react-native-randombytes:
|
||||
:path: "../node_modules/react-native-randombytes"
|
||||
react-native-splash-screen:
|
||||
:path: "../node_modules/react-native-splash-screen"
|
||||
react-native-version-number:
|
||||
:path: "../node_modules/react-native-version-number"
|
||||
react-native-webview:
|
||||
@ -496,6 +501,7 @@ SPEC CHECKSUMS:
|
||||
react-native-fast-image: 6d50167ad4d68b59640ceead8c2bc4e58d91d8bd
|
||||
react-native-netinfo: 8884d510fe67349940b4399c01db3e3591c922aa
|
||||
react-native-randombytes: 3638d24759d67c68f6ccba60c52a7a8a8faa6a23
|
||||
react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
|
||||
react-native-version-number: b415bbec6a13f2df62bf978e85bc0d699462f37f
|
||||
react-native-webview: 3f5aa91c3cb083ea4762e006b9653291a96a777a
|
||||
React-RCTActionSheet: 600b4d10e3aea0913b5a92256d2719c0cdd26d76
|
||||
|
@ -5,6 +5,7 @@
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#import "RNSplashScreen.h"
|
||||
#import "AppDelegate.h"
|
||||
#import <AppCenterReactNativeShared/AppCenterReactNativeShared.h>
|
||||
#import <AppCenterReactNative.h>
|
||||
@ -46,6 +47,7 @@
|
||||
rootViewController.view = rootView;
|
||||
self.window.rootViewController = rootViewController;
|
||||
[self.window makeKeyAndVisible];
|
||||
[RNSplashScreen show];
|
||||
return YES;
|
||||
}
|
||||
|
||||
|
@ -1,64 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<device id="retina5_5" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<customFonts key="customFonts">
|
||||
<array key="Sansation_Bold.ttf">
|
||||
<string>Sansation-Bold</string>
|
||||
</array>
|
||||
<array key="Sansation_Regular.ttf">
|
||||
<string>Sansation-Regular</string>
|
||||
</array>
|
||||
</customFonts>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="iN0-l3-epB">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="FEV-wU-3FE">
|
||||
<rect key="frame" x="187.66666666666666" y="157.33333333333337" width="104.99999999999997" height="165.66666666666663"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="esteem_logo" translatesAutoresizingMaskIntoConstraints="NO" id="kXG-62-crT">
|
||||
<rect key="frame" x="0.0" y="0.0" width="105" height="105"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="105" id="gOA-FQ-dNU"/>
|
||||
<constraint firstAttribute="height" constant="105" id="kAL-Mu-NGe"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="eSteem" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="E9T-az-rxY">
|
||||
<rect key="frame" x="0.0" y="104.99999999999997" width="105" height="33.666666666666657"/>
|
||||
<fontDescription key="fontDescription" name="Sansation-Bold" family="Sansation" pointSize="30"/>
|
||||
<color key="textColor" red="0.0" green="0.31764705879999999" blue="0.61176470589999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="mobile" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
|
||||
<rect key="frame" x="0.0" y="138.66666666666666" width="105" height="27"/>
|
||||
<fontDescription key="fontDescription" name="Sansation-Regular" family="Sansation" pointSize="24"/>
|
||||
<color key="textColor" red="0.0" green="0.31764705882352939" blue="0.61176470588235299" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="SplashImage" translatesAutoresizingMaskIntoConstraints="NO" id="mLz-pt-VGN">
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="FEV-wU-3FE" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="U1c-hs-Arn"/>
|
||||
<constraint firstItem="FEV-wU-3FE" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="yTH-sp-aji"/>
|
||||
<constraint firstAttribute="bottom" secondItem="mLz-pt-VGN" secondAttribute="bottom" constant="0" id="KJO-J3-fkg"/>
|
||||
<constraint firstAttribute="trailing" secondItem="mLz-pt-VGN" secondAttribute="trailing" constant="0" id="eqZ-Y5-FHH"/>
|
||||
<constraint firstItem="mLz-pt-VGN" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="0" id="hVh-5q-gdE"/>
|
||||
<constraint firstItem="mLz-pt-VGN" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="0" id="ofG-hz-s61"/>
|
||||
</constraints>
|
||||
<nil key="simulatedStatusBarMetrics"/>
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="86.956521739130437" y="1.6304347826086958"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="esteem_logo" width="420" height="420"/>
|
||||
<image name="SplashImage"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
208
ios/eSteem/Images.xcassets/AppIcon.appiconset/Contents.json
Executable file → Normal file
@ -1,158 +1,158 @@
|
||||
{
|
||||
"images" : [
|
||||
"images": [
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-20@2x.png",
|
||||
"scale" : "2x"
|
||||
"size": "20x20",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-20@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-20@3x.png",
|
||||
"scale" : "3x"
|
||||
"size": "20x20",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-20@3x.png",
|
||||
"scale": "3x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-29@1x.png",
|
||||
"scale" : "1x"
|
||||
"size": "29x29",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-29@1x.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-29@2x.png",
|
||||
"scale" : "2x"
|
||||
"size": "29x29",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-29@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-29@3x.png",
|
||||
"scale" : "3x"
|
||||
"size": "29x29",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-29@3x.png",
|
||||
"scale": "3x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-40@2x.png",
|
||||
"scale" : "2x"
|
||||
"size": "40x40",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-40@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-40@3x.png",
|
||||
"scale" : "3x"
|
||||
"size": "40x40",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-40@3x.png",
|
||||
"scale": "3x"
|
||||
},
|
||||
{
|
||||
"size" : "57x57",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-57@1x.png",
|
||||
"scale" : "1x"
|
||||
"size": "57x57",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-57@1x.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size" : "57x57",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-57@2x.png",
|
||||
"scale" : "2x"
|
||||
"size": "57x57",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-57@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size" : "60x60",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-60@2x.png",
|
||||
"scale" : "2x"
|
||||
"size": "60x60",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-60@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size" : "60x60",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-60@3x.png",
|
||||
"scale" : "3x"
|
||||
"size": "60x60",
|
||||
"idiom": "iphone",
|
||||
"filename": "icon-60@3x.png",
|
||||
"scale": "3x"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-20@1x.png",
|
||||
"scale" : "1x"
|
||||
"size": "20x20",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-20@1x.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-20@2x.png",
|
||||
"scale" : "2x"
|
||||
"size": "20x20",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-20@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-29@1x.png",
|
||||
"scale" : "1x"
|
||||
"size": "29x29",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-29@1x.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-29@2x.png",
|
||||
"scale" : "2x"
|
||||
"size": "29x29",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-29@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-40@1x.png",
|
||||
"scale" : "1x"
|
||||
"size": "40x40",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-40@1x.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-40@2x.png",
|
||||
"scale" : "2x"
|
||||
"size": "40x40",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-40@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size" : "50x50",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-50@1x.png",
|
||||
"scale" : "1x"
|
||||
"size": "50x50",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-50@1x.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size" : "50x50",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-50@2x.png",
|
||||
"scale" : "2x"
|
||||
"size": "50x50",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-50@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size" : "72x72",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-72@1x.png",
|
||||
"scale" : "1x"
|
||||
"size": "72x72",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-72@1x.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size" : "72x72",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-72@2x.png",
|
||||
"scale" : "2x"
|
||||
"size": "72x72",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-72@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-76@1x.png",
|
||||
"scale" : "1x"
|
||||
"size": "76x76",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-76@1x.png",
|
||||
"scale": "1x"
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-76@2x.png",
|
||||
"scale" : "2x"
|
||||
"size": "76x76",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-76@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size" : "83.5x83.5",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-83.5@2x.png",
|
||||
"scale" : "2x"
|
||||
"size": "83.5x83.5",
|
||||
"idiom": "ipad",
|
||||
"filename": "icon-83.5@2x.png",
|
||||
"scale": "2x"
|
||||
},
|
||||
{
|
||||
"size" : "1024x1024",
|
||||
"idiom" : "ios-marketing",
|
||||
"filename" : "icon-1024@1x.png",
|
||||
"scale" : "1x"
|
||||
"size": "1024x1024",
|
||||
"idiom": "ios-marketing",
|
||||
"filename": "icon-1024@1x.png",
|
||||
"scale": "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
"info": {
|
||||
"version": 1,
|
||||
"author": "xcode"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 139 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 897 B |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 12 KiB |
23
ios/eSteem/Images.xcassets/SplashImage.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "splash@1x.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "splash@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "splash@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
ios/eSteem/Images.xcassets/SplashImage.imageset/splash@1x.png
vendored
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
ios/eSteem/Images.xcassets/SplashImage.imageset/splash@2x.png
vendored
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
ios/eSteem/Images.xcassets/SplashImage.imageset/splash@3x.png
vendored
Normal file
After Width: | Height: | Size: 249 KiB |
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "eSteem",
|
||||
"name": "Esteem",
|
||||
"version": "2.2.5",
|
||||
"private": true,
|
||||
"rnpm": {
|
||||
@ -30,6 +30,7 @@
|
||||
"@esteemapp/react-native-multi-slider": "^1.1.0",
|
||||
"@esteemapp/react-native-render-html": "^4.1.5",
|
||||
"@esteemapp/react-native-slider": "^0.12.0",
|
||||
"@hivechain/dsteem": "^0.12.12",
|
||||
"@react-native-community/async-storage": "^1.7.1",
|
||||
"@react-native-community/cameraroll": "^1.3.0",
|
||||
"@react-native-community/netinfo": "^5.3.3",
|
||||
@ -46,7 +47,7 @@
|
||||
"crypto-js": "^3.1.9-1",
|
||||
"currency-symbol-map": "^4.0.4",
|
||||
"diff-match-patch": "^1.0.4",
|
||||
"dsteem": "esteemapp/dsteem",
|
||||
"hivesigner": "^3.1.3",
|
||||
"intl": "^1.2.5",
|
||||
"jsc-android": "^241213.1.0",
|
||||
"lodash": "^4.17.13",
|
||||
@ -78,6 +79,7 @@
|
||||
"react-native-reanimated": "^1.3.0",
|
||||
"react-native-scrollable-tab-view": "esteemapp/react-native-scrollable-tab-view",
|
||||
"react-native-snap-carousel": "^3.8.0",
|
||||
"react-native-splash-screen": "^3.2.0",
|
||||
"react-native-svg": "^9.5.3",
|
||||
"react-native-swiper": "^1.6.0-rc.3",
|
||||
"react-native-vector-icons": "^6.6.0",
|
||||
@ -106,6 +108,7 @@
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.6.2",
|
||||
"@babel/runtime": "^7.6.2",
|
||||
"@bam.tech/react-native-make": "^2.0.0",
|
||||
"@react-native-community/eslint-config": "^0.0.5",
|
||||
"babel-eslint": "^10.0.1",
|
||||
"babel-jest": "^24.9.0",
|
||||
|
BIN
resources/icon.jpg
Normal file
After Width: | Height: | Size: 218 KiB |
BIN
resources/icon_android.jpg
Normal file
After Width: | Height: | Size: 214 KiB |
BIN
resources/splash.jpg
Normal file
After Width: | Height: | Size: 358 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 926 B After Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 9.8 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 51 KiB |
BIN
src/assets/steem_connect.png
Executable file → Normal file
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 921 B After Width: | Height: | Size: 5.9 KiB |
@ -1,7 +1,7 @@
|
||||
import React, { PureComponent, Fragment } from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import { withNavigation } from 'react-navigation';
|
||||
import { Share } from 'react-native';
|
||||
import { Share, Alert } from 'react-native';
|
||||
import ActionSheet from 'react-native-actionsheet';
|
||||
import { injectIntl } from 'react-intl';
|
||||
import get from 'lodash/get';
|
||||
@ -154,7 +154,8 @@ class PostDropdownContainer extends PureComponent {
|
||||
);
|
||||
})
|
||||
.catch(error => {
|
||||
if (String(get(error, 'jse_shortmsg', '')).indexOf('has already reblogged')) {
|
||||
console.log(error);
|
||||
if (String(get(error, 'jse_shortmsg', '')).indexOf('has already reblogged') > -1) {
|
||||
dispatch(
|
||||
toastNotification(
|
||||
intl.formatMessage({
|
||||
@ -163,7 +164,29 @@ class PostDropdownContainer extends PureComponent {
|
||||
),
|
||||
);
|
||||
} else {
|
||||
dispatch(toastNotification(intl.formatMessage({ id: 'alert.fail' })));
|
||||
if (error && error.error_description.split(':')[1].includes('wait to transact')) {
|
||||
//when RC is not enough, offer boosting account
|
||||
Alert.alert(
|
||||
intl.formatMessage({
|
||||
id: 'alert.fail',
|
||||
}),
|
||||
intl.formatMessage({
|
||||
id: 'alert.rc_down',
|
||||
}),
|
||||
[
|
||||
{
|
||||
text: 'Cancel',
|
||||
onPress: () => console.log('Cancel Pressed'),
|
||||
style: 'cancel',
|
||||
},
|
||||
{ text: 'OK', onPress: () => console.log('OK Pressed') },
|
||||
],
|
||||
{ cancelable: false },
|
||||
);
|
||||
} else {
|
||||
//when other errors
|
||||
dispatch(toastNotification(intl.formatMessage({ id: 'alert.fail' })));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -167,7 +167,9 @@ const PostsView = ({
|
||||
setIsLoading(false);
|
||||
return;
|
||||
}
|
||||
setIsLoading(true);
|
||||
if (posts.length > 2) {
|
||||
setIsLoading(true);
|
||||
}
|
||||
|
||||
const filter = type || selectedFilterValue;
|
||||
let options;
|
||||
|
@ -16,7 +16,7 @@ import globalStyles from '../../globalStyles';
|
||||
|
||||
const TransactionView = ({ transactions, type, refreshing, setRefreshing, isLoading }) => {
|
||||
const intl = useIntl();
|
||||
const transaction_types = ['ESTM', 'STEEM', 'SBD', 'SP'];
|
||||
const transaction_types = ['ESTM', 'HIVE', 'HBD', 'HP'];
|
||||
|
||||
const _renderLoading = () => {
|
||||
if (isLoading) {
|
||||
|
@ -98,11 +98,11 @@ class UpvoteContainer extends PureComponent {
|
||||
|
||||
const breakdownPayout =
|
||||
pending_payout_printed_sbd.toFixed(3) +
|
||||
' SBD, ' +
|
||||
' HBD, ' +
|
||||
pending_payout_printed_steem.toFixed(3) +
|
||||
' STEEM, ' +
|
||||
' HIVE, ' +
|
||||
pending_payout_sp.toFixed(3) +
|
||||
' SP';
|
||||
' HP';
|
||||
|
||||
return (
|
||||
<UpvoteView
|
||||
|
@ -69,6 +69,7 @@ class UpvoteView extends Component {
|
||||
handleSetUpvotePercent,
|
||||
permlink,
|
||||
pinCode,
|
||||
intl,
|
||||
} = this.props;
|
||||
const { sliderValue, downvote } = this.state;
|
||||
|
||||
@ -100,11 +101,55 @@ class UpvoteView extends Component {
|
||||
);
|
||||
})
|
||||
.catch(err => {
|
||||
Alert.alert('Failed!', err.message);
|
||||
this.setState({
|
||||
isVoted: false,
|
||||
isVoting: false,
|
||||
});
|
||||
console.log(err);
|
||||
if (
|
||||
err &&
|
||||
err.error_description.split(':')[1] &&
|
||||
err.error_description.split(':')[1].includes('wait to transact')
|
||||
) {
|
||||
//when RC is not enough, offer boosting account
|
||||
Alert.alert(
|
||||
intl.formatMessage({
|
||||
id: 'alert.fail',
|
||||
}),
|
||||
intl.formatMessage({
|
||||
id: 'alert.rc_down',
|
||||
}),
|
||||
[
|
||||
{
|
||||
text: 'Cancel',
|
||||
onPress: () => console.log('Cancel Pressed'),
|
||||
style: 'cancel',
|
||||
},
|
||||
{ text: 'OK', onPress: () => console.log('OK Pressed') },
|
||||
],
|
||||
{ cancelable: false },
|
||||
);
|
||||
this.setState({
|
||||
isVoted: false,
|
||||
isVoting: false,
|
||||
});
|
||||
} else {
|
||||
//when voting with same percent or other errors
|
||||
if (err.error_description.indexOf(':') > 0) {
|
||||
Alert.alert(
|
||||
intl.formatMessage({
|
||||
id: 'alert.fail',
|
||||
}),
|
||||
err.error_description.split(':')[1],
|
||||
);
|
||||
} else {
|
||||
Alert.alert(
|
||||
intl.formatMessage({
|
||||
id: 'alert.fail',
|
||||
}),
|
||||
err.error_description,
|
||||
);
|
||||
}
|
||||
this.setState({
|
||||
isVoting: false,
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.setState({ sliderValue: 1, downvote: false });
|
||||
|
@ -31,16 +31,16 @@ class WalletContainer extends PureComponent {
|
||||
let balance;
|
||||
|
||||
switch (fundType) {
|
||||
case 'STEEM':
|
||||
case 'HIVE':
|
||||
balance = Math.round(walletData.balance * 1000) / 1000;
|
||||
break;
|
||||
case 'SBD':
|
||||
case 'HBD':
|
||||
balance = Math.round(walletData.sbdBalance * 1000) / 1000;
|
||||
break;
|
||||
case 'SAVING_STEEM':
|
||||
case 'SAVING_HIVE':
|
||||
balance = Math.round(walletData.savingBalance * 1000) / 1000;
|
||||
break;
|
||||
case 'SAVING_SBD':
|
||||
case 'SAVING_HBD':
|
||||
balance = Math.round(walletData.savingBalanceSbd * 1000) / 1000;
|
||||
break;
|
||||
default:
|
||||
|
@ -23,11 +23,11 @@ const WalletDetailsView = ({ walletData, intl, navigate, isShowDropdowns }) => {
|
||||
text="Steem"
|
||||
isBlackText
|
||||
iconName="ios-information-circle-outline"
|
||||
rightText={`${Math.round(walletData.balance * 1000) / 1000} STEEM`}
|
||||
rightText={`${Math.round(walletData.balance * 1000) / 1000} HIVE`}
|
||||
isBoldText
|
||||
isHasdropdown={isShowDropdowns}
|
||||
dropdownOptions={steemDropdown.map(item => intl.formatMessage({ id: `transfer.${item}` }))}
|
||||
onDropdownSelect={index => navigate(steemDropdown[index], 'STEEM')}
|
||||
onDropdownSelect={index => navigate(steemDropdown[index], 'HIVE')}
|
||||
/>
|
||||
<GrayWrapper isGray>
|
||||
<WalletLineItem
|
||||
@ -44,7 +44,7 @@ const WalletDetailsView = ({ walletData, intl, navigate, isShowDropdowns }) => {
|
||||
dropdownOptions={steemPowerDropdown.map(item =>
|
||||
intl.formatMessage({ id: `transfer.${item}` }),
|
||||
)}
|
||||
onDropdownSelect={a => navigate(steemPowerDropdown[a], 'STEEM_POWER')}
|
||||
onDropdownSelect={a => navigate(steemPowerDropdown[a], 'HIVE_POWER')}
|
||||
/>
|
||||
|
||||
{walletData.vestingSharesDelegated > 0 && (
|
||||
@ -84,7 +84,7 @@ const WalletDetailsView = ({ walletData, intl, navigate, isShowDropdowns }) => {
|
||||
isBoldText
|
||||
isHasdropdown={isShowDropdowns}
|
||||
dropdownOptions={sbdDropdown.map(item => intl.formatMessage({ id: `transfer.${item}` }))}
|
||||
onDropdownSelect={a => navigate(sbdDropdown[a], 'SBD')}
|
||||
onDropdownSelect={a => navigate(sbdDropdown[a], 'HBD')}
|
||||
/>
|
||||
<GrayWrapper isGray>
|
||||
<WalletLineItem
|
||||
@ -99,7 +99,7 @@ const WalletDetailsView = ({ walletData, intl, navigate, isShowDropdowns }) => {
|
||||
dropdownOptions={savingSteemDropdown.map(item =>
|
||||
intl.formatMessage({ id: `transfer.${item}` }),
|
||||
)}
|
||||
onDropdownSelect={a => navigate(savingSteemDropdown[a], 'SAVING_STEEM')}
|
||||
onDropdownSelect={a => navigate(savingSteemDropdown[a], 'SAVING_HIVE')}
|
||||
/>
|
||||
<WalletLineItem
|
||||
rightText={`$${Math.round(walletData.savingBalanceSbd * 1000) / 1000}`}
|
||||
@ -108,7 +108,7 @@ const WalletDetailsView = ({ walletData, intl, navigate, isShowDropdowns }) => {
|
||||
dropdownOptions={savingSbdDropdown.map(item =>
|
||||
intl.formatMessage({ id: `transfer.${item}` }),
|
||||
)}
|
||||
onDropdownSelect={a => navigate(savingSbdDropdown[a], 'SAVING_SBD')}
|
||||
onDropdownSelect={a => navigate(savingSbdDropdown[a], 'SAVING_HBD')}
|
||||
/>
|
||||
</GrayWrapper>
|
||||
{walletData.showPowerDown && (
|
||||
|
@ -64,12 +64,12 @@
|
||||
"transfer_to_saving": "To Saving",
|
||||
"powerUp": "Power Up",
|
||||
"withdraw_to_saving": "Withdraw Saving",
|
||||
"steemconnect_title": "Steemconnect Transfer",
|
||||
"steemconnect_title": "Hivesigner Transfer",
|
||||
"next": "NEXT",
|
||||
"delegate": "Delegate",
|
||||
"power_down": "Power Down",
|
||||
"withdraw_steem": "Withdraw Steem",
|
||||
"withdraw_sbd": "Withdraw SBD",
|
||||
"withdraw_steem": "Withdraw HIVE",
|
||||
"withdraw_sbd": "Withdraw HBD",
|
||||
"transfer_to_savings": "To Savings",
|
||||
"convert": "Convert",
|
||||
"escrow_transfer": "Escrow Transfer",
|
||||
@ -86,21 +86,21 @@
|
||||
"buy": "GET ESTM"
|
||||
},
|
||||
"savingsteem": {
|
||||
"title": "STEEM Savings"
|
||||
"title": "HIVE Savings"
|
||||
},
|
||||
"savingsbd": {
|
||||
"title": "SBD Savings"
|
||||
"title": "HBD Savings"
|
||||
},
|
||||
"steem": {
|
||||
"title": "STEEM",
|
||||
"buy": "GET STEEM"
|
||||
"title": "HIVE",
|
||||
"buy": "GET HIVE"
|
||||
},
|
||||
"sbd": {
|
||||
"title": "SBD",
|
||||
"buy": "GET SBD"
|
||||
"title": "HBD",
|
||||
"buy": "GET HBD"
|
||||
},
|
||||
"steem_power": {
|
||||
"title": "STEEM POWER"
|
||||
"title": "HIVE POWER"
|
||||
},
|
||||
"btc": {
|
||||
"title": "BTC",
|
||||
@ -161,11 +161,11 @@
|
||||
"follow_people": "Follow some people to fill your feed",
|
||||
"havent_commented": "haven't commented anything yet",
|
||||
"havent_posted": "haven't posted anything yet",
|
||||
"steem_power": "Steem Power",
|
||||
"steem_power": "Hive Power",
|
||||
"next_power_text": "Next power down is in",
|
||||
"days": "days",
|
||||
"day": "day",
|
||||
"steem_dollars": "Steem Dollars",
|
||||
"steem_dollars": "Hive Dollars",
|
||||
"savings": "Savings",
|
||||
"edit": {
|
||||
"display_name": "Display Name",
|
||||
@ -213,14 +213,14 @@
|
||||
"login": {
|
||||
"signin": "Sign in",
|
||||
"signup": "JOIN NOW",
|
||||
"signin_title": "To get all the benefits of using eSteem",
|
||||
"signin_title": "To get all the benefits of using Esteem",
|
||||
"username": "Username",
|
||||
"password": "Password or WIF",
|
||||
"description": "User credentials are kept locally on the device. Credentials are removed upon logout!",
|
||||
"cancel": "cancel",
|
||||
"login": "LOGIN",
|
||||
"steemconnect_description": "If you don't want to keep your password encrypted and saved on your device, you can use Steemconnect.",
|
||||
"steemconnect_fee_description": "Steemconnect may charge some fees from your reward transactions"
|
||||
"steemconnect_description": "If you don't want to keep your password encrypted and saved on your device, you can use Hivesigner.",
|
||||
"steemconnect_fee_description": "info"
|
||||
},
|
||||
"home": {
|
||||
"feed": "Feed",
|
||||
@ -288,7 +288,7 @@
|
||||
"success_shared": "Your post successfully shared",
|
||||
"success_moved": "Moved to draft",
|
||||
"permission_denied": "Permission denied",
|
||||
"permission_text": "Please, go to phone Settings and change eSteem app permissions.",
|
||||
"permission_text": "Please, go to phone Settings and change Esteem app permissions.",
|
||||
"key_warning": "Check private key permission!",
|
||||
"success_rebloged": "Reblogged!",
|
||||
"already_rebloged": "You have already reblogged!",
|
||||
@ -319,7 +319,8 @@
|
||||
"checking": "Checking...",
|
||||
"external_link": "Open in Browser",
|
||||
"not_existing_post": "The post does not exist! Please check permlink and author.",
|
||||
"google_play_version": "We noticed that your device has old version of Google Play. Please update Google Play services and try again!"
|
||||
"google_play_version": "We noticed that your device has old version of Google Play. Please update Google Play services and try again!",
|
||||
"rc_down": "Not enough resource credits to perform an action! \n\nBoost your account to continue enjoy the experience. Do you want to boost your account, now?"
|
||||
},
|
||||
"post": {
|
||||
"reblog_alert": "Are you sure, you want to reblog?",
|
||||
@ -415,17 +416,17 @@
|
||||
"information": "Are you sure to transfer funds?",
|
||||
"amount_desc": "Balance",
|
||||
"memo_desc": "This memo is public",
|
||||
"convert_desc": "Convert takes 3.5 days and NOT recommended IF SBD price is higher than $1",
|
||||
"convert_desc": "Convert takes 3.5 days and NOT recommended IF HBD price is higher than $1",
|
||||
"to_placeholder": "Username",
|
||||
"memo_placeholder": "Enter your notes here",
|
||||
"transfer_token": "Transfer",
|
||||
"purchase_estm": "Purchase ESTM",
|
||||
"convert": "Convert SBD to STEEM",
|
||||
"convert": "Convert HBD to HIVE",
|
||||
"points": "Gift ESTM to someone",
|
||||
"transfer_to_saving": "Transfer To Saving",
|
||||
"powerUp": "Power Up",
|
||||
"withdraw_to_saving": "Withdraw To Saving",
|
||||
"steemconnect_title": "Steemconnect Transfer",
|
||||
"steemconnect_title": "Hivesigner Transfer",
|
||||
"estimated_weekly": "Estimated Weekly",
|
||||
"destination_accounts": "Destination Accounts",
|
||||
"stop_information": "Are you sure want to stop?",
|
||||
@ -436,14 +437,14 @@
|
||||
"next": "NEXT",
|
||||
"delegate": "Delegate",
|
||||
"power_down": "Power Down",
|
||||
"withdraw_steem": "Withdraw Steem",
|
||||
"withdraw_sbd": "Withdraw Steem Dollar",
|
||||
"withdraw_steem": "Withdraw HIVE",
|
||||
"withdraw_sbd": "Withdraw HIVE Dollar",
|
||||
"incoming_funds": "Incoming Funds",
|
||||
"stop": "Stop",
|
||||
"address_view": "View address"
|
||||
},
|
||||
"boost": {
|
||||
"title": "Get eSteem Points",
|
||||
"title": "Get Esteem Points",
|
||||
"buy": "GET ESTM",
|
||||
"next": "NEXT"
|
||||
},
|
||||
|
@ -1,15 +1,3 @@
|
||||
export default [
|
||||
'api.steemit.com',
|
||||
'rpc.esteem.app',
|
||||
'rpc.steemviz.com',
|
||||
'rpc.buildteam.io',
|
||||
'api.steem.house',
|
||||
];
|
||||
export default ['rpc.esteem.app', 'api.hive.blog', 'anyx.io', 'api.hivekings.com'];
|
||||
|
||||
export const VALUE = [
|
||||
'api.steemit.com',
|
||||
'rpc.esteem.app',
|
||||
'rpc.steemviz.com',
|
||||
'rpc.buildteam.io',
|
||||
'api.steem.house',
|
||||
];
|
||||
export const VALUE = ['rpc.esteem.app', 'api.hive.blog', 'anyx.io', 'api.hivekings.com'];
|
||||
|
@ -1,5 +1,5 @@
|
||||
export const steemConnectOptions = {
|
||||
base_url: 'https://app.steemconnect.com/',
|
||||
base_url: 'https://hivesigner.com/',
|
||||
client_id: 'esteemapp',
|
||||
redirect_uri: 'http://127.0.0.1:3415/',
|
||||
scope:
|
||||
|
@ -177,16 +177,50 @@ class ProfileContainer extends Component {
|
||||
|
||||
_profileActionDone = (error = null) => {
|
||||
const { username } = this.state;
|
||||
const { intl } = this.props;
|
||||
|
||||
this.setState({
|
||||
isProfileLoading: false,
|
||||
});
|
||||
console.log(error);
|
||||
if (error) {
|
||||
this.setState(
|
||||
{
|
||||
error,
|
||||
},
|
||||
() => Alert.alert(get(error, 'message') || error.toString()),
|
||||
);
|
||||
if (
|
||||
error.error_description &&
|
||||
error.error_description.split(':')[1].includes('wait to transact')
|
||||
) {
|
||||
//when RC is not enough, offer boosting account
|
||||
Alert.alert(
|
||||
intl.formatMessage({
|
||||
id: 'alert.fail',
|
||||
}),
|
||||
intl.formatMessage({
|
||||
id: 'alert.rc_down',
|
||||
}),
|
||||
[
|
||||
{
|
||||
text: 'Cancel',
|
||||
onPress: () => console.log('Cancel Pressed'),
|
||||
style: 'cancel',
|
||||
},
|
||||
{ text: 'OK', onPress: () => console.log('OK Pressed') },
|
||||
],
|
||||
{ cancelable: false },
|
||||
);
|
||||
} else {
|
||||
//when other errors
|
||||
this.setState(
|
||||
{
|
||||
error,
|
||||
},
|
||||
() =>
|
||||
Alert.alert(
|
||||
intl.formatMessage({
|
||||
id: 'alert.fail',
|
||||
}),
|
||||
error.message || error.toString(),
|
||||
),
|
||||
);
|
||||
}
|
||||
} else {
|
||||
this._fetchProfile(username, true);
|
||||
}
|
||||
|
@ -125,10 +125,10 @@ const WalletContainer = ({
|
||||
const getBalance = (val, cur) => (val ? Math.round(val * 1000) / 1000 + cur : '');
|
||||
|
||||
setUnclaimedBalance(
|
||||
`${getBalance(get(walletData, 'rewardSteemBalance', 0), ' STEEM')} ${getBalance(
|
||||
`${getBalance(get(walletData, 'rewardSteemBalance', 0), ' HIVE')} ${getBalance(
|
||||
get(walletData, 'rewardSbdBalance', 0),
|
||||
' SBD',
|
||||
)} ${getBalance(get(walletData, 'rewardVestingSteem', 0), ' SP')}`,
|
||||
' HBD',
|
||||
)} ${getBalance(get(walletData, 'rewardVestingSteem', 0), ' HP')}`,
|
||||
);
|
||||
}
|
||||
}, [userActivities, walletData]);
|
||||
@ -149,10 +149,10 @@ const WalletContainer = ({
|
||||
setEstimatedWalletValue && setEstimatedWalletValue(_walletData.estimatedValue);
|
||||
const getBalance = (val, cur) => (val ? Math.round(val * 1000) / 1000 + cur : '');
|
||||
setUnclaimedBalance(
|
||||
`${getBalance(get(_walletData, 'rewardSteemBalance', 0), ' STEEM')} ${getBalance(
|
||||
`${getBalance(get(_walletData, 'rewardSteemBalance', 0), ' HIVE')} ${getBalance(
|
||||
get(_walletData, 'rewardSbdBalance', 0),
|
||||
' SBD',
|
||||
)} ${getBalance(get(_walletData, 'rewardVestingSteem', 0), ' SP')}`,
|
||||
' HBD',
|
||||
)} ${getBalance(get(_walletData, 'rewardVestingSteem', 0), ' HP')}`,
|
||||
);
|
||||
},
|
||||
[globalProps, setEstimatedWalletValue, steemPerMVests],
|
||||
@ -244,7 +244,7 @@ const WalletContainer = ({
|
||||
|
||||
if (
|
||||
(transferType === 'transfer_token' || transferType === 'purchase_estm') &&
|
||||
fundType === 'STEEM'
|
||||
fundType === 'HIVE'
|
||||
) {
|
||||
balance = Math.round(walletData.balance * 1000) / 1000;
|
||||
}
|
||||
@ -252,14 +252,14 @@ const WalletContainer = ({
|
||||
(transferType === 'transfer_token' ||
|
||||
transferType === 'convert' ||
|
||||
transferType === 'purchase_estm') &&
|
||||
fundType === 'SBD'
|
||||
fundType === 'HBD'
|
||||
) {
|
||||
balance = Math.round(walletData.sbdBalance * 1000) / 1000;
|
||||
}
|
||||
if (transferType === 'withdraw_steem' && fundType === 'STEEM') {
|
||||
if (transferType === 'withdraw_steem' && fundType === 'HIVE') {
|
||||
balance = Math.round(walletData.savingBalance * 1000) / 1000;
|
||||
}
|
||||
if (transferType === 'withdraw_sbd' && fundType === 'SBD') {
|
||||
if (transferType === 'withdraw_sbd' && fundType === 'HBD') {
|
||||
balance = Math.round(walletData.savingBalanceSbd * 1000) / 1000;
|
||||
}
|
||||
|
||||
|
@ -74,7 +74,7 @@ class TransferContainer extends Component {
|
||||
|
||||
if (
|
||||
(transferType === 'purchase_estm' || transferType === 'transfer_token') &&
|
||||
fundType === 'STEEM'
|
||||
fundType === 'HIVE'
|
||||
) {
|
||||
balance = account[0].balance.replace(fundType, '');
|
||||
}
|
||||
@ -82,20 +82,20 @@ class TransferContainer extends Component {
|
||||
(transferType === 'purchase_estm' ||
|
||||
transferType === 'convert' ||
|
||||
transferType === 'transfer_token') &&
|
||||
fundType === 'SBD'
|
||||
fundType === 'HBD'
|
||||
) {
|
||||
balance = account[0].sbd_balance.replace(fundType, '');
|
||||
}
|
||||
if (transferType === 'points' && fundType === 'ESTM') {
|
||||
this._getUserPointsBalance(username);
|
||||
}
|
||||
if (transferType === 'transfer_to_saving' && fundType === 'STEEM') {
|
||||
if (transferType === 'transfer_to_saving' && fundType === 'HIVE') {
|
||||
balance = account[0].balance.replace(fundType, '');
|
||||
}
|
||||
if (transferType === 'transfer_to_saving' && fundType === 'SBD') {
|
||||
if (transferType === 'transfer_to_saving' && fundType === 'HBD') {
|
||||
balance = account[0].sbd_balance.replace(fundType, '');
|
||||
}
|
||||
if (transferType === 'powerUp' && fundType === 'STEEM') {
|
||||
if (transferType === 'powerUp' && fundType === 'HIVE') {
|
||||
balance = account[0].balance.replace(fundType, '');
|
||||
}
|
||||
if (transferType === 'address_view' && fundType === 'BTC') {
|
||||
|
@ -352,14 +352,11 @@ export const getNodes = () =>
|
||||
.get()
|
||||
.then(
|
||||
resp =>
|
||||
resp.data.nodes || [
|
||||
resp.data.hived || [
|
||||
'https://rpc.esteem.app',
|
||||
'https://api.steemit.com',
|
||||
'https://steemd.previx.io',
|
||||
'https://api.hive.blog',
|
||||
'https://anyx.io',
|
||||
'https://rpc.buildteam.io',
|
||||
'https://rpc.steemviz.com',
|
||||
'https://api.steem.house',
|
||||
'https://api.hivekings.com',
|
||||
],
|
||||
);
|
||||
|
||||
@ -398,7 +395,7 @@ export const getCommunity = tag =>
|
||||
}
|
||||
|
||||
axios
|
||||
.post('https://api.steemit.com', {
|
||||
.post('https://rpc.esteem.app', {
|
||||
jsonrpc: '2.0',
|
||||
method: 'bridge.get_community',
|
||||
params: { name: tag, observer: '' },
|
||||
|
@ -1,4 +1,4 @@
|
||||
import * as dsteem from 'dsteem';
|
||||
import * as dsteem from '@hivechain/dsteem';
|
||||
import sha256 from 'crypto-js/sha256';
|
||||
import Config from 'react-native-config';
|
||||
import get from 'lodash/get';
|
||||
|
@ -2,8 +2,8 @@
|
||||
import '../../../shim';
|
||||
import * as bitcoin from 'bitcoinjs-lib';
|
||||
|
||||
import { Client, PrivateKey } from 'dsteem';
|
||||
import steemconnect from 'steemconnect';
|
||||
import { Client, PrivateKey } from '@hivechain/dsteem';
|
||||
import hivesigner from 'hivesigner';
|
||||
import Config from 'react-native-config';
|
||||
import { get, has } from 'lodash';
|
||||
import { getServer } from '../../realm/realm';
|
||||
@ -23,7 +23,7 @@ import { getDsteemDateErrorMessage } from '../../utils/dsteemUtils';
|
||||
// Constant
|
||||
import AUTH_TYPE from '../../constants/authType';
|
||||
|
||||
const DEFAULT_SERVER = 'https://api.steemit.com';
|
||||
const DEFAULT_SERVER = 'https://anyx.io';
|
||||
let client = new Client(DEFAULT_SERVER);
|
||||
|
||||
export const checkClient = async () => {
|
||||
@ -247,7 +247,7 @@ export const ignoreUser = async (currentAccount, pin, data) => {
|
||||
|
||||
if (currentAccount.local.authType === AUTH_TYPE.STEEM_CONNECT) {
|
||||
const token = decryptKey(currentAccount.local.accessToken, digitPinCode);
|
||||
const api = new steemconnect.Client({
|
||||
const api = new hivesigner.Client({
|
||||
accessToken: token,
|
||||
});
|
||||
|
||||
@ -393,7 +393,7 @@ export const deleteComment = (currentAccount, pin, permlink) => {
|
||||
|
||||
if (currentAccount.local.authType === AUTH_TYPE.STEEM_CONNECT) {
|
||||
const token = decryptKey(currentAccount.local.accessToken, digitPinCode);
|
||||
const api = new steemconnect.Client({
|
||||
const api = new hivesigner.Client({
|
||||
accessToken: token,
|
||||
});
|
||||
|
||||
@ -473,7 +473,7 @@ const _vote = async (currentAccount, pin, author, permlink, weight) => {
|
||||
|
||||
if (currentAccount.local.authType === AUTH_TYPE.STEEM_CONNECT) {
|
||||
const token = decryptKey(currentAccount.local.accessToken, digitPinCode);
|
||||
const api = new steemconnect.Client({
|
||||
const api = new hivesigner.Client({
|
||||
accessToken: token,
|
||||
});
|
||||
|
||||
@ -807,7 +807,7 @@ export const followUser = async (currentAccount, pin, data) => {
|
||||
|
||||
if (currentAccount.local.authType === AUTH_TYPE.STEEM_CONNECT) {
|
||||
const token = decryptKey(get(currentAccount, 'local.accessToken'), digitPinCode);
|
||||
const api = new steemconnect.Client({
|
||||
const api = new hivesigner.Client({
|
||||
accessToken: token,
|
||||
});
|
||||
|
||||
@ -851,7 +851,7 @@ export const unfollowUser = async (currentAccount, pin, data) => {
|
||||
|
||||
if (currentAccount.local.authType === AUTH_TYPE.STEEM_CONNECT) {
|
||||
const token = decryptKey(currentAccount.local.accessToken, digitPinCode);
|
||||
const api = new steemconnect.Client({
|
||||
const api = new hivesigner.Client({
|
||||
accessToken: token,
|
||||
});
|
||||
|
||||
@ -963,7 +963,7 @@ const _postContent = async (
|
||||
|
||||
if (account.local.authType === AUTH_TYPE.STEEM_CONNECT) {
|
||||
const token = decryptKey(account.local.accessToken, digitPinCode);
|
||||
const api = new steemconnect.Client({
|
||||
const api = new hivesigner.Client({
|
||||
accessToken: token,
|
||||
});
|
||||
|
||||
@ -1068,7 +1068,7 @@ const _reblog = async (account, pinCode, author, permlink) => {
|
||||
|
||||
if (account.local.authType === AUTH_TYPE.STEEM_CONNECT) {
|
||||
const token = decryptKey(account.local.accessToken, pin);
|
||||
const api = new steemconnect.Client({
|
||||
const api = new hivesigner.Client({
|
||||
accessToken: token,
|
||||
});
|
||||
|
||||
@ -1107,7 +1107,7 @@ export const claimRewardBalance = (account, pinCode, rewardSteem, rewardSbd, rew
|
||||
|
||||
if (account.local.authType === AUTH_TYPE.STEEM_CONNECT) {
|
||||
const token = decryptKey(get(account, 'local.accessToken'), pin);
|
||||
const api = new steemconnect.Client({
|
||||
const api = new hivesigner.Client({
|
||||
accessToken: token,
|
||||
});
|
||||
|
||||
@ -1232,7 +1232,7 @@ export const grantPostingPermission = async (json, pin, currentAccount) => {
|
||||
newPosting.account_auths.sort();
|
||||
if (get(currentAccount, 'local.authType') === AUTH_TYPE.STEEM_CONNECT) {
|
||||
const token = decryptKey(get(currentAccount, 'local.accessToken'), digitPinCode);
|
||||
const api = new steemconnect.Client({
|
||||
const api = new hivesigner.Client({
|
||||
accessToken: token,
|
||||
});
|
||||
const _params = {
|
||||
@ -1288,7 +1288,7 @@ export const profileUpdate = async (params, pin, currentAccount) => {
|
||||
|
||||
if (get(currentAccount, 'local.authType') === AUTH_TYPE.STEEM_CONNECT) {
|
||||
const token = decryptKey(get(currentAccount, 'local.accessToken'), digitPinCode);
|
||||
const api = new steemconnect.Client({
|
||||
const api = new hivesigner.Client({
|
||||
accessToken: token,
|
||||
});
|
||||
|
||||
|
@ -81,7 +81,7 @@ export const prepareBeneficiaries = postObj => {
|
||||
permlink: postObj.permlink,
|
||||
allow_votes: true,
|
||||
allow_curation_rewards: true,
|
||||
max_accepted_payout: '1000000.000 SBD',
|
||||
max_accepted_payout: '1000000.000 HBD',
|
||||
percent_steem_dollars: '10000',
|
||||
extensions: [
|
||||
[
|
||||
|
@ -1,7 +1,7 @@
|
||||
import steemconnect from 'steemconnect';
|
||||
import hivesigner from 'hivesigner';
|
||||
|
||||
const api = new steemconnect.Client({
|
||||
app: 'esteem-app',
|
||||
const api = new hivesigner.Client({
|
||||
app: 'esteemapp',
|
||||
callbackURL: 'http://127.0.0.1:3415',
|
||||
});
|
||||
|
||||
|
@ -28,7 +28,7 @@ import {
|
||||
} from '../constants/constants';
|
||||
|
||||
const initialState = {
|
||||
api: 'api.steemit.com',
|
||||
api: 'anyx.io',
|
||||
currency: {
|
||||
currency: 'usd',
|
||||
currencyRate: 1,
|
||||
|
@ -1,5 +1,5 @@
|
||||
import React, { Fragment, useEffect, useState } from 'react';
|
||||
|
||||
import SplashScreen from 'react-native-splash-screen';
|
||||
import ApplicationScreen from './screen/applicationScreen';
|
||||
import ApplicationContainer from './container/applicationContainer';
|
||||
|
||||
@ -11,6 +11,7 @@ const Application = () => {
|
||||
const [showAnimation, setShowAnimation] = useState(process.env.NODE_ENV !== 'development');
|
||||
|
||||
useEffect(() => {
|
||||
SplashScreen.hide();
|
||||
if (showAnimation) {
|
||||
setTimeout(() => {
|
||||
setShowAnimation(false);
|
||||
|
@ -396,13 +396,36 @@ class EditorContainer extends Component {
|
||||
|
||||
_handleSubmitFailure = error => {
|
||||
const { intl } = this.props;
|
||||
console.log(error);
|
||||
if (error && error.error_description.split(':')[1].includes('wait to transact')) {
|
||||
//when RC is not enough, offer boosting account
|
||||
Alert.alert(
|
||||
intl.formatMessage({
|
||||
id: 'alert.fail',
|
||||
}),
|
||||
intl.formatMessage({
|
||||
id: 'alert.rc_down',
|
||||
}),
|
||||
[
|
||||
{
|
||||
text: 'Cancel',
|
||||
onPress: () => console.log('Cancel Pressed'),
|
||||
style: 'cancel',
|
||||
},
|
||||
{ text: 'OK', onPress: () => console.log('OK Pressed') },
|
||||
],
|
||||
{ cancelable: false },
|
||||
);
|
||||
} else {
|
||||
//when other errors
|
||||
Alert.alert(
|
||||
intl.formatMessage({
|
||||
id: 'alert.fail',
|
||||
}),
|
||||
error.message || error.toString(),
|
||||
);
|
||||
}
|
||||
|
||||
Alert.alert(
|
||||
intl.formatMessage({
|
||||
id: 'alert.fail',
|
||||
}),
|
||||
error.message || error.toString(),
|
||||
);
|
||||
this.stateTimer = setTimeout(() => {
|
||||
this.setState({ isPostSending: false });
|
||||
clearTimeout(this.stateTimer);
|
||||
|
@ -167,14 +167,7 @@ class LoginScreen extends PureComponent {
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<View tabLabel="SteemConnect" style={styles.tabbarItem}>
|
||||
<InformationArea
|
||||
description={intl.formatMessage({
|
||||
id: 'login.steemconnect_fee_description',
|
||||
})}
|
||||
iconName="ios-information-circle-outline"
|
||||
bold
|
||||
/>
|
||||
<View tabLabel="Hivesigner" style={styles.tabbarItem}>
|
||||
<InformationArea
|
||||
description={intl.formatMessage({
|
||||
id: 'login.steemconnect_description',
|
||||
@ -185,8 +178,8 @@ class LoginScreen extends PureComponent {
|
||||
wrapperStyle={styles.mainButtonWrapper}
|
||||
onPress={() => this._handleOnModalToggle()}
|
||||
source={STEEM_CONNECT_LOGO}
|
||||
text="steem"
|
||||
secondText="connect"
|
||||
text="hive"
|
||||
secondText="signer"
|
||||
/>
|
||||
</View>
|
||||
</ScrollableTabView>
|
||||
|