chahinebrini 3c52d8869e feat(native): WIP checkpoint — Profile/Settings/Demographics + WheelPicker + Maestro
Rollback-Punkt vor Expo SDK 54 / RN 0.81 Upgrade.

UI/UX:
- Profile: ProfileHeader redesign (sign-in chip + member-since), StatsBar 3 pill cards,
  Demographics accordion completed (Geburtsjahr, Geschlecht, Familienstand, Beruf-split,
  Wohnort), Pro-Trial-Banner, Approved-Domains list, DigaMissionBanner
- Settings: section-based layout, neutral icons (matched Header dropdown style)
- Header dropdown: extended with logout + games-page link
- Notifications page: skeleton dummy data
- Locales: i18n keys for new screens

New components:
- WheelPickerModal: native iOS UIPickerView wheel for long lists (Geburtsjahr 91 items,
  Bundesland 16, Stadt 30+/Bundesland)
- OptionsBottomSheet: iOS-style options sheet (used briefly for Geschlecht, currently
  unused — kept for potential future use)
- germanCities.ts: Top-cities per Bundesland (DSGVO-clean static data)

New libs (NewArch-codegen verified):
- @react-native-menu/menu 2.0.0 (UIMenu wrapper, Apple HIG-konform)
- @lodev09/react-native-true-sheet 3.10.1 (UISheetPresentationController wrapper —
  ABER incompatible mit RN 0.79.6, Build-Error → Trigger für SDK-54-Upgrade)

Maestro E2E:
- Initial setup mit auth/community/profile/urge flows

Scripts:
- build-ios-clean.sh: Xcode DerivedData + ios/build cleanup vor expo run:ios

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 19:32:27 +02:00

76 lines
2.4 KiB
JSON

{
"name": "@trucko/rebreak-native",
"version": "0.1.0",
"private": true,
"main": "expo-router/entry",
"scripts": {
"start": "expo start --dev-client",
"ios": "expo run:ios",
"android": "expo run:android",
"prebuild": "expo prebuild --clean",
"lint": "expo lint",
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@expo-google-fonts/nunito": "^0.2.3",
"@expo/react-native-action-sheet": "^4.1.1",
"@expo/vector-icons": "^14.0.0",
"@lodev09/react-native-true-sheet": "^3.10.1",
"@react-native-async-storage/async-storage": "^2.1.2",
"@react-native-community/slider": "^5.2.0",
"@react-native-menu/menu": "^2.0.0",
"@react-native-picker/picker": "2.11.1",
"@react-navigation/native": "^7.0.0",
"@supabase/supabase-js": "^2.46.0",
"@tanstack/react-query": "^5.59.0",
"expo": "^53.0.0",
"expo-apple-authentication": "~7.2.4",
"expo-application": "~6.1.5",
"expo-av": "~15.1.7",
"expo-build-properties": "~0.14.8",
"expo-clipboard": "^55.0.13",
"expo-constants": "~17.1.8",
"expo-dev-client": "~5.2.4",
"expo-file-system": "~18.1.11",
"expo-font": "~13.0.0",
"expo-haptics": "^55.0.14",
"expo-image-picker": "~16.1.4",
"expo-linking": "~7.1.7",
"expo-localization": "~16.1.6",
"expo-modules-core": "^2.0.0",
"expo-notifications": "~0.31.5",
"expo-router": "~5.1.11",
"expo-speech": "~13.1.7",
"expo-splash-screen": "~0.30.10",
"expo-status-bar": "~2.2.3",
"expo-web-browser": "~14.2.0",
"i18next": "^23.16.0",
"lottie-react-native": "7.2.2",
"nativewind": "^4.1.0",
"react": "19.0.0",
"react-dom": "19.0.0",
"react-hook-form": "^7.53.0",
"react-i18next": "^15.1.0",
"react-native": "0.79.6",
"react-native-bottom-tabs": "^1.2.0",
"react-native-gesture-handler": "~2.24.0",
"react-native-mmkv": "^3.1.0",
"react-native-reanimated": "~4.0.0",
"react-native-safe-area-context": "5.4.0",
"react-native-screens": "~4.11.1",
"react-native-sse": "^1.2.1",
"react-native-svg": "15.11.2",
"react-native-url-polyfill": "^2.0.0",
"react-native-worklets": "~0.4.0",
"rive-react-native": "^9.0.1",
"tailwindcss": "^3.4.14",
"valibot": "^1.2.0",
"zustand": "^5.0.0"
},
"devDependencies": {
"@babel/core": "^7.25.0",
"@types/react": "~19.0.14",
"typescript": "~5.8.3"
}
}