Skip to content

Commit

Permalink
Merge pull request OpenInterpreter#224 from tyfiero/Add-iOS-client
Browse files Browse the repository at this point in the history
Add react native app to iOS client
  • Loading branch information
tyfiero authored Apr 5, 2024
2 parents 5d8757b + 4b014aa commit 0dbfe1f
Show file tree
Hide file tree
Showing 14 changed files with 13,652 additions and 0 deletions.
13 changes: 13 additions & 0 deletions software/source/clients/ios/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# iOS/Android Client

[WORK IN PROGRESS]

This repository contains the source code for the 01 iOS/Android app. Work in progress, we will continue to improve this application to get it working properly.

Feel free to improve this and make a pull request!

If you want to run it on your own, you will need expo.

1. Install dependencies `npm install`
2. Run the app `npx expo start`
3. Open the app in your simulator or on your device with the expo app by scanning the QR code
22 changes: 22 additions & 0 deletions software/source/clients/ios/react-native/App.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import * as React from "react";
import { NavigationContainer } from "@react-navigation/native";
import { createNativeStackNavigator } from "@react-navigation/native-stack";
import HomeScreen from "./src/screens/HomeScreen";
import CameraScreen from "./src/screens/Camera";
import Main from "./src/screens/Main";

const Stack = createNativeStackNavigator();

function App() {
return (
<NavigationContainer>
<Stack.Navigator initialRouteName="Home">
<Stack.Screen name="Home" component={HomeScreen} />
<Stack.Screen name="Camera" component={CameraScreen} />
<Stack.Screen name="Main" component={Main} />
</Stack.Navigator>
</NavigationContainer>
);
}

export default App;
38 changes: 38 additions & 0 deletions software/source/clients/ios/react-native/app.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"expo": {
"name": "01iOS",
"slug": "01iOS",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"userInterfaceStyle": "light",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"assetBundlePatterns": ["**/*"],
"plugins": [
[
"expo-camera",
{
"cameraPermission": "Allow $(PRODUCT_NAME) to access your camera",
"microphonePermission": "Allow $(PRODUCT_NAME) to access your microphone",
"recordAudioAndroid": true
}
]
],
"ios": {
"supportsTablet": true
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#ffffff"
}
},
"web": {
"favicon": "./assets/favicon.png"
}
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions software/source/clients/ios/react-native/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = function(api) {
api.cache(true);
return {
presets: ['babel-preset-expo'],
};
};
Loading

0 comments on commit 0dbfe1f

Please sign in to comment.