Skip to content

Commit d48dfe6

Browse files
authored
Merge pull request #987 from outoftime/title-bar
Add title bar to project preview
2 parents 090ad23 + d459c49 commit d48dfe6

2 files changed

Lines changed: 37 additions & 23 deletions

File tree

src/components/Preview.jsx

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
33
import isNil from 'lodash/isNil';
44
import partial from 'lodash/partial';
55
import classnames from 'classnames';
6-
import generatePreview from '../util/generatePreview';
6+
import generatePreview, {generateTextPreview} from '../util/generatePreview';
77
import PreviewFrame from './PreviewFrame';
88

99
function generateFrameSrc(
@@ -43,14 +43,17 @@ export default function Preview({
4343
{u__hidden: !isSyntacticallyValid},
4444
)}
4545
>
46-
<span
47-
className="preview__button preview__button_reset"
48-
onClick={onRefreshClick}
49-
>&#xf021;</span>
50-
<span
51-
className="preview__button preview__button_pop-out"
52-
onClick={partial(onPopOutProject, project)}
53-
>&#xf08e;</span>
46+
<div className="preview__title-bar">
47+
<span
48+
className="preview__button preview__button_pop-out u__icon"
49+
onClick={partial(onPopOutProject, project)}
50+
>&#xf08e;</span>
51+
{generateTextPreview(project)}
52+
<span
53+
className="preview__button preview__button_reset u__icon"
54+
onClick={onRefreshClick}
55+
>&#xf021;</span>
56+
</div>
5457
<PreviewFrame
5558
src={
5659
generateFrameSrc(project, isSyntacticallyValid, lastRefreshTimestamp)

src/css/application.css

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ body {
8585
position: relative;
8686
display: flex;
8787
flex: 0 1 100vh;
88+
z-index: 1;
8889
}
8990

9091
.layout__sidebar {
@@ -556,31 +557,41 @@ body {
556557
.preview__frame {
557558
border: 0;
558559
z-index: 0;
559-
flex: 1 0 100%;
560+
position: absolute;
561+
top: 1.5em;
562+
left: 0;
563+
right: 0;
564+
bottom: 0;
560565
}
561566

562-
.preview__button {
563-
font-family: 'FontAwesome';
564-
width: 16px;
565-
height: 18px;
567+
.preview__title-bar {
568+
top: 0;
569+
left: 0;
570+
right: 0;
566571
position: absolute;
567-
cursor: pointer;
568-
opacity: 0.25;
569-
z-index: 1;
572+
text-align: center;
573+
height: 1.5em;
574+
font-weight: bold;
575+
line-height: 1.5em;
576+
vertical-align: middle;
577+
background-color: var(--color-gray);
578+
z-index: 2;
570579
}
571580

572-
.preview__button:hover {
573-
opacity: 0.5;
581+
.preview__title {
582+
text-align: center;
583+
}
584+
585+
.preview__button {
586+
padding: 0 0.5em;
574587
}
575588

576589
.preview__button_pop-out {
577-
right: 10px;
578-
top: 11px;
590+
float: left;
579591
}
580592

581593
.preview__button_reset {
582-
right: 35px;
583-
top: 10px;
594+
float: right;
584595
}
585596

586597
/** @define error-list */

0 commit comments

Comments
 (0)