mirror of
https://github.com/ecency/ecency-mobile.git
synced 2024-12-20 20:01:56 +03:00
Merge pull request #1219 from esteemapp/feature/lottiee
feature lottiee animation
This commit is contained in:
commit
f8d16ea7d4
9
ios/File.swift
Normal file
9
ios/File.swift
Normal file
@ -0,0 +1,9 @@
|
||||
//
|
||||
// File.swift
|
||||
// eSteem
|
||||
//
|
||||
// Created by Ugur Erdal on 14.10.2019.
|
||||
// Copyright © 2019 Facebook. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
@ -14,15 +14,15 @@ PODS:
|
||||
- AppCenter/Push
|
||||
- AppCenterReactNativeShared
|
||||
- React
|
||||
- AppCenter/Analytics (2.4.0):
|
||||
- AppCenter/Analytics (2.5.0):
|
||||
- AppCenter/Core
|
||||
- AppCenter/Core (2.4.0)
|
||||
- AppCenter/Crashes (2.4.0):
|
||||
- AppCenter/Core (2.5.0)
|
||||
- AppCenter/Crashes (2.5.0):
|
||||
- AppCenter/Core
|
||||
- AppCenter/Push (2.4.0):
|
||||
- AppCenter/Push (2.5.0):
|
||||
- AppCenter/Core
|
||||
- AppCenterReactNativeShared (2.4.0):
|
||||
- AppCenter/Core (= 2.4.0)
|
||||
- AppCenterReactNativeShared (2.5.0):
|
||||
- AppCenter/Core (= 2.5.0)
|
||||
- boost-for-react-native (1.63.0)
|
||||
- BugsnagReactNative (2.23.2):
|
||||
- BugsnagReactNative/Core (= 2.23.2)
|
||||
@ -65,6 +65,10 @@ PODS:
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- glog (0.3.5)
|
||||
- lottie-ios (3.1.3)
|
||||
- lottie-react-native (3.2.1):
|
||||
- lottie-ios (~> 3.1.3)
|
||||
- React
|
||||
- QBImagePickerController (3.4.0)
|
||||
- RCTRequired (0.61.2)
|
||||
- RCTTypeSafety (0.61.2):
|
||||
@ -316,6 +320,8 @@ DEPENDENCIES:
|
||||
- FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
|
||||
- Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
|
||||
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
||||
- lottie-ios (from `../node_modules/lottie-ios`)
|
||||
- lottie-react-native (from `../node_modules/lottie-react-native`)
|
||||
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
|
||||
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
|
||||
- React (from `../node_modules/react-native/`)
|
||||
@ -354,7 +360,7 @@ DEPENDENCIES:
|
||||
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
|
||||
|
||||
SPEC REPOS:
|
||||
https://github.com/cocoapods/specs.git:
|
||||
trunk:
|
||||
- AppCenter
|
||||
- AppCenterReactNativeShared
|
||||
- boost-for-react-native
|
||||
@ -388,6 +394,10 @@ EXTERNAL SOURCES:
|
||||
:podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
|
||||
glog:
|
||||
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
|
||||
lottie-ios:
|
||||
:path: "../node_modules/lottie-ios"
|
||||
lottie-react-native:
|
||||
:path: "../node_modules/lottie-react-native"
|
||||
RCTRequired:
|
||||
:path: "../node_modules/react-native/Libraries/RCTRequired"
|
||||
RCTTypeSafety:
|
||||
@ -456,12 +466,12 @@ EXTERNAL SOURCES:
|
||||
:path: "../node_modules/react-native/ReactCommon/yoga"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
AppCenter: 49a9ffe114c00e2bf5374aeda816d47eabf1978a
|
||||
AppCenter: 637f180deefc61e8ab3f94223869ee50f61dabea
|
||||
appcenter: 4072e79b8d037d99056e6fc6556224b4525b5829
|
||||
appcenter-analytics: 94be52eca805d586207d710aac95e0ddca8b3ddb
|
||||
appcenter-crashes: 30caece47856aee7c4c7449d4f4dae2d69795bd6
|
||||
appcenter-push: f6c62e8e55cf09f53076674c185df72f68ea9dd7
|
||||
AppCenterReactNativeShared: 57a66e6539e9abe6079ba8f93a002bc3f95788cc
|
||||
AppCenterReactNativeShared: 99e7f662ec66b1cb41306ecf357aabac35931c08
|
||||
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
|
||||
BugsnagReactNative: 0a24a1dd2cac88862d67b938f809bec8274130a9
|
||||
BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872
|
||||
@ -472,6 +482,8 @@ SPEC CHECKSUMS:
|
||||
FLAnimatedImage: 4a0b56255d9b05f18b6dd7ee06871be5d3b89e31
|
||||
Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
|
||||
glog: 1f3da668190260b06b429bb211bfbee5cd790c28
|
||||
lottie-ios: 496ac5cea1bbf1a7bd1f1f472f3232eb1b8d744b
|
||||
lottie-react-native: b123a79529cc732201091f585c62c89bb4747252
|
||||
QBImagePickerController: d54cf93db6decf26baf6ed3472f336ef35cae022
|
||||
RCTRequired: c639d59ed389cfb1f1203f65c2ea946d8ec586e2
|
||||
RCTTypeSafety: dc23fb655d6c77667c78e327bf661bc11e3b8aec
|
||||
@ -511,4 +523,4 @@ SPEC CHECKSUMS:
|
||||
|
||||
PODFILE CHECKSUM: 4faf3202c73803d0ba69b4aaf79ce8642ecf11b2
|
||||
|
||||
COCOAPODS: 1.7.5
|
||||
COCOAPODS: 1.8.3
|
||||
|
4
ios/eSteem-Bridging-Header.h
Normal file
4
ios/eSteem-Bridging-Header.h
Normal file
@ -0,0 +1,4 @@
|
||||
//
|
||||
// Use this file to import your target's public headers that you would like to expose to Swift.
|
||||
//
|
||||
|
@ -39,6 +39,7 @@
|
||||
8A865CFDCD1C4F4885488F9D /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 22F5F05A06E142C2B41A4D38 /* MaterialCommunityIcons.ttf */; };
|
||||
8FA95502318C441BB5187988 /* Fontisto.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 98D3D7C3AF354BF0987A2BFA /* Fontisto.ttf */; };
|
||||
94139B1E6AEB4494837396E2 /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 34E88D888DD444F8B285363C /* SimpleLineIcons.ttf */; };
|
||||
9487A245235508C60080E6CD /* File.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9487A244235508C60080E6CD /* File.swift */; };
|
||||
B5B60E44B0FA4A72BB3B3BF2 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 112758B0BBF9458381CE41FD /* FontAwesome.ttf */; };
|
||||
BD7763EC3A6A4DDCB59E8CEE /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A239FC84622A4A9CA7950ED9 /* EvilIcons.ttf */; };
|
||||
D71EB20EDB9B987C0574BAFE /* libPods-eSteemTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C97456BE898C00B5EDA21C2E /* libPods-eSteemTests.a */; };
|
||||
@ -130,6 +131,8 @@
|
||||
926635867AC7C716988E74B7 /* libPods-eSteem-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-eSteem-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
93B182C6FFA44610AB188D7C /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = "<group>"; };
|
||||
9464AFB033664B4F8E9F0BED /* AntDesign.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = AntDesign.ttf; path = "../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf"; sourceTree = "<group>"; };
|
||||
9487A243235508C50080E6CD /* eSteem-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "eSteem-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
9487A244235508C60080E6CD /* File.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = File.swift; sourceTree = "<group>"; };
|
||||
95E8535BAE22D33276B4ED85 /* Pods-eSteem-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-eSteem-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-eSteem-tvOSTests/Pods-eSteem-tvOSTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
980BC9BC0D3B4AC69645C842 /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = "<group>"; };
|
||||
98D3D7C3AF354BF0987A2BFA /* Fontisto.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Fontisto.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf"; sourceTree = "<group>"; };
|
||||
@ -215,6 +218,8 @@
|
||||
13B07FB61A68108700A75B9A /* Info.plist */,
|
||||
13B07FB11A68108700A75B9A /* LaunchScreen.xib */,
|
||||
13B07FB71A68108700A75B9A /* main.m */,
|
||||
9487A244235508C60080E6CD /* File.swift */,
|
||||
9487A243235508C50080E6CD /* eSteem-Bridging-Header.h */,
|
||||
);
|
||||
name = eSteem;
|
||||
sourceTree = "<group>";
|
||||
@ -439,6 +444,7 @@
|
||||
};
|
||||
13B07F861A680F5B00A75B9A = {
|
||||
DevelopmentTeam = 75B6RXTKGT;
|
||||
LastSwiftMigration = 1110;
|
||||
ProvisioningStyle = Manual;
|
||||
SystemCapabilities = {
|
||||
com.apple.InAppPurchase = {
|
||||
@ -796,6 +802,7 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */,
|
||||
9487A245235508C60080E6CD /* File.swift in Sources */,
|
||||
13B07FC11A68108700A75B9A /* main.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@ -849,6 +856,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = DEAC5F1FB6C25D794F6F4108 /* Pods-eSteemTests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
@ -872,6 +880,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 122D7FCBA41B06097098B6E8 /* Pods-eSteemTests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
INFOPLIST_FILE = eSteemTests/Info.plist;
|
||||
@ -893,6 +902,7 @@
|
||||
baseConfigurationReference = F78BB3E26D5377FC091969E5 /* Pods-eSteem.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = eSteem/eSteem.entitlements;
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
CURRENT_PROJECT_VERSION = 7;
|
||||
@ -962,6 +972,7 @@
|
||||
baseConfigurationReference = FFDF532341ADF17A45F71E22 /* Pods-eSteem.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = eSteem/eSteem.entitlements;
|
||||
CODE_SIGN_IDENTITY = "iPhone Distribution";
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
@ -1187,6 +1198,7 @@
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_VERSION = 4.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@ -1232,6 +1244,7 @@
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_VERSION = 4.0;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
|
Binary file not shown.
@ -41,6 +41,8 @@
|
||||
"intl": "^1.2.5",
|
||||
"jsc-android": "^236355.1.1",
|
||||
"lodash": "^4.17.13",
|
||||
"lottie-ios": "3.1.3",
|
||||
"lottie-react-native": "^3.2.1",
|
||||
"moment": "^2.22.2",
|
||||
"react": "16.9.0",
|
||||
"react-intl": "^3.3.1",
|
||||
|
@ -1,4 +1,4 @@
|
||||
import React, { Fragment } from 'react';
|
||||
import React, { Fragment, useEffect, useState } from 'react';
|
||||
|
||||
import ApplicationScreen from './screen/applicationScreen';
|
||||
import ApplicationContainer from './container/applicationContainer';
|
||||
@ -7,43 +7,54 @@ import Launch from '../launch';
|
||||
import { Modal } from '../../components';
|
||||
import { PinCode } from '../pinCode';
|
||||
|
||||
const Application = () => (
|
||||
<ApplicationContainer>
|
||||
{({
|
||||
isConnected,
|
||||
locale,
|
||||
toastNotification,
|
||||
isReady,
|
||||
isDarkTheme,
|
||||
isRenderRequire,
|
||||
isThemeReady,
|
||||
isPinCodeRequire,
|
||||
}) => {
|
||||
if (!isReady || !isRenderRequire || !isThemeReady) {
|
||||
return <Launch />;
|
||||
}
|
||||
return (
|
||||
<Fragment>
|
||||
<Modal
|
||||
isOpen={isPinCodeRequire}
|
||||
isFullScreen
|
||||
swipeToClose={false}
|
||||
backButtonClose={false}
|
||||
>
|
||||
<PinCode />
|
||||
</Modal>
|
||||
<ApplicationScreen
|
||||
isConnected={isConnected}
|
||||
locale={locale}
|
||||
toastNotification={toastNotification}
|
||||
isReady={isReady}
|
||||
isDarkTheme={isDarkTheme}
|
||||
/>
|
||||
</Fragment>
|
||||
);
|
||||
}}
|
||||
</ApplicationContainer>
|
||||
);
|
||||
const Application = () => {
|
||||
const [showAnimation, setShowAnimation] = useState(true);
|
||||
|
||||
useEffect(() => {
|
||||
setTimeout(() => {
|
||||
setShowAnimation(false);
|
||||
}, 500);
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<ApplicationContainer>
|
||||
{({
|
||||
isConnected,
|
||||
locale,
|
||||
toastNotification,
|
||||
isReady,
|
||||
isDarkTheme,
|
||||
isRenderRequire,
|
||||
isThemeReady,
|
||||
isPinCodeRequire,
|
||||
}) => {
|
||||
if (showAnimation || !isReady || !isRenderRequire || !isThemeReady) {
|
||||
return <Launch />;
|
||||
}
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<Modal
|
||||
isOpen={isPinCodeRequire}
|
||||
isFullScreen
|
||||
swipeToClose={false}
|
||||
backButtonClose={false}
|
||||
>
|
||||
<PinCode />
|
||||
</Modal>
|
||||
<ApplicationScreen
|
||||
isConnected={isConnected}
|
||||
locale={locale}
|
||||
toastNotification={toastNotification}
|
||||
isReady={isReady}
|
||||
isDarkTheme={isDarkTheme}
|
||||
/>
|
||||
</Fragment>
|
||||
);
|
||||
}}
|
||||
</ApplicationContainer>
|
||||
);
|
||||
};
|
||||
|
||||
export default Application;
|
||||
|
||||
|
1
src/screens/launch/screen/animation.json
Normal file
1
src/screens/launch/screen/animation.json
Normal file
File diff suppressed because one or more lines are too long
@ -1,21 +1,12 @@
|
||||
import React from 'react';
|
||||
import { View, Image } from 'react-native';
|
||||
import { View } from 'react-native';
|
||||
import LottieView from 'lottie-react-native';
|
||||
|
||||
import LOGO from '../../../assets/launch_screen.png';
|
||||
import styles from './launchStyles';
|
||||
|
||||
const LaunchScreen = () => (
|
||||
<View
|
||||
style={{
|
||||
flex: 1,
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
}}
|
||||
>
|
||||
<Image
|
||||
source={LOGO}
|
||||
style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}
|
||||
resizeMode="contain"
|
||||
/>
|
||||
<View style={styles.container}>
|
||||
<LottieView source={require('./animation.json')} autoPlay loop={false} />
|
||||
</View>
|
||||
);
|
||||
|
||||
|
9
src/screens/launch/screen/launchStyles.js
Normal file
9
src/screens/launch/screen/launchStyles.js
Normal file
@ -0,0 +1,9 @@
|
||||
import EStyleSheet from 'react-native-extended-stylesheet';
|
||||
|
||||
export default EStyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
},
|
||||
});
|
27
yarn.lock
27
yarn.lock
@ -3106,6 +3106,11 @@ decompress@^4.2.0:
|
||||
pify "^2.3.0"
|
||||
strip-dirs "^2.0.0"
|
||||
|
||||
dedent@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.6.0.tgz#0e6da8f0ce52838ef5cec5c8f9396b0c1b64a3cb"
|
||||
integrity sha1-Dm2o8M5Sg471zsXI+TlrDBtko8s=
|
||||
|
||||
dedent@^0.7.0:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
|
||||
@ -6126,6 +6131,21 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4
|
||||
dependencies:
|
||||
js-tokens "^3.0.0 || ^4.0.0"
|
||||
|
||||
lottie-ios@3.1.3, lottie-ios@^3.1.3:
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/lottie-ios/-/lottie-ios-3.1.3.tgz#dfa18a3a7e66e5d4a6665bf0a2392d143d15661a"
|
||||
integrity sha512-FKSx9l5Ekwm1Wt/ncoCwvsq8NAb1nylzMFlxrHixLYNBtO2eCQet+vwQag+74Nc/E9Lp3DKkBUCyBfz+zjtmAw==
|
||||
|
||||
lottie-react-native@^3.2.1:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/lottie-react-native/-/lottie-react-native-3.2.1.tgz#0b2b13b03a2cda9ece8474b9cf633d0fbe78d82b"
|
||||
integrity sha512-dmOySV+qgFrQszCY+7uOZR0XkgbP2FXgCWJZ2h39GqlxJZRHD2uCmXoT+WxaBGw83Gk/2KfIQ1MQMFL8UqC2bw==
|
||||
dependencies:
|
||||
invariant "^2.2.2"
|
||||
lottie-ios "^3.1.3"
|
||||
prop-types "^15.5.10"
|
||||
react-native-safe-modules "^1.0.0"
|
||||
|
||||
lru-cache@^4.0.1, lru-cache@^4.1.2, lru-cache@^4.1.5:
|
||||
version "4.1.5"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
|
||||
@ -7804,6 +7824,13 @@ react-native-safe-area-view@^0.14.1, react-native-safe-area-view@^0.14.6:
|
||||
dependencies:
|
||||
hoist-non-react-statics "^2.3.1"
|
||||
|
||||
react-native-safe-modules@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/react-native-safe-modules/-/react-native-safe-modules-1.0.0.tgz#10a918adf97da920adb1e33e0c852b1e80123b65"
|
||||
integrity sha512-ShT8duWBT30W4OFcltZl+UvpPDikZFURvLDQqAsrvbyy6HzWPGJDCpdqM+6GqzPPs4DPEW31YfMNmdJcZ6zI2w==
|
||||
dependencies:
|
||||
dedent "^0.6.0"
|
||||
|
||||
"react-native-screens@^1.0.0 || ^1.0.0-alpha", react-native-screens@^1.0.0-alpha.23:
|
||||
version "1.0.0-alpha.23"
|
||||
resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-1.0.0-alpha.23.tgz#25d7ea4d11bda4fcde2d1da7ae50271c6aa636e0"
|
||||
|
Loading…
Reference in New Issue
Block a user