@umituz/react-native-ai-generation-content 1.26.2 → 1.26.4

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 (327) hide show
  1. package/package.json +3 -2
  2. package/src/domains/generation/application/feature-registry.ts +101 -0
  3. package/src/domains/generation/application/generation-strategy.factory.ts +128 -0
  4. package/src/domains/generation/domain/feature-config.types.ts +61 -0
  5. package/src/domains/generation/domain/generation.types.ts +74 -0
  6. package/src/domains/generation/index.ts +37 -0
  7. package/src/domains/generation/presentation/useAIGeneration.hook.ts +106 -0
  8. package/src/domains/wizard/infrastructure/strategies/wizard-strategy.factory.ts +3 -4
  9. package/src/index.ts +1 -25
  10. package/src/infrastructure/executors/executor-factory.ts +53 -0
  11. package/src/infrastructure/executors/image-executor.ts +133 -0
  12. package/src/infrastructure/executors/video-executor.ts +130 -0
  13. package/src/features/ai-hug/README.md +0 -438
  14. package/src/features/ai-hug/domain/index.ts +0 -5
  15. package/src/features/ai-hug/domain/types/ai-hug.types.ts +0 -25
  16. package/src/features/ai-hug/domain/types/index.ts +0 -7
  17. package/src/features/ai-hug/index.ts +0 -19
  18. package/src/features/ai-hug/presentation/components/AIHugFeature.tsx +0 -77
  19. package/src/features/ai-hug/presentation/components/index.ts +0 -2
  20. package/src/features/ai-hug/presentation/hooks/index.ts +0 -9
  21. package/src/features/ai-hug/presentation/hooks/useAIHugFeature.ts +0 -34
  22. package/src/features/ai-hug/presentation/index.ts +0 -6
  23. package/src/features/ai-kiss/README.md +0 -445
  24. package/src/features/ai-kiss/domain/index.ts +0 -5
  25. package/src/features/ai-kiss/domain/types/ai-kiss.types.ts +0 -25
  26. package/src/features/ai-kiss/domain/types/index.ts +0 -7
  27. package/src/features/ai-kiss/index.ts +0 -19
  28. package/src/features/ai-kiss/presentation/components/AIKissFeature.tsx +0 -77
  29. package/src/features/ai-kiss/presentation/components/index.ts +0 -2
  30. package/src/features/ai-kiss/presentation/hooks/index.ts +0 -9
  31. package/src/features/ai-kiss/presentation/hooks/useAIKissFeature.ts +0 -34
  32. package/src/features/ai-kiss/presentation/index.ts +0 -6
  33. package/src/features/anime-selfie/README.md +0 -396
  34. package/src/features/anime-selfie/domain/index.ts +0 -5
  35. package/src/features/anime-selfie/domain/types/anime-selfie.types.ts +0 -52
  36. package/src/features/anime-selfie/domain/types/index.ts +0 -8
  37. package/src/features/anime-selfie/index.ts +0 -20
  38. package/src/features/anime-selfie/presentation/components/AnimeSelfieFeature.tsx +0 -86
  39. package/src/features/anime-selfie/presentation/components/index.ts +0 -2
  40. package/src/features/anime-selfie/presentation/hooks/index.ts +0 -9
  41. package/src/features/anime-selfie/presentation/hooks/useAnimeSelfieFeature.ts +0 -59
  42. package/src/features/anime-selfie/presentation/index.ts +0 -6
  43. package/src/features/couple-future/README.md +0 -445
  44. package/src/features/couple-future/domain/types.ts +0 -63
  45. package/src/features/couple-future/domain/wizard-config.adapter.ts +0 -76
  46. package/src/features/couple-future/domain/wizard.types.ts +0 -121
  47. package/src/features/couple-future/index.ts +0 -83
  48. package/src/features/couple-future/infrastructure/coupleFeatureRegistry.ts +0 -76
  49. package/src/features/couple-future/infrastructure/couplePromptEnhancer.ts +0 -100
  50. package/src/features/couple-future/infrastructure/executor.ts +0 -188
  51. package/src/features/couple-future/infrastructure/generationUtils.ts +0 -228
  52. package/src/features/couple-future/presentation/components/ArtStyleSelector.tsx +0 -146
  53. package/src/features/couple-future/presentation/components/ArtistStyleSelector.tsx +0 -122
  54. package/src/features/couple-future/presentation/components/CoupleFutureWizard.tsx +0 -239
  55. package/src/features/couple-future/presentation/components/GeneratingStepContent.tsx +0 -86
  56. package/src/features/couple-future/presentation/components/RomanticMoodSelector.tsx +0 -147
  57. package/src/features/couple-future/presentation/components/WardrobeSelector.tsx +0 -141
  58. package/src/features/couple-future/presentation/components/index.ts +0 -12
  59. package/src/features/couple-future/presentation/hooks/useCoupleFutureFlow.ts +0 -166
  60. package/src/features/couple-future/presentation/hooks/useCoupleFutureFlow.types.ts +0 -69
  61. package/src/features/couple-future/presentation/hooks/useCoupleFutureHandlers.ts +0 -117
  62. package/src/features/couple-future/presentation/screens/CoupleFeatureScreen.tsx +0 -113
  63. package/src/features/face-swap/README.md +0 -431
  64. package/src/features/face-swap/domain/index.ts +0 -5
  65. package/src/features/face-swap/domain/types/face-swap.types.ts +0 -26
  66. package/src/features/face-swap/domain/types/index.ts +0 -7
  67. package/src/features/face-swap/index.ts +0 -19
  68. package/src/features/face-swap/presentation/components/FaceSwapFeature.tsx +0 -87
  69. package/src/features/face-swap/presentation/components/index.ts +0 -2
  70. package/src/features/face-swap/presentation/hooks/index.ts +0 -6
  71. package/src/features/face-swap/presentation/hooks/useFaceSwapFeature.ts +0 -35
  72. package/src/features/face-swap/presentation/index.ts +0 -6
  73. package/src/features/hd-touch-up/README.md +0 -396
  74. package/src/features/hd-touch-up/domain/index.ts +0 -1
  75. package/src/features/hd-touch-up/domain/types/hd-touch-up.types.ts +0 -62
  76. package/src/features/hd-touch-up/domain/types/index.ts +0 -9
  77. package/src/features/hd-touch-up/index.ts +0 -21
  78. package/src/features/hd-touch-up/presentation/components/HDTouchUpFeature.tsx +0 -86
  79. package/src/features/hd-touch-up/presentation/components/index.ts +0 -2
  80. package/src/features/hd-touch-up/presentation/hooks/index.ts +0 -1
  81. package/src/features/hd-touch-up/presentation/hooks/useHDTouchUpFeature.ts +0 -23
  82. package/src/features/hd-touch-up/presentation/index.ts +0 -2
  83. package/src/features/image-to-image/README.md +0 -459
  84. package/src/features/image-to-image/domain/index.ts +0 -1
  85. package/src/features/image-to-image/domain/types/base.types.ts +0 -48
  86. package/src/features/image-to-image/domain/types/index.ts +0 -1
  87. package/src/features/image-to-image/domain/types/partials/config.types.ts +0 -37
  88. package/src/features/image-to-image/domain/types/partials/hook.types.ts +0 -53
  89. package/src/features/image-to-image/domain/types/partials/metadata.types.ts +0 -32
  90. package/src/features/image-to-image/domain/types/partials/result.types.ts +0 -44
  91. package/src/features/image-to-image/domain/types/partials/state.types.ts +0 -34
  92. package/src/features/image-to-image/domain/types/partials/translation.types.ts +0 -57
  93. package/src/features/image-to-image/index.ts +0 -2
  94. package/src/features/image-to-image/presentation/hooks/index.ts +0 -3
  95. package/src/features/image-to-image/presentation/hooks/useDualImageFeature.ts +0 -204
  96. package/src/features/image-to-image/presentation/hooks/useImageWithPromptFeature.ts +0 -223
  97. package/src/features/image-to-image/presentation/hooks/useSingleImageFeature.ts +0 -166
  98. package/src/features/image-to-image/presentation/index.ts +0 -1
  99. package/src/features/image-to-video/README.md +0 -414
  100. package/src/features/image-to-video/domain/constants/animation.constants.ts +0 -47
  101. package/src/features/image-to-video/domain/constants/duration.constants.ts +0 -13
  102. package/src/features/image-to-video/domain/constants/form.constants.ts +0 -22
  103. package/src/features/image-to-video/domain/constants/index.ts +0 -23
  104. package/src/features/image-to-video/domain/constants/music.constants.ts +0 -53
  105. package/src/features/image-to-video/domain/index.ts +0 -5
  106. package/src/features/image-to-video/domain/types/animation.types.ts +0 -20
  107. package/src/features/image-to-video/domain/types/config.types.ts +0 -56
  108. package/src/features/image-to-video/domain/types/duration.types.ts +0 -11
  109. package/src/features/image-to-video/domain/types/form.types.ts +0 -35
  110. package/src/features/image-to-video/domain/types/image-to-video.types.ts +0 -122
  111. package/src/features/image-to-video/domain/types/index.ts +0 -39
  112. package/src/features/image-to-video/domain/types/music.types.ts +0 -21
  113. package/src/features/image-to-video/index.ts +0 -116
  114. package/src/features/image-to-video/infrastructure/index.ts +0 -1
  115. package/src/features/image-to-video/infrastructure/services/image-to-video-executor.ts +0 -154
  116. package/src/features/image-to-video/infrastructure/services/index.ts +0 -5
  117. package/src/features/image-to-video/presentation/components/AddMoreCard.tsx +0 -52
  118. package/src/features/image-to-video/presentation/components/AnimationStyleSelector.tsx +0 -135
  119. package/src/features/image-to-video/presentation/components/DurationSelector.tsx +0 -110
  120. package/src/features/image-to-video/presentation/components/EmptyGridState.tsx +0 -69
  121. package/src/features/image-to-video/presentation/components/GridImageItem.tsx +0 -64
  122. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.styles.ts +0 -84
  123. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.tsx +0 -77
  124. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.types.ts +0 -18
  125. package/src/features/image-to-video/presentation/components/MusicMoodSelector.tsx +0 -181
  126. package/src/features/image-to-video/presentation/components/index.ts +0 -30
  127. package/src/features/image-to-video/presentation/hooks/index.ts +0 -27
  128. package/src/features/image-to-video/presentation/hooks/useFormState.ts +0 -116
  129. package/src/features/image-to-video/presentation/hooks/useGeneration.ts +0 -85
  130. package/src/features/image-to-video/presentation/hooks/useGenerationExecution.ts +0 -143
  131. package/src/features/image-to-video/presentation/hooks/useImageToVideoFeature.ts +0 -107
  132. package/src/features/image-to-video/presentation/hooks/useImageToVideoForm.ts +0 -119
  133. package/src/features/image-to-video/presentation/hooks/useImageToVideoValidation.ts +0 -46
  134. package/src/features/image-to-video/presentation/index.ts +0 -5
  135. package/src/features/love-message/domain/constants.ts +0 -162
  136. package/src/features/love-message/domain/types.ts +0 -58
  137. package/src/features/love-message/index.ts +0 -37
  138. package/src/features/love-message/infrastructure/persistence/PartnerProfileRepository.ts +0 -52
  139. package/src/features/love-message/infrastructure/prompts/messagePromptBuilder.ts +0 -109
  140. package/src/features/love-message/infrastructure/services/LoveMessageService.ts +0 -35
  141. package/src/features/love-message/presentation/components/CategoryGrid.tsx +0 -88
  142. package/src/features/love-message/presentation/components/DetailsInput.tsx +0 -74
  143. package/src/features/love-message/presentation/components/ExploreHeader.tsx +0 -67
  144. package/src/features/love-message/presentation/components/FieldInput.tsx +0 -83
  145. package/src/features/love-message/presentation/components/GeneratorHeader.tsx +0 -88
  146. package/src/features/love-message/presentation/components/LoveMessageHeroSection.tsx +0 -114
  147. package/src/features/love-message/presentation/components/MessageListItem.tsx +0 -77
  148. package/src/features/love-message/presentation/components/MessageResult.tsx +0 -105
  149. package/src/features/love-message/presentation/components/PartnerInput.tsx +0 -78
  150. package/src/features/love-message/presentation/components/ProgressDots.tsx +0 -48
  151. package/src/features/love-message/presentation/components/StepDetails.tsx +0 -23
  152. package/src/features/love-message/presentation/components/StepPartner.tsx +0 -116
  153. package/src/features/love-message/presentation/components/StepVibe.tsx +0 -30
  154. package/src/features/love-message/presentation/components/ToneSelector.tsx +0 -100
  155. package/src/features/love-message/presentation/components/TrendingSection.tsx +0 -130
  156. package/src/features/love-message/presentation/components/TypeSelector.tsx +0 -99
  157. package/src/features/love-message/presentation/hooks/useLoveMessageGenerator.ts +0 -114
  158. package/src/features/love-message/presentation/hooks/usePartnerProfile.ts +0 -43
  159. package/src/features/love-message/presentation/navigation/LoveMessageStack.tsx +0 -39
  160. package/src/features/love-message/presentation/screens/LoveMessageExploreScreen.tsx +0 -53
  161. package/src/features/love-message/presentation/screens/LoveMessageGeneratorScreen.tsx +0 -169
  162. package/src/features/love-message/presentation/screens/MessageListScreen.tsx +0 -127
  163. package/src/features/love-message/presentation/screens/PartnerProfileScreen.tsx +0 -119
  164. package/src/features/meme-generator/README.md +0 -408
  165. package/src/features/meme-generator/index.ts +0 -3
  166. package/src/features/meme-generator/infrastructure/services/MemeGenerationService.ts +0 -87
  167. package/src/features/meme-generator/presentation/components/MemeGeneratorFeature.tsx +0 -180
  168. package/src/features/meme-generator/presentation/components/index.ts +0 -2
  169. package/src/features/meme-generator/presentation/screens/MemeGeneratorScreen.tsx +0 -168
  170. package/src/features/meme-generator/presentation/screens/index.ts +0 -1
  171. package/src/features/partner-upload/domain/types.ts +0 -59
  172. package/src/features/partner-upload/index.ts +0 -30
  173. package/src/features/partner-upload/presentation/components/PartnerInfoInput.tsx +0 -112
  174. package/src/features/partner-upload/presentation/components/PhotoTips.tsx +0 -53
  175. package/src/features/partner-upload/presentation/components/index.ts +0 -4
  176. package/src/features/partner-upload/presentation/hooks/index.ts +0 -7
  177. package/src/features/partner-upload/presentation/hooks/usePartnerStep.ts +0 -130
  178. package/src/features/partner-upload/presentation/screens/PartnerStepScreen.tsx +0 -231
  179. package/src/features/partner-upload/presentation/screens/index.ts +0 -6
  180. package/src/features/photo-restoration/README.md +0 -399
  181. package/src/features/photo-restoration/domain/index.ts +0 -1
  182. package/src/features/photo-restoration/domain/types/index.ts +0 -9
  183. package/src/features/photo-restoration/domain/types/photo-restore.types.ts +0 -64
  184. package/src/features/photo-restoration/index.ts +0 -22
  185. package/src/features/photo-restoration/presentation/components/PhotoRestoreFeature.tsx +0 -88
  186. package/src/features/photo-restoration/presentation/components/PhotoRestoreResultView.tsx +0 -86
  187. package/src/features/photo-restoration/presentation/components/index.ts +0 -4
  188. package/src/features/photo-restoration/presentation/hooks/index.ts +0 -1
  189. package/src/features/photo-restoration/presentation/hooks/usePhotoRestoreFeature.ts +0 -23
  190. package/src/features/photo-restoration/presentation/index.ts +0 -2
  191. package/src/features/remove-background/README.md +0 -393
  192. package/src/features/remove-background/domain/index.ts +0 -5
  193. package/src/features/remove-background/domain/types/index.ts +0 -7
  194. package/src/features/remove-background/domain/types/remove-background.types.ts +0 -28
  195. package/src/features/remove-background/index.ts +0 -19
  196. package/src/features/remove-background/presentation/components/RemoveBackgroundFeature.tsx +0 -86
  197. package/src/features/remove-background/presentation/components/index.ts +0 -2
  198. package/src/features/remove-background/presentation/hooks/index.ts +0 -1
  199. package/src/features/remove-background/presentation/hooks/useRemoveBackgroundFeature.ts +0 -28
  200. package/src/features/remove-background/presentation/index.ts +0 -6
  201. package/src/features/remove-object/README.md +0 -405
  202. package/src/features/remove-object/domain/index.ts +0 -5
  203. package/src/features/remove-object/domain/types/index.ts +0 -7
  204. package/src/features/remove-object/domain/types/remove-object.types.ts +0 -54
  205. package/src/features/remove-object/index.ts +0 -23
  206. package/src/features/remove-object/presentation/components/RemoveObjectFeature.tsx +0 -136
  207. package/src/features/remove-object/presentation/components/index.ts +0 -2
  208. package/src/features/remove-object/presentation/hooks/index.ts +0 -9
  209. package/src/features/remove-object/presentation/hooks/useRemoveObjectFeature.ts +0 -221
  210. package/src/features/remove-object/presentation/index.ts +0 -6
  211. package/src/features/replace-background/README.md +0 -405
  212. package/src/features/replace-background/domain/types/index.ts +0 -7
  213. package/src/features/replace-background/domain/types/replace-background.types.ts +0 -33
  214. package/src/features/replace-background/index.ts +0 -23
  215. package/src/features/replace-background/presentation/components/ReplaceBackgroundFeature.tsx +0 -105
  216. package/src/features/replace-background/presentation/components/index.ts +0 -6
  217. package/src/features/replace-background/presentation/hooks/index.ts +0 -9
  218. package/src/features/replace-background/presentation/hooks/useReplaceBackgroundFeature.ts +0 -55
  219. package/src/features/scenarios/domain/types.ts +0 -147
  220. package/src/features/scenarios/index.ts +0 -64
  221. package/src/features/scenarios/presentation/components/InspirationChips.tsx +0 -82
  222. package/src/features/scenarios/presentation/components/MagicPromptHeadline.tsx +0 -79
  223. package/src/features/scenarios/presentation/components/ScenarioGrid.tsx +0 -224
  224. package/src/features/scenarios/presentation/components/ScenarioHeader.tsx +0 -55
  225. package/src/features/scenarios/presentation/components/StyleSelector.tsx +0 -119
  226. package/src/features/scenarios/presentation/components/index.ts +0 -18
  227. package/src/features/scenarios/presentation/containers/CategoryNavigationContainer.tsx +0 -178
  228. package/src/features/scenarios/presentation/screens/HierarchicalScenarioListScreen.tsx +0 -266
  229. package/src/features/scenarios/presentation/screens/MagicPromptScreen.tsx +0 -242
  230. package/src/features/scenarios/presentation/screens/MainCategoryScreen.tsx +0 -198
  231. package/src/features/scenarios/presentation/screens/ScenarioPreviewScreen.tsx +0 -164
  232. package/src/features/scenarios/presentation/screens/ScenarioSelectorScreen.tsx +0 -66
  233. package/src/features/scenarios/presentation/screens/SubCategoryScreen.tsx +0 -216
  234. package/src/features/script-generator/README.md +0 -433
  235. package/src/features/script-generator/domain/constants/index.ts +0 -10
  236. package/src/features/script-generator/domain/types/script.types.ts +0 -30
  237. package/src/features/script-generator/index.ts +0 -5
  238. package/src/features/script-generator/infrastructure/services/ScriptGenerationService.ts +0 -62
  239. package/src/features/script-generator/presentation/components/ScriptDisplay.tsx +0 -158
  240. package/src/features/script-generator/presentation/components/VideoTypeSelector.tsx +0 -102
  241. package/src/features/script-generator/presentation/components/index.ts +0 -2
  242. package/src/features/script-generator/presentation/hooks/index.ts +0 -1
  243. package/src/features/script-generator/presentation/hooks/useScriptGenerator.ts +0 -77
  244. package/src/features/shared/README.md +0 -311
  245. package/src/features/shared/dual-image-video/domain/types/dual-image-video.types.ts +0 -88
  246. package/src/features/shared/dual-image-video/domain/types/index.ts +0 -14
  247. package/src/features/shared/dual-image-video/index.ts +0 -17
  248. package/src/features/shared/dual-image-video/presentation/hooks/index.ts +0 -5
  249. package/src/features/shared/dual-image-video/presentation/hooks/useDualImageVideoFeature.ts +0 -185
  250. package/src/features/shared/index.ts +0 -6
  251. package/src/features/text-to-image/README.md +0 -394
  252. package/src/features/text-to-image/domain/constants/index.ts +0 -8
  253. package/src/features/text-to-image/domain/constants/options.constants.ts +0 -39
  254. package/src/features/text-to-image/domain/constants/styles.constants.ts +0 -34
  255. package/src/features/text-to-image/domain/index.ts +0 -7
  256. package/src/features/text-to-image/domain/types/config.types.ts +0 -75
  257. package/src/features/text-to-image/domain/types/form.types.ts +0 -58
  258. package/src/features/text-to-image/domain/types/index.ts +0 -38
  259. package/src/features/text-to-image/domain/types/text-to-image.types.ts +0 -58
  260. package/src/features/text-to-image/index.ts +0 -116
  261. package/src/features/text-to-image/infrastructure/index.ts +0 -1
  262. package/src/features/text-to-image/infrastructure/services/index.ts +0 -5
  263. package/src/features/text-to-image/infrastructure/services/text-to-image-executor.ts +0 -147
  264. package/src/features/text-to-image/presentation/components/index.ts +0 -30
  265. package/src/features/text-to-image/presentation/hooks/index.ts +0 -30
  266. package/src/features/text-to-image/presentation/hooks/useFormState.ts +0 -103
  267. package/src/features/text-to-image/presentation/hooks/useGeneration.ts +0 -139
  268. package/src/features/text-to-image/presentation/hooks/useTextToImageFeature.ts +0 -111
  269. package/src/features/text-to-image/presentation/hooks/useTextToImageForm.ts +0 -58
  270. package/src/features/text-to-image/presentation/index.ts +0 -7
  271. package/src/features/text-to-video/README.md +0 -412
  272. package/src/features/text-to-video/domain/index.ts +0 -1
  273. package/src/features/text-to-video/domain/types/callback.types.ts +0 -69
  274. package/src/features/text-to-video/domain/types/component.types.ts +0 -106
  275. package/src/features/text-to-video/domain/types/config.types.ts +0 -61
  276. package/src/features/text-to-video/domain/types/index.ts +0 -56
  277. package/src/features/text-to-video/domain/types/request.types.ts +0 -36
  278. package/src/features/text-to-video/domain/types/state.types.ts +0 -53
  279. package/src/features/text-to-video/index.ts +0 -68
  280. package/src/features/text-to-video/infrastructure/index.ts +0 -1
  281. package/src/features/text-to-video/infrastructure/services/index.ts +0 -5
  282. package/src/features/text-to-video/infrastructure/services/text-to-video-executor.ts +0 -141
  283. package/src/features/text-to-video/presentation/components/FrameSelector.tsx +0 -153
  284. package/src/features/text-to-video/presentation/components/GenerationTabs.tsx +0 -73
  285. package/src/features/text-to-video/presentation/components/HeroSection.tsx +0 -61
  286. package/src/features/text-to-video/presentation/components/HintCarousel.tsx +0 -96
  287. package/src/features/text-to-video/presentation/components/OptionsPanel.tsx +0 -121
  288. package/src/features/text-to-video/presentation/components/index.ts +0 -10
  289. package/src/features/text-to-video/presentation/hooks/index.ts +0 -17
  290. package/src/features/text-to-video/presentation/hooks/useTextToVideoFeature.ts +0 -225
  291. package/src/features/text-to-video/presentation/hooks/useTextToVideoForm.ts +0 -134
  292. package/src/features/text-to-video/presentation/index.ts +0 -7
  293. package/src/features/text-to-voice/README.md +0 -445
  294. package/src/features/text-to-voice/domain/index.ts +0 -1
  295. package/src/features/text-to-voice/domain/types/component.types.ts +0 -91
  296. package/src/features/text-to-voice/domain/types/config.types.ts +0 -34
  297. package/src/features/text-to-voice/domain/types/form.types.ts +0 -39
  298. package/src/features/text-to-voice/domain/types/generation.types.ts +0 -43
  299. package/src/features/text-to-voice/domain/types/index.ts +0 -38
  300. package/src/features/text-to-voice/index.ts +0 -53
  301. package/src/features/text-to-voice/infrastructure/index.ts +0 -1
  302. package/src/features/text-to-voice/infrastructure/services/index.ts +0 -4
  303. package/src/features/text-to-voice/infrastructure/services/text-to-voice-executor.ts +0 -103
  304. package/src/features/text-to-voice/presentation/components/TextToVoiceAudioPlayer.tsx +0 -81
  305. package/src/features/text-to-voice/presentation/components/index.ts +0 -7
  306. package/src/features/text-to-voice/presentation/hooks/index.ts +0 -6
  307. package/src/features/text-to-voice/presentation/hooks/useTextToVoiceForm.ts +0 -91
  308. package/src/features/text-to-voice/presentation/hooks/useTextToVoiceGeneration.ts +0 -116
  309. package/src/features/text-to-voice/presentation/index.ts +0 -2
  310. package/src/features/upscaling/README.md +0 -396
  311. package/src/features/upscaling/domain/index.ts +0 -1
  312. package/src/features/upscaling/domain/types/index.ts +0 -1
  313. package/src/features/upscaling/domain/types/upscale.types.ts +0 -23
  314. package/src/features/upscaling/index.ts +0 -20
  315. package/src/features/upscaling/presentation/components/ComparisonSlider.tsx +0 -200
  316. package/src/features/upscaling/presentation/components/UpscaleFeature.tsx +0 -89
  317. package/src/features/upscaling/presentation/components/UpscaleResultView.tsx +0 -98
  318. package/src/features/upscaling/presentation/components/index.ts +0 -6
  319. package/src/features/upscaling/presentation/hooks/index.ts +0 -1
  320. package/src/features/upscaling/presentation/hooks/useUpscaleFeature.ts +0 -28
  321. package/src/features/upscaling/presentation/index.ts +0 -2
  322. package/src/features/wizard/domain/types.ts +0 -154
  323. package/src/features/wizard/index.ts +0 -43
  324. package/src/features/wizard/presentation/components/AIFeatureWizard.tsx +0 -231
  325. package/src/features/wizard/presentation/components/AIGenerationWizard.tsx +0 -132
  326. package/src/features/wizard/presentation/hooks/useWizard.ts +0 -120
  327. package/src/features/wizard/presentation/store/useWizardStore.ts +0 -82
@@ -1,53 +0,0 @@
1
- /**
2
- * Love Message Explore Screen
3
- * Premium entry point for Love Message domain
4
- */
5
-
6
- import { FC } from "react";
7
- import { View, ScrollView, StyleSheet } from "react-native";
8
- import {
9
- useAppDesignTokens,
10
- useSafeAreaInsets,
11
- useAppNavigation,
12
- } from "@umituz/react-native-design-system";
13
- import { ExploreHeader } from "../components/ExploreHeader";
14
- import { LoveMessageHeroSection } from "../components/LoveMessageHeroSection";
15
- import { CategoryGrid } from "../components/CategoryGrid";
16
- import { TrendingSection } from "../components/TrendingSection";
17
-
18
- export const LoveMessageExploreScreen: FC = () => {
19
- const tokens = useAppDesignTokens();
20
- const { bottom } = useSafeAreaInsets();
21
- const navigation = useAppNavigation();
22
-
23
- const handleNavigateToGenerator = () => {
24
- navigation.navigate("MessageGenerator", {});
25
- };
26
-
27
- const handleNavigateToCategory = (categoryId: string) => {
28
- navigation.navigate("MessageList", { categoryId });
29
- };
30
-
31
- const handleNavigateToTrending = () => {
32
- navigation.navigate("MessageList", { categoryId: "trending" });
33
- };
34
-
35
- return (
36
- <View style={[styles.container, { backgroundColor: tokens.colors.backgroundPrimary }]}>
37
- <ExploreHeader onMagicPress={handleNavigateToGenerator} />
38
-
39
- <ScrollView
40
- showsVerticalScrollIndicator={false}
41
- contentContainerStyle={{ paddingBottom: bottom + 120 }}
42
- >
43
- <LoveMessageHeroSection />
44
- <CategoryGrid onCategoryPress={handleNavigateToCategory} />
45
- <TrendingSection onViewAll={handleNavigateToTrending} />
46
- </ScrollView>
47
- </View>
48
- );
49
- };
50
-
51
- const styles = StyleSheet.create({
52
- container: { flex: 1 },
53
- });
@@ -1,169 +0,0 @@
1
- /**
2
- * Love Message Generator Screen
3
- * Multi-step wizard flow
4
- */
5
-
6
- import { FC, useMemo, useCallback } from "react";
7
- import { View, ScrollView, StyleSheet } from "react-native";
8
- import {
9
- AtomicText,
10
- AtomicButton,
11
- useAppNavigation,
12
- useAppRoute,
13
- AlertService,
14
- useAppDesignTokens,
15
- useSafeAreaInsets,
16
- } from "@umituz/react-native-design-system";
17
-
18
- import { useLocalization } from "@umituz/react-native-localization";
19
- import { ProgressDots } from "../components/ProgressDots";
20
- import { MessageResult } from "../components/MessageResult";
21
- import { GeneratorHeader } from "../components/GeneratorHeader";
22
- import { StepPartner } from "../components/StepPartner";
23
- import { StepVibe } from "../components/StepVibe";
24
- import { StepDetails } from "../components/StepDetails";
25
- import { MessageType } from "../../domain/types";
26
- import { useLoveMessageGenerator, GeneratorStep } from "../hooks/useLoveMessageGenerator";
27
-
28
- type RouteParams = { initialType?: MessageType };
29
-
30
- export const LoveMessageGeneratorScreen: FC = () => {
31
- const tokens = useAppDesignTokens();
32
- const { bottom } = useSafeAreaInsets();
33
- const { t } = useLocalization();
34
- const navigation = useAppNavigation();
35
- const route = useAppRoute<{ params: RouteParams }, "params">();
36
-
37
- const initialType = route.params?.initialType;
38
-
39
- const handleSuccess = useCallback(() => {
40
- AlertService.createSuccessAlert(
41
- t("loveMessage.generator.successTitle"),
42
- t("loveMessage.generator.successMessage")
43
- );
44
- }, [t]);
45
-
46
- const handleError = useCallback(() => {
47
- AlertService.createErrorAlert(
48
- t("loveMessage.generator.errorTitle"),
49
- t("loveMessage.generator.errorMessage")
50
- );
51
- }, [t]);
52
-
53
- const gen = useLoveMessageGenerator({
54
- onBack: () => navigation.goBack(),
55
- initialType,
56
- onSuccess: handleSuccess,
57
- onError: handleError,
58
- });
59
-
60
- const handleNavigateToProfile = () => navigation.navigate("PartnerProfile");
61
-
62
- const stepTitle = useMemo(() => {
63
- switch (gen.currentStep) {
64
- case GeneratorStep.PARTNER:
65
- return t("loveMessage.generator.stepPartner");
66
- case GeneratorStep.VIBE:
67
- return t("loveMessage.generator.stepVibe");
68
- case GeneratorStep.DETAILS:
69
- return t("loveMessage.generator.stepDetails");
70
- case GeneratorStep.RESULT:
71
- return t("loveMessage.generator.stepResult");
72
- default:
73
- return "";
74
- }
75
- }, [gen.currentStep, t]);
76
-
77
- return (
78
- <View style={[styles.container, { backgroundColor: tokens.colors.backgroundPrimary }]}>
79
- <GeneratorHeader
80
- currentStep={gen.currentStep}
81
- partnerName={gen.partnerName}
82
- onBack={gen.handleBack}
83
- onNext={gen.handleNext}
84
- onGenerate={gen.handleGenerate}
85
- isGenerating={gen.isGenerating}
86
- />
87
-
88
- <ScrollView
89
- showsVerticalScrollIndicator={false}
90
- contentContainerStyle={{ paddingBottom: bottom + 120 }}
91
- >
92
- <View style={styles.heroSection}>
93
- <ProgressDots currentStep={gen.currentStep} totalSteps={4} />
94
- <AtomicText type="headlineLarge" color="textPrimary" style={styles.heroTitle}>
95
- {stepTitle}
96
- </AtomicText>
97
- </View>
98
-
99
- <View style={styles.formContent}>
100
- {gen.currentStep === GeneratorStep.PARTNER && (
101
- <View>
102
- <StepPartner
103
- partnerName={gen.partnerName}
104
- setPartnerName={gen.setPartnerName}
105
- useProfile={gen.useProfile}
106
- setUseProfile={gen.setUseProfile}
107
- hasProfile={gen.hasProfile}
108
- onEditProfile={handleNavigateToProfile}
109
- />
110
- </View>
111
- )}
112
-
113
- {gen.currentStep === GeneratorStep.VIBE && (
114
- <View>
115
- <StepVibe
116
- selectedType={gen.selectedType}
117
- setSelectedType={gen.setSelectedType}
118
- selectedTone={gen.selectedTone}
119
- setSelectedTone={gen.setSelectedTone}
120
- />
121
- </View>
122
- )}
123
-
124
- {gen.currentStep === GeneratorStep.DETAILS && (
125
- <View>
126
- <StepDetails details={gen.details} setDetails={gen.setDetails} />
127
- </View>
128
- )}
129
-
130
- {gen.currentStep === GeneratorStep.RESULT && (
131
- <MessageResult message={gen.generatedMessage} />
132
- )}
133
- </View>
134
- </ScrollView>
135
-
136
- {gen.currentStep === GeneratorStep.RESULT && (
137
- <View style={[styles.footer, { paddingBottom: bottom + 24 }]}>
138
- <AtomicButton
139
- title={t("loveMessage.generator.startOver")}
140
- onPress={gen.startOver}
141
- variant="outline"
142
- fullWidth
143
- style={styles.actionBtn}
144
- />
145
- </View>
146
- )}
147
- </View>
148
- );
149
- };
150
-
151
- const styles = StyleSheet.create({
152
- container: { flex: 1 },
153
- heroSection: { paddingVertical: 32, alignItems: "center" },
154
- heroTitle: {
155
- fontWeight: "bold",
156
- textAlign: "center",
157
- marginBottom: 8,
158
- paddingHorizontal: 20,
159
- },
160
- formContent: { paddingHorizontal: 20 },
161
- footer: {
162
- position: "absolute",
163
- bottom: 0,
164
- left: 0,
165
- right: 0,
166
- padding: 24,
167
- },
168
- actionBtn: { height: 60, borderRadius: 30 },
169
- });
@@ -1,127 +0,0 @@
1
- /**
2
- * Message List Screen
3
- */
4
-
5
- import { FC, useCallback, useMemo } from "react";
6
- import { View, ScrollView, StyleSheet, Pressable, Share } from "react-native";
7
- import {
8
- AtomicText,
9
- AtomicIcon,
10
- useAppNavigation,
11
- useAppRoute,
12
- useAppDesignTokens,
13
- useSafeAreaInsets,
14
- } from "@umituz/react-native-design-system";
15
- import { useLocalization } from "@umituz/react-native-localization";
16
- import { CATEGORY_TEMPLATES, MESSAGE_TYPES } from "../../domain/constants";
17
- import { MessageListItem } from "../components/MessageListItem";
18
- import type { MessageType } from "../../domain/types";
19
-
20
- type RouteParams = { categoryId?: string };
21
-
22
- export const MessageListScreen: FC = () => {
23
- const tokens = useAppDesignTokens();
24
- const { top, bottom } = useSafeAreaInsets();
25
- const { t } = useLocalization();
26
- const navigation = useAppNavigation();
27
- const route = useAppRoute<{ params: RouteParams }, "params">();
28
-
29
- const categoryId = route.params?.categoryId ?? "romantic";
30
- const messages = useMemo(() => CATEGORY_TEMPLATES[categoryId] || [], [categoryId]);
31
-
32
- const categoryTitle = useMemo(() => {
33
- if (categoryId === "trending") return t("loveMessage.explore.trending");
34
- const config = MESSAGE_TYPES.find((c) => c.type === categoryId);
35
- return config ? t(config.labelKey) : categoryId;
36
- }, [categoryId, t]);
37
-
38
- const handleBack = () => navigation.goBack();
39
-
40
- const handleNavigateToGenerator = (type?: string) => {
41
- navigation.navigate("MessageGenerator", { initialType: type as MessageType });
42
- };
43
-
44
- const handleShare = useCallback(async (text: string) => {
45
- try {
46
- await Share.share({ message: text });
47
- } catch {
48
- /* Ignore */
49
- }
50
- }, []);
51
-
52
- return (
53
- <View style={[styles.container, { backgroundColor: tokens.colors.backgroundPrimary }]}>
54
- <View style={[styles.header, { paddingTop: top + tokens.spacing.md }]}>
55
- <Pressable onPress={handleBack} style={styles.backBtn}>
56
- <AtomicIcon name="arrow-back" color="textPrimary" size="sm" />
57
- </Pressable>
58
- <AtomicText type="headlineSmall" color="textPrimary" style={styles.headerTitle}>
59
- {categoryTitle}
60
- </AtomicText>
61
- <View style={styles.spacer} />
62
- </View>
63
-
64
- <ScrollView
65
- showsVerticalScrollIndicator={false}
66
- contentContainerStyle={{ paddingBottom: bottom + 100, paddingHorizontal: 16 }}
67
- >
68
- <View style={styles.headlineContainer}>
69
- <AtomicText type="headlineMedium" color="textPrimary" style={styles.headline}>
70
- {`${messages.length} ${t("loveMessage.messages")}`}
71
- </AtomicText>
72
- <AtomicText type="bodySmall" color="textTertiary">
73
- {t("loveMessage.aiCrafted")}
74
- </AtomicText>
75
- </View>
76
-
77
- {messages.map((item) => (
78
- <MessageListItem key={item.id} item={item} onShare={handleShare} />
79
- ))}
80
- </ScrollView>
81
-
82
- <View style={[styles.fabContainer, { bottom: bottom + tokens.spacing.lg }]}>
83
- <Pressable
84
- onPress={() => handleNavigateToGenerator(categoryId !== "trending" ? categoryId : undefined)}
85
- style={[styles.fab, { backgroundColor: tokens.colors.primary }]}
86
- >
87
- <AtomicIcon name="sparkles" color="onPrimary" size="sm" />
88
- <AtomicText type="labelLarge" color="onPrimary" style={styles.fabText}>
89
- {t("loveMessage.generateMore")}
90
- </AtomicText>
91
- </Pressable>
92
- </View>
93
- </View>
94
- );
95
- };
96
-
97
- const styles = StyleSheet.create({
98
- container: { flex: 1 },
99
- header: {
100
- flexDirection: "row",
101
- justifyContent: "space-between",
102
- alignItems: "center",
103
- paddingHorizontal: 8,
104
- paddingBottom: 16,
105
- },
106
- backBtn: { padding: 12 },
107
- headerTitle: { fontWeight: "bold" },
108
- spacer: { width: 44 },
109
- headlineContainer: { paddingVertical: 24 },
110
- headline: { fontWeight: "bold", marginBottom: 4 },
111
- fabContainer: {
112
- position: "absolute",
113
- left: 20,
114
- right: 20,
115
- alignItems: "center",
116
- },
117
- fab: {
118
- flexDirection: "row",
119
- alignItems: "center",
120
- justifyContent: "center",
121
- paddingVertical: 16,
122
- paddingHorizontal: 24,
123
- borderRadius: 32,
124
- gap: 12,
125
- },
126
- fabText: { fontWeight: "bold", letterSpacing: 1 },
127
- });
@@ -1,119 +0,0 @@
1
- /**
2
- * Partner Profile Screen
3
- */
4
-
5
- import { FC } from "react";
6
- import { View, ScrollView, StyleSheet } from "react-native";
7
- import {
8
- AtomicText,
9
- AtomicButton,
10
- useAppDesignTokens,
11
- useSafeAreaInsets,
12
- useAppNavigation,
13
- } from "@umituz/react-native-design-system";
14
- import { useLocalization } from "@umituz/react-native-localization";
15
- import { LOVE_LANGUAGES } from "../../domain/constants";
16
- import { usePartnerProfile } from "../hooks/usePartnerProfile";
17
- import { FieldInput } from "../components/FieldInput";
18
-
19
- export const PartnerProfileScreen: FC = () => {
20
- const tokens = useAppDesignTokens();
21
- const { top, bottom } = useSafeAreaInsets();
22
- const { t } = useLocalization();
23
- const navigation = useAppNavigation();
24
- const p = usePartnerProfile(() => navigation.goBack());
25
-
26
- if (p.isLoading) return null;
27
-
28
- return (
29
- <View style={[styles.container, { backgroundColor: tokens.colors.backgroundPrimary }]}>
30
- <View style={[styles.header, { paddingTop: top + tokens.spacing.md }]}>
31
- <AtomicButton icon="arrow-back" onPress={() => navigation.goBack()} variant="text" size="sm" />
32
- <View style={styles.headerTitle}>
33
- <AtomicText type="headlineSmall" color="textPrimary" style={styles.headerText}>
34
- {t("loveMessage.partnerProfile.title")}
35
- </AtomicText>
36
- </View>
37
- </View>
38
-
39
- <ScrollView
40
- contentContainerStyle={{
41
- paddingBottom: bottom + tokens.spacing.xl,
42
- paddingHorizontal: tokens.spacing.lg,
43
- }}
44
- showsVerticalScrollIndicator={false}
45
- >
46
- <AtomicText type="bodyMedium" color="textSecondary" style={styles.subtitle}>
47
- {t("loveMessage.partnerProfile.subtitle")}
48
- </AtomicText>
49
-
50
- <FieldInput
51
- label={t("loveMessage.partnerName")}
52
- value={p.profile.name}
53
- onChange={(text) => p.setProfile((prev) => ({ ...prev, name: text }))}
54
- placeholder={t("loveMessage.partnerNamePlaceholder")}
55
- />
56
-
57
- <View style={styles.field}>
58
- <AtomicText type="labelLarge" color="textPrimary" style={styles.label}>
59
- {t("loveMessage.partnerProfile.loveLanguage")}
60
- </AtomicText>
61
- <View style={styles.chipContainer}>
62
- {LOVE_LANGUAGES.map((lang) => (
63
- <AtomicButton
64
- key={lang.language}
65
- title={t(lang.labelKey)}
66
- onPress={() => p.setProfile((prev) => ({ ...prev, loveLanguage: lang.language }))}
67
- variant={p.profile.loveLanguage === lang.language ? "primary" : "outline"}
68
- size="sm"
69
- style={styles.chip}
70
- />
71
- ))}
72
- </View>
73
- </View>
74
-
75
- <FieldInput
76
- label={t("loveMessage.partnerProfile.traits")}
77
- value={p.profile.traits}
78
- onChange={(text) => p.setProfile((prev) => ({ ...prev, traits: text }))}
79
- placeholder={t("loveMessage.partnerProfile.traitsPlaceholder")}
80
- />
81
-
82
- <FieldInput
83
- label={t("loveMessage.partnerProfile.quirks")}
84
- value={p.profile.quirks}
85
- onChange={(text) => p.setProfile((prev) => ({ ...prev, quirks: text }))}
86
- placeholder={t("loveMessage.partnerProfile.quirksPlaceholder")}
87
- multiline
88
- />
89
-
90
- <AtomicButton
91
- title={t("loveMessage.partnerProfile.save")}
92
- onPress={p.handleSave}
93
- disabled={!p.profile.name.trim()}
94
- variant="primary"
95
- fullWidth
96
- style={styles.saveBtn}
97
- />
98
- </ScrollView>
99
- </View>
100
- );
101
- };
102
-
103
- const styles = StyleSheet.create({
104
- container: { flex: 1 },
105
- header: {
106
- flexDirection: "row",
107
- alignItems: "center",
108
- paddingHorizontal: 8,
109
- paddingBottom: 24,
110
- },
111
- headerTitle: { flex: 1, marginRight: 40, alignItems: "center" },
112
- headerText: { fontWeight: "bold" },
113
- subtitle: { marginBottom: 32 },
114
- field: { marginBottom: 24 },
115
- label: { marginBottom: 10, marginLeft: 4 },
116
- chipContainer: { flexDirection: "row", flexWrap: "wrap", gap: 10 },
117
- chip: { borderRadius: 20 },
118
- saveBtn: { height: 56, borderRadius: 16, marginTop: 16 },
119
- });