@umituz/react-native-video-editor 1.0.3 → 1.0.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.
- package/package.json +1 -1
- package/src/infrastructure/constants/animation-layer.constants.ts +1 -1
- package/src/infrastructure/services/image-layer-operations.service.ts +1 -1
- package/src/infrastructure/services/layer-manipulation.service.ts +1 -1
- package/src/infrastructure/services/layer-operations/layer-delete.service.ts +1 -1
- package/src/infrastructure/services/layer-operations/layer-duplicate.service.ts +1 -1
- package/src/infrastructure/services/layer-operations/layer-order.service.ts +1 -1
- package/src/infrastructure/services/layer-operations/layer-transform.service.ts +1 -1
- package/src/infrastructure/services/layer-operations.service.ts +1 -1
- package/src/infrastructure/services/scene-operations.service.ts +1 -1
- package/src/infrastructure/services/shape-layer-operations.service.ts +1 -1
- package/src/infrastructure/services/text-layer-operations.service.ts +1 -1
- package/src/presentation/components/AnimationEditor.tsx +1 -1
- package/src/presentation/components/AudioEditor.tsx +1 -1
- package/src/presentation/components/DraggableLayer.tsx +1 -1
- package/src/presentation/components/EditorPreviewArea.tsx +1 -1
- package/src/presentation/components/EditorTimeline.tsx +1 -1
- package/src/presentation/components/EditorToolPanel.tsx +1 -1
- package/src/presentation/components/ExportDialog.tsx +1 -1
- package/src/presentation/components/ImageLayerEditor.tsx +1 -1
- package/src/presentation/components/LayerActionsMenu.tsx +1 -1
- package/src/presentation/components/ShapeLayerEditor.tsx +1 -1
- package/src/presentation/components/TextLayerEditor.tsx +1 -1
- package/src/presentation/components/animation-layer/AnimationTypeSelector.tsx +2 -2
- package/src/presentation/components/audio-layer/AudioFileSelector.tsx +1 -1
- package/src/presentation/components/audio-layer/FadeEffectsSelector.tsx +1 -1
- package/src/presentation/components/audio-layer/VolumeSelector.tsx +1 -1
- package/src/presentation/components/draggable-layer/LayerContent.tsx +1 -1
- package/src/presentation/components/export/ProjectInfoBox.tsx +1 -1
- package/src/presentation/components/image-layer/OpacitySelector.tsx +1 -1
- package/src/presentation/components/shape-layer/ColorPickerHorizontal.tsx +1 -1
- package/src/presentation/components/shape-layer/ShapePreview.tsx +1 -1
- package/src/presentation/components/shape-layer/ShapeTypeSelector.tsx +1 -1
- package/src/presentation/components/text-layer/ColorPicker.tsx +1 -1
- package/src/presentation/components/text-layer/FontSizeSelector.tsx +1 -1
- package/src/presentation/components/text-layer/TextAlignSelector.tsx +1 -1
- package/src/presentation/hooks/useAnimationLayerForm.ts +2 -2
- package/src/presentation/hooks/useAudioLayerForm.ts +1 -1
- package/src/presentation/hooks/useEditorActions.tsx +1 -1
- package/src/presentation/hooks/useEditorHistory.ts +1 -1
- package/src/presentation/hooks/useEditorLayers.ts +2 -2
- package/src/presentation/hooks/useEditorPlayback.ts +1 -1
- package/src/presentation/hooks/useEditorScenes.ts +2 -2
- package/src/presentation/hooks/useExportActions.tsx +2 -2
- package/src/presentation/hooks/useExportForm.ts +3 -3
- package/src/presentation/hooks/useImageLayerForm.ts +1 -1
- package/src/presentation/hooks/useImageLayerOperations.ts +3 -3
- package/src/presentation/hooks/useLayerActions.tsx +5 -5
- package/src/presentation/hooks/useLayerManipulation.ts +3 -3
- package/src/presentation/hooks/useShapeLayerForm.ts +2 -2
- package/src/presentation/hooks/useShapeLayerOperations.ts +2 -2
- package/src/presentation/hooks/useTextLayerForm.ts +1 -1
- package/src/presentation/hooks/useTextLayerOperations.ts +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umituz/react-native-video-editor",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Professional video editor with layer-based timeline, text/image/shape/audio/animation layers, and export functionality",
|
|
5
5
|
"main": "./src/index.ts",
|
|
6
6
|
"types": "./src/index.ts",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { generateUUID } from "@umituz/react-native-uuid";
|
|
7
|
-
import type { Scene, ImageLayer } from "
|
|
7
|
+
import type { Scene, ImageLayer } from "../../domain/entities";
|
|
8
8
|
import type { LayerOperationResult, AddImageLayerData } from "../../types";
|
|
9
9
|
|
|
10
10
|
class ImageLayerOperationsService {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Orchestrator service that delegates to specialized layer operation services
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import type { Scene, Animation } from "
|
|
6
|
+
import type { Scene, Animation } from "../../domain/entities";
|
|
7
7
|
import type { LayerOperationResult, LayerOrderAction } from "../../types";
|
|
8
8
|
import {
|
|
9
9
|
layerDeleteService,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Single Responsibility: Handle layer deletion operations
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import type { Scene } from "
|
|
6
|
+
import type { Scene } from "../../domain/entities";
|
|
7
7
|
import type { LayerOperationResult } from "../../../types";
|
|
8
8
|
|
|
9
9
|
class LayerDeleteService {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { generateUUID } from "@umituz/react-native-uuid";
|
|
7
|
-
import type { Scene } from "
|
|
7
|
+
import type { Scene } from "../../domain/entities";
|
|
8
8
|
import type { LayerOperationResult } from "../../../types";
|
|
9
9
|
|
|
10
10
|
class LayerDuplicateService {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Single Responsibility: Handle layer ordering operations
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import type { Scene } from "
|
|
6
|
+
import type { Scene } from "../../domain/entities";
|
|
7
7
|
import type { LayerOperationResult, LayerOrderAction } from "../../../types";
|
|
8
8
|
|
|
9
9
|
class LayerOrderService {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Single Responsibility: Handle layer position, size, and animation updates
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import type { Scene, Animation, Layer } from "
|
|
6
|
+
import type { Scene, Animation, Layer } from "../../domain/entities";
|
|
7
7
|
import type { LayerOperationResult } from "../../../types";
|
|
8
8
|
|
|
9
9
|
class LayerTransformService {
|
|
@@ -7,7 +7,7 @@ import { textLayerOperationsService } from "./text-layer-operations.service";
|
|
|
7
7
|
import { imageLayerOperationsService } from "./image-layer-operations.service";
|
|
8
8
|
import { shapeLayerOperationsService } from "./shape-layer-operations.service";
|
|
9
9
|
import { layerManipulationService } from "./layer-manipulation.service";
|
|
10
|
-
import type { Scene, TextLayer, ImageLayer, Animation } from "
|
|
10
|
+
import type { Scene, TextLayer, ImageLayer, Animation } from "../../domain/entities";
|
|
11
11
|
import type {
|
|
12
12
|
LayerOperationResult,
|
|
13
13
|
LayerOrderAction,
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { generateUUID } from "@umituz/react-native-uuid";
|
|
7
|
-
import type { Scene, Audio } from "
|
|
7
|
+
import type { Scene, Audio } from "../../domain/entities";
|
|
8
8
|
import type { SceneOperationResult } from "../../types";
|
|
9
9
|
|
|
10
10
|
class SceneOperationsService {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { generateUUID } from "@umituz/react-native-uuid";
|
|
7
|
-
import type { Scene, ShapeLayer } from "
|
|
7
|
+
import type { Scene, ShapeLayer } from "../../domain/entities";
|
|
8
8
|
import type { LayerOperationResult, AddShapeLayerData } from "../../types";
|
|
9
9
|
|
|
10
10
|
class ShapeLayerOperationsService {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { generateUUID } from "@umituz/react-native-uuid";
|
|
7
|
-
import type { Scene, TextLayer } from "
|
|
7
|
+
import type { Scene, TextLayer } from "../../domain/entities";
|
|
8
8
|
import type { LayerOperationResult, AddTextLayerData } from "../../types";
|
|
9
9
|
|
|
10
10
|
class TextLayerOperationsService {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import React from "react";
|
|
7
7
|
import { View, ScrollView, StyleSheet } from "react-native";
|
|
8
8
|
import { useAppDesignTokens } from "@umituz/react-native-design-system";
|
|
9
|
-
import type { Animation } from "
|
|
9
|
+
import type { Animation } from "../../domain/entities";
|
|
10
10
|
import { useAnimationLayerForm } from "../../hooks/useAnimationLayerForm";
|
|
11
11
|
import {
|
|
12
12
|
DURATIONS,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
AtomicText,
|
|
11
11
|
useAppDesignTokens,
|
|
12
12
|
} from "@umituz/react-native-design-system";
|
|
13
|
-
import type { Audio } from "
|
|
13
|
+
import type { Audio } from "../../domain/entities";
|
|
14
14
|
import { useAudioLayerForm } from "../../hooks/useAudioLayerForm";
|
|
15
15
|
import { AUDIO_FILE_TYPES } from "../../constants/audio-layer.constants";
|
|
16
16
|
import {
|
|
@@ -8,7 +8,7 @@ import { StyleSheet } from "react-native";
|
|
|
8
8
|
import { GestureDetector } from "react-native-gesture-handler";
|
|
9
9
|
import Animated, { useAnimatedStyle } from "react-native-reanimated";
|
|
10
10
|
import { useAppDesignTokens } from "@umituz/react-native-design-system";
|
|
11
|
-
import type { Layer } from "
|
|
11
|
+
import type { Layer } from "../../domain/entities";
|
|
12
12
|
import { useDraggableLayerGestures } from "../../hooks/useDraggableLayerGestures";
|
|
13
13
|
import { LayerContent } from "./draggable-layer/LayerContent";
|
|
14
14
|
import { ResizeHandles } from "./draggable-layer/ResizeHandles";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
useAppDesignTokens,
|
|
12
12
|
} from "@umituz/react-native-design-system";
|
|
13
13
|
import { DraggableLayer } from "./DraggableLayer";
|
|
14
|
-
import type { Scene, Layer, ImageLayer } from "
|
|
14
|
+
import type { Scene, Layer, ImageLayer } from "../../domain/entities";
|
|
15
15
|
|
|
16
16
|
const { width } = Dimensions.get("window");
|
|
17
17
|
const PREVIEW_ASPECT_RATIO = 16 / 9;
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
useAppDesignTokens,
|
|
12
12
|
} from "@umituz/react-native-design-system";
|
|
13
13
|
import { useLocalization } from "@umituz/react-native-localization";
|
|
14
|
-
import type { VideoProject, Scene } from "
|
|
14
|
+
import type { VideoProject, Scene } from "../../domain/entities";
|
|
15
15
|
|
|
16
16
|
export interface EditorTimelineProps {
|
|
17
17
|
project: VideoProject;
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
useAppDesignTokens,
|
|
18
18
|
} from "@umituz/react-native-design-system";
|
|
19
19
|
import { useLocalization } from "@umituz/react-native-localization";
|
|
20
|
-
import type { Audio } from "
|
|
20
|
+
import type { Audio } from "../../domain/entities";
|
|
21
21
|
|
|
22
22
|
export interface EditorToolPanelProps {
|
|
23
23
|
onAddText: () => void;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import React, { useCallback } from "react";
|
|
7
7
|
import { View, ScrollView, StyleSheet } from "react-native";
|
|
8
8
|
import { useLocalization } from "@umituz/react-native-localization";
|
|
9
|
-
import type { ExportSettings, VideoProject } from "
|
|
9
|
+
import type { ExportSettings, VideoProject } from "../../domain/entities";
|
|
10
10
|
import { useExportForm } from "../../hooks/useExportForm";
|
|
11
11
|
import { useExport } from "../../hooks/useExport";
|
|
12
12
|
import {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import React, { useCallback } from "react";
|
|
7
7
|
import { View, ScrollView, StyleSheet, Alert } from "react-native";
|
|
8
8
|
import { useImagePicker } from "@/domains/media";
|
|
9
|
-
import type { ImageLayer } from "
|
|
9
|
+
import type { ImageLayer } from "../../domain/entities";
|
|
10
10
|
import { useImageLayerForm } from "../../hooks/useImageLayerForm";
|
|
11
11
|
import { IMAGE_PICKER_OPTIONS } from "../../constants/image-layer.constants";
|
|
12
12
|
import {
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
AtomicIcon,
|
|
11
11
|
useAppDesignTokens,
|
|
12
12
|
} from "@umituz/react-native-design-system";
|
|
13
|
-
import type { Layer, ImageLayer } from "
|
|
13
|
+
import type { Layer, ImageLayer } from "../../domain/entities";
|
|
14
14
|
|
|
15
15
|
export interface LayerActionsMenuProps {
|
|
16
16
|
layer: Layer;
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
AtomicIcon,
|
|
11
11
|
useAppDesignTokens,
|
|
12
12
|
} from "@umituz/react-native-design-system";
|
|
13
|
-
import type { ShapeLayer } from "
|
|
13
|
+
import type { ShapeLayer } from "../../domain/entities";
|
|
14
14
|
import { useShapeLayerForm } from "../../hooks/useShapeLayerForm";
|
|
15
15
|
import {
|
|
16
16
|
BORDER_WIDTHS,
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import React from "react";
|
|
7
7
|
import { View, ScrollView, StyleSheet } from "react-native";
|
|
8
8
|
import { useLocalization } from "@umituz/react-native-localization";
|
|
9
|
-
import type { TextLayer } from "
|
|
9
|
+
import type { TextLayer } from "../../domain/entities";
|
|
10
10
|
import { useTextLayerForm } from "../../hooks/useTextLayerForm";
|
|
11
11
|
import {
|
|
12
12
|
FONT_FAMILIES,
|
|
@@ -10,8 +10,8 @@ import {
|
|
|
10
10
|
AtomicIcon,
|
|
11
11
|
useAppDesignTokens,
|
|
12
12
|
} from "@umituz/react-native-design-system";
|
|
13
|
-
import { ANIMATION_TYPES } from "../../../constants/animation-layer.constants";
|
|
14
|
-
import type { AnimationType } from "
|
|
13
|
+
import { ANIMATION_TYPES } from "../../../infrastructure/constants/animation-layer.constants";
|
|
14
|
+
import type { AnimationType } from "../../domain/entities";
|
|
15
15
|
|
|
16
16
|
interface AnimationTypeSelectorProps {
|
|
17
17
|
selectedType: AnimationType;
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
AtomicIcon,
|
|
11
11
|
useAppDesignTokens,
|
|
12
12
|
} from "@umituz/react-native-design-system";
|
|
13
|
-
import { SUPPORTED_AUDIO_FORMATS } from "../../../constants/audio-layer.constants";
|
|
13
|
+
import { SUPPORTED_AUDIO_FORMATS } from "../../../infrastructure/constants/audio-layer.constants";
|
|
14
14
|
|
|
15
15
|
interface AudioFileSelectorProps {
|
|
16
16
|
audioUri: string;
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
AtomicText,
|
|
10
10
|
useAppDesignTokens,
|
|
11
11
|
} from "@umituz/react-native-design-system";
|
|
12
|
-
import { VOLUME_OPTIONS } from "../../../constants/audio-layer.constants";
|
|
12
|
+
import { VOLUME_OPTIONS } from "../../../infrastructure/constants/audio-layer.constants";
|
|
13
13
|
|
|
14
14
|
interface VolumeSelectorProps {
|
|
15
15
|
volume: number;
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
AtomicIcon,
|
|
10
10
|
useAppDesignTokens,
|
|
11
11
|
} from "@umituz/react-native-design-system";
|
|
12
|
-
import type { Layer, TextLayer, ImageLayer, ShapeLayer } from "
|
|
12
|
+
import type { Layer, TextLayer, ImageLayer, ShapeLayer } from "../../domain/entities";
|
|
13
13
|
|
|
14
14
|
interface LayerContentProps {
|
|
15
15
|
layer: Layer;
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
AtomicIcon,
|
|
11
11
|
useAppDesignTokens,
|
|
12
12
|
} from "@umituz/react-native-design-system";
|
|
13
|
-
import type { VideoProject } from "
|
|
13
|
+
import type { VideoProject } from "../../domain/entities";
|
|
14
14
|
|
|
15
15
|
interface ProjectInfoBoxProps {
|
|
16
16
|
project: VideoProject;
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
AtomicText,
|
|
11
11
|
useAppDesignTokens,
|
|
12
12
|
} from "@umituz/react-native-design-system";
|
|
13
|
-
import { IMAGE_OPACITY_OPTIONS } from "../../../constants/image-layer.constants";
|
|
13
|
+
import { IMAGE_OPACITY_OPTIONS } from "../../../infrastructure/constants/image-layer.constants";
|
|
14
14
|
|
|
15
15
|
interface OpacitySelectorProps {
|
|
16
16
|
opacity: number;
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
AtomicIcon,
|
|
11
11
|
useAppDesignTokens,
|
|
12
12
|
} from "@umituz/react-native-design-system";
|
|
13
|
-
import { SHAPE_COLORS } from "../../../constants/shape-layer.constants";
|
|
13
|
+
import { SHAPE_COLORS } from "../../../infrastructure/constants/shape-layer.constants";
|
|
14
14
|
|
|
15
15
|
interface ColorPickerHorizontalProps {
|
|
16
16
|
title: string;
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
AtomicText,
|
|
10
10
|
useAppDesignTokens,
|
|
11
11
|
} from "@umituz/react-native-design-system";
|
|
12
|
-
import type { ShapeType } from "../../../constants/shape-layer.constants";
|
|
12
|
+
import type { ShapeType } from "../../../infrastructure/constants/shape-layer.constants";
|
|
13
13
|
import type { ShapeLayerFormState } from "../../../hooks/useShapeLayerForm";
|
|
14
14
|
|
|
15
15
|
interface ShapePreviewProps {
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
AtomicIcon,
|
|
12
12
|
useAppDesignTokens,
|
|
13
13
|
} from "@umituz/react-native-design-system";
|
|
14
|
-
import { TEXT_COLORS } from "../../../constants/text-layer.constants";
|
|
14
|
+
import { TEXT_COLORS } from "../../../infrastructure/constants/text-layer.constants";
|
|
15
15
|
|
|
16
16
|
interface ColorPickerProps {
|
|
17
17
|
selectedColor: string;
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
AtomicText,
|
|
11
11
|
useAppDesignTokens,
|
|
12
12
|
} from "@umituz/react-native-design-system";
|
|
13
|
-
import { FONT_SIZES } from "../../../constants/text-layer.constants";
|
|
13
|
+
import { FONT_SIZES } from "../../../infrastructure/constants/text-layer.constants";
|
|
14
14
|
|
|
15
15
|
interface FontSizeSelectorProps {
|
|
16
16
|
fontSize: number;
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
AtomicIcon,
|
|
12
12
|
useAppDesignTokens,
|
|
13
13
|
} from "@umituz/react-native-design-system";
|
|
14
|
-
import { TEXT_ALIGNS } from "../../../constants/text-layer.constants";
|
|
14
|
+
import { TEXT_ALIGNS } from "../../../infrastructure/constants/text-layer.constants";
|
|
15
15
|
|
|
16
16
|
interface TextAlignSelectorProps {
|
|
17
17
|
textAlign: "left" | "center" | "right";
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { useState, useCallback } from "react";
|
|
7
|
-
import type { Animation, AnimationType } from "
|
|
8
|
-
import type { Easing } from "
|
|
7
|
+
import type { Animation, AnimationType } from "../../domain/entities";
|
|
8
|
+
import type { Easing } from "../../infrastructure/constants/animation-layer.constants";
|
|
9
9
|
|
|
10
10
|
export interface AnimationLayerFormState {
|
|
11
11
|
animationType: AnimationType;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Single Responsibility: Compose editor action handlers
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import type { VideoProject } from "
|
|
6
|
+
import type { VideoProject } from "../../domain/entities";
|
|
7
7
|
import type { UseEditorLayersReturn } from "./useEditorLayers";
|
|
8
8
|
import type { UseEditorScenesReturn } from "./useEditorScenes";
|
|
9
9
|
import type { UseEditorBottomSheetReturn } from "./useEditorBottomSheet";
|
|
@@ -15,7 +15,7 @@ const useHistoryStore = () => ({
|
|
|
15
15
|
canUndo: () => false,
|
|
16
16
|
canRedo: () => false,
|
|
17
17
|
});
|
|
18
|
-
import type { VideoProject } from "
|
|
18
|
+
import type { VideoProject } from "../../domain/entities";
|
|
19
19
|
|
|
20
20
|
export interface UseEditorHistoryParams {
|
|
21
21
|
project: VideoProject | undefined;
|
|
@@ -12,8 +12,8 @@ import type {
|
|
|
12
12
|
AddImageLayerData,
|
|
13
13
|
AddShapeLayerData,
|
|
14
14
|
LayerOrderAction,
|
|
15
|
-
} from "
|
|
16
|
-
import type { TextLayer, ImageLayer, Animation } from "
|
|
15
|
+
} from "../../domain/entities";
|
|
16
|
+
import type { TextLayer, ImageLayer, Animation } from "../../domain/entities";
|
|
17
17
|
|
|
18
18
|
export interface UseEditorLayersParams {
|
|
19
19
|
projectId: string;
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
import { useCallback } from "react";
|
|
7
7
|
import { Alert } from "react-native";
|
|
8
|
-
import { sceneOperationsService } from "
|
|
9
|
-
import type { Audio } from "
|
|
8
|
+
import { sceneOperationsService } from "../../infrastructure/services/scene-operations.service";
|
|
9
|
+
import type { Audio } from "../../domain/entities";
|
|
10
10
|
|
|
11
11
|
export interface UseEditorScenesParams {
|
|
12
12
|
scenes: any[];
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { useCallback } from "react";
|
|
7
|
-
import { ExportDialog } from "../
|
|
8
|
-
import type { VideoProject, ExportSettings } from "
|
|
7
|
+
import { ExportDialog } from "../components/export";
|
|
8
|
+
import type { VideoProject, ExportSettings } from "../../domain/entities";
|
|
9
9
|
import type { UseEditorBottomSheetReturn } from "./useEditorBottomSheet";
|
|
10
10
|
|
|
11
11
|
export interface UseExportActionsParams {
|
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { useState, useCallback, useMemo } from "react";
|
|
7
|
-
import type { ExportSettings, VideoProject } from "
|
|
7
|
+
import type { ExportSettings, VideoProject } from "../../domain/entities";
|
|
8
8
|
import type {
|
|
9
9
|
Resolution,
|
|
10
10
|
Quality,
|
|
11
11
|
Format,
|
|
12
|
-
} from "
|
|
12
|
+
} from "../../infrastructure/constants/export.constants";
|
|
13
13
|
import {
|
|
14
14
|
BASE_SIZE_PER_SECOND,
|
|
15
15
|
RESOLUTION_MULTIPLIERS,
|
|
16
16
|
QUALITY_MULTIPLIERS,
|
|
17
|
-
} from "
|
|
17
|
+
} from "../../infrastructure/constants/export.constants";
|
|
18
18
|
|
|
19
19
|
export interface ExportFormState {
|
|
20
20
|
resolution: Resolution;
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
import { useCallback } from "react";
|
|
7
7
|
import { Alert } from "react-native";
|
|
8
|
-
import { layerOperationsService } from "
|
|
9
|
-
import type { AddImageLayerData } from "
|
|
10
|
-
import type { ImageLayer } from "
|
|
8
|
+
import { layerOperationsService } from "../../infrastructure/services/layer-operations.service";
|
|
9
|
+
import type { AddImageLayerData } from "../../domain/entities";
|
|
10
|
+
import type { ImageLayer } from "../../domain/entities";
|
|
11
11
|
|
|
12
12
|
export interface UseImageLayerOperationsParams {
|
|
13
13
|
scenes: any[];
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { useCallback } from "react";
|
|
7
|
-
import { TextLayerEditor } from "../
|
|
8
|
-
import { ImageLayerEditor } from "../
|
|
9
|
-
import { ShapeLayerEditor } from "../
|
|
10
|
-
import { AnimationEditor } from "../
|
|
11
|
-
import type { ImageLayer } from "
|
|
7
|
+
import { TextLayerEditor } from "../components/text-layer";
|
|
8
|
+
import { ImageLayerEditor } from "../components/image-layer";
|
|
9
|
+
import { ShapeLayerEditor } from "../components/shape-layer";
|
|
10
|
+
import { AnimationEditor } from "../components/animation-layer";
|
|
11
|
+
import type { ImageLayer } from "../../domain/entities";
|
|
12
12
|
import type { UseEditorLayersReturn } from "./useEditorLayers";
|
|
13
13
|
import type { UseEditorBottomSheetReturn } from "./useEditorBottomSheet";
|
|
14
14
|
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
import { useCallback } from "react";
|
|
7
7
|
import { Alert } from "react-native";
|
|
8
|
-
import { layerOperationsService } from "
|
|
9
|
-
import type { LayerOrderAction } from "
|
|
10
|
-
import type { Animation } from "
|
|
8
|
+
import { layerOperationsService } from "../../infrastructure/services/layer-operations.service";
|
|
9
|
+
import type { LayerOrderAction } from "../../domain/entities";
|
|
10
|
+
import type { Animation } from "../../domain/entities";
|
|
11
11
|
|
|
12
12
|
export interface UseLayerManipulationParams {
|
|
13
13
|
scenes: any[];
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
import { useState, useCallback } from "react";
|
|
7
7
|
import { useAppDesignTokens } from "@umituz/react-native-design-system";
|
|
8
|
-
import type { ShapeLayer } from "
|
|
9
|
-
import type { ShapeType } from "
|
|
8
|
+
import type { ShapeLayer } from "../../domain/entities";
|
|
9
|
+
import type { ShapeType } from "../../infrastructure/constants/shape-layer.constants";
|
|
10
10
|
|
|
11
11
|
export interface ShapeLayerFormState {
|
|
12
12
|
shape: ShapeType;
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
import { useCallback } from "react";
|
|
7
7
|
import { Alert } from "react-native";
|
|
8
|
-
import { layerOperationsService } from "
|
|
9
|
-
import type { AddShapeLayerData } from "
|
|
8
|
+
import { layerOperationsService } from "../../infrastructure/services/layer-operations.service";
|
|
9
|
+
import type { AddShapeLayerData } from "../../domain/entities";
|
|
10
10
|
|
|
11
11
|
export interface UseShapeLayerOperationsParams {
|
|
12
12
|
scenes: any[];
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import { useState, useCallback } from "react";
|
|
7
7
|
import { useAppDesignTokens } from "@umituz/react-native-design-system";
|
|
8
|
-
import type { TextLayer } from "
|
|
8
|
+
import type { TextLayer } from "../../domain/entities";
|
|
9
9
|
|
|
10
10
|
export interface TextLayerFormState {
|
|
11
11
|
text: string;
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
import { useCallback } from "react";
|
|
7
7
|
import { Alert } from "react-native";
|
|
8
|
-
import { layerOperationsService } from "
|
|
9
|
-
import type { AddTextLayerData } from "
|
|
10
|
-
import type { TextLayer } from "
|
|
8
|
+
import { layerOperationsService } from "../../infrastructure/services/layer-operations.service";
|
|
9
|
+
import type { AddTextLayerData } from "../../domain/entities";
|
|
10
|
+
import type { TextLayer } from "../../domain/entities";
|
|
11
11
|
|
|
12
12
|
export interface UseTextLayerOperationsParams {
|
|
13
13
|
scenes: any[];
|