From 0eb43944e3ebc0f94fd9217b463b13fd960c0bc3 Mon Sep 17 00:00:00 2001 From: Dale Webb Date: Tue, 22 Oct 2019 17:37:51 +0100 Subject: [PATCH 1/2] feat: support all device orientations on iOS --- src/modal-controller.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/modal-controller.tsx b/src/modal-controller.tsx index 48f134f..d4a4f70 100644 --- a/src/modal-controller.tsx +++ b/src/modal-controller.tsx @@ -199,7 +199,16 @@ const ModalControllerProvider = (props: ModalControllerProviderProps) => { {props.children} - 0}> + 0} + supportedOrientations={[ + "portrait", + "portrait-upside-down", + "landscape" + ]} + > From 6cdc498f0d0c7174426b861331cf7b6ae34cb6d5 Mon Sep 17 00:00:00 2001 From: Dale Webb Date: Fri, 25 Oct 2019 01:22:44 +0100 Subject: [PATCH 2/2] fix: read `supportOrientations` from props from top-most modal config, then Provider props and then fallback to enable all orientations --- src/modal-controller.tsx | 18 +++++++++++++----- src/types.ts | 10 +++++++++- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/modal-controller.tsx b/src/modal-controller.tsx index d4a4f70..dd296a4 100644 --- a/src/modal-controller.tsx +++ b/src/modal-controller.tsx @@ -203,11 +203,19 @@ const ModalControllerProvider = (props: ModalControllerProviderProps) => { transparent animationType="none" visible={modals.length > 0} - supportedOrientations={[ - "portrait", - "portrait-upside-down", - "landscape" - ]} + supportedOrientations={ + (topModal && + topModal.supportedOrientations && + !!topModal.supportedOrientations.length && + topModal.supportedOrientations) || + (props.supportedOrientations && + !!props.supportedOrientations.length && + props.supportedOrientations) || [ + "portrait", + "portrait-upside-down", + "landscape" + ] + } > ; animation: AnimationConfig; params?: Record; + supportedOrientations?: ModalProps["supportedOrientations"]; } export interface ConsumerProps { @@ -51,6 +58,7 @@ export interface ModalControllerProviderProps { [key: string]: CustomAnimation; }; children: React.ReactChild; + supportedOrientations?: ModalProps["supportedOrientations"]; } export type ShowModalConfig = Partial & Pick;