Skip to content

Commit 93c68c8

Browse files
Refactor mobile app with Neobrutalism UI using Expo and NativeWind
1 parent b963fd5 commit 93c68c8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+2868
-4264
lines changed

mobile/.gitignore

Lines changed: 4 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,8 @@
1-
# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files
2-
3-
# dependencies
41
node_modules/
5-
6-
# Expo
72
.expo/
83
dist/
9-
web-build/
10-
expo-env.d.ts
11-
12-
# Native
13-
.kotlin/
14-
*.orig.*
15-
*.jks
16-
*.p8
17-
*.p12
18-
*.key
19-
*.mobileprovision
20-
21-
# Metro
22-
.metro-health-check*
23-
24-
# debug
25-
npm-debug.*
26-
yarn-debug.*
27-
yarn-error.*
28-
29-
# macOS
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
# MacOS
308
.DS_Store
31-
*.pem
32-
33-
# local env files
34-
.env*.local
35-
36-
# typescript
37-
*.tsbuildinfo

mobile/App.js

Lines changed: 0 additions & 14 deletions
This file was deleted.

mobile/api/auth.js

Lines changed: 0 additions & 15 deletions
This file was deleted.

mobile/api/client.js

Lines changed: 0 additions & 117 deletions
This file was deleted.

mobile/api/groups.js

Lines changed: 0 additions & 47 deletions
This file was deleted.

mobile/app.json

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,50 @@
11
{
22
"expo": {
3-
"name": "frontend",
4-
"slug": "frontend",
5-
"platforms": ["ios", "android", "web"],
3+
"name": "Splitwiser Mobile",
4+
"slug": "splitwiser-mobile",
65
"version": "1.0.0",
76
"orientation": "portrait",
87
"icon": "./assets/icon.png",
98
"userInterfaceStyle": "light",
10-
"newArchEnabled": true,
119
"splash": {
12-
"image": "./assets/splash-icon.png",
10+
"image": "./assets/splash.png",
1311
"resizeMode": "contain",
1412
"backgroundColor": "#ffffff"
1513
},
14+
"assetBundlePatterns": [
15+
"**/*"
16+
],
1617
"ios": {
1718
"supportsTablet": true,
18-
"infoPlist": {
19-
"NSPhotoLibraryUsageDescription": "Allow Splitwiser to select a group icon from your photo library."
20-
}
19+
"bundleIdentifier": "com.splitwiser.mobile"
2120
},
2221
"android": {
2322
"adaptiveIcon": {
2423
"foregroundImage": "./assets/adaptive-icon.png",
2524
"backgroundColor": "#ffffff"
2625
},
27-
"edgeToEdgeEnabled": true,
28-
"permissions": ["READ_MEDIA_IMAGES"]
26+
"package": "com.splitwiser.mobile"
2927
},
3028
"web": {
31-
"favicon": "./assets/favicon.png"
29+
"favicon": "./assets/favicon.png",
30+
"bundler": "metro"
3231
},
33-
"extra": {
34-
"eas": {
35-
"projectId": "afe97159-52c4-425a-9ce3-c56d4f2cb568"
36-
}
37-
},
38-
"owner": "devasy23"
32+
"plugins": [
33+
"expo-router",
34+
"expo-font",
35+
[
36+
"expo-build-properties",
37+
{
38+
"android": {
39+
"newArchEnabled": true
40+
},
41+
"ios": {
42+
"newArchEnabled": true
43+
}
44+
}
45+
]
46+
],
47+
"scheme": "splitwiser",
48+
"newArchEnabled": true
3949
}
4050
}

mobile/app/_layout.tsx

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native';
2+
import { useFonts } from 'expo-font';
3+
import { Stack } from 'expo-router';
4+
import * as SplashScreen from 'expo-splash-screen';
5+
import { useEffect } from 'react';
6+
import { Inter_400Regular, Inter_700Bold } from '@expo-google-fonts/inter';
7+
import { SpaceGrotesk_400Regular, SpaceGrotesk_700Bold } from '@expo-google-fonts/space-grotesk';
8+
import "../global.css";
9+
import { StatusBar } from 'expo-status-bar';
10+
11+
// Prevent the splash screen from auto-hiding before asset loading is complete.
12+
SplashScreen.preventAutoHideAsync();
13+
14+
export default function RootLayout() {
15+
const [loaded] = useFonts({
16+
Inter_400Regular,
17+
Inter_700Bold,
18+
SpaceGrotesk_400Regular,
19+
SpaceGrotesk_700Bold,
20+
});
21+
22+
useEffect(() => {
23+
if (loaded) {
24+
SplashScreen.hideAsync();
25+
}
26+
}, [loaded]);
27+
28+
if (!loaded) {
29+
return null;
30+
}
31+
32+
return (
33+
<ThemeProvider value={DefaultTheme}>
34+
<Stack>
35+
<Stack.Screen name="index" options={{ headerShown: false }} />
36+
</Stack>
37+
<StatusBar style="dark" />
38+
</ThemeProvider>
39+
);
40+
}

0 commit comments

Comments
 (0)