diff --git a/App.js b/App.js
index 25c82a3..9263190 100644
--- a/App.js
+++ b/App.js
@@ -1,7 +1,7 @@
-import React, {useState} from "react";
+import React, { useCallback, useEffect, useState } from "react";
import { Image } from "react-native";
-import AppLoading from "expo-app-loading";
-import { useFonts } from '@use-expo/font';
+import * as SplashScreen from "expo-splash-screen";
+import * as Font from "expo-font";
import { Asset } from "expo-asset";
import { Block, GalioProvider } from "galio-framework";
import { NavigationContainer } from "@react-navigation/native";
@@ -21,14 +21,13 @@ const assetImages = [
Images.Pro,
Images.ArgonLogo,
Images.iOSLogo,
- Images.androidLogo
+ Images.androidLogo,
];
-
// cache product images
-articles.map(article => assetImages.push(article.image));
+articles.map((article) => assetImages.push(article.image));
function cacheImages(images) {
- return images.map(image => {
+ return images.map((image) => {
if (typeof image === "string") {
return Image.prefetch(image);
} else {
@@ -37,87 +36,49 @@ function cacheImages(images) {
});
}
-export default props => {
- const [isLoadingComplete, setLoading] = useState(false);
- let [fontsLoaded] = useFonts({
- 'ArgonExtra': require('./assets/font/argon.ttf'),
- });
+export default function App() {
+ const [appIsReady, setAppIsReady] = useState(false);
- function _loadResourcesAsync() {
- return Promise.all([...cacheImages(assetImages)]);
- }
+ useEffect(() => {
+ async function prepare() {
+ try {
+ //Load Resources
+ await _loadResourcesAsync();
+ // Pre-load fonts, make any API calls you need to do here
+ await Font.loadAsync({
+ ArgonExtra: require("./assets/font/argon.ttf"),
+ });
+ } catch (e) {
+ console.warn(e);
+ } finally {
+ // Tell the application to render
+ setAppIsReady(true);
+ }
+ }
+ prepare();
+ }, []);
- function _handleLoadingError(error) {
- // In this case, you might want to report the error to your error
- // reporting service, for example Sentry
- console.warn(error);
+ const _loadResourcesAsync = async () => {
+ return Promise.all([...cacheImages(assetImages)]);
};
- function _handleFinishLoading() {
- setLoading(true);
- };
+ const onLayoutRootView = useCallback(async () => {
+ if (appIsReady) {
+ await SplashScreen.hideAsync();
+ }
+ }, [appIsReady]);
- if(!fontsLoaded && !isLoadingComplete) {
- return (
-
- );
- } else if(fontsLoaded) {
- return (
-
-
-
-
-
-
-
- );
- } else {
- return null
+ if (!appIsReady) {
+ return null;
}
-}
-
-// export default class App extends React.Component {
-// state = {
-// isLoadingComplete: false
-// };
-
-// render() {
-// if (!this.state.isLoadingComplete) {
-// return (
-//
-// );
-// } else {
-// return (
-//
-//
-//
-//
-//
-//
-//
-// );
-// }
-// }
-// _loadResourcesAsync = async () => {
-// return Promise.all([...cacheImages(assetImages)]);
-// };
-
-// _handleLoadingError = error => {
-// // In this case, you might want to report the error to your error
-// // reporting service, for example Sentry
-// console.warn(error);
-// };
-
-// _handleFinishLoading = () => {
-// this.setState({ isLoadingComplete: true });
-// };
-// }
+ return (
+
+
+
+
+
+
+
+ );
+}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4b2126e..8e360cc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+## [1.9.0] 2022 - 08 - 01
+- dependencies updated
+- expo version updated
+- react native version updated
+- implement expo-splash-screen for splash loading
+
## [1.8.1] 2022-07-19
### Updated dependencies
diff --git a/README.md b/README.md
index 147420a..f7445b7 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# [Argon React Native](https://creativetimofficial.github.io/argon-react-native/docs/#) [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social&logo=twitter)](https://twitter.com/home?status=Argon%20React%20Native,%20a%20cool%20Argon%20React%20Native%20App%20Template%20%E2%9D%A4%EF%B8%8F%20https%3A//bit.ly/2KAj86H%20%23reactnative%20%23argon%20%23designsystem%20%23developers%20via%20%40CreativeTim)
- ![version](https://img.shields.io/badge/version-1.8.0-blue.svg) [![GitHub issues open](https://img.shields.io/github/issues/creativetimofficial/argon-react-native.svg?style=flat)](https://github.com/creativetimofficial/argon-react-native/issues?q=is%3Aopen+is%3Aissue) [![GitHub issues closed](https://img.shields.io/github/issues-closed-raw/creativetimofficial/argon-react-native.svg?maxAge=2592000)](https://github.com/creativetimofficial/argon-react-native/issues?q=is%3Aissue+is%3Aclosed)
+ ![version](https://img.shields.io/badge/version-1.9.0-blue.svg) [![GitHub issues open](https://img.shields.io/github/issues/creativetimofficial/argon-react-native.svg?style=flat)](https://github.com/creativetimofficial/argon-react-native/issues?q=is%3Aopen+is%3Aissue) [![GitHub issues closed](https://img.shields.io/github/issues-closed-raw/creativetimofficial/argon-react-native.svg?maxAge=2592000)](https://github.com/creativetimofficial/argon-react-native/issues?q=is%3Aissue+is%3Aclosed)
![Product Gif](https://raw.githubusercontent.com/creativetimofficial/public-assets/master/argon-react-native/arg-rn-thumbnail.jpg)
diff --git a/package.json b/package.json
index fb8a5c6..ee75f80 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "argon-react-native",
- "version": "1.8.0",
+ "version": "1.9.0",
"description": "Argon React Native, based on Argon Design System. Coded by Creative Tim",
"main": "node_modules/expo/AppEntry.js",
"scripts": {
@@ -14,30 +14,31 @@
"url": "git+https://github.com/creativetimofficial/argon-react-native.git"
},
"dependencies": {
- "@react-native-masked-view/masked-view": "0.2.6",
+ "@react-native-masked-view/masked-view": "0.2.8",
"@react-navigation/bottom-tabs": "^6.3.1",
"@react-navigation/compat": "^5.1.25",
- "@react-navigation/drawer": "5.12.4",
+ "@react-navigation/drawer": "6.4.1",
"@react-navigation/native": "^6.0.10",
"@react-navigation/stack": "^6.2.1",
"@use-expo/font": "^2.0.0",
- "expo": "^45.0.0",
+ "expo": "^48.0.16",
"expo-app-loading": "~2.0.0",
- "expo-asset": "~8.5.0",
- "expo-font": "~10.1.0",
- "expo-modules-core": "~0.9.2",
+ "expo-asset": "~8.9.1",
+ "expo-font": "~11.1.1",
+ "expo-modules-core": "~1.2.7",
+ "expo-splash-screen": "^0.18.2",
"galio-framework": "^0.8.0",
"prop-types": "^15.7.2",
- "react": "17.0.2",
- "react-native": "0.68.2",
- "react-native-gesture-handler": "~2.2.1",
- "react-native-modal-dropdown": "git+https://github.com/siemiatj/react-native-modal-dropdown.git",
- "react-native-reanimated": "~2.8.0",
- "react-native-safe-area-context": "4.2.4",
- "react-native-screens": "~3.11.1"
+ "react": "18.2.0",
+ "react-native": "0.71.8",
+ "react-native-gesture-handler": "~2.9.0",
+ "react-native-modal-dropdown": "1.0.2",
+ "react-native-reanimated": "~2.14.4",
+ "react-native-safe-area-context": "4.5.0",
+ "react-native-screens": "~3.20.0"
},
"devDependencies": {
- "babel-preset-expo": "~9.1.0"
+ "babel-preset-expo": "^9.3.0"
},
"keywords": [
"argon react native",