import { Platform } from "react-native"; // Dummy exports for TV enum DummyOrientationLock { DEFAULT = 0, ALL = 1, PORTRAIT = 2, PORTRAIT_UP = 3, PORTRAIT_DOWN = 4, LANDSCAPE = 5, LANDSCAPE_LEFT = 6, LANDSCAPE_RIGHT = 7, OTHER = 8, UNKNOWN = 9, } enum DummyOrientation { UNKNOWN = 0, PORTRAIT_UP = 1, PORTRAIT_DOWN = 2, LANDSCAPE_LEFT = 3, LANDSCAPE_RIGHT = 4, } const dummyLockAsync = async () => {}; const dummyUnlockAsync = async () => {}; const dummyGetOrientationAsync = async () => DummyOrientation.UNKNOWN; const dummyGetOrientationLockAsync = async () => DummyOrientationLock.DEFAULT; const dummySupportsOrientationLockAsync = async () => false; // Conditionally export based on platform let ScreenOrientation: any; if (!Platform.isTV) { ScreenOrientation = require("expo-screen-orientation"); } export const OrientationLock = Platform.isTV ? DummyOrientationLock : ScreenOrientation?.OrientationLock; export const Orientation = Platform.isTV ? DummyOrientation : ScreenOrientation?.Orientation; // Export types export type OrientationLockType = typeof OrientationLock; export type OrientationType = typeof Orientation; export const lockAsync = Platform.isTV ? dummyLockAsync : ScreenOrientation?.lockAsync; export const unlockAsync = Platform.isTV ? dummyUnlockAsync : ScreenOrientation?.unlockAsync; export const getOrientationAsync = Platform.isTV ? dummyGetOrientationAsync : ScreenOrientation?.getOrientationAsync; export const getOrientationLockAsync = Platform.isTV ? dummyGetOrientationLockAsync : ScreenOrientation?.getOrientationLockAsync; export const supportsOrientationLockAsync = Platform.isTV ? dummySupportsOrientationLockAsync : ScreenOrientation?.supportsOrientationLockAsync; export const lockPlatformAsync = Platform.isTV ? dummyLockAsync : ScreenOrientation?.lockPlatformAsync; export const getPlatformLockAsync = Platform.isTV ? dummyGetOrientationLockAsync : ScreenOrientation?.getPlatformLockAsync; export const addOrientationChangeListener = Platform.isTV ? () => ({ remove: () => {} }) : ScreenOrientation?.addOrientationChangeListener; export const removeOrientationChangeListener = Platform.isTV ? () => {} : ScreenOrientation?.removeOrientationChangeListener; export const removeOrientationChangeListeners = Platform.isTV ? () => {} : ScreenOrientation?.removeOrientationChangeListeners;