chore(android): versionCode 2, eas.json profiles, avatar PNG fix
- app.config.ts: android.versionCode 2 (was 1) - eas.json: development/preview/production profiles, EXPO_PUBLIC_API_URL=staging, appVersionSource=local, autoIncrement=false - avatars: switch DiceBear endpoint /svg -> /png — RN <Image> can't decode SVG, Hero-Avatars rendered transparent/blank on Android Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
dd3d8c6667
commit
bcc6e5cba1
@ -36,6 +36,7 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
|
||||
|
||||
android: {
|
||||
package: "org.rebreak.app",
|
||||
versionCode: 2,
|
||||
adaptiveIcon: {
|
||||
// Play-Console-Icon (rebreak_android.png) verwenden — wird durch Adaptive-Mask
|
||||
// gecropped (Kreis/Squircle), evtl. Edges leicht beschnitten je nach Design.
|
||||
|
||||
@ -1,12 +1,15 @@
|
||||
{
|
||||
"cli": {
|
||||
"version": ">= 5.0.0",
|
||||
"appVersionSource": "remote"
|
||||
"appVersionSource": "local"
|
||||
},
|
||||
"build": {
|
||||
"development": {
|
||||
"developmentClient": true,
|
||||
"distribution": "internal",
|
||||
"env": {
|
||||
"EXPO_PUBLIC_API_URL": "https://staging.rebreak.org"
|
||||
},
|
||||
"ios": {
|
||||
"simulator": false
|
||||
},
|
||||
@ -16,24 +19,30 @@
|
||||
},
|
||||
"preview": {
|
||||
"distribution": "internal",
|
||||
"env": {
|
||||
"EXPO_PUBLIC_API_URL": "https://staging.rebreak.org"
|
||||
},
|
||||
"ios": {
|
||||
"resourceClass": "m-medium",
|
||||
"autoIncrement": true
|
||||
"autoIncrement": false
|
||||
},
|
||||
"android": {
|
||||
"buildType": "apk",
|
||||
"autoIncrement": true
|
||||
"autoIncrement": false
|
||||
},
|
||||
"channel": "preview"
|
||||
},
|
||||
"production": {
|
||||
"env": {
|
||||
"EXPO_PUBLIC_API_URL": "https://staging.rebreak.org"
|
||||
},
|
||||
"ios": {
|
||||
"resourceClass": "m-medium",
|
||||
"autoIncrement": true
|
||||
"autoIncrement": false
|
||||
},
|
||||
"android": {
|
||||
"buildType": "app-bundle",
|
||||
"autoIncrement": true
|
||||
"autoIncrement": false
|
||||
},
|
||||
"channel": "production"
|
||||
}
|
||||
@ -46,7 +55,7 @@
|
||||
"appleTeamId": "84BQ7MTFYK"
|
||||
},
|
||||
"android": {
|
||||
"serviceAccountKeyPath": "<USER: lokaler Pfad zu Google-Cloud-Service-Account-JSON, z.B. ~/secrets/rebreak-play-service-account.json>",
|
||||
"serviceAccountKeyPath": "<TODO: lokaler Pfad zu Google-Cloud-Service-Account-JSON, z.B. ~/secrets/rebreak-play-service-account.json>",
|
||||
"track": "internal"
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,7 +5,9 @@ export interface HeroAvatar {
|
||||
url: string;
|
||||
}
|
||||
|
||||
const DICEBEAR_BASE = 'https://api.dicebear.com/9.x/adventurer/svg';
|
||||
// PNG, not SVG — React Native's <Image> can't decode SVG (Hero-Avatars rendered
|
||||
// blank/transparent on Android otherwise). DiceBear serves PNG at the /png path.
|
||||
const DICEBEAR_BASE = 'https://api.dicebear.com/9.x/adventurer/png';
|
||||
|
||||
export const HERO_AVATARS: HeroAvatar[] = [
|
||||
{ id: 'spider', name: 'Spider', color: 'border-red-500', url: `${DICEBEAR_BASE}?seed=spiderman&backgroundColor=b71c1c` },
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import { getAvatarById, getAvatarUrl } from './avatars';
|
||||
|
||||
const DICEBEAR_BASE = 'https://api.dicebear.com/9.x/adventurer/svg';
|
||||
// PNG, not SVG — RN <Image> can't decode SVG. DiceBear serves PNG at the /png path.
|
||||
const DICEBEAR_BASE = 'https://api.dicebear.com/9.x/adventurer/png';
|
||||
|
||||
/**
|
||||
* Resolves the `profiles.avatar` field zu einer renderbaren URL.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user