@umituz/react-native-ai-generation-content 1.89.18 → 1.89.20

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.18",
3
+ "version": "1.89.20",
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",
@@ -4,274 +4,131 @@
4
4
  * Optimized for Gemini 3 Pro Image (nano-banana-2) — natural language format
5
5
  */
6
6
 
7
- export const IDENTITY_PRESERVATION_CORE = `IDENTITY PRESERVATION (CRITICAL - HIGHEST PRIORITY):
8
- Preserve the EXACT facial appearance from the uploaded photo with 100% accuracy.
7
+ export const IDENTITY_PRESERVATION_CORE = `IDENTITY PRESERVATION (CRITICAL):
8
+ Preserve EXACT facial features from uploaded photos with 100% accuracy - bone structure, proportions, skin tone, eye/hair color, unique markings. NO smoothing, NO idealization. Must be instantly recognizable.`;
9
9
 
10
- MANDATORY REQUIREMENTS - FACIAL STRUCTURE:
11
- - Keep EVERY facial detail IDENTICAL: bone structure, facial proportions, eye shape, eye color, iris pattern, pupil size, nose shape/size, nostril shape, lip shape/fullness, cupid's bow, cheekbones, jawline, chin shape, ear shape and position
12
- - Preserve EXACT facial proportions and face shape - do NOT elongate, widen, narrow, or alter face geometry in any way
13
- - Maintain the SAME head shape and profile - forehead, temples, cheek areas, jawline must match perfectly
14
- - Keep the SAME eye spacing, eye size, and eye angle - no changes to eye position or proportion
15
- - Preserve the SAME nose length, width, bridge shape, and tip - no nose reshaping
16
- - Keep lip proportions, mouth width, and smile line EXACT - no lip augmentation or reshaping
17
-
18
- MANDATORY REQUIREMENTS - SKIN & TEXTURE:
19
- - Preserve ALL natural skin characteristics: skin texture, pores (visible but not exaggerated), fine lines, smile lines, crow's feet, forehead lines, nasolabial folds
20
- - Keep ALL unique markings: freckles, moles, birthmarks, scars, acne marks, hyperpigmentation, sun damage, dimples
21
- - Maintain EXACT skin undertones: warm, cool, or neutral undertones must be preserved
22
- - Preserve natural skin imperfections: visible pores, slight asymmetry, natural skin gloss/texture
23
- - Keep the SAME skin quality: oily, dry, combination, normal - do not change skin type
24
- - NO artificial skin smoothing - real skin has texture, pores, and slight imperfections
25
-
26
- MANDATORY REQUIREMENTS - EXPRESSION & PERSONALITY:
27
- - Preserve the person's natural expression - micro-expressions, smile intensity, eye engagement
28
- - Keep natural head position and gaze direction
29
- - Maintain personality traits visible in the face: confidence, warmth, intensity, etc.
30
-
31
- STRICTLY PROHIBITED - PLASTIC LOOK PREVENTION:
32
- - Do NOT create smooth, poreless, porcelain-like skin - this looks plastic and artificial
33
- - Do NOT add artificial glow, shine, or airbrushed effect
34
- - Do NOT symmetrically perfect features - real faces have natural asymmetry
35
- - Do NOT enlarge or enhance eyes, lips, or any feature
36
- - Do NOT change facial proportions to fit beauty ideals
37
- - Do NOT add makeup if not present in original - or alter existing makeup
38
- - Do NOT change skin tone, whiten teeth, or alter natural colors
39
- - Do NOT create doll-like, wax figure, or 3D rendered appearance
40
- - Do NOT use AI beauty filters or face-tuning effects
41
- - Do NOT make the person look younger, older, or different in age
42
- - Do NOT alter ethnicity or racial features
43
-
44
- RECOGNIZABILITY TEST:
45
- The person MUST be instantly recognizable as themselves at first glance. If a friend, family member, or colleague wouldn't immediately recognize them as the same person, the generation has FAILED.
46
-
47
- RESULT REQUIREMENT:
48
- The final image must look like a REAL, unedited photograph of the ACTUAL person - with all natural imperfections, textures, and unique characteristics intact. It should look like a candid photo taken with a real camera, not an AI-generated or digitally altered image.`;
49
-
50
- export const IDENTITY_PRESERVATION_COUPLE = `IDENTITY PRESERVATION (CRITICAL - HIGHEST PRIORITY):
51
- Preserve the EXACT facial appearance of BOTH people from the uploaded photos with 100% accuracy.
52
-
53
- MANDATORY REQUIREMENTS - FACIAL STRUCTURE FOR BOTH PERSONS:
54
- - Keep EVERY facial detail IDENTICAL for both individuals: bone structure, facial proportions, eye shape, eye color, iris pattern, pupil size, nose shape/size, nostril shape, lip shape/fullness, cupid's bow, cheekbones, jawline, chin shape, ear shape and position
55
- - Preserve EXACT facial proportions and face shapes for both - do NOT elongate, widen, narrow, or alter face geometry
56
- - Maintain the SAME head shapes and profiles for both people
57
- - Keep the SAME eye spacing, size, and angle for both individuals
58
- - Preserve the SAME nose length, width, bridge shape, and tip for both
59
- - Keep lip proportions, mouth width, and smile line EXACT for both people
60
-
61
- MANDATORY REQUIREMENTS - SKIN & TEXTURE FOR BOTH:
62
- - Preserve ALL natural skin characteristics for both: skin texture, pores, fine lines, smile lines, crow's feet, forehead lines, nasolabial folds
63
- - Keep ALL unique markings for both: freckles, moles, birthmarks, scars, acne marks, hyperpigmentation, sun damage, dimples
64
- - Maintain EXACT skin undertones for both: warm, cool, or neutral undertones must be preserved
65
- - Preserve natural skin imperfections for both: visible pores, slight asymmetry, natural skin gloss/texture
66
- - Keep the SAME skin quality for both: oily, dry, combination, normal
67
- - NO artificial skin smoothing for either person - real skin has texture and imperfections
68
-
69
- MANDATORY REQUIREMENTS - EXPRESSION & PERSONALITY:
70
- - Preserve natural expressions and personalities of both individuals
71
- - Keep authentic micro-expressions, smile intensity, eye engagement for both
72
- - Maintain natural head positions and gaze directions for both people
73
-
74
- COUPLE REQUIREMENTS - POSITIONING & INTERACTION:
75
- - The resulting image MUST show BOTH individuals together as a couple
76
- - Both people must be positioned naturally together with authentic interaction
77
- - Maintain accurate relative heights and proportions between the two people
78
- - Preserve natural body language and chemistry between the couple
79
- - Position them as they would naturally stand or sit together
80
-
81
- STRICTLY PROHIBITED - PLASTIC LOOK PREVENTION FOR BOTH:
82
- - Do NOT create smooth, poreless, porcelain-like skin for either person - this looks plastic
83
- - Do NOT add artificial glow, shine, or airbrushed effect to either face
84
- - Do NOT symmetrically perfect features - real faces have natural asymmetry
85
- - Do NOT enlarge or enhance eyes, lips, or any feature of either person
86
- - Do NOT change facial proportions to fit beauty ideals for either person
87
- - Do NOT add makeup, change skin tones, or alter natural colors for either
88
- - Do NOT create doll-like, wax figure, or 3D rendered appearances
89
- - Do NOT use AI beauty filters or face-tuning effects on either person
90
- - Do NOT make either person look younger, older, or different in age
91
- - Do NOT alter ethnicity or racial features of either person
92
-
93
- RECOGNIZABILITY TEST FOR BOTH:
94
- BOTH people MUST be instantly recognizable as themselves at first glance. If friends, family members, or colleagues wouldn't immediately recognize them as the same two people, the generation has FAILED.
95
-
96
- RESULT REQUIREMENT:
97
- The final image must look like a REAL, unedited photograph of the ACTUAL two people - with all natural imperfections, textures, and unique characteristics intact for both individuals. It should look like a candid couple photo taken with a real camera, not an AI-generated or digitally altered image.`;
10
+ export const IDENTITY_PRESERVATION_COUPLE = `IDENTITY PRESERVATION (CRITICAL):
11
+ Preserve EXACT facial features for BOTH people with 100% accuracy. Same requirements as single person, applied to both individuals. Keep natural skin texture, unique markings, authentic expressions. NO smoothing, idealization, or artificial enhancement. Both must be instantly recognizable.`;
98
12
 
99
13
  export const PHOTOREALISTIC_RENDERING = `STYLE - PHOTOREALISTIC QUALITY (CRITICAL):
100
- Create an authentic photograph with real-world camera characteristics, NOT digital art.
101
-
102
- CAMERA & PHOTOGRAPHIC QUALITY:
103
- - Real photograph captured with professional camera (DSLR/mirrorless quality)
104
- - Natural in-camera optical characteristics: natural depth of field, realistic bokeh, authentic lens effects
105
- - Photographic lighting: natural light, ambient light, or studio lighting - all must look realistic
106
- - Realistic shadows: soft natural shadows, no harsh or artificial-looking shadows
107
- - Authentic color grading: natural colors, realistic skin tones, no over-saturation or over-processing
108
- - Real camera grain/noise texture: subtle film grain or digital noise for authenticity
109
- - Natural sharpness: realistic focus fall-off, not artificially sharpened
110
-
111
- REALISTIC TEXTURES & MATERIALS:
112
- - Real skin texture: visible pores, skin variation, natural imperfections, micro-textures
113
- - Authentic hair texture: individual hair strands, natural shine, realistic hair movement
114
- - Realistic fabric textures: cloth weave, natural folds, authentic material appearance
115
- - Authentic material properties: metal reflections, glass refraction, natural subsurface scattering
116
-
117
- NATURAL ENVIRONMENT & LIGHTING:
118
- - Environmentally realistic lighting and shadows
119
- - Natural color temperature and white balance
120
- - Realistic environmental reflections and subsurface scattering
121
- - Authentic atmospheric perspective and depth
122
-
123
- STRICTLY PROHIBITED - AVOID ARTIFICIAL LOOK:
124
- - NO digital art, 3D render, CGI, or computer-generated appearance
125
- - NO plastic, wax, porcelain, or doll-like skin texture
126
- - NO over-smoothed, airbrushed, or artificially perfect faces
127
- - NO anime, cartoon, illustration, sketch, or painting style
128
- - NO symmetry or perfection - real photographs have natural imperfections
129
- - NO artificial glowing, overly shiny, or unrealistic skin
130
- - NO exaggerated colors, saturation, or contrast
131
- - NO fake depth of field or artificial bokeh effects
132
- - NO 3D modeling, ray tracing, or rendered appearance
133
-
134
- TECHNICAL QUALITY:
135
- - High resolution, sharp details where in focus
136
- - Natural focus fall-off and depth of field
137
- - Realistic motion blur if applicable
138
- - Authentic camera lens characteristics and distortion
139
-
140
- RESULT REQUIREMENT:
141
- The image must be indistinguishable from a real photograph taken with a professional camera. It should NOT look like AI generation, digital art, 3D render, or any form of computer graphics. Viewers should believe this is an actual photograph.`;
142
-
143
- export const NATURAL_POSE_GUIDELINES = `POSE - NATURAL BODY LANGUAGE (CRITICAL FOR REALISM):
14
+ Create authentic photograph with real camera characteristics - NOT digital art, 3D render, or CGI.
15
+
16
+ REQUIREMENTS:
17
+ - Professional camera quality: natural depth of field, realistic bokeh, authentic lens effects
18
+ - Photographic lighting: natural/studio lighting with soft realistic shadows
19
+ - Authentic color grading: natural skin tones, no over-saturation
20
+ - Real textures: visible skin pores, individual hair strands, authentic fabric materials
21
+ - Real camera grain: subtle noise texture for authenticity
22
+ - Natural sharpness: realistic focus fall-off
23
+
24
+ STRICTLY PROHIBITED:
25
+ - NO digital art, 3D render, CGI, AI generation appearance
26
+ - NO plastic, wax, porcelain, doll-like, or over-smoothed skin
27
+ - NO anime, cartoon, illustration, or painting styles
28
+ - NO artificial glow, symmetry, or perfection
29
+ - NO fake bokeh or exaggerated colors
30
+
31
+ RESULT: Must be indistinguishable from real photograph - viewers should believe it's actual photo.`;
32
+
33
+ export const NATURAL_POSE_GUIDELINES = `POSE - NATURAL BODY LANGUAGE (CRITICAL):
144
34
  Create authentic, relaxed poses that look like real candid photography.
145
35
 
146
- NATURAL POSTURE & BODY LANGUAGE:
147
- - Relaxed, natural stance - no stiff or rigid posture
148
- - Authentic body language appropriate to the scenario context
149
- - Natural head tilt and neck position - not forced or exaggerated
150
- - Realistic shoulder position and arm placement
36
+ REQUIREMENTS:
37
+ - Relaxed natural stance - no stiff or rigid posture
38
+ - Authentic body language appropriate to scenario
39
+ - Natural head tilt, shoulder position, arm placement
151
40
  - Natural hand positioning - not curled or contorted
152
- - Authentic weight distribution and balance
41
+ - Authentic weight distribution
153
42
 
154
- FACIAL EXPRESSION & GAZE:
155
- - Natural, relaxed facial expression - not forced or exaggerated
156
- - Authentic eye contact or gaze direction appropriate to the scenario
157
- - Natural smile intensity - not overly bright or artificial
158
- - Realistic micro-expressions and subtle emotional nuances
159
- - Natural blink and eye engagement
43
+ FACIAL EXPRESSION:
44
+ - Natural relaxed expression - not forced or exaggerated
45
+ - Authentic eye contact or gaze direction
46
+ - Natural smile intensity - not overly bright
47
+ - Realistic micro-expressions
160
48
 
161
- PHOTOGRAPHIC AUTHENTICITY:
162
- - Pose should look like a candid moment captured by a photographer
163
- - Body language should feel spontaneous, not posed or staged
164
- - Natural slight imperfections in posture make it more realistic
165
- - Authentic human movement and relaxation
166
-
167
- STRICTLY PROHIBITED - UNNATIONAL POSES:
168
- - NO absurd or contorted body positions
169
- - NO physically impossible poses or extreme body twisting
49
+ STRICTLY PROHIBITED:
50
+ - NO absurd or contorted positions
51
+ - NO physically impossible poses or extreme twisting
170
52
  - NO stiff, rigid, or mannequin-like posture
171
- - NO exaggerated or theatrical expressions
172
- - NO overly symmetrical or perfect posing
53
+ - NO exaggerated theatrical expressions
173
54
  - NO unnatural arm, leg, or body angles
174
- - NO forced or artificial-looking body language
175
- - NO dance, ballet, or exaggerated performative poses
176
- - NO anatomically incorrect positions
55
+ - NO dance, ballet, or performative poses
177
56
 
178
- RESULT REQUIREMENT:
179
- The person should look like a real human being naturally positioned in a candid photograph, not a posed model or digitally created figure.`;
57
+ RESULT: Must look like real human in candid photograph, not posed model or digital figure.`;
180
58
 
181
- export const NATURAL_POSE_GUIDELINES_COUPLE = `POSE - NATURAL COUPLE INTERACTION (CRITICAL FOR REALISM):
59
+ export const NATURAL_POSE_GUIDELINES_COUPLE = `POSE - NATURAL COUPLE INTERACTION (CRITICAL):
182
60
  Create authentic, relaxed couple poses with genuine interaction and chemistry.
183
61
 
184
- NATURAL POSTURE & BODY LANGUAGE FOR BOTH:
185
- - Relaxed, natural stance for both people - no stiff or rigid posture
186
- - Authentic body language and interaction appropriate to the scenario
187
- - Natural head positions and angles for both individuals
188
- - Realistic positioning relative to each other - authentic couple dynamics
189
- - Natural arm and hand placement between the couple
62
+ REQUIREMENTS:
63
+ - Relaxed natural stance for both people - no stiff posture
64
+ - Authentic body language and interaction
65
+ - Natural head positions and angles for both
66
+ - Realistic positioning relative to each other
67
+ - Natural arm and hand placement
190
68
  - Authentic physical connection and proximity
191
69
 
192
- FACIAL EXPRESSIONS & GAZE:
193
- - Natural, relaxed facial expressions for both - not forced or exaggerated
194
- - Authentic eye contact between the couple or toward camera as appropriate
195
- - Natural smile intensity for both - not overly bright or artificial
196
- - Realistic micro-expressions and emotional connection
197
- - Natural engagement and chemistry between the two people
198
-
199
- COUPLE INTERACTION & CHEMISTRY:
200
- - Authentic couple dynamics - natural comfort and connection
201
- - Realistic physical proximity and personal space
202
- - Natural touch or contact if appropriate to the scenario
203
- - Genuine interaction and engagement between the two
204
- - Spontaneous-looking moment, not staged or posed
205
-
206
- PHOTOGRAPHIC AUTHENTICITY:
207
- - Pose should look like a candid couple moment captured by a photographer
208
- - Body language should feel spontaneous and authentic, not posed
209
- - Natural slight imperfections in positioning make it more realistic
210
- - Authentic human interaction and relaxation
211
-
212
- STRICTLY PROHIBITED - UNNATIONAL COUPLE POSES:
213
- - NO absurd or contorted couple positions
214
- - NO physically impossible poses or extreme body twisting
215
- - NO stiff, rigid, or mannequin-like posture for either person
216
- - NO exaggerated or theatrical expressions
217
- - NO overly symmetrical or perfect couple posing
218
- - NO unnatural arm, leg, or body angles
219
- - NO forced or artificial-looking body language
220
- - NO dance, ballet, or exaggerated performative poses
221
- - NO anatomically incorrect positions for either person
222
- - NO fake or staged-looking couple interactions
223
-
224
- RESULT REQUIREMENT:
225
- Both people should look like a real couple naturally interacting in a candid photograph, not posed models or digitally created figures. The chemistry and interaction should feel genuine and spontaneous.`;
226
-
227
- export const ANTI_PLASTIC_DIRECTIVES = `ANTI-PLASTIC DIRECTIVES (CRITICAL - PREVENT ARTIFICIAL APPEARANCE):
228
- These directives ensure the generated image looks like a real photograph, NOT digital art or AI generation.
229
-
230
- SKIN TEXTURE & REALISM:
231
- - REAL skin texture: visible pores must be present, not completely smooth
232
- - Natural skin variation: slight imperfections, unevenness, texture variation
233
- - Authentic skin quality: normal pores, slight gloss in T-zone, natural skin grain
70
+ FACIAL EXPRESSIONS:
71
+ - Natural relaxed expressions for both - not forced
72
+ - Authentic eye contact or gaze direction
73
+ - Natural smile intensity - not overly bright
74
+ - Realistic micro-expressions and chemistry
75
+
76
+ COUPLE INTERACTION:
77
+ - Authentic couple dynamics and comfort
78
+ - Realistic physical proximity
79
+ - Natural touch or contact if appropriate
80
+ - Genuine spontaneous engagement
81
+
82
+ STRICTLY PROHIBITED:
83
+ - NO absurd or contorted positions
84
+ - NO physically impossible poses
85
+ - NO stiff or mannequin-like posture
86
+ - NO exaggerated theatrical expressions
87
+ - NO unnatural body angles
88
+ - NO fake or staged-looking interactions
89
+
90
+ RESULT: Must look like real couple naturally interacting in candid photo, not posed models.`;
91
+
92
+ export const ANTI_PLASTIC_DIRECTIVES = `ANTI-PLASTIC DIRECTIVES (CRITICAL):
93
+ Ensure the image looks like a real photograph, NOT digital art or AI generation.
94
+
95
+ SKIN TEXTURE:
96
+ - REAL skin texture: visible pores must be present
97
+ - Natural skin variation: slight imperfections, texture variation
234
98
  - NO poreless, porcelain, or airbrushed-looking skin
235
99
  - NO plastic-like smoothness or artificial perfection
236
- - Real skin has micro-texture - preserve this authenticity
237
100
 
238
- FACIAL NATURAL IMPERFECTIONS:
239
- - Slight asymmetry is natural and required - faces are not perfectly symmetrical
240
- - Natural skin lines: smile lines, forehead lines, crow's feet when appropriate
241
- - Authentic skin variations: slight redness, different skin tones across face
242
- - Natural eye shape variations - not perfectly identical or idealized
243
- - Realistic lip texture and shape - not perfectly symmetrical or enhanced
244
- - Natural hair texture and movement - not plastic or helmet-like
245
-
246
- LIGHTING & COLOR NATURALNESS:
247
- - Natural lighting variation across the face - not evenly lit
248
- - Realistic shadows: soft, natural shadow falloff, not harsh or artificial
249
- - Authentic skin tones: natural variation, not uniform color
250
- - Real color temperature: warm or cool lighting, not artificial color balance
251
- - Natural highlights and shadows on skin - not painted-on looking
252
-
253
- MATERIAL & SURFACE REALISM:
254
- - Realistic fabric textures and folds - not plastic-looking clothing
255
- - Authentic hair texture: individual strands, natural movement, not helmet-hair
256
- - Real material properties: metal reflections, glass refraction, natural subsurface scattering
101
+ FACIAL NATURALNESS:
102
+ - Slight asymmetry is required - faces are not perfectly symmetrical
103
+ - Natural skin lines when appropriate
104
+ - Authentic skin variations: slight redness, different tones
105
+ - Natural eye shape variations
106
+ - Realistic lip texture - not perfectly symmetrical
107
+
108
+ LIGHTING & COLOR:
109
+ - Natural lighting variation across face - not evenly lit
110
+ - Realistic shadows: soft, natural falloff
111
+ - Authentic skin tones: natural variation
112
+ - Real color temperature: warm or cool
113
+
114
+ MATERIAL REALISM:
115
+ - Realistic fabric textures and folds
116
+ - Authentic hair texture: individual strands, natural movement
117
+ - Real material properties: metal reflections, glass refraction
257
118
  - NO plastic, shiny, or artificial-looking materials
258
119
 
259
- COMPOSITION & PHOTOGRAPHIC QUALITY:
120
+ TECHNICAL QUALITY:
260
121
  - Real camera characteristics: natural depth of field, realistic focus falloff
261
- - Authentic lens effects: subtle lens distortion, natural bokeh
262
- - Realistic color grading: not over-processed or over-saturated
263
- - Natural sharpness: realistic focus fall-off, not artificially sharpened everywhere
264
- - Slight camera grain or noise for photographic authenticity
265
-
266
- TECHNICAL ANTI-PLASTIC MEASURES:
267
- - NO digital art, 3D render, or CGI appearance
268
- - NO symmetry or perfection - real photographs have natural imperfections
269
- - NO over-smoothed, over-processed, or over-enhanced look
270
- - NO artificial glow, bloom, or atmospheric effects that look digital
271
- - NO perfect geometry or proportions - real humans have natural variation
122
+ - Authentic lens effects: subtle distortion, natural bokeh
123
+ - Realistic color grading: not over-processed
124
+ - Slight camera grain for authenticity
125
+
126
+ STRICTLY PROHIBITED:
127
+ - NO digital art, 3D render, CGI appearance
128
+ - NO symmetry or perfection
129
+ - NO over-smoothed, over-processed look
130
+ - NO artificial glow, bloom, or atmospheric effects
272
131
  - NO plastic, wax, doll, or mannequin appearance
273
- - NO AI-generated looking artifacts or patterns
274
132
 
275
- RECOGNITION TEST:
276
- If the image looks like digital art, 3D render, or AI generation - it has FAILED. It must look like a real photograph with all natural imperfections and authenticity intact.`;
133
+ RESULT: Must look like real photograph with all natural imperfections - NOT digital art or AI generation.`;
277
134
 
@@ -7,6 +7,7 @@ import React, { useMemo, useCallback, useEffect } from "react";
7
7
  import {
8
8
  FlatList,
9
9
  StyleSheet,
10
+ View,
10
11
  type ListRenderItemInfo,
11
12
  } from "react-native";
12
13
  import { AtomicCard } from "@umituz/react-native-design-system/atoms";
@@ -80,32 +81,34 @@ export const MainCategoryScreen: React.FC<MainCategoryScreenProps> = ({
80
81
  );
81
82
 
82
83
  return (
83
- <ScreenLayout
84
- scrollable={false}
85
- edges={["top", "left", "right"]}
86
- backgroundColor={tokens.colors.backgroundPrimary}
87
- >
84
+ <View style={{ flex: 1, backgroundColor: tokens.colors.backgroundPrimary }}>
88
85
  <AIGenScreenHeader
89
86
  title={headerTitle || t("scenario.main_category.title")}
90
87
  description={headerDescription || t("scenario.main_category.subtitle")}
91
88
  onNavigationPress={onBack}
92
89
  />
93
- <FlatList
94
- data={mainCategories}
95
- showsVerticalScrollIndicator={false}
96
- renderItem={renderItem}
97
- keyExtractor={(item) => item.id}
98
- contentContainerStyle={[
99
- styles.listContent,
100
- { paddingBottom: insets.bottom + 100 },
101
- ]}
102
- removeClippedSubviews
103
- maxToRenderPerBatch={10}
104
- updateCellsBatchingPeriod={50}
105
- initialNumToRender={7}
106
- windowSize={11}
107
- />
108
- </ScreenLayout>
90
+ <ScreenLayout
91
+ scrollable={false}
92
+ edges={["left", "right", "bottom"]}
93
+ backgroundColor={tokens.colors.backgroundPrimary}
94
+ >
95
+ <FlatList
96
+ data={mainCategories}
97
+ showsVerticalScrollIndicator={false}
98
+ renderItem={renderItem}
99
+ keyExtractor={(item) => item.id}
100
+ contentContainerStyle={[
101
+ styles.listContent,
102
+ { paddingBottom: insets.bottom + 40 },
103
+ ]}
104
+ removeClippedSubviews
105
+ maxToRenderPerBatch={10}
106
+ updateCellsBatchingPeriod={50}
107
+ initialNumToRender={7}
108
+ windowSize={11}
109
+ />
110
+ </ScreenLayout>
111
+ </View>
109
112
  );
110
113
  };
111
114
  const createStyles = (tokens: DesignTokens) =>
@@ -7,6 +7,7 @@ import React, { useMemo, useCallback, useEffect } from "react";
7
7
  import {
8
8
  FlatList,
9
9
  StyleSheet,
10
+ View,
10
11
  type ListRenderItemInfo,
11
12
  } from "react-native";
12
13
  import { AtomicCard } from "@umituz/react-native-design-system/atoms";
@@ -97,32 +98,34 @@ export const SubCategoryScreen: React.FC<SubCategoryScreenProps> = ({
97
98
  );
98
99
 
99
100
  return (
100
- <ScreenLayout
101
- scrollable={false}
102
- edges={["left", "right"]}
103
- backgroundColor={tokens.colors.backgroundPrimary}
104
- >
101
+ <View style={{ flex: 1, backgroundColor: tokens.colors.backgroundPrimary }}>
105
102
  <AIGenScreenHeader
106
103
  title={headerTitleKey ? t(headerTitleKey) : t("scenario.sub_category.title")}
107
104
  description={headerDescriptionKey ? t(headerDescriptionKey) : t("scenario.sub_category.subtitle")}
108
105
  onNavigationPress={onBack}
109
106
  />
110
- <FlatList
111
- data={filteredSubCategories}
112
- showsVerticalScrollIndicator={false}
113
- renderItem={renderItem}
114
- keyExtractor={(item) => item.id}
115
- contentContainerStyle={[
116
- styles.listContent,
117
- { paddingBottom: insets.bottom + 100 },
118
- ]}
119
- removeClippedSubviews
120
- maxToRenderPerBatch={10}
121
- updateCellsBatchingPeriod={50}
122
- initialNumToRender={10}
123
- windowSize={11}
124
- />
125
- </ScreenLayout>
107
+ <ScreenLayout
108
+ scrollable={false}
109
+ edges={["left", "right", "bottom"]}
110
+ backgroundColor={tokens.colors.backgroundPrimary}
111
+ >
112
+ <FlatList
113
+ data={filteredSubCategories}
114
+ showsVerticalScrollIndicator={false}
115
+ renderItem={renderItem}
116
+ keyExtractor={(item) => item.id}
117
+ contentContainerStyle={[
118
+ styles.listContent,
119
+ { paddingBottom: insets.bottom + 40 },
120
+ ]}
121
+ removeClippedSubviews
122
+ maxToRenderPerBatch={10}
123
+ updateCellsBatchingPeriod={50}
124
+ initialNumToRender={10}
125
+ windowSize={11}
126
+ />
127
+ </ScreenLayout>
128
+ </View>
126
129
  );
127
130
  };
128
131
 
@@ -2,6 +2,7 @@ import React, { ReactNode } from "react";
2
2
  import { View, TouchableOpacity, StyleSheet } from "react-native";
3
3
  import { AtomicText, AtomicIcon } from "@umituz/react-native-design-system/atoms";
4
4
  import { useAppDesignTokens } from "@umituz/react-native-design-system/theme";
5
+ import { useSafeAreaInsets } from "react-native-safe-area-context";
5
6
 
6
7
  export type NavigationButtonType = "back" | "close";
7
8
 
@@ -27,6 +28,7 @@ export const AIGenScreenHeader: React.FC<AIGenScreenHeaderProps> = ({
27
28
  showDescription = !!description,
28
29
  }) => {
29
30
  const tokens = useAppDesignTokens();
31
+ const insets = useSafeAreaInsets();
30
32
 
31
33
  const isCloseButton = navigationType === "close";
32
34
  const buttonStyle = isCloseButton
@@ -44,7 +46,7 @@ export const AIGenScreenHeader: React.FC<AIGenScreenHeaderProps> = ({
44
46
  const iconColor = isCloseButton ? "secondary" : "primary";
45
47
 
46
48
  return (
47
- <View style={styles.header}>
49
+ <View style={[styles.header, { paddingTop: insets.top }]}>
48
50
  <View style={styles.headerTop}>
49
51
  {onNavigationPress && (
50
52
  <TouchableOpacity
@@ -89,7 +91,6 @@ export const AIGenScreenHeader: React.FC<AIGenScreenHeaderProps> = ({
89
91
  const styles = StyleSheet.create({
90
92
  header: {
91
93
  paddingHorizontal: 16,
92
- paddingTop: 16,
93
94
  width: "100%",
94
95
  marginBottom: 24,
95
96
  },