Ta-da. Back button. (#254)

This commit is contained in:
Jake Archibald
2018-11-09 09:13:32 -08:00
committed by GitHub
parent 71f893cb44
commit 9b572f9541
7 changed files with 47 additions and 13 deletions

View File

@@ -70,12 +70,13 @@ export default class TwoUp extends HTMLElement {
connectedCallback() {
this._childrenChange();
this._handle.innerHTML = `<div class="${styles.scrubber}">${
`<svg viewBox="0 0 27 20" fill="currentColor">${
'<path d="M17 19.2l9.5-9.6L16.9 0zM9.6 0L0 9.6l9.6 9.6z"/>'
}</svg>`
}</div>`;
if (!this._everConnected) {
this._handle.innerHTML = `<div class="${styles.scrubber}">${
`<svg viewBox="0 0 27 20" fill="currentColor">${
'<path d="M17 19.2l9.5-9.6L16.9 0zM9.6 0L0 9.6l9.6 9.6z"/>'
}</svg>`
}</div>`;
this._resetPosition();
this._everConnected = true;
}

View File

@@ -5,7 +5,7 @@ import './custom-els/TwoUp';
import * as style from './style.scss';
import { bind, linkRef } from '../../lib/initial-util';
import { shallowEqual, drawDataToCanvas } from '../../lib/util';
import { ToggleIcon, AddIcon, RemoveIcon } from '../../lib/icons';
import { ToggleIcon, AddIcon, RemoveIcon, BackIcon } from '../../lib/icons';
import { twoUpHandle } from './custom-els/TwoUp/styles.css';
interface Props {
@@ -15,6 +15,7 @@ interface Props {
rightCompressed?: ImageData;
leftImgContain: boolean;
rightImgContain: boolean;
onBack: () => void;
}
interface State {
@@ -191,7 +192,7 @@ export default class Output extends Component<Props, State> {
}
render(
{ mobileView, leftImgContain, rightImgContain, originalImage }: Props,
{ mobileView, leftImgContain, rightImgContain, originalImage, onBack }: Props,
{ scale, editingScale, altBackground }: State,
) {
const leftDraw = this.leftDrawable();
@@ -243,6 +244,12 @@ export default class Output extends Component<Props, State> {
</pinch-zoom>
</two-up>
<div class={style.back}>
<button class={style.button} onClick={onBack}>
<BackIcon />
</button>
</div>
<div class={style.controls}>
<div class={style.zoomControls}>
<button class={style.button} onClick={this.zoomOut}>

View File

@@ -38,7 +38,7 @@
top: 0;
left: 0;
right: 0;
padding: 9px;
padding: 9px 84px;
overflow: hidden;
flex-wrap: wrap;
contain: content;
@@ -50,6 +50,7 @@
}
@media (min-width: 860px) {
padding: 9px;
top: auto;
left: 320px;
right: 320px;
@@ -78,14 +79,19 @@
display: flex;
align-items: center;
box-sizing: border-box;
height: 48px;
padding: 0 16px;
margin: 4px;
background-color: #fff;
border: 1px solid rgba(0,0,0,0.2);
border-radius: 5px;
line-height: 1;
white-space: nowrap;
height: 36px;
padding: 0 8px;
@media (min-width: 600px) {
height: 48px;
padding: 0 16px;
}
&:focus {
box-shadow: 0 0 0 2px var(--button-fg);
@@ -134,3 +140,10 @@
// https://bugs.chromium.org/p/chromium/issues/detail?id=870222#c10
will-change: auto;
}
.back {
position: absolute;
top: 0;
left: 0;
padding: 9px;
}