@umituz/react-native-ai-generation-content 1.17.143 → 1.17.145

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.
Files changed (43) hide show
  1. package/package.json +1 -1
  2. package/src/domains/creations/presentation/hooks/index.ts +2 -2
  3. package/src/domains/creations/presentation/hooks/{useMediaFilter.ts → useFilter.ts} +12 -7
  4. package/src/domains/creations/presentation/hooks/useGalleryFilters.ts +5 -6
  5. package/src/features/ai-hug/presentation/hooks/useAIHugFeature.ts +9 -113
  6. package/src/features/ai-kiss/presentation/hooks/useAIKissFeature.ts +9 -113
  7. package/src/features/image-to-video/infrastructure/services/image-to-video-executor.ts +5 -9
  8. package/src/features/image-to-video/presentation/hooks/useImageToVideoForm.ts +5 -0
  9. package/src/features/replace-background/index.ts +5 -50
  10. package/src/features/replace-background/presentation/components/index.ts +0 -12
  11. package/src/features/replace-background/presentation/hooks/index.ts +0 -3
  12. package/src/features/shared/dual-image-video/domain/types/dual-image-video.types.ts +67 -0
  13. package/src/features/shared/dual-image-video/domain/types/index.ts +13 -0
  14. package/src/features/shared/dual-image-video/index.ts +16 -0
  15. package/src/features/shared/dual-image-video/presentation/hooks/index.ts +5 -0
  16. package/src/features/shared/dual-image-video/presentation/hooks/useDualImageVideoFeature.ts +124 -0
  17. package/src/features/shared/index.ts +6 -0
  18. package/src/infrastructure/utils/index.ts +1 -0
  19. package/src/infrastructure/utils/progress-calculator.util.ts +31 -0
  20. package/src/infrastructure/utils/result-validator.util.ts +0 -214
  21. package/src/infrastructure/utils/url-extractor.util.ts +209 -0
  22. package/src/presentation/hooks/flow-state.utils.ts +101 -0
  23. package/src/presentation/hooks/useGenerationFlow.ts +47 -178
  24. package/src/presentation/types/flow-config.types.ts +5 -99
  25. package/src/presentation/types/flow-default-configs.ts +106 -0
  26. package/src/domains/creations/presentation/hooks/useStatusFilter.ts +0 -54
  27. package/src/features/replace-background/domain/entities/background.types.ts +0 -77
  28. package/src/features/replace-background/domain/entities/component.types.ts +0 -87
  29. package/src/features/replace-background/domain/entities/config.types.ts +0 -41
  30. package/src/features/replace-background/domain/entities/index.ts +0 -30
  31. package/src/features/replace-background/infrastructure/constants/index.ts +0 -5
  32. package/src/features/replace-background/infrastructure/constants/prompts.constants.ts +0 -15
  33. package/src/features/replace-background/infrastructure/index.ts +0 -5
  34. package/src/features/replace-background/presentation/components/BackgroundFeature.tsx +0 -143
  35. package/src/features/replace-background/presentation/components/ComparisonSlider.tsx +0 -187
  36. package/src/features/replace-background/presentation/components/ErrorDisplay.tsx +0 -60
  37. package/src/features/replace-background/presentation/components/FeatureHeader.tsx +0 -80
  38. package/src/features/replace-background/presentation/components/GenerateButton.tsx +0 -85
  39. package/src/features/replace-background/presentation/components/ImagePicker.tsx +0 -136
  40. package/src/features/replace-background/presentation/components/ModeSelector.tsx +0 -78
  41. package/src/features/replace-background/presentation/components/PromptInput.tsx +0 -142
  42. package/src/features/replace-background/presentation/components/ResultDisplay.tsx +0 -122
  43. package/src/features/replace-background/presentation/hooks/useBackgroundFeature.ts +0 -119
@@ -1,119 +0,0 @@
1
- /**
2
- * useBackgroundFeature Hook
3
- * @description Main hook for background feature state and actions
4
- */
5
-
6
- import { useCallback, useState } from "react";
7
- import type {
8
- BackgroundFeatureState,
9
- BackgroundProcessResult,
10
- UseBackgroundFeatureConfig,
11
- StudioMode,
12
- } from "../../domain/entities";
13
-
14
- export interface UseBackgroundFeatureReturn extends BackgroundFeatureState {
15
- readonly selectImage: () => Promise<void>;
16
- readonly process: (prompt?: string) => Promise<void>;
17
- readonly save: () => Promise<void>;
18
- readonly reset: () => void;
19
- readonly setPrompt: (prompt: string) => void;
20
- readonly setMode: (mode: StudioMode) => void;
21
- }
22
-
23
- export function useBackgroundFeature(
24
- config: UseBackgroundFeatureConfig
25
- ): UseBackgroundFeatureReturn {
26
- const [imageUri, setImageUri] = useState<string | null>(null);
27
- const [prompt, setPrompt] = useState<string>("");
28
- const [processedUrl, setProcessedUrl] = useState<string | null>(null);
29
- const [isProcessing, setIsProcessing] = useState(false);
30
- const [progress, setProgress] = useState(0);
31
- const [error, setError] = useState<string | null>(null);
32
- const [mode, setMode] = useState<StudioMode>(
33
- config.defaultMode ?? "transparent"
34
- );
35
-
36
- const selectImage = useCallback(async (): Promise<void> => {
37
- if (!config.onSelectImage) {
38
- return;
39
- }
40
-
41
- try {
42
- const uri = await config.onSelectImage();
43
- if (uri) {
44
- setImageUri(uri);
45
- setError(null);
46
- setProcessedUrl(null);
47
- }
48
- } catch (err) {
49
- setError(err instanceof Error ? err.message : "Failed to select image");
50
- }
51
- }, [config]);
52
-
53
- const process = useCallback(
54
- async (newPrompt?: string): Promise<void> => {
55
- if (!imageUri) {
56
- setError("Please select an image first");
57
- return;
58
- }
59
-
60
- const currentPrompt = newPrompt ?? prompt;
61
- setIsProcessing(true);
62
- setProgress(0);
63
- setError(null);
64
-
65
- try {
66
- const result: BackgroundProcessResult = await config.processRequest({
67
- imageUri,
68
- prompt: currentPrompt,
69
- mode,
70
- onProgress: setProgress,
71
- });
72
-
73
- if (result.success && result.imageUrl) {
74
- setProcessedUrl(result.imageUrl);
75
- } else {
76
- setError(result.error || "Processing failed");
77
- }
78
- } catch (err) {
79
- setError(err instanceof Error ? err.message : "Processing failed");
80
- } finally {
81
- setIsProcessing(false);
82
- setProgress(0);
83
- }
84
- },
85
- [imageUri, prompt, mode, config]
86
- );
87
-
88
- const save = useCallback((): Promise<void> => {
89
- if (!processedUrl) {
90
- return Promise.resolve();
91
- }
92
- return Promise.resolve();
93
- }, [processedUrl]);
94
-
95
- const reset = useCallback((): void => {
96
- setImageUri(null);
97
- setPrompt("");
98
- setProcessedUrl(null);
99
- setIsProcessing(false);
100
- setProgress(0);
101
- setError(null);
102
- }, []);
103
-
104
- return {
105
- imageUri,
106
- prompt,
107
- processedUrl,
108
- isProcessing,
109
- progress,
110
- error,
111
- mode,
112
- selectImage,
113
- process,
114
- save,
115
- reset,
116
- setPrompt,
117
- setMode,
118
- };
119
- }