├── .gitignore ├── App.tsx ├── LICENSE ├── README.md ├── app.json ├── assets ├── adaptive-icon.png ├── favicon.png ├── icon.png └── splash.png ├── babel.config.js ├── package-lock.json ├── package.json └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | # Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files 2 | 3 | # dependencies 4 | node_modules/ 5 | 6 | # Expo 7 | .expo/ 8 | dist/ 9 | web-build/ 10 | 11 | # Native 12 | *.orig.* 13 | *.jks 14 | *.p8 15 | *.p12 16 | *.key 17 | *.mobileprovision 18 | 19 | # Metro 20 | .metro-health-check* 21 | 22 | # debug 23 | npm-debug.* 24 | yarn-debug.* 25 | yarn-error.* 26 | 27 | # macOS 28 | .DS_Store 29 | *.pem 30 | 31 | # local env files 32 | .env*.local 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | -------------------------------------------------------------------------------- /App.tsx: -------------------------------------------------------------------------------- 1 | import React, { useState } from "react"; 2 | import { StyleSheet } from "react-native"; 3 | import { 4 | ViroARScene, 5 | ViroText, 6 | ViroTrackingStateConstants, 7 | ViroARSceneNavigator, 8 | ViroTrackingReason, 9 | } from "@viro-community/react-viro"; 10 | 11 | const HelloWorldSceneAR = () => { 12 | const [text, setText] = useState("Initializing AR..."); 13 | 14 | function onInitialized(state: any, reason: ViroTrackingReason) { 15 | console.log("guncelleme", state, reason); 16 | if (state === ViroTrackingStateConstants.TRACKING_NORMAL) { 17 | setText("Hello World!"); 18 | } else if (state === ViroTrackingStateConstants.TRACKING_UNAVAILABLE) { 19 | // Handle loss of tracking 20 | } 21 | } 22 | 23 | return ( 24 | 25 | 31 | 32 | ); 33 | }; 34 | 35 | export default () => { 36 | return ( 37 | 44 | ); 45 | }; 46 | 47 | var styles = StyleSheet.create({ 48 | f1: { flex: 1 }, 49 | helloWorldTextStyle: { 50 | fontFamily: "Arial", 51 | fontSize: 30, 52 | color: "#ffffff", 53 | textAlignVertical: "center", 54 | textAlign: "center", 55 | }, 56 | }); 57 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Viro Community 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Expo Starter Kit (TypeScript) 2 | 3 | ## Installation 4 | 5 | ```shell 6 | npm install 7 | ``` 8 | 9 | ## Running 10 | 11 | ```shell 12 | npm run start` 13 | ``` 14 | 15 | ## Expo Docs 16 | 17 | [Expo Docs](https://docs.expo.dev/) 18 | 19 | ## Need help? 20 | 21 | 22 | Discord Banner 2 23 | 24 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "expo": { 3 | "name": "expo-starter-kit-typescript", 4 | "slug": "expo-starter-kit-typescript", 5 | "version": "1.0.0", 6 | "orientation": "portrait", 7 | "icon": "./assets/icon.png", 8 | "userInterfaceStyle": "light", 9 | "splash": { 10 | "image": "./assets/splash.png", 11 | "resizeMode": "contain", 12 | "backgroundColor": "#ffffff" 13 | }, 14 | "assetBundlePatterns": [ 15 | "**/*" 16 | ], 17 | "ios": { 18 | "supportsTablet": true 19 | }, 20 | "android": { 21 | "adaptiveIcon": { 22 | "foregroundImage": "./assets/adaptive-icon.png", 23 | "backgroundColor": "#ffffff" 24 | } 25 | }, 26 | "web": { 27 | "favicon": "./assets/favicon.png" 28 | }, 29 | "plugins": ["@viro-community/react-viro"] 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /assets/adaptive-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/expo-starter-kit-typescript/eff0721b26c723dad8a6537dda554b11353f2ba4/assets/adaptive-icon.png -------------------------------------------------------------------------------- /assets/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/expo-starter-kit-typescript/eff0721b26c723dad8a6537dda554b11353f2ba4/assets/favicon.png -------------------------------------------------------------------------------- /assets/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/expo-starter-kit-typescript/eff0721b26c723dad8a6537dda554b11353f2ba4/assets/icon.png -------------------------------------------------------------------------------- /assets/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/expo-starter-kit-typescript/eff0721b26c723dad8a6537dda554b11353f2ba4/assets/splash.png -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = function(api) { 2 | api.cache(true); 3 | return { 4 | presets: ['babel-preset-expo'], 5 | }; 6 | }; 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "expo-starter-kit-typescript", 3 | "version": "1.0.0", 4 | "main": "node_modules/expo/AppEntry.js", 5 | "scripts": { 6 | "start": "expo start", 7 | "android": "expo start --android", 8 | "ios": "expo start --ios", 9 | "web": "expo start --web" 10 | }, 11 | "dependencies": { 12 | "@viro-community/react-viro": "^2.41.0", 13 | "expo": "~50.0.4", 14 | "expo-status-bar": "~1.11.1", 15 | "react": "18.2.0", 16 | "react-native": "0.73.2" 17 | }, 18 | "devDependencies": { 19 | "@babel/core": "^7.20.0", 20 | "@types/react": "~18.2.45", 21 | "typescript": "^5.1.3" 22 | }, 23 | "private": true 24 | } 25 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "expo/tsconfig.base", 3 | "compilerOptions": { 4 | "strict": true 5 | } 6 | } 7 | --------------------------------------------------------------------------------