- Redesign matching the web: album-art backdrops, Reanimated equalizer, spinning live ring, drifting ambient background, gradient buttons with spring press feedback and haptics, Space Grotesk headings, animated feed (enter + layout transitions); fix invisible tab labels - Four-step onboarding for new accounts: which app you listen with (sets where songs open), the matching share setup, find friends (search, scan, invite), and a featured song. Skippable; stored server-side - QR codes: My code (share link) and an in-app scanner (camera only, no microphone permission) - Spotify setup via Last.fm or ListenBrainz with guided linking; Android shares Spotify automatically through the phone reader - New logo as app icon, adaptive/monochrome icon and splash - app.config.ts allows cleartext only for local http:// test builds Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MzFywujuH9TiuXbr9vjoX8
21 lines
718 B
TypeScript
21 lines
718 B
TypeScript
import type { ConfigContext, ExpoConfig } from 'expo/config';
|
|
|
|
/**
|
|
* app.json holds the real config; this only adds build-time switches.
|
|
*
|
|
* Local test builds point at a dev server over plain http://, which Android
|
|
* blocks by default in release builds. Allow cleartext only when the API URL
|
|
* itself is http://, so store builds (https) stay locked down.
|
|
*/
|
|
export default ({ config }: ConfigContext): ExpoConfig => {
|
|
const apiUrl = process.env.EXPO_PUBLIC_API_URL ?? '';
|
|
const localHttp = apiUrl.startsWith('http://');
|
|
return {
|
|
...(config as ExpoConfig),
|
|
plugins: [
|
|
...(config.plugins ?? []),
|
|
['expo-build-properties', { android: { usesCleartextTraffic: localHttp } }],
|
|
],
|
|
};
|
|
};
|