Fix ThemeSwitcher style and map click

This commit is contained in:
Tom Russell 2018-09-13 20:35:27 +01:00
parent e87e334edd
commit 4939c1dfb0
3 changed files with 34 additions and 19 deletions

View File

@ -1,4 +1,4 @@
import React, { Component } from 'react';
import React, { Component, Fragment } from 'react';
import { Map, TileLayer, ZoomControl, AttributionControl } from 'react-leaflet-universal';
import '../../node_modules/leaflet/dist/leaflet.css'
@ -71,23 +71,25 @@ class ColouringMap extends Component {
) : null;
return (
<Map
center={position}
zoom={this.state.zoom}
minZoom={10}
maxZoom={18}
doubleClickZoom={false}
zoomControl={false}
attributionControl={false}
onClick={this.handleClick}
>
<TileLayer url={url} attribution={attribution} />
<TileLayer url={colour} />
{ highlightLayer }
<ZoomControl position="topright" />
<AttributionControl prefix="" />
<Fragment>
<Map
center={position}
zoom={this.state.zoom}
minZoom={10}
maxZoom={18}
doubleClickZoom={false}
zoomControl={false}
attributionControl={false}
onClick={this.handleClick}
>
<TileLayer url={url} attribution={attribution} />
<TileLayer url={colour} />
{ highlightLayer }
<ZoomControl position="topright" />
<AttributionControl prefix="" />
</Map>
<ThemeSwitcher onSubmit={this.themeSwitch} currentTheme={this.state.theme} />
</Map>
</Fragment>
);
}
};

View File

@ -1,10 +1,22 @@
.theme-switcher {
z-index: 1000;
position: absolute;
bottom: 30px;
bottom: 55px;
right: 10px;
float: right;
background: white;
border-radius: 4px;
}
@media (min-width: 380px){
.theme-switcher {
bottom: 40px;
}
}
@media (min-width: 1020px){
.theme-switcher {
bottom: 24px;
}
}
.theme-switcher .btn {
margin: 0;

View File

@ -4,7 +4,8 @@ import './theme-switcher.css';
const ThemeSwitcher = (props) => (
<form class={`theme-switcher ${props.currentTheme}`} onSubmit={props.onSubmit}>
<button class="btn btn-outline btn-outline-dark" type="submit">
<button class="btn btn-outline btn-outline-dark"
type="submit">
Switch theme ({(props.currentTheme === 'light')? 'Light' : 'Night'})
</button>
</form>