Skip to content

Commit 2a4cf66

Browse files
authored
🐛 Fixed Preview button being unavailable on mobile in the editor (#28601)
no ref Made it so mobile users could access the preview button which was unavailable on small width viewports.
1 parent 79c2a83 commit 2a4cf66

3 files changed

Lines changed: 51 additions & 2 deletions

File tree

ghost/admin/app/components/editor/modals/preview.hbs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
{{/if}}
1414
</div>
1515
<div class="gh-contentfilter-divider"></div>
16-
<div class="gh-contentfilter gh-btn-group">
16+
<div class="gh-contentfilter gh-btn-group gh-post-preview-sizes">
1717
<button type="button" class="gh-btn {{if (eq this.previewSize "desktop") "gh-btn-group-selected"}} gh-post-preview-mode" {{on "click" (fn this.changePreviewSize "desktop")}}><span>{{svg-jar "laptop"}}</span></button>
1818
<button type="button" class="gh-btn {{if (eq this.previewSize "mobile") "gh-btn-group-selected"}} gh-post-preview-mode" {{on "click" (fn this.changePreviewSize "mobile")}}><span>{{svg-jar "mobile-phone"}}</span></button>
1919
</div>
@@ -70,7 +70,7 @@
7070
<div class="gh-contentfilter-divider"></div>
7171
<button
7272
type="button"
73-
class="gh-btn gh-btn-editor gh-editor-preview-trigger active"
73+
class="gh-btn gh-btn-editor gh-editor-preview-trigger gh-post-preview-close active"
7474
{{on "click" @close}}
7575
>
7676
<span>Close</span>

ghost/admin/app/styles/layouts/editor.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,11 @@
421421
gap: 1.6rem;
422422
}
423423

424+
.gh-editor-mobile-menu .gh-editor-preview-trigger {
425+
display: inline-flex;
426+
align-items: center;
427+
}
428+
424429
.gh-editor-mobile-menu .gh-btn-editor:hover {
425430
background: none !important;
426431
}

ghost/admin/app/styles/layouts/post-preview.css

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,50 @@
6060
}
6161
}
6262

63+
/* The Close button shares .gh-editor-preview-trigger, which is hidden below 500px
64+
for the editor toolbar; the modal needs it visible so the preview can be dismissed */
65+
.gh-post-preview-header .gh-editor-preview-trigger {
66+
display: inline-flex;
67+
align-items: center;
68+
}
69+
70+
@media (max-width: 640px) {
71+
/* lay the header out in flow so the centered controls can't slide under the
72+
absolutely-positioned action group and overlap it */
73+
.gh-post-preview-header {
74+
justify-content: flex-start;
75+
padding: 1.2rem;
76+
}
77+
78+
/* the "Preview" title is redundant inside the preview modal; drop it on phones
79+
so the Close/share/Publish controls fit without crowding */
80+
.gh-post-preview-header .left {
81+
display: none;
82+
}
83+
84+
.gh-post-preview-btn-group {
85+
margin-left: 0;
86+
}
87+
88+
.gh-post-preview-header .right {
89+
position: static;
90+
margin-left: auto;
91+
}
92+
93+
/* push Close to the far-right corner so it isn't stranded mid-header; share
94+
still sits directly left of Publish */
95+
.gh-post-preview-close {
96+
order: 1;
97+
}
98+
99+
/* the desktop/mobile size toggle is meaningless on a phone */
100+
.gh-post-preview-sizes,
101+
.gh-post-preview-btn-group .gh-contentfilter-divider,
102+
.gh-post-preview-header .right .gh-contentfilter-divider {
103+
display: none;
104+
}
105+
}
106+
63107
.gh-post-preview-btn-group .gh-btn-group {
64108
gap: .2rem;
65109
margin: 0 4px;

0 commit comments

Comments
 (0)