import { FILL_PREVIEW_VIEWPORT, type PreviewAutomationOpenInput, type PreviewSessionSnapshot, type PreviewViewportSetting,} from "@t3tools/contracts"; export const DEFAULT_PREVIEW_AUTOMATION_VIEWPORT = { _tag: "freeform", width: 1280, height: 800,} as const satisfies PreviewViewportSetting; export function shouldOpenPreviewMiniPlayer(input: PreviewAutomationOpenInput): boolean { return input.open ?? input.show ?? true;} export function previewAutomationOpenNeedsOverlay( input: PreviewAutomationOpenInput, snapshot: PreviewSessionSnapshot,): boolean { return input.url !== undefined || snapshot.navStatus._tag !== "Idle";} export function previewAutomationDefaultViewport( reusedExistingTab: boolean, snapshot: PreviewSessionSnapshot,): PreviewViewportSetting | null { const viewport = snapshot.viewport ?? FILL_PREVIEW_VIEWPORT; return !reusedExistingTab && viewport._tag === "fill" ? DEFAULT_PREVIEW_AUTOMATION_VIEWPORT : null;}
import {
FILL_PREVIEW_VIEWPORT,
type PreviewAutomationOpenInput,
type PreviewSessionSnapshot,
type PreviewViewportSetting,
} from "@t3tools/contracts";
export const DEFAULT_PREVIEW_AUTOMATION_VIEWPORT = {
_tag: "freeform",
width: 1280,
height: 800,
} as const satisfies PreviewViewportSetting;
export function shouldOpenPreviewMiniPlayer(input: PreviewAutomationOpenInput): boolean {
return input.open ?? input.show ?? true;
}
export function previewAutomationOpenNeedsOverlay(
input: PreviewAutomationOpenInput,
snapshot: PreviewSessionSnapshot,
): boolean {
return input.url !== undefined || snapshot.navStatus._tag !== "Idle";
}
export function previewAutomationDefaultViewport(
reusedExistingTab: boolean,
snapshot: PreviewSessionSnapshot,
): PreviewViewportSetting | null {
const viewport = snapshot.viewport ?? FILL_PREVIEW_VIEWPORT;
return !reusedExistingTab && viewport._tag === "fill"
? DEFAULT_PREVIEW_AUTOMATION_VIEWPORT
: null;
}