Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,6 @@ These must match Auth0 dashboard configuration.
## Important Notes

1. **New Architecture Enabled**: React 19 with New Architecture (`newArchEnabled: true` in `app.json`)
2. **Biometrics in Expo Go**: Disabled during Expo Go development, enabled in production builds
3. **Zscaler Users**: Ensure Zscaler policies are up-to-date for corporate environments
4. **Node Version**: Use Node.js LTS (20.19.4+)
5. **Android Emulator**: Must be running before `npm run android`
Expand Down
21 changes: 2 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ A comprehensive React Native mobile application built with Expo, featuring Auth0
**iOS 17 & iOS 18**: Fully supported
**Android 14 & Android 15**: Fully supported

> **Note**: Some features (like biometrics) are disabled in Expo Go during development but work properly in production builds.

## Key Features

- **Auth0 Authentication**: OAuth2/OIDC with OTP verification
Expand Down Expand Up @@ -54,14 +52,9 @@ A comprehensive React Native mobile application built with Expo, featuring Auth0

3. **Start Development**
```bash
npx expo start --clear
npx expo run:ios
npx expo run:android
```

Then:
- **iOS**: Press `i` or scan QR code with Camera app
- **Android**: Press `a` or scan QR code with Expo Go app
- Press `r` to reload the app when needed
- Click `Ctrl+C` to shut down the server

### Android Emulator Setup (if needed)

Expand Down Expand Up @@ -121,10 +114,6 @@ Please ask team members to share specifics

**Callback URLs:**
```
# Development (Expo Go)
exp://[YOUR-IP]:8081/--/auth0
exp://localhost:8081/--/auth0

# Production
softwareone.playground-platform-navigation://login-dev.pyracloud.com/ios/com.softwareone.marketplaceMobile/callback
softwareone.playground-platform-navigation://login-dev.pyracloud.com/android/com.softwareone.marketplaceMobile/callback
Expand Down Expand Up @@ -210,12 +199,6 @@ npx expo run:ios

# Android
npx expo run:android

# Expo Go (Quick Development)
npx expo start

# Clear Cache
npx expo start --clear
```

## Local Build - iOS
Expand Down
30 changes: 17 additions & 13 deletions app/App.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,25 @@
import React from 'react';
import { StatusBar } from 'expo-status-bar';
import { StyleSheet, Text, View } from 'react-native';
import { AuthProvider } from '@/context/AuthContext';
import { isFeatureEnabled } from '@featureFlags';
import { Colors } from './src/constants/colors';

const App = () => {
const featureTestEnabled = isFeatureEnabled('FEATURE_TEST');

return (
<AuthProvider>
<View style={styles.container}>
<Text>
{featureTestEnabled ? 'Test Feature Enabled' : 'Test Feature Disabled'}
</Text>
<StatusBar style="auto" />
</View>
</AuthProvider>
);
};

const styles = StyleSheet.create({
container: {
flex: 1,
Expand All @@ -12,17 +29,4 @@ const styles = StyleSheet.create({
},
});

const App = () => {
const featureTestEnabled = isFeatureEnabled('FEATURE_TEST');

return (
<View style={styles.container}>
<Text>
{featureTestEnabled ? 'Test Feature Enabled' : 'Test Feature Disabled'}
</Text>
<StatusBar style="auto" />
</View>
);
}

export default App;
3 changes: 0 additions & 3 deletions app/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,4 @@ import { registerRootComponent } from 'expo';

import App from './App';

// registerRootComponent calls AppRegistry.registerComponent('main', () => App);
// It also ensures that whether you load the app in Expo Go or in a native build,
// the environment is set up appropriately
registerRootComponent(App);
16 changes: 12 additions & 4 deletions app/jest.config.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
export default {
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],
testMatch: ['**/__tests__/**/*.test.(ts|tsx|js)'],
coverageReporters: ['text', 'lcov', 'json-summary'],
setupFilesAfterEnv: ['<rootDir>/src/__tests__/setup.ts'],
moduleFileExtensions: ['ts', 'tsx', 'js'],
testMatch: [
'**/__tests__/**/*.test.(ts|tsx|js)',
],
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1',
},
transformIgnorePatterns: [
'node_modules/(?!(expo-secure-store|@react-native-async-storage|react-native-auth0)/)',
],
collectCoverageFrom: [
'src/**/*.{ts,tsx}',
'!src/**/*.d.ts',
Expand Down
Loading