update({ textColor: (e.target as HTMLInputElement).value })}
/>
@@ -87,10 +89,10 @@
-
+
{:else}
{/if}
-
Position
+
Position
- update({ position: 'bottom' })} />
Bottom
diff --git a/src/lib/components/ClipList.svelte b/src/lib/components/ClipList.svelte
index 1b35873..9fc0bfe 100644
--- a/src/lib/components/ClipList.svelte
+++ b/src/lib/components/ClipList.svelte
@@ -43,7 +43,17 @@
}
-
+
{
+ if (e.key === 'Escape') {
+ selectClip(null);
+ }
+ }}
+>
{#if clips.length === 0}
No clips yet — press I to mark in-point, O to mark out-point
{:else}
diff --git a/src/lib/components/ExportDialog.svelte b/src/lib/components/ExportDialog.svelte
index 5166551..c6b38c7 100644
--- a/src/lib/components/ExportDialog.svelte
+++ b/src/lib/components/ExportDialog.svelte
@@ -136,8 +136,25 @@
}
-
-
e.stopPropagation()}>
+
{
+ if (e.key === 'Escape' || e.key === 'Enter' || e.key === ' ') {
+ if (e.key !== 'Escape') e.preventDefault();
+ onClose();
+ }
+ }}
+>
+
e.stopPropagation()}
+ onkeydown={(e) => e.stopPropagation()}
+ >
Export Clips
{#if !isExportReady}
diff --git a/src/lib/components/PreferencesPanel.svelte b/src/lib/components/PreferencesPanel.svelte
index 1f3901b..a088463 100644
--- a/src/lib/components/PreferencesPanel.svelte
+++ b/src/lib/components/PreferencesPanel.svelte
@@ -57,8 +57,25 @@
}
-
-
e.stopPropagation()}>
+
{
+ if (e.key === 'Escape' || e.key === 'Enter' || e.key === ' ') {
+ if (e.key !== 'Escape') e.preventDefault();
+ onClose();
+ }
+ }}
+>
+
e.stopPropagation()}
+ onkeydown={(e) => e.stopPropagation()}
+ >
Preferences
diff --git a/src/lib/components/VideoPlayer.svelte b/src/lib/components/VideoPlayer.svelte
index 36842e3..f42a877 100644
--- a/src/lib/components/VideoPlayer.svelte
+++ b/src/lib/components/VideoPlayer.svelte
@@ -194,7 +194,9 @@
onloadeddata={handleLoadedData}
preload="metadata"
playsinline
- >
+ >
+
+
{#if activeCues.length > 0}
{#each activeCues as cue}