@umituz/react-native-ai-generation-content 1.89.69 → 1.89.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/react-native-ai-generation-content",
3
- "version": "1.89.69",
3
+ "version": "1.89.71",
4
4
  "description": "Provider-agnostic AI generation orchestration for React Native with result preview components",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",
@@ -55,6 +55,8 @@
55
55
  "@umituz/react-native-subscription": "*",
56
56
  "@umituz/react-native-video-editor": "*",
57
57
  "expo": ">=54.0.0",
58
+ "expo-document-picker": "*",
59
+ "expo-video": "*",
58
60
  "firebase": ">=10.0.0",
59
61
  "react": ">=19.0.0",
60
62
  "react-native": "*",
@@ -1,11 +1,32 @@
1
1
  import React from "react";
2
- import { VideoPlayer } from "@umituz/react-native-video-editor";
2
+ import { ActivityIndicator, View } from "react-native";
3
+ import { AtomicText } from "@umituz/react-native-design-system/atoms";
3
4
 
4
5
  interface VideoResultPlayerProps {
5
6
  uri: string;
6
7
  }
7
8
 
8
9
  export const VideoResultPlayer: React.FC<VideoResultPlayerProps> = ({ uri }) => {
10
+ const [VideoPlayer, setVideoPlayer] = React.useState<any>(null);
11
+
12
+ React.useEffect(() => {
13
+ // Lazy load video player only when needed
14
+ // @ts-ignore - Optional peer dependency
15
+ import("@umituz/react-native-video-editor").then((module) => {
16
+ setVideoPlayer(() => module.VideoPlayer);
17
+ }).catch(() => {
18
+ // Video player not available, will show fallback
19
+ });
20
+ }, []);
21
+
22
+ if (!VideoPlayer) {
23
+ return (
24
+ <View style={{ width: "100%", aspectRatio: 2 / 3, borderRadius: 16, backgroundColor: "#000", justifyContent: "center", alignItems: "center" }}>
25
+ <AtomicText style={{ color: "#fff" }}>Video not available</AtomicText>
26
+ </View>
27
+ );
28
+ }
29
+
9
30
  return (
10
31
  <VideoPlayer
11
32
  source={uri}