Vertical centering via flexbox. You get horizontal centering for free.

pull/9/head
Zach Fogg 11 years ago
parent 76b69697ad
commit d1b4451ef6

@ -3,51 +3,15 @@ import React from 'react'
export default class Centered extends React.Component {
render() {
const h = this.props.hor
const v = this.props.ver
if (h && v) {
return <div style={{
display: 'table',
width: '100%',
height: '100%'}}>
<div style={{
display: 'table-cell',
verticalAlign: 'middle',
textAlign: 'center'}}>
<div style={{display: 'inline-block'}}>
{this.props.children}
</div>
</div>
</div>
} else if (h && !v) {
return <div style={{textAlign: 'center'}}>
<div style={{display: 'inline-block'}}>
{this.props.children}
</div>
return <div style={{
display: 'flex',
flexDirection: 'column',
justifyContent: 'center',
height: '100%'}}>
<div>
{this.props.children}
</div>
} else if (!h && v) {
return <div style={{
display: 'table',
width: '100%',
height: '100%'}}>
<div style={{
display: 'table-cell',
verticalAlign: 'middle'}}>
{this.props.children}
</div>
</div>
} else {
return this.props.children
}
</div>
}
}

@ -38,7 +38,7 @@ export default class DownloadPage extends React.Component {
render() {
switch (this.state.status) {
case 'ready':
return <Centered ver>
return <Centered>
<h1>FilePizza</h1>
<Spinner dir="down"
@ -51,7 +51,7 @@ export default class DownloadPage extends React.Component {
case 'requesting':
case 'downloading':
return <Centered ver>
return <Centered>
<h1>FilePizza</h1>
<Spinner dir="down" animated
@ -63,7 +63,7 @@ export default class DownloadPage extends React.Component {
</Centered>
case 'cancelled':
return <Centered ver>
return <Centered>
<h1>FilePizza</h1>
<Spinner dir="down"
@ -75,7 +75,7 @@ export default class DownloadPage extends React.Component {
</Centered>
case 'done':
return <Centered ver>
return <Centered>
<h1>FilePizza</h1>
<Spinner dir="down"

@ -1,5 +1,4 @@
import React from 'react'
import Centered from './Centered'
export default class DropZone extends React.Component {

@ -48,7 +48,7 @@ export default class UploadPage extends React.Component {
case 'ready':
return <DropZone onDrop={this.uploadFile.bind(this)}>
<Centered ver>
<Centered>
<Spinner dir="up" />
@ -65,7 +65,7 @@ export default class UploadPage extends React.Component {
</DropZone>
case 'processing':
return <Centered ver>
return <Centered>
<Spinner dir="up" animated />
@ -77,7 +77,7 @@ export default class UploadPage extends React.Component {
case 'uploading':
var keys = Object.keys(this.state.peerProgress)
keys.reverse()
return <Centered ver>
return <Centered>
<h1>FilePizza</h1>
<Spinner dir="up" animated {...this.state.file} />

Loading…
Cancel
Save