mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-07 18:26:17 +00:00
feat(studio): add a preview volume control (#3282)
This commit is contained in:
@@ -23,6 +23,7 @@ describe("studio UI preferences", () => {
|
||||
writeStudioUiPreferences({ leftWidth: 384, rightWidth: 424 }, storage);
|
||||
writeStudioUiPreferences({ playbackRate: 1.5 }, storage);
|
||||
writeStudioUiPreferences({ audioMuted: true }, storage);
|
||||
writeStudioUiPreferences({ audioVolume: 0.4 }, storage);
|
||||
writeStudioUiPreferences({ previewZoom: { zoomPercent: 160, panX: -20, panY: 12 } }, storage);
|
||||
|
||||
expect(readStudioUiPreferences(storage)).toEqual({
|
||||
@@ -31,6 +32,7 @@ describe("studio UI preferences", () => {
|
||||
rightWidth: 424,
|
||||
playbackRate: 1.5,
|
||||
audioMuted: true,
|
||||
audioVolume: 0.4,
|
||||
previewZoom: { zoomPercent: 160, panX: -20, panY: 12 },
|
||||
});
|
||||
});
|
||||
@@ -46,6 +48,7 @@ describe("studio UI preferences", () => {
|
||||
timelineVisible: true,
|
||||
playbackRate: Number.NaN,
|
||||
audioMuted: "false",
|
||||
audioVolume: 2,
|
||||
previewZoom: { zoomPercent: 150, panX: 0, panY: "bad" },
|
||||
}),
|
||||
);
|
||||
|
||||
@@ -14,6 +14,7 @@ export interface StudioUiPreferences {
|
||||
timelineHeight?: number;
|
||||
playbackRate?: number;
|
||||
audioMuted?: boolean;
|
||||
audioVolume?: number;
|
||||
thumbnailMode?: "adaptive" | "hidden";
|
||||
previewZoom?: StoredPreviewZoomState;
|
||||
recentBlocks?: string[];
|
||||
@@ -81,6 +82,14 @@ function readStorage(storage: Storage | null): StudioUiPreferences {
|
||||
if (typeof parsed.audioMuted === "boolean") {
|
||||
preferences.audioMuted = parsed.audioMuted;
|
||||
}
|
||||
if (
|
||||
typeof parsed.audioVolume === "number" &&
|
||||
Number.isFinite(parsed.audioVolume) &&
|
||||
parsed.audioVolume >= 0 &&
|
||||
parsed.audioVolume <= 1
|
||||
) {
|
||||
preferences.audioVolume = parsed.audioVolume;
|
||||
}
|
||||
if (parsed.thumbnailMode === "adaptive" || parsed.thumbnailMode === "hidden") {
|
||||
preferences.thumbnailMode = parsed.thumbnailMode;
|
||||
} else if (typeof parsed.thumbnailsEnabled === "boolean") {
|
||||
|
||||
Reference in New Issue
Block a user