diff --git a/.changeset/cyan-fireants-perform.md b/.changeset/cyan-fireants-perform.md new file mode 100644 index 000000000..62c21211f --- /dev/null +++ b/.changeset/cyan-fireants-perform.md @@ -0,0 +1,5 @@ +--- +"@crossmint/client-sdk-react-native-ui": patch +--- + +Expose appId as an optional prop on CrossmintProvider for bare React Native projects where expo-constants is unavailable diff --git a/packages/client/ui/react-native/src/providers/CrossmintProvider.tsx b/packages/client/ui/react-native/src/providers/CrossmintProvider.tsx index dc30cec1a..ebf3ae597 100644 --- a/packages/client/ui/react-native/src/providers/CrossmintProvider.tsx +++ b/packages/client/ui/react-native/src/providers/CrossmintProvider.tsx @@ -7,7 +7,7 @@ import { initReactNativeLogger } from "../logger/init"; export const LoggerContext = createLoggerContext(); -export interface CrossmintProviderProps extends Pick { +export interface CrossmintProviderProps extends Pick { /** * Minimum log level for console output (or "silent" to suppress all output). * Logs below this level will not be written to the console. @@ -23,13 +23,19 @@ export interface CrossmintProviderProps extends Pick { return initReactNativeLogger(apiKey, consoleLogLevel); }, [apiKey, consoleLogLevel]); - // Get app ID from Expo constants - const appId = Constants.expoConfig?.ios?.bundleIdentifier ?? Constants.expoConfig?.android?.package; + // Use provided appId prop, or auto-detect from Expo constants + const appId = appIdProp ?? Constants.expoConfig?.ios?.bundleIdentifier ?? Constants.expoConfig?.android?.package; return (