From b4b009fafa6d2e8a286274f8aeeca1177d514f11 Mon Sep 17 00:00:00 2001
From: webadderall <131426131+webadderall@users.noreply.github.com>
Date: Mon, 27 Apr 2026 16:13:58 +1000
Subject: [PATCH] feat(webcam): add mirror toggle to settings
Closes #363
---
src/components/video-editor/SettingsPanel.tsx | 10 ++++++++++
src/i18n/locales/en/settings.json | 1 +
src/i18n/locales/es/settings.json | 1 +
src/i18n/locales/fr/settings.json | 1 +
src/i18n/locales/ko/settings.json | 1 +
src/i18n/locales/nl/settings.json | 1 +
src/i18n/locales/pt-BR/settings.json | 1 +
src/i18n/locales/zh-CN/settings.json | 1 +
8 files changed, 17 insertions(+)
diff --git a/src/components/video-editor/SettingsPanel.tsx b/src/components/video-editor/SettingsPanel.tsx
index 51b1a0c7..670c6532 100644
--- a/src/components/video-editor/SettingsPanel.tsx
+++ b/src/components/video-editor/SettingsPanel.tsx
@@ -2848,6 +2848,16 @@ export function SettingsPanel({
className="data-[state=checked]:bg-[#2563EB] scale-75"
/>
+
+
+ {tSettings("effects.webcamMirror", "Mirror Webcam")}
+
+ updateWebcam({ mirror })}
+ className="data-[state=checked]:bg-[#2563EB] scale-75"
+ />
+
{tSettings("effects.webcamReactToZoom")}
diff --git a/src/i18n/locales/en/settings.json b/src/i18n/locales/en/settings.json
index c788b132..162f2f14 100644
--- a/src/i18n/locales/en/settings.json
+++ b/src/i18n/locales/en/settings.json
@@ -85,6 +85,7 @@
"webcamFootageAdded": "Webcam footage linked",
"webcamFootageRemoved": "Webcam footage removed",
"webcamSize": "Webcam Size",
+ "webcamMirror": "Mirror Webcam",
"webcamReactToZoom": "Webcam Reacts To Zoom",
"webcamRoundness": "Webcam Roundness",
"webcamShadow": "Webcam Shadow",
diff --git a/src/i18n/locales/es/settings.json b/src/i18n/locales/es/settings.json
index ab686b30..9d7617b7 100644
--- a/src/i18n/locales/es/settings.json
+++ b/src/i18n/locales/es/settings.json
@@ -85,6 +85,7 @@
"webcamFootageAdded": "Metraje de cámara vinculado",
"webcamFootageRemoved": "Metraje de cámara eliminado",
"webcamSize": "Tamaño de cámara",
+ "webcamMirror": "Reflejar cámara",
"webcamReactToZoom": "La cámara reacciona al zoom",
"webcamRoundness": "Redondez de cámara",
"webcamShadow": "Sombra de cámara",
diff --git a/src/i18n/locales/fr/settings.json b/src/i18n/locales/fr/settings.json
index c4748e3d..0342c078 100644
--- a/src/i18n/locales/fr/settings.json
+++ b/src/i18n/locales/fr/settings.json
@@ -85,6 +85,7 @@
"webcamFootageAdded": "Vidéo de webcam liée",
"webcamFootageRemoved": "Vidéo de webcam supprimée",
"webcamSize": "Taille de la webcam",
+ "webcamMirror": "Inverser la webcam",
"webcamReactToZoom": "La webcam réagit au zoom",
"webcamRoundness": "Arrondi de la webcam",
"webcamShadow": "Ombre de la webcam",
diff --git a/src/i18n/locales/ko/settings.json b/src/i18n/locales/ko/settings.json
index 62f6f8fd..592f176c 100644
--- a/src/i18n/locales/ko/settings.json
+++ b/src/i18n/locales/ko/settings.json
@@ -85,6 +85,7 @@
"webcamFootageAdded": "웹캠 영상을 연결했습니다",
"webcamFootageRemoved": "웹캠 영상을 제거했습니다",
"webcamSize": "웹캠 크기",
+ "webcamMirror": "웹캠 좌우 반전",
"webcamReactToZoom": "확대 시 웹캠 반응",
"webcamRoundness": "웹캠 둥글기",
"webcamShadow": "웹캠 그림자",
diff --git a/src/i18n/locales/nl/settings.json b/src/i18n/locales/nl/settings.json
index 2aaa43e9..259c1696 100644
--- a/src/i18n/locales/nl/settings.json
+++ b/src/i18n/locales/nl/settings.json
@@ -85,6 +85,7 @@
"webcamFootageAdded": "Webcambeelden gekoppeld",
"webcamFootageRemoved": "Webcambeelden verwijderd",
"webcamSize": "Webcamgrootte",
+ "webcamMirror": "Webcam spiegelen",
"webcamReactToZoom": "Webcam reageert op zoom",
"webcamRoundness": "Webcam-afronding",
"webcamShadow": "Webcamschaduw",
diff --git a/src/i18n/locales/pt-BR/settings.json b/src/i18n/locales/pt-BR/settings.json
index 86e969d5..0f9e834d 100644
--- a/src/i18n/locales/pt-BR/settings.json
+++ b/src/i18n/locales/pt-BR/settings.json
@@ -85,6 +85,7 @@
"webcamFootageAdded": "Filmagem da webcam vinculada",
"webcamFootageRemoved": "Filmagem da webcam removida",
"webcamSize": "Tamanho da webcam",
+ "webcamMirror": "Espelhar webcam",
"webcamReactToZoom": "Webcam reage ao zoom",
"webcamRoundness": "Arredondamento da webcam",
"webcamShadow": "Sombra da webcam",
diff --git a/src/i18n/locales/zh-CN/settings.json b/src/i18n/locales/zh-CN/settings.json
index dae55a79..508ec4d0 100644
--- a/src/i18n/locales/zh-CN/settings.json
+++ b/src/i18n/locales/zh-CN/settings.json
@@ -85,6 +85,7 @@
"webcamFootageAdded": "已关联摄像头素材",
"webcamFootageRemoved": "已移除摄像头素材",
"webcamSize": "摄像头大小",
+ "webcamMirror": "镜像摄像头",
"webcamReactToZoom": "摄像头随缩放变化",
"webcamRoundness": "摄像头圆角",
"webcamShadow": "摄像头阴影",