chahinebrini 5d6c322129 wip: KeyboardAwareSheet migrations + Snake/Tetris UI + iron.png + useMe live-update
Sheets via neuer KeyboardAwareSheet-Composable (in Modal pattern, auto-grow
mit Tastatur, paddingBottom-Lift): EditMail, AddDomain, CreateRoom, ConnectMail.
GameOverScreen behält Spring-Slide-In, nutzt RN Keyboard.addListener für Lift.

- KeyboardAwareSheet.tsx — universal modal with sheet-grow + keyboard-padding
- react-native-keyboard-controller installiert + KeyboardProvider in Root
- Snake: time + ScoreProgressBar + useSnakeSounds (haptic, audio TODO)
- Tetris: title weg, Buttons zentriert, kein Pressable mit style-fn
- DPad-Buttons 60→48, more bg, no scale
- useMe: pub-sub listener pattern für app-weite avatar/nickname-Updates
- dm.tsx: resolveAvatar wrap (iron.png-Warning)
- Mail-error-humanizer + locales

Recovery-Doc-Update in docs/internal/RECOVERY_LOG_2026-05-10.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 23:59:25 +02:00

55 lines
1.2 KiB
JSON

{
"cli": {
"version": ">= 5.0.0",
"appVersionSource": "remote"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal",
"ios": {
"simulator": false
},
"android": {
"buildType": "apk"
}
},
"preview": {
"distribution": "internal",
"ios": {
"resourceClass": "m-medium",
"autoIncrement": true
},
"android": {
"buildType": "apk",
"autoIncrement": true
},
"channel": "preview"
},
"production": {
"ios": {
"resourceClass": "m-medium",
"autoIncrement": true
},
"android": {
"buildType": "app-bundle",
"autoIncrement": true
},
"channel": "production"
}
},
"submit": {
"production": {
"ios": {
"appleId": "tunisie@hotmail.de",
"ascAppId": "6762027467",
"appleTeamId": "84BQ7MTFYK"
},
"android": {
"serviceAccountKeyPath": "<USER: lokaler Pfad zu Google-Cloud-Service-Account-JSON, z.B. ~/secrets/rebreak-play-service-account.json>",
"track": "internal"
}
}
}
}