Add Expo mobile app for iOS and Android

Native tabs for feed, friend search, profile and settings, with feature
parity with the web app. Sessions are stored in SecureStore, realtime
disconnects in the background, and Spotify/Plex sign-in returns to the app
via the URL scheme.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MzFywujuH9TiuXbr9vjoX8
This commit is contained in:
2026-10-03 09:59:02 -04:00
co-authored by Claude Opus 5.5
parent 5004beb10d
commit 0ee9ae3135
41 changed files with 1702 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
{
"expo": {
"name": "musicshare",
"slug": "musicshare",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/images/icon.png",
"scheme": "musicshare",
"userInterfaceStyle": "dark",
"ios": {
"icon": "./assets/expo.icon",
"bundleIdentifier": "tech.chrisedwards.musicshare"
},
"android": {
"adaptiveIcon": {
"backgroundColor": "#0e0f13",
"foregroundImage": "./assets/images/android-icon-foreground.png",
"backgroundImage": "./assets/images/android-icon-background.png",
"monochromeImage": "./assets/images/android-icon-monochrome.png"
},
"predictiveBackGestureEnabled": false,
"package": "tech.chrisedwards.musicshare"
},
"plugins": [
"expo-router",
"expo-secure-store",
[
"expo-splash-screen",
{
"backgroundColor": "#0e0f13",
"image": "./assets/images/splash-icon.png",
"imageWidth": 76
}
]
],
"experiments": {
"reactCompiler": true
}
}
}