diff --git a/App.js b/App.js index bb77580..3ef4cb5 100644 --- a/App.js +++ b/App.js @@ -1,114 +1,39 @@ -/** - * Sample React Native App - * https://github.com/facebook/react-native - * - * @format - * @flow - */ +import { NavigationContainer } from '@react-navigation/native'; +import { createStackNavigator} from '@react-navigation/stack'; +import * as React from 'react'; +import useCachedResources from './hooks/useCachedResources'; +import StartScreen from './screens/StartScreen'; +import Form1 from './screens/Form1' +import Form2 from './screens/Form2'; +import Form3 from './screens/Form3'; +import Form4 from './screens/Form4'; +import Form5 from './screens/Form5'; +import Final from './screens/FinalScreen'; +import { Form } from 'formik'; -import React from 'react'; -import { - SafeAreaView, - StyleSheet, - ScrollView, - View, - Text, - StatusBar, -} from 'react-native'; -import { - Header, - LearnMoreLinks, - Colors, - DebugInstructions, - ReloadInstructions, -} from 'react-native/Libraries/NewAppScreen'; +const Stack = createStackNavigator(); + +export default function App({}) { + const isLoadingComplete = useCachedResources(); + if (!isLoadingComplete) { + return null; + } else { + return ( + + + + + + + + + + + + ); + } +} -const App: () => React$Node = () => { - return ( - <> - - - -
- {global.HermesInternal == null ? null : ( - - Engine: Hermes - - )} - - - Step One - - Edit App.js to change this - screen and then come back to see your edits. - - - - See Your Changes - - - - - - Debug - - - - - - Learn More - - Read the docs to discover what to do next: - - - - - - - - ); -}; -const styles = StyleSheet.create({ - scrollView: { - backgroundColor: Colors.lighter, - }, - engine: { - position: 'absolute', - right: 0, - }, - body: { - backgroundColor: Colors.white, - }, - sectionContainer: { - marginTop: 32, - paddingHorizontal: 24, - }, - sectionTitle: { - fontSize: 24, - fontWeight: '600', - color: Colors.black, - }, - sectionDescription: { - marginTop: 8, - fontSize: 18, - fontWeight: '400', - color: Colors.dark, - }, - highlight: { - fontWeight: '700', - }, - footer: { - color: Colors.dark, - fontSize: 12, - fontWeight: '600', - padding: 4, - paddingRight: 12, - textAlign: 'right', - }, -}); -export default App; diff --git a/assets/fonts/AbrilFatface-Regular.ttf b/assets/fonts/AbrilFatface-Regular.ttf new file mode 100644 index 0000000..7b9fc6a Binary files /dev/null and b/assets/fonts/AbrilFatface-Regular.ttf differ diff --git a/assets/fonts/BalsamiqSans-Bold.ttf b/assets/fonts/BalsamiqSans-Bold.ttf new file mode 100644 index 0000000..840ff31 Binary files /dev/null and b/assets/fonts/BalsamiqSans-Bold.ttf differ diff --git a/assets/fonts/Roboto-Black.ttf b/assets/fonts/Roboto-Black.ttf new file mode 100644 index 0000000..2d45238 Binary files /dev/null and b/assets/fonts/Roboto-Black.ttf differ diff --git a/assets/fonts/SpaceMono-Regular.ttf b/assets/fonts/SpaceMono-Regular.ttf new file mode 100644 index 0000000..28d7ff7 Binary files /dev/null and b/assets/fonts/SpaceMono-Regular.ttf differ diff --git a/assets/fonts/elephnt.ttf b/assets/fonts/elephnt.ttf new file mode 100644 index 0000000..024b076 Binary files /dev/null and b/assets/fonts/elephnt.ttf differ diff --git a/package.json b/package.json index 8f169c3..328966a 100644 --- a/package.json +++ b/package.json @@ -1,29 +1,49 @@ { - "name": "testApp", - "version": "0.0.1", - "private": true, + "main": "node_modules/expo/AppEntry.js", "scripts": { - "android": "react-native run-android", - "ios": "react-native run-ios", - "start": "react-native start", - "test": "jest", - "lint": "eslint ." + "start": "expo start", + "android": "expo start --android", + "ios": "expo start --ios", + "web": "expo start --web", + "eject": "expo eject", + "test": "jest --watchAll" + }, + "jest": { + "preset": "jest-expo" }, "dependencies": { - "react": "16.9.0", - "react-native": "0.61.5" + "@expo/vector-icons": "~10.0.6", + "@react-native-community/masked-view": "0.1.6", + "@react-navigation/bottom-tabs": "^5.3.1", + "@react-navigation/native": "^5.2.1", + "@react-navigation/stack": "^5.2.16", + "expo": "^37.0.12", + "expo-asset": "~8.1.0", + "expo-constants": "~9.0.0", + "expo-font": "~8.1.0", + "expo-linking": "^1.0.1", + "expo-splash-screen": "^0.2.3", + "expo-web-browser": "~8.2.0", + "firebase": "^7.14.5", + "formik": "^2.1.4", + "nodemailer": "^6.4.6", + "react": "~16.9.0", + "react-dom": "~16.9.0", + "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz", + "react-native-elements": "^2.0.0", + "react-native-email": "^1.1.0", + "react-native-gesture-handler": "~1.6.0", + "react-native-keyboard-aware-scroll-view": "^0.9.1", + "react-native-masked-text": "^1.13.0", + "react-native-safe-area-context": "0.7.3", + "react-native-screens": "~2.2.0", + "react-native-web": "~0.11.7", + "tcomb-form-native": "^0.6.20" }, "devDependencies": { - "@babel/core": "^7.6.2", - "@babel/runtime": "^7.6.2", - "@react-native-community/eslint-config": "^0.0.5", - "babel-jest": "^24.9.0", - "eslint": "^6.5.1", - "jest": "^24.9.0", - "metro-react-native-babel-preset": "^0.56.0", - "react-test-renderer": "16.9.0" + "@babel/core": "^7.8.6", + "babel-preset-expo": "~8.1.0", + "jest-expo": "~37.0.0" }, - "jest": { - "preset": "react-native" - } + "private": true } diff --git a/screens/FinalScreen.js b/screens/FinalScreen.js new file mode 100644 index 0000000..0268044 --- /dev/null +++ b/screens/FinalScreen.js @@ -0,0 +1,223 @@ +import { Ionicons } from '@expo/vector-icons'; +import * as WebBrowser from 'expo-web-browser'; +import * as React from 'react'; +import { RectButton, ScrollView } from 'react-native-gesture-handler'; +import { NavigationContainer } from '@react-navigation/native'; +import { createStackNavigator } from '@react-navigation/stack'; +import { ImageBackground, Platform, StyleSheet, Text, TouchableOpacity, View, Image, Button, TextInput} from 'react-native'; + import {AppRegistry} from 'react-native'; +import * as Font from 'expo-font' +import {useState} from 'react'; +import {AppLoading} from 'expo' +import { Component } from 'react'; +import { TextInputMask } from 'react-native-masked-text' +import date from 'date-and-time'; +// + + + +async function loadAppliction(){ + await Font.loadAsync({ + 'mm':require('../assets/fonts/Roboto-Black.ttf') + }) +} + + + + + +export default function LinksScreen({navigation}) { + + const [isReady,setIsReady] = useState(false); + if(!isReady){ + return console.log(err)} + onFinish={()=>setIsReady(true) } + /> + }else return ( + + + + + + + + navigation.navigate('Form5')}> + + + + + + SPRY ROCKS + + + Glad to see you, friend! + SPRY ROCKS is a rapidly developing European company with headquarter at Kharkiv, Ukraine. + Our company was founded in 2014 and although we are a young team we have a lot of successful projects and satisfied customers. + In work with every particular customer, the main philosophy is to establish and keep good relations. + We develop innovative solutions that not only contribute to the success of our customer's businesses but also give them a competitive market advantage. + Because your success is our success too! + + + + + + ); +} + + + +const styles = StyleSheet.create({ + + container: { + flex: 1, + flexDirection: "column" + }, + txt:{ + padding: 5, + textAlign:'justify', + fontFamily: 'mm', + fontSize: 16, + color: 'white', + marginTop: 30, + backgroundColor: 'rgba(256,256,256, .7)', + + + color: '#303F9F', + borderColor: "#fff", + borderWidth: 2, + width: "95%", + alignSelf: "center" + }, + txt1:{ + marginBottom: 34, + color: '#303F9F', + fontSize: 20, + }, + txt2:{ + textAlign:'justify', + color: '#303F9F', + fontSize: 20, + }, + + btn:{ + fontFamily:'mm', + fontWeight:'bold', + width: "50%", + alignSelf: "center", + marginTop: 630, + position: 'absolute' + }, + image: { + flex: 1, + resizeMode: "cover", + justifyContent: "center", + + }, + fillForm2:{ + color: 'white', + fontSize: 18, + fontFamily: 'mm', + marginTop: 5, + marginLeft: 40, + + }, + txtTitle: { + marginTop: 15, + paddingLeft: 30, + fontSize: 24, + fontFamily: 'mm', + color: 'orange', + backgroundColor: 'rgba(47,163,218, .7)', + width: '60%', + height: 40, + + }, + textInput:{ + borderWidth: 2, + borderColor: "#000", + marginRight: 30, + marginLeft: 30, + height: 35, + paddingTop: 5, + borderColor: "white", + fontFamily:'mm', + fontSize: 18, + color: '#303F9F', + backgroundColor: 'rgba(256,256,256, .6)', + }, + mda: { + marginTop: 30, + backgroundColor: 'rgba(256,256,256, .2)', + padding: 10, + paddingLeft: 40, + paddingRight: 40, + color: "#fff", + borderColor: "#fff", + borderWidth: 2, + width: "70%", + alignSelf: "center" + }, + txtFill: { + color: "#fff", + fontSize: 24, + fontFamily:'mm', + fontWeight:'bold', + + alignSelf: "center", + textAlign:'center' + }, + txtFill2: { + color: "#fff", + fontSize: 12, + fontFamily:'mm', + + alignSelf: "center", + textAlign:'center' + }, + backbtn: { + width: 40, + height: 40, + marginTop: 30, + }, + textLogo:{ + marginTop: -45, + alignSelf: "center", + color: 'orange', + fontSize: 24, + fontFamily: 'mm' + }, + logo:{ + marginTop: -70, + resizeMode:"contain", + alignSelf: "center", + justifyContent: 'center', + height: 150, + width:150, + alignItems: 'center', + + }, + contentContainer: { + paddingTop: 15, + }, + optionIconContainer: { + marginRight: 12, + }, + option: { + backgroundColor: '#fdfdfd', + paddingHorizontal: 15, + paddingVertical: 15, + borderWidth: StyleSheet.hairlineWidth, + borderBottomWidth: 0, + borderColor: '#ededed', + }, + lastOption: { + borderBottomWidth: StyleSheet.hairlineWidth, + }, + optionText: { + fontSize: 15, + alignSelf: 'flex-start', + marginTop: 1, + }, +}); diff --git a/screens/Form1.js b/screens/Form1.js new file mode 100644 index 0000000..67ed74a --- /dev/null +++ b/screens/Form1.js @@ -0,0 +1,210 @@ + +import * as React from 'react'; +import { ImageBackground, Platform, StyleSheet, Text, TouchableOpacity, View, Image, Button, TextInput, KeyboardAvoidingView, TouchableWithoutFeedback, Keyboard} from 'react-native'; +import * as Font from 'expo-font' +import {useState} from 'react'; +import {AppLoading} from 'expo' +import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view' + + +async function loadAppliction(){ + await Font.loadAsync({ + 'mm':require('../assets/fonts/Roboto-Black.ttf') + }) +} + + + +export default function Form1({navigation}) { + + const [isReady,setIsReady] = useState(false); + const [name,setName] = useState(null); + const [position,setPosition] = useState(null); + const [dob,setDob] = useState(null); + const [city,setCity] = useState(null); + const [phone,setPhone] = useState(null); + global.name = name; + global.position = position; + global.dob = dob; + global.city = city; + global.phone = phone; + + function submit(){ + + if(name !== null && name.length < 8){ alert('Enter your full name please and it is must me correct')} + if(position !== null && position.length < 8){ alert('Specify your desire profession')} + if(dob !== null && dob.length > 10 ){ alert('Enter valid data')} + if(name == null || dob == null || city == null || phone == null ){ + alert('Area with * must be filled') + } else{ + navigation.navigate('Form2') + } + } + + if(!isReady){ + return console.log(err)} + onFinish={()=>setIsReady(true) } + /> + }else return ( + + + + + + navigation.navigate('Start')}> + + + + + + SPRY ROCKS + + FILL THE FORM + area with * must be filled + + Personal info + + Full name* + setName(val)}> + + + Position* + setPosition(val)}> + + + Date of birthday* + setDob(val)}> + + + City* + setCity(val)}> + + + Phonenumber* + setPhone(val)}> + +