Files
cardclaws/cardclaws-mobile/app.config.ts
T
Omar SobhandClaude Opus 4.8 b0b080981e
CI / policy (push) Has been cancelled
CI / backend (push) Has been cancelled
CI / profile (push) Has been cancelled
CI / mobile (push) Has been cancelled
Mobile: on-device gallery + AI image/video generators
- 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]>
2026-06-05 12:56:41 -05:00

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;