diff --git a/ghost/portal/src/components/PopupModal.js b/ghost/portal/src/components/PopupModal.js
index c628b3be20..1c47241020 100644
--- a/ghost/portal/src/components/PopupModal.js
+++ b/ghost/portal/src/components/PopupModal.js
@@ -55,7 +55,7 @@ class PopupContent extends React.Component {
componentDidMount() {
// Handle Esc to close popup
- if (this.node && !hasMode(['preview'])) {
+ if (this.node && !hasMode(['preview']) && !this.props.isMobile) {
this.node.focus();
this.keyUphandler = (event) => {
if (event.key === 'Escape') {
@@ -274,6 +274,7 @@ export default class PopupModal extends React.Component {
renderFrameContainer() {
const {member, site, customSiteUrl} = this.context;
const Styles = StylesWrapper({member});
+ const isMobile = window.innerWidth < 480;
const frameStyle = {
...Styles.frame.common
@@ -296,7 +297,7 @@ export default class PopupModal extends React.Component {
this.handlePopupClose(e)}>
-
+
);
diff --git a/ghost/portal/src/components/pages/FeedbackPage.js b/ghost/portal/src/components/pages/FeedbackPage.js
index c1f7893bb6..e01b0abe75 100644
--- a/ghost/portal/src/components/pages/FeedbackPage.js
+++ b/ghost/portal/src/components/pages/FeedbackPage.js
@@ -100,10 +100,70 @@ export const FeedbackPageStyles = `
}
@media (max-width: 480px) {
+ .gh-portal-popup-background {
+ animation: none;
+ }
+
+ .gh-portal-popup-wrapper.feedback h1 {
+ font-size: 2.5rem;
+ }
+
+ .gh-portal-popup-wrapper.feedback p {
+ margin-bottom: 1.2rem;
+ }
+
.gh-portal-feedback .gh-portal-text-center {
padding-left: 8px;
padding-right: 8px;
}
+
+ .gh-portal-popup-wrapper.feedback {
+ display: block;
+ position: relative;
+ width: 100%;
+ background: none;
+ padding-right: 0 !important;
+ overflow: hidden;
+ overflow-y: hidden !important;
+ animation: none;
+ }
+
+ .gh-portal-popup-container.feedback {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ border-radius: 18px 18px 0 0;
+ margin: 0 !important;
+ animation: none;
+ animation: mobile-tray-from-bottom 0.4s ease;
+ }
+
+ .gh-portal-popup-wrapper.feedback .gh-portal-closeicon-container {
+ display: none;
+ }
+
+ .gh-feedback-buttons-group,
+ .gh-portal-confirm-button {
+ margin-top: 28px;
+ }
+
+ .gh-portal-powered.outside.feedback {
+ display: none;
+ }
+
+ @keyframes mobile-tray-from-bottom {
+ 0% {
+ opacity: 0;
+ transform: translateY(300px);
+ }
+ 20% {
+ opacity: 1.0;
+ }
+ 100% {
+ transform: translateY(0);
+ }
+ }
}
`;