- index.tsx: card gallery that shrinks columns as it grows (2→3→4); video tiles animate via a frame flipbook (expo-video-thumbnails) with a play badge. - demo.tsx: standalone editor — photo / AI scene / AI video → card front; name/title/QR-link; back-of-card scannable links; save to the local gallery. - generate-image.tsx: single-screen AI scene — refine (Gemini) → nano-banana → drop image on the card front. - generate-video.tsx: single-screen AI video — submit Veo, poll with progress, drop the looping clip on the card front. - stores/localCardsStore (MMKV-persisted cards + links + videoPath), draftStore (generator → editor hand-off); utils/imageStore (persist photo/video); api/ai client; LinksEditor, CardThumb, genwizard/Chips. - deps: expo-image-picker, expo-file-system, expo-av, expo-video-thumbnails, expo-build-properties (cleartext for the backend over adb reverse). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import { ExpoConfig } from "expo/config";
|
|
|
|
// Expo app configuration (PRD §8). iOS-first for Phase 1.
|
|
const config: ExpoConfig = {
|
|
name: "CardClaws",
|
|
slug: "cardclaws",
|
|
scheme: "cardclaws",
|
|
version: "0.1.0",
|
|
orientation: "portrait",
|
|
userInterfaceStyle: "automatic",
|
|
ios: {
|
|
bundleIdentifier: "com.cardclaws.app",
|
|
supportsTablet: false,
|
|
},
|
|
android: {
|
|
package: "com.cardclaws.app",
|
|
},
|
|
plugins: [
|
|
"expo-router",
|
|
// Allow cleartext HTTP so the demo can reach the backend over `adb reverse`
|
|
// (localhost:8080). Production scopes this to specific domains.
|
|
["expo-build-properties", { android: { usesCleartextTraffic: true } }],
|
|
[
|
|
"expo-image-picker",
|
|
{
|
|
photosPermission: "CardClaws uses your photos to set your card image.",
|
|
cameraPermission: "CardClaws uses the camera to capture your card image.",
|
|
},
|
|
],
|
|
"./plugins/withReleaseSigning.js",
|
|
],
|
|
experiments: {
|
|
typedRoutes: true,
|
|
},
|
|
extra: {
|
|
apiBase: process.env.EXPO_PUBLIC_API_BASE ?? "http://localhost:8080",
|
|
},
|
|
};
|
|
|
|
export default config;
|