mirror of
https://github.com/webadderallorg/Recordly.git
synced 2026-09-25 23:35:43 +00:00
save export preferences in editor
This commit is contained in:
@@ -98,7 +98,11 @@ describe("editorPreferences", () => {
|
||||
borderRadius: DEFAULT_EDITOR_PREFERENCES.borderRadius,
|
||||
padding: DEFAULT_EDITOR_PREFERENCES.padding,
|
||||
aspectRatio: "native",
|
||||
exportEncodingMode: DEFAULT_EDITOR_PREFERENCES.exportEncodingMode,
|
||||
exportBackendPreference: DEFAULT_EDITOR_PREFERENCES.exportBackendPreference,
|
||||
exportPipelineModel: DEFAULT_EDITOR_PREFERENCES.exportPipelineModel,
|
||||
exportQuality: DEFAULT_EDITOR_PREFERENCES.exportQuality,
|
||||
mp4FrameRate: DEFAULT_EDITOR_PREFERENCES.mp4FrameRate,
|
||||
exportFormat: "gif",
|
||||
gifFrameRate: 30,
|
||||
gifLoop: false,
|
||||
@@ -163,7 +167,11 @@ describe("editorPreferences", () => {
|
||||
cursorSway: DEFAULT_EDITOR_PREFERENCES.cursorSway,
|
||||
borderRadius: DEFAULT_EDITOR_PREFERENCES.borderRadius,
|
||||
padding: DEFAULT_EDITOR_PREFERENCES.padding,
|
||||
exportEncodingMode: DEFAULT_EDITOR_PREFERENCES.exportEncodingMode,
|
||||
exportBackendPreference: DEFAULT_EDITOR_PREFERENCES.exportBackendPreference,
|
||||
exportPipelineModel: DEFAULT_EDITOR_PREFERENCES.exportPipelineModel,
|
||||
exportQuality: DEFAULT_EDITOR_PREFERENCES.exportQuality,
|
||||
mp4FrameRate: DEFAULT_EDITOR_PREFERENCES.mp4FrameRate,
|
||||
exportFormat: DEFAULT_EDITOR_PREFERENCES.exportFormat,
|
||||
gifFrameRate: DEFAULT_EDITOR_PREFERENCES.gifFrameRate,
|
||||
gifLoop: DEFAULT_EDITOR_PREFERENCES.gifLoop,
|
||||
@@ -224,7 +232,11 @@ describe("editorPreferences", () => {
|
||||
borderRadius: 18,
|
||||
padding: 30,
|
||||
aspectRatio: "4:5",
|
||||
exportEncodingMode: "quality",
|
||||
exportBackendPreference: DEFAULT_EDITOR_PREFERENCES.exportBackendPreference,
|
||||
exportPipelineModel: DEFAULT_EDITOR_PREFERENCES.exportPipelineModel,
|
||||
exportQuality: "source",
|
||||
mp4FrameRate: DEFAULT_EDITOR_PREFERENCES.mp4FrameRate,
|
||||
exportFormat: "gif",
|
||||
gifFrameRate: 20,
|
||||
gifLoop: false,
|
||||
@@ -260,7 +272,11 @@ describe("editorPreferences", () => {
|
||||
borderRadius: 18,
|
||||
padding: 30,
|
||||
aspectRatio: "4:5",
|
||||
exportEncodingMode: "quality",
|
||||
exportBackendPreference: DEFAULT_EDITOR_PREFERENCES.exportBackendPreference,
|
||||
exportPipelineModel: DEFAULT_EDITOR_PREFERENCES.exportPipelineModel,
|
||||
exportQuality: "source",
|
||||
mp4FrameRate: DEFAULT_EDITOR_PREFERENCES.mp4FrameRate,
|
||||
exportFormat: "gif",
|
||||
gifFrameRate: 20,
|
||||
gifLoop: false,
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
import { normalizeProjectEditor, type ProjectEditorState } from "./projectPersistence";
|
||||
import {
|
||||
normalizeExportBackendPreference,
|
||||
normalizeExportMp4FrameRate,
|
||||
normalizeExportPipelineModel,
|
||||
normalizeProjectEditor,
|
||||
type ProjectEditorState,
|
||||
} from "./projectPersistence";
|
||||
|
||||
type PersistedEditorControls = Pick<
|
||||
ProjectEditorState,
|
||||
@@ -28,7 +34,11 @@ type PersistedEditorControls = Pick<
|
||||
| "padding"
|
||||
| "webcam"
|
||||
| "aspectRatio"
|
||||
| "exportEncodingMode"
|
||||
| "exportBackendPreference"
|
||||
| "exportPipelineModel"
|
||||
| "exportQuality"
|
||||
| "mp4FrameRate"
|
||||
| "exportFormat"
|
||||
| "gifFrameRate"
|
||||
| "gifLoop"
|
||||
@@ -76,7 +86,11 @@ export const DEFAULT_EDITOR_PREFERENCES: EditorPreferences = {
|
||||
padding: DEFAULT_EDITOR_CONTROLS.padding,
|
||||
webcam: DEFAULT_EDITOR_CONTROLS.webcam,
|
||||
aspectRatio: DEFAULT_EDITOR_CONTROLS.aspectRatio,
|
||||
exportEncodingMode: DEFAULT_EDITOR_CONTROLS.exportEncodingMode,
|
||||
exportBackendPreference: DEFAULT_EDITOR_CONTROLS.exportBackendPreference,
|
||||
exportPipelineModel: DEFAULT_EDITOR_CONTROLS.exportPipelineModel,
|
||||
exportQuality: DEFAULT_EDITOR_CONTROLS.exportQuality,
|
||||
mp4FrameRate: DEFAULT_EDITOR_CONTROLS.mp4FrameRate,
|
||||
exportFormat: DEFAULT_EDITOR_CONTROLS.exportFormat,
|
||||
gifFrameRate: DEFAULT_EDITOR_CONTROLS.gifFrameRate,
|
||||
gifLoop: DEFAULT_EDITOR_CONTROLS.gifLoop,
|
||||
@@ -154,7 +168,20 @@ function normalizeEditorControls(
|
||||
padding: raw.padding ?? fallback.padding,
|
||||
webcam: raw.webcam ?? fallback.webcam,
|
||||
aspectRatio: raw.aspectRatio ?? fallback.aspectRatio,
|
||||
exportEncodingMode: raw.exportEncodingMode ?? fallback.exportEncodingMode,
|
||||
exportBackendPreference:
|
||||
raw.exportBackendPreference === undefined
|
||||
? fallback.exportBackendPreference
|
||||
: normalizeExportBackendPreference(raw.exportBackendPreference),
|
||||
exportPipelineModel:
|
||||
raw.exportPipelineModel === undefined
|
||||
? fallback.exportPipelineModel
|
||||
: normalizeExportPipelineModel(raw.exportPipelineModel),
|
||||
exportQuality: raw.exportQuality ?? fallback.exportQuality,
|
||||
mp4FrameRate:
|
||||
raw.mp4FrameRate === undefined
|
||||
? fallback.mp4FrameRate
|
||||
: normalizeExportMp4FrameRate(raw.mp4FrameRate),
|
||||
exportFormat: raw.exportFormat ?? fallback.exportFormat,
|
||||
gifFrameRate: raw.gifFrameRate ?? fallback.gifFrameRate,
|
||||
gifLoop: raw.gifLoop ?? fallback.gifLoop,
|
||||
@@ -190,7 +217,11 @@ function normalizeEditorControls(
|
||||
padding: normalized.padding,
|
||||
webcam: normalized.webcam,
|
||||
aspectRatio: normalized.aspectRatio,
|
||||
exportEncodingMode: normalized.exportEncodingMode,
|
||||
exportBackendPreference: normalized.exportBackendPreference,
|
||||
exportPipelineModel: normalized.exportPipelineModel,
|
||||
exportQuality: normalized.exportQuality,
|
||||
mp4FrameRate: normalized.mp4FrameRate,
|
||||
exportFormat: normalized.exportFormat,
|
||||
gifFrameRate: normalized.gifFrameRate,
|
||||
gifLoop: normalized.gifLoop,
|
||||
|
||||
Reference in New Issue
Block a user