@umituz/react-native-ai-generation-content 1.25.3 → 1.25.5

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.25.3",
3
+ "version": "1.25.5",
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",
@@ -26,7 +26,7 @@ export interface BaseStepConfig {
26
26
  */
27
27
  export interface PhotoUploadStepConfig extends BaseStepConfig {
28
28
  readonly type: "photo_upload";
29
- readonly label?: string; // "Partner A", "Your Photo", etc.
29
+ readonly label?: string; // "Photo 1", "Photo 2", "Your Photo", etc.
30
30
  readonly showFaceDetection?: boolean;
31
31
  readonly showNameInput?: boolean;
32
32
  readonly showPhotoTips?: boolean;
@@ -117,11 +117,12 @@ export const buildWizardConfigFromScenario = (
117
117
  ): WizardFeatureConfig => {
118
118
  const steps: WizardStepConfig[] = [];
119
119
 
120
- // Add photo upload steps (dynamic count!)
120
+ // Add photo upload steps (max 2 photos)
121
121
  if (config.photoCount && config.photoCount > 0) {
122
- for (let i = 0; i < config.photoCount; i++) {
122
+ const maxPhotos = Math.min(config.photoCount, 2); // Max 2 photos
123
+ for (let i = 0; i < maxPhotos; i++) {
123
124
  steps.push({
124
- id: `photo_${i}`,
125
+ id: `photo_${i + 1}`,
125
126
  type: "photo_upload",
126
127
  label: config.photoLabels?.[i] || `Photo ${i + 1}`,
127
128
  showFaceDetection: true,
@@ -182,18 +183,17 @@ export const buildWizardConfigFromScenario = (
182
183
 
183
184
  /**
184
185
  * Pre-configured scenarios for common use cases
186
+ * Labels should be provided from main app via photoLabels parameter
185
187
  */
186
188
  export const WIZARD_PRESETS = {
187
- // Couple/Partner features (2 photos)
188
- COUPLE: {
189
+ // Two photo features (couple, comparison, etc.)
190
+ TWO_PHOTOS: {
189
191
  photoCount: 2,
190
- photoLabels: ["First Partner", "Second Partner"],
191
192
  },
192
193
 
193
194
  // Single photo features
194
195
  SINGLE_PHOTO: {
195
196
  photoCount: 1,
196
- photoLabels: ["Your Photo"],
197
197
  requireStyleSelection: true,
198
198
  requireDurationSelection: true,
199
199
  },
@@ -205,10 +205,4 @@ export const WIZARD_PRESETS = {
205
205
  requireStyleSelection: true,
206
206
  requireDurationSelection: true,
207
207
  },
208
-
209
- // Face swap (2 photos, specific requirements)
210
- FACE_SWAP: {
211
- photoCount: 2,
212
- photoLabels: ["Source Face", "Target Face"],
213
- },
214
208
  } as const;
@@ -17,6 +17,7 @@ import {
17
17
  } from "@umituz/react-native-design-system";
18
18
  import { PhotoUploadCard } from "../../../../presentation/components";
19
19
  import { FaceDetectionToggle } from "../../../../domains/face-detection";
20
+ import { PhotoTips } from "../../../../features/partner-upload/presentation/components/PhotoTips";
20
21
  import type { UploadedImage } from "../../../../features/partner-upload/domain/types";
21
22
  import { usePhotoUploadState } from "../hooks/usePhotoUploadState";
22
23
 
@@ -134,13 +135,14 @@ export const GenericPhotoUploadScreen: React.FC<PhotoUploadScreenProps> = ({
134
135
  {translations.subtitle}
135
136
  </AtomicText>
136
137
 
137
- {/* Photo Tips - Inline simple version */}
138
+ {/* Photo Tips - InfoGrid version */}
138
139
  {showPhotoTips && (
139
- <View style={[styles.tipsContainer, { backgroundColor: tokens.colors.surfaceVariant + "40" }]}>
140
- <AtomicText type="labelSmall" style={{ color: tokens.colors.textSecondary, textAlign: "center" }}>
141
- {t("photoUpload.tips")}
142
- </AtomicText>
143
- </View>
140
+ <PhotoTips
141
+ t={t}
142
+ titleKey="photoUpload.tips.title"
143
+ headerIcon="bulb"
144
+ style={{ marginHorizontal: 24, marginBottom: 20 }}
145
+ />
144
146
  )}
145
147
 
146
148
  {showFaceDetection && onFaceDetectionToggle && (
@@ -194,12 +196,6 @@ const createStyles = (tokens: DesignTokens) =>
194
196
  marginHorizontal: 24,
195
197
  marginBottom: 24,
196
198
  },
197
- tipsContainer: {
198
- marginHorizontal: 24,
199
- marginBottom: 16,
200
- padding: 12,
201
- borderRadius: 8,
202
- },
203
199
  continueButton: {
204
200
  flexDirection: "row",
205
201
  alignItems: "center",