Style improvements for mobile
This commit is contained in:
parent
c79f8b5f8b
commit
cd16f45d8e
28 changed files with 345 additions and 120 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -6,3 +6,4 @@ settings-development.json
|
||||||
private/GeoLite2-City.mmdb*
|
private/GeoLite2-City.mmdb*
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
**/.sass-cache
|
**/.sass-cache
|
||||||
|
.deploy/
|
||||||
|
|
|
||||||
|
|
@ -247,12 +247,12 @@
|
||||||
inkscape:pageshadow="2"
|
inkscape:pageshadow="2"
|
||||||
inkscape:zoom="0.25"
|
inkscape:zoom="0.25"
|
||||||
inkscape:cx="-324.9908"
|
inkscape:cx="-324.9908"
|
||||||
inkscape:cy="1157.3585"
|
inkscape:cy="997.3585"
|
||||||
inkscape:document-units="mm"
|
inkscape:document-units="mm"
|
||||||
inkscape:current-layer="layer1"
|
inkscape:current-layer="g22554-45"
|
||||||
showgrid="false"
|
showgrid="false"
|
||||||
inkscape:window-width="1920"
|
inkscape:window-width="1920"
|
||||||
inkscape:window-height="1016"
|
inkscape:window-height="983"
|
||||||
inkscape:window-x="0"
|
inkscape:window-x="0"
|
||||||
inkscape:window-y="867"
|
inkscape:window-y="867"
|
||||||
inkscape:window-maximized="1" />
|
inkscape:window-maximized="1" />
|
||||||
|
|
@ -484,18 +484,82 @@
|
||||||
<flowRoot
|
<flowRoot
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
id="flowRoot8482"
|
id="flowRoot8482"
|
||||||
style="font-style:normal;font-weight:normal;font-size:192px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;"
|
style="font-style:normal;font-weight:normal;font-size:192px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none"
|
||||||
transform="matrix(0.26458333,0,0,0.26458333,433.29892,-64.826953)"
|
transform="matrix(0.26458333,0,0,0.26458333,433.29892,-64.826953)"
|
||||||
inkscape:export-filename="/mnt/md1/proyectos/dev/todos-contra-el-fuego-web/public/remove-marker.png"
|
inkscape:export-filename="/mnt/md1/proyectos/dev/todos-contra-el-fuego-web/public/remove-marker.png"
|
||||||
inkscape:export-xdpi="14.000002"
|
inkscape:export-xdpi="14.000002"
|
||||||
inkscape:export-ydpi="14.000002"><flowRegion
|
inkscape:export-ydpi="14.000002"><flowRegion
|
||||||
id="flowRegion8484"
|
id="flowRegion8484"
|
||||||
style="font-size:192px;fill:#ff0000;"><rect
|
style="font-size:192px;fill:#ff0000"><rect
|
||||||
id="rect8486"
|
id="rect8486"
|
||||||
width="476.79202"
|
width="476.79202"
|
||||||
height="367.69553"
|
height="367.69553"
|
||||||
x="-1499.0664"
|
x="-1499.0664"
|
||||||
y="-142.19131"
|
y="-142.19131"
|
||||||
style="font-size:192px;fill:#ff0000;" /></flowRegion><flowPara
|
style="font-size:192px;fill:#ff0000" /></flowRegion><flowPara
|
||||||
id="flowPara8488"></flowPara></flowRoot> </g>
|
id="flowPara8488"></flowPara></flowRoot> <g
|
||||||
|
id="g22554-45"
|
||||||
|
transform="rotate(-104.78334,-231.82318,51.6182)"
|
||||||
|
inkscape:export-filename="/mnt/md1/proyectos/dev/todos-contra-el-fuego-web/public/fire-marker.png"
|
||||||
|
inkscape:export-xdpi="4.0856881"
|
||||||
|
inkscape:export-ydpi="4.0856881">
|
||||||
|
<g
|
||||||
|
id="g8559">
|
||||||
|
<g
|
||||||
|
inkscape:export-ydpi="4.0856881"
|
||||||
|
inkscape:export-xdpi="4.0856881"
|
||||||
|
inkscape:export-filename="/mnt/md1/proyectos/dev/todos-contra-el-fuego-web/public/fire-marker.png"
|
||||||
|
transform="rotate(-144.74008,-66.772616,119.34544)"
|
||||||
|
id="g22554-2">
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cszzcczasc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path5329-8"
|
||||||
|
d="m -25.638382,38.048346 c 11.566313,13.887908 17.1215844,22.244854 13.751242,33.868326 -2.465387,8.50265 -8.895424,18.626534 -18.100172,25.532106 -9.204776,6.905572 -20.549951,13.517692 -24.263404,17.728802 -3.71348,4.21108 -9.835779,11.6046 -10.976769,21.82688 -2.725208,24.7073 15.038044,45.63926 39.702238,48.35952 11.289242,1.2311 26.6324564,-5.2645 34.2331684,-10.31973 C 16.308659,169.98901 28.520768,152.76263 31.570884,138.81099 35.854436,119.21732 35.065926,96.385127 23.626002,79.16853 12.946123,63.095807 3.8673424,50.775037 -25.638382,38.048346 Z"
|
||||||
|
style="fill:#d41300;fill-opacity:1;stroke:none;stroke-width:10.58333302;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cszzcczcsc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path5331-30"
|
||||||
|
d="m -7.5198746,101.09834 c 4.018254,8.70077 3.821166,14.69136 0.49964,20.18233 -2.429696,4.01667 -7.1125824,8.31964 -12.7749834,10.59336 -5.662401,2.27373 -12.38086,4.1034 -14.860826,5.75067 -2.479966,1.64727 -6.630512,4.59399 -8.617877,9.67322 -4.786736,12.28103 1.27127,26.11038 13.530846,30.8887 5.613373,2.17993 11.515354,2.13146 17.442629,-0.0849 5.9272234,-2.21636 14.0405914,-9.44377 18.0234704,-15.42084 6.3490206,-9.59829 8.9531296,-23.76395 5.4565016,-34.15229 -3.2643496,-9.69812 -4.6224286,-12.3603 -18.6994006,-27.43025 z"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:10.58333302;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
inkscape:export-ydpi="4.0856881"
|
||||||
|
inkscape:export-xdpi="4.0856881"
|
||||||
|
inkscape:export-filename="/mnt/md1/proyectos/dev/todos-contra-el-fuego-web/public/fire-marker.png"
|
||||||
|
transform="rotate(96.689458,-75.070103,121.00438)"
|
||||||
|
id="g22554-5">
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cszzcczasc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path5329-4"
|
||||||
|
d="m -25.638382,38.048346 c 11.566313,13.887908 17.1215844,22.244854 13.751242,33.868326 -2.465387,8.50265 -8.895424,18.626534 -18.100172,25.532106 -9.204776,6.905572 -20.549951,13.517692 -24.263404,17.728802 -3.71348,4.21108 -9.835779,11.6046 -10.976769,21.82688 -2.725208,24.7073 15.038044,45.63926 39.702238,48.35952 11.289242,1.2311 26.6324564,-5.2645 34.2331684,-10.31973 C 16.308659,169.98901 28.520768,152.76263 31.570884,138.81099 35.854436,119.21732 35.065926,96.385127 23.626002,79.16853 12.946123,63.095807 3.8673424,50.775037 -25.638382,38.048346 Z"
|
||||||
|
style="fill:#d41300;fill-opacity:1;stroke:none;stroke-width:10.58333302;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cszzcczcsc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path5331-9"
|
||||||
|
d="m -7.5198746,101.09834 c 4.018254,8.70077 3.821166,14.69136 0.49964,20.18233 -2.429696,4.01667 -7.1125824,8.31964 -12.7749834,10.59336 -5.662401,2.27373 -12.38086,4.1034 -14.860826,5.75067 -2.479966,1.64727 -6.630512,4.59399 -8.617877,9.67322 -4.786736,12.28103 1.27127,26.11038 13.530846,30.8887 5.613373,2.17993 11.515354,2.13146 17.442629,-0.0849 5.9272234,-2.21636 14.0405914,-9.44377 18.0234704,-15.42084 6.3490206,-9.59829 8.9531296,-23.76395 5.4565016,-34.15229 -3.2643496,-9.69812 -4.6224286,-12.3603 -18.6994006,-27.43025 z"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:10.58333302;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="rotate(-22.690691,-35.704234,120.074)"
|
||||||
|
id="g8542">
|
||||||
|
<path
|
||||||
|
style="fill:#d41300;fill-opacity:1;stroke:none;stroke-width:10.58333302;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m -25.638382,38.048346 c 11.566313,13.887908 17.1215844,22.244854 13.751242,33.868326 -2.465387,8.50265 -8.895424,18.626534 -18.100172,25.532106 -9.204776,6.905572 -20.549951,13.517692 -24.263404,17.728802 -3.71348,4.21108 -9.835779,11.6046 -10.976769,21.82688 -2.725208,24.7073 15.038044,45.63926 39.702238,48.35952 11.289242,1.2311 26.6324564,-5.2645 34.2331684,-10.31973 C 16.308659,169.98901 28.520768,152.76263 31.570884,138.81099 35.854436,119.21732 35.065926,96.385127 23.626002,79.16853 12.946123,63.095807 3.8673424,50.775037 -25.638382,38.048346 Z"
|
||||||
|
id="path5329-9"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cszzcczasc" />
|
||||||
|
<path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:10.58333302;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m -7.5198746,101.09834 c 4.018254,8.70077 3.821166,14.69136 0.49964,20.18233 -2.429696,4.01667 -7.1125824,8.31964 -12.7749834,10.59336 -5.662401,2.27373 -12.38086,4.1034 -14.860826,5.75067 -2.479966,1.64727 -6.630512,4.59399 -8.617877,9.67322 -4.786736,12.28103 1.27127,26.11038 13.530846,30.8887 5.613373,2.17993 11.515354,2.13146 17.442629,-0.0849 5.9272234,-2.21636 14.0405914,-9.44377 18.0234704,-15.42084 6.3490206,-9.59829 8.9531296,-23.76395 5.4565016,-34.15229 -3.2643496,-9.69812 -4.6224286,-12.3603 -18.6994006,-27.43025 z"
|
||||||
|
id="path5331-35"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cszzcczcsc" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 46 KiB |
|
|
@ -50,7 +50,7 @@ i18nOpts.react = {
|
||||||
nsMode: 'default' */
|
nsMode: 'default' */
|
||||||
};
|
};
|
||||||
|
|
||||||
const sendMissing = false;
|
const sendMissing = true;
|
||||||
if (sendMissing && !Meteor.isProduction) {
|
if (sendMissing && !Meteor.isProduction) {
|
||||||
i18nOpts.sendMissing = true;
|
i18nOpts.sendMissing = true;
|
||||||
i18nOpts.sendMissingTo = 'fallback';
|
i18nOpts.sendMissingTo = 'fallback';
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,17 @@
|
||||||
|
@import '../../stylesheets/mixins';
|
||||||
|
|
||||||
.dist-slider {
|
.dist-slider {
|
||||||
width: 400px;
|
width: 400px;
|
||||||
margin: 30px;
|
margin: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 400px) {
|
@include breakpoint(mobile) {
|
||||||
.dist-slider {
|
.dist-slider {
|
||||||
width: 200px;
|
width: 100%;
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rc-slider {
|
||||||
|
margin: 0 0 0 -10px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -31,4 +31,4 @@ const Footer = (props) => {
|
||||||
|
|
||||||
Footer.propTypes = {};
|
Footer.propTypes = {};
|
||||||
|
|
||||||
export default translate([], { wait: true })(Footer)
|
export default translate([], { wait: true })(Footer);
|
||||||
|
|
|
||||||
|
|
@ -72,3 +72,9 @@ body {
|
||||||
-webkit-transform: rotate(-180deg);
|
-webkit-transform: rotate(-180deg);
|
||||||
transform: rotate(-180deg);
|
transform: rotate(-180deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@include breakpoint(mobile) {
|
||||||
|
.Footer, .Footer p {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -12,12 +12,12 @@ const propTypes = {
|
||||||
href: PropTypes.string,
|
href: PropTypes.string,
|
||||||
onClick: PropTypes.func,
|
onClick: PropTypes.func,
|
||||||
onSelect: PropTypes.func,
|
onSelect: PropTypes.func,
|
||||||
eventKey: PropTypes.any,
|
eventKey: PropTypes.any
|
||||||
};
|
};
|
||||||
|
|
||||||
const defaultProps = {
|
const defaultProps = {
|
||||||
active: false,
|
active: false,
|
||||||
disabled: false,
|
disabled: false
|
||||||
};
|
};
|
||||||
|
|
||||||
class NavItem extends React.Component {
|
class NavItem extends React.Component {
|
||||||
|
|
@ -38,7 +38,9 @@ class NavItem extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { active, disabled, onClick, className, anchorClassName, style, ...props } =
|
const {
|
||||||
|
active, disabled, onClick, className, anchorClassName, style, ...props
|
||||||
|
} =
|
||||||
this.props;
|
this.props;
|
||||||
|
|
||||||
delete props.onSelect;
|
delete props.onSelect;
|
||||||
|
|
@ -58,13 +60,15 @@ class NavItem extends React.Component {
|
||||||
return (
|
return (
|
||||||
<li
|
<li
|
||||||
role="presentation"
|
role="presentation"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-target=".navbar-collapse.show"
|
||||||
className={classNames(className, { active, disabled })}
|
className={classNames(className, { active, disabled })}
|
||||||
style={style}
|
style={style}
|
||||||
>
|
>
|
||||||
<SafeAnchor
|
<SafeAnchor
|
||||||
{...props}
|
{...props}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
className={anchorClassName}
|
className={anchorClassName}
|
||||||
onClick={createChainedFunction(onClick, this.handleClick)}
|
onClick={createChainedFunction(onClick, this.handleClick)}
|
||||||
/>
|
/>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,9 @@ const Navigation = props => (
|
||||||
{/* https://github.com/react-bootstrap/react-bootstrap/blob/master/src/Navbar.js */}
|
{/* https://github.com/react-bootstrap/react-bootstrap/blob/master/src/Navbar.js */}
|
||||||
<Navbar.Header>
|
<Navbar.Header>
|
||||||
<Navbar.Brand>
|
<Navbar.Brand>
|
||||||
<Link to="/">{props.t('AppNameFull')}</Link>
|
<Link to="/" className={window.location.pathname === '/' ? 'hide-brand' : ''} >
|
||||||
|
{props.t('AppNameFull')}
|
||||||
|
</Link>
|
||||||
</Navbar.Brand>
|
</Navbar.Brand>
|
||||||
{/* <Navbar.Toggle/> */}
|
{/* <Navbar.Toggle/> */}
|
||||||
<button className="sr-only navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
<button className="sr-only navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
|
@ -54,6 +56,7 @@ Navigation.defaultProps = {
|
||||||
};
|
};
|
||||||
|
|
||||||
Navigation.propTypes = {
|
Navigation.propTypes = {
|
||||||
|
t: PropTypes.func.isRequired,
|
||||||
authenticated: PropTypes.bool.isRequired
|
authenticated: PropTypes.bool.isRequired
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
@import '../../stylesheets/mixins';
|
||||||
|
|
||||||
.navbar {
|
.navbar {
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
border-left: none;
|
border-left: none;
|
||||||
|
|
@ -27,14 +29,20 @@ a.nav-link:hover {
|
||||||
padding: 0.3rem 0rem;
|
padding: 0.3rem 0rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
a.navbar-brand {
|
a.navbar-brand {
|
||||||
font-size: 26px;
|
font-size: 26px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 480px) {
|
@include breakpoint(mobile) {
|
||||||
a.navbar-brand {
|
a.navbar-brand {
|
||||||
font-size: 16px;
|
font-size: 18px;
|
||||||
padding: 15px 3px;
|
padding: 15px 3px 15px 15px;
|
||||||
}
|
}
|
||||||
|
.navbar-nav .nav-link {
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.hide-brand {
|
||||||
|
opacity: 0;
|
||||||
}
|
}
|
||||||
|
|
@ -162,9 +162,9 @@ class SelectionMap extends Component {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
{ this.isValidState() &&
|
{ this.isValidState() &&
|
||||||
<div className="leaflet-container">
|
<Fragment>
|
||||||
<Map
|
<Map
|
||||||
/* className="sidebar-map" */
|
className="selectionmap-leaflet-container"
|
||||||
center={this.state.center}
|
center={this.state.center}
|
||||||
zoom={this.state.zoom}
|
zoom={this.state.zoom}
|
||||||
ref={(map) => {
|
ref={(map) => {
|
||||||
|
|
@ -251,7 +251,7 @@ class SelectionMap extends Component {
|
||||||
</ButtonGroup>
|
</ButtonGroup>
|
||||||
</Control>
|
</Control>
|
||||||
</Map>
|
</Map>
|
||||||
</div>
|
</Fragment>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,23 @@
|
||||||
.leaflet-container {
|
@import '../../stylesheets/mixins';
|
||||||
|
|
||||||
|
.selectionmap-leaflet-container {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
min-height: 60vh;
|
min-height: 60vh;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-width: 75vw;
|
/* min-width: 75vw; */
|
||||||
display: flex;
|
display: flex;
|
||||||
margin: 30px auto;
|
margin: 20px auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.leaflet-container {
|
div.selectionmap-leaflet-container {
|
||||||
position: relative;
|
position: relative;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 400px) {
|
@include breakpoint(mobile) {
|
||||||
.leaflet-container {
|
.selectionmap-leaflet-container {
|
||||||
height: 400px;
|
height: 80%;
|
||||||
width: 85vw;
|
min-width: 90vw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
6
imports/ui/components/Utils/isMobile.js
Normal file
6
imports/ui/components/Utils/isMobile.js
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
import isMobile from 'ismobilejs';
|
||||||
|
|
||||||
|
// https://github.com/ReactTraining/react-router/issues/184
|
||||||
|
export const isHomeAndMobile = (window.location.pathname === '/' && isMobile.any);
|
||||||
|
export const isNotHomeAndMobile = !isHomeAndMobile;
|
||||||
|
export const isAnyMobile = isMobile.any;
|
||||||
|
|
@ -55,7 +55,7 @@ const App = props => (
|
||||||
<div className="App">
|
<div className="App">
|
||||||
<Navigation {...props} />
|
<Navigation {...props} />
|
||||||
<ReSendEmail {...props} />
|
<ReSendEmail {...props} />
|
||||||
<Grid> {/* bsClass="previously-container-but-disabled" > */}
|
<Grid>
|
||||||
<Switch>
|
<Switch>
|
||||||
<Route exact name="index" path="/" component={Index} />
|
<Route exact name="index" path="/" component={Index} />
|
||||||
{/* <Authenticated exact path="/documents" component={Documents} {...props} />
|
{/* <Authenticated exact path="/documents" component={Documents} {...props} />
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
/* eslint-disable react/jsx-indent-props */
|
/* eslint-disable react/jsx-indent-props */
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { withTracker } from 'meteor/react-meteor-data';
|
|
||||||
import { Row, Col } from 'react-bootstrap';
|
import { Row, Col } from 'react-bootstrap';
|
||||||
import { translate } from 'react-i18next';
|
import { translate } from 'react-i18next';
|
||||||
import DistanceSlider from '/imports/ui/components/DistanceSlider/DistanceSlider';
|
import DistanceSlider from '/imports/ui/components/DistanceSlider/DistanceSlider';
|
||||||
|
|
@ -10,6 +9,7 @@ import SelectionMap, { action } from '/imports/ui/components/SelectionMap/Select
|
||||||
import Gkeys from '/imports/startup/client/Gkeys';
|
import Gkeys from '/imports/startup/client/Gkeys';
|
||||||
import CenterInMyPosition from '/imports/ui/components/CenterInMyPosition/CenterInMyPosition.js';
|
import CenterInMyPosition from '/imports/ui/components/CenterInMyPosition/CenterInMyPosition.js';
|
||||||
import SubsAutocomplete from './SubsAutocomplete';
|
import SubsAutocomplete from './SubsAutocomplete';
|
||||||
|
import { isNotHomeAndMobile } from '/imports/ui/components/Utils/isMobile';
|
||||||
|
|
||||||
class FireSubscription extends React.Component {
|
class FireSubscription extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
|
|
@ -73,6 +73,7 @@ class FireSubscription extends React.Component {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Row>
|
<Row>
|
||||||
|
{isNotHomeAndMobile &&
|
||||||
<Col xs={12} sm={12} md={6} lg={6} >
|
<Col xs={12} sm={12} md={6} lg={6} >
|
||||||
<div>
|
<div>
|
||||||
<SubsAutocomplete
|
<SubsAutocomplete
|
||||||
|
|
@ -80,12 +81,14 @@ class FireSubscription extends React.Component {
|
||||||
onChange={value => this.onAutocompleteChange(value)}
|
onChange={value => this.onAutocompleteChange(value)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</Col>
|
</Col> }
|
||||||
<Col xs={12} sm={12} md={6} lg={6} >
|
<Col xs={12} sm={12} md={6} lg={6} >
|
||||||
<DistanceSlider onChange={value => this.onSliderChange(value)} />
|
<DistanceSlider onChange={value => this.onSliderChange(value)} />
|
||||||
|
{isNotHomeAndMobile &&
|
||||||
<Row className="center-in-my-pos">
|
<Row className="center-in-my-pos">
|
||||||
<CenterInMyPosition onClick={viewport => this.centerOnUserLocation(viewport)} />
|
<CenterInMyPosition onClick={viewport => this.centerOnUserLocation(viewport)} />
|
||||||
</Row>
|
</Row>
|
||||||
|
}
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
<Row className="align-items-center justify-content-center">
|
<Row className="align-items-center justify-content-center">
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ class Fire extends React.Component {
|
||||||
{' '}
|
{' '}
|
||||||
{t('Por ejemplo:')}
|
{t('Por ejemplo:')}
|
||||||
<ul>
|
<ul>
|
||||||
<li>{t('si conoces esta zona y cómo acceder a el fuego (esto puede de ser de ayuda para apagarlo si sigue activo o para investigarlo en un futuro)')}</li>
|
<li>{t('si conoces esta zona y cómo acceder al fuego (esto puede de ser de ayuda para apagarlo si sigue activo o para investigarlo en un futuro)')}</li>
|
||||||
<li>{t('si conoces el motivo por el que comenzó el fuego')}</li>
|
<li>{t('si conoces el motivo por el que comenzó el fuego')}</li>
|
||||||
<li>{t('si quieres denunciar algún tipo de ilegalidad, incluso anónimamente')}</li>
|
<li>{t('si quieres denunciar algún tipo de ilegalidad, incluso anónimamente')}</li>
|
||||||
<li>{t('o cualquier otra información')}</li>
|
<li>{t('o cualquier otra información')}</li>
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
|
@import '../../stylesheets/colors';
|
||||||
|
@import '../../stylesheets/mixins';
|
||||||
|
|
||||||
.fire-leaflet-container {
|
.fire-leaflet-container {
|
||||||
min-height: 30vh;
|
min-height: 30vh;
|
||||||
min-width: 40vw;
|
min-width: 40vw;
|
||||||
|
|
@ -8,19 +11,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.ViewFire > h4.page-header {
|
.ViewFire > h4.page-header {
|
||||||
line-height: 1.5em;
|
line-height: 1.3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.leaflet-container {
|
.fire-leaflet-container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.comments-info {
|
.comments-info {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #818182;
|
color: $light;
|
||||||
/* display: inline-flex; */
|
/* display: inline-flex; */
|
||||||
/* background-color: #fefefe;
|
/* background-color: #fefefe;
|
||||||
border-color: #fdfdfe;
|
border-color: #fdfdfe;
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ import Loading from '/imports/ui/components/Loading/Loading';
|
||||||
import ActiveFiresCollection from '/imports/api/ActiveFires/ActiveFires';
|
import ActiveFiresCollection from '/imports/api/ActiveFires/ActiveFires';
|
||||||
import FireAlertsCollection from '/imports/api/FireAlerts/FireAlerts';
|
import FireAlertsCollection from '/imports/api/FireAlerts/FireAlerts';
|
||||||
import UserSubsToFiresCollection from '/imports/api/Subscriptions/Subscriptions';
|
import UserSubsToFiresCollection from '/imports/api/Subscriptions/Subscriptions';
|
||||||
|
import { isNotHomeAndMobile } from '/imports/ui/components/Utils/isMobile';
|
||||||
|
|
||||||
import './FiresMap.scss';
|
import './FiresMap.scss';
|
||||||
|
|
||||||
|
|
@ -136,15 +137,18 @@ class FiresMap extends React.Component {
|
||||||
<h4 className="page-header"><Trans parent="span">Fuegos activos</Trans></h4>
|
<h4 className="page-header"><Trans parent="span">Fuegos activos</Trans></h4>
|
||||||
<Row>
|
<Row>
|
||||||
<Col xs={12} sm={6} md={6} lg={6} >
|
<Col xs={12} sm={6} md={6} lg={6} >
|
||||||
<p>
|
<p className="firesmap-legend">
|
||||||
{ this.props.activefires.length === 0 ?
|
{ this.props.activefires.length === 0 ?
|
||||||
<Trans parent="span" i18nKey="noActiveFireInMapCount">No hay fuegos activos en esta zona del mapa. Hay un total de <strong>{{ countTotal: this.props.activefirestotal }}</strong> fuegos activos detectados en todo el mundo.</Trans> :
|
<Trans parent="span" i18nKey="noActiveFireInMapCount">No hay fuegos activos en esta zona del mapa. Hay un total de <strong>{{ countTotal: this.props.activefirestotal }}</strong> fuegos activos detectados en todo el mundo.</Trans> :
|
||||||
<Trans parent="span" i18nKey="activeFireInMapCount">En rojo, <strong>{{ count: this.props.activefires.length }}</strong> fuegos activos en el mapa. Hay un total de <strong>{{ countTotal: this.props.activefirestotal }}</strong> fuegos activos detectados en todo el mundo por la NASA.</Trans>
|
<Trans parent="span" i18nKey="activeFireInMapCount">En rojo, <strong>{{ count: this.props.activefires.length }}</strong> fuegos activos en el mapa. Hay un total de <strong>{{ countTotal: this.props.activefirestotal }}</strong> fuegos activos detectados en todo el mundo por la NASA.</Trans>
|
||||||
}
|
}
|
||||||
</p>
|
</p>
|
||||||
<p><Trans parent="span" i18nKey="activeNeigFireInMapCount">En naranja, los fuegos notificados por nuestros usuarios/as recientemente.</Trans></p>
|
{isNotHomeAndMobile &&
|
||||||
|
<p className="firesmap-legend"><Trans parent="span" i18nKey="activeNeigFireInMapCount">En naranja, los fuegos notificados por nuestros usuarios/as recientemente.</Trans></p> }
|
||||||
</Col>
|
</Col>
|
||||||
<Col xs={12} sm={6} md={6} lg={6}>
|
<Col xs={12} sm={6} md={6} lg={6}>
|
||||||
|
{isNotHomeAndMobile &&
|
||||||
|
<Fragment>
|
||||||
<Checkbox inline={false} defaultChecked={this.state.showSubsUnion} onClick={e => this.setShowSubsUnion(e.target.checked)}>
|
<Checkbox inline={false} defaultChecked={this.state.showSubsUnion} onClick={e => this.setShowSubsUnion(e.target.checked)}>
|
||||||
<Trans className="mark-checkbox" parent="span">Resaltar en verde el área vigilada por nuestros usuarios/as</Trans> (*)
|
<Trans className="mark-checkbox" parent="span">Resaltar en verde el área vigilada por nuestros usuarios/as</Trans> (*)
|
||||||
</Checkbox>
|
</Checkbox>
|
||||||
|
|
@ -153,7 +157,8 @@ class FiresMap extends React.Component {
|
||||||
<Trans className="mark-checkbox" parent="span">Resaltar los fuegos con un marcador</Trans>
|
<Trans className="mark-checkbox" parent="span">Resaltar los fuegos con un marcador</Trans>
|
||||||
</Checkbox>}
|
</Checkbox>}
|
||||||
<CenterInMyPosition onClick={viewport => this.centerOnUserLocation(viewport)} />
|
<CenterInMyPosition onClick={viewport => this.centerOnUserLocation(viewport)} />
|
||||||
<p>
|
</Fragment>}
|
||||||
|
<p className="firesmap-note">
|
||||||
<em>{ this.state.viewport.zoom >= MAXZOOMREACTIVE ?
|
<em>{ this.state.viewport.zoom >= MAXZOOMREACTIVE ?
|
||||||
<Trans>Los fuegos activos se actualizan en tiempo real.</Trans> :
|
<Trans>Los fuegos activos se actualizan en tiempo real.</Trans> :
|
||||||
<Trans>Haga zoom en una zona de su interés si quiere que los fuegos se actualicen en tiempo real.</Trans>
|
<Trans>Haga zoom en una zona de su interés si quiere que los fuegos se actualicen en tiempo real.</Trans>
|
||||||
|
|
@ -162,48 +167,49 @@ class FiresMap extends React.Component {
|
||||||
</p>
|
</p>
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
|
{/* https://github.com/CliffCloud/Leaflet.Sleep */}
|
||||||
|
<Map
|
||||||
|
ref={(map) => {
|
||||||
|
this.fireMap = map;
|
||||||
|
this.handleLeafletLoad(map);
|
||||||
|
}}
|
||||||
|
className="firesmap-leaflet-container"
|
||||||
|
animate
|
||||||
|
minZoom={5}
|
||||||
|
preferCanvas
|
||||||
|
onClick={this.onClickReset}
|
||||||
|
viewport={this.state.viewport}
|
||||||
|
onViewportChanged={this.onViewportChanged}
|
||||||
|
sleep={window.location.pathname === '/'}
|
||||||
|
sleepTime={10750}
|
||||||
|
wakeTime={750}
|
||||||
|
sleepNote
|
||||||
|
hoverToWake
|
||||||
|
wakeMessage={this.props.t('Pulsa para activar')}
|
||||||
|
sleepOpacity={0.6}
|
||||||
|
>
|
||||||
|
{/* http://wiki.openstreetmap.org/wiki/Tile_servers */}
|
||||||
|
{!this.props.loading &&
|
||||||
|
<Fragment>
|
||||||
|
<FireList
|
||||||
|
fires={this.props.activefires}
|
||||||
|
scale={this.state.viewport.zoom >= MAXZOOM}
|
||||||
|
useMarkers={this.state.useMarkers}
|
||||||
|
nasa
|
||||||
|
/>
|
||||||
|
<FireList
|
||||||
|
fires={this.props.firealerts}
|
||||||
|
scale={false}
|
||||||
|
useMarkers={this.state.useMarkers}
|
||||||
|
nasa={false}
|
||||||
|
/>
|
||||||
|
</Fragment> }
|
||||||
|
<DefMapLayers />
|
||||||
|
</Map>
|
||||||
<Row>
|
<Row>
|
||||||
{/* https://github.com/CliffCloud/Leaflet.Sleep */}
|
<Col xs={12} sm={12} md={12} lg={12}>
|
||||||
<Map
|
<p className="firesmap-footnote"><span style={{ paddingRight: '5px' }}>(*)</span><Trans i18nKey="mapPrivacy" parent="span"><em>Para preservar la privacidad de nuestros usuarios/as, los datos reflejados están aleatoriamente alterados y son solo orientativos.</em></Trans></p>
|
||||||
ref={(map) => {
|
</Col>
|
||||||
this.fireMap = map;
|
|
||||||
this.handleLeafletLoad(map);
|
|
||||||
}}
|
|
||||||
animate
|
|
||||||
minZoom={5}
|
|
||||||
preferCanvas
|
|
||||||
onClick={this.onClickReset}
|
|
||||||
viewport={this.state.viewport}
|
|
||||||
onViewportChanged={this.onViewportChanged}
|
|
||||||
sleep={window.location.pathname === '/'}
|
|
||||||
sleepTime={10750}
|
|
||||||
wakeTime={750}
|
|
||||||
sleepNote
|
|
||||||
hoverToWake
|
|
||||||
wakeMessage={this.props.t('Pulsa para activar')}
|
|
||||||
sleepOpacity={0.6}
|
|
||||||
>
|
|
||||||
{/* http://wiki.openstreetmap.org/wiki/Tile_servers */}
|
|
||||||
{!this.props.loading &&
|
|
||||||
<Fragment>
|
|
||||||
<FireList
|
|
||||||
fires={this.props.activefires}
|
|
||||||
scale={this.state.viewport.zoom >= MAXZOOM}
|
|
||||||
useMarkers={this.state.useMarkers}
|
|
||||||
nasa
|
|
||||||
/>
|
|
||||||
<FireList
|
|
||||||
fires={this.props.firealerts}
|
|
||||||
scale={false}
|
|
||||||
useMarkers={this.state.useMarkers}
|
|
||||||
nasa={false}
|
|
||||||
/>
|
|
||||||
</Fragment> }
|
|
||||||
<DefMapLayers />
|
|
||||||
</Map>
|
|
||||||
</Row>
|
|
||||||
<Row>
|
|
||||||
<p><span style={{ paddingRight: '5px' }}>(*)</span><Trans i18nKey="mapPrivacy" parent="span"><em>Para preservar la privacidad de nuestros usuarios/as, los datos reflejados están aleatoriamente alterados y son solo orientativos.</em></Trans></p>
|
|
||||||
</Row>
|
</Row>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,23 @@
|
||||||
|
@import '../../stylesheets/mixins';
|
||||||
|
@import '../../stylesheets/colors';
|
||||||
|
|
||||||
/* https://github.com/PaulLeCam/react-leaflet/issues/108 */
|
/* https://github.com/PaulLeCam/react-leaflet/issues/108 */
|
||||||
|
|
||||||
.leaflet-container {
|
.firesmap-leaflet-container {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
min-height: 60vh;
|
min-height: 60vh;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-width: 75vw;
|
/* min-width: 75vw; */
|
||||||
display: flex;
|
display: flex;
|
||||||
margin: 30px auto;
|
margin: 20px auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include breakpoint(mobile) {
|
||||||
|
.firesmap-leaflet-container {
|
||||||
|
height: 80%;
|
||||||
|
min-width: 85vw;
|
||||||
|
margin: 10px auto;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.Loading {
|
.Loading {
|
||||||
|
|
@ -22,13 +33,6 @@
|
||||||
stroke: grey;
|
stroke: grey;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 400px) {
|
|
||||||
.leaflet-container {
|
|
||||||
height: 400px;
|
|
||||||
width: 85vw;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.mark-checkbox {
|
.mark-checkbox {
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
@ -37,7 +41,21 @@
|
||||||
background-image: url(/images/layers.png);
|
background-image: url(/images/layers.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.leaflet-retina .leaflet-control-layers-toggle {
|
||||||
|
background-image: url(/images/layers.png);
|
||||||
|
background-size: 26px 26px;
|
||||||
|
}
|
||||||
|
|
||||||
.glyphicon .glyphicon-thumbs-up {
|
.glyphicon .glyphicon-thumbs-up {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.firesmap-legend {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.firesmap-note,
|
||||||
|
.firesmap-footnote {
|
||||||
|
font-size: 14px;
|
||||||
|
color: $light;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
@import '../../stylesheets/mixins';
|
||||||
@import '../../stylesheets/colors';
|
@import '../../stylesheets/colors';
|
||||||
|
|
||||||
.carousel-item {
|
.carousel-item {
|
||||||
|
|
@ -29,6 +30,12 @@
|
||||||
text-shadow: 2px 2px 1px #280B0B;
|
text-shadow: 2px 2px 1px #280B0B;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@include breakpoint(mobile) {
|
||||||
|
.carousel-caption > h3 {
|
||||||
|
font-size: 2.0rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.py-5 > .container > {
|
.py-5 > .container > {
|
||||||
div > h1 {
|
div > h1 {
|
||||||
color: #280B0B;
|
color: #280B0B;
|
||||||
|
|
@ -38,15 +45,35 @@
|
||||||
}
|
}
|
||||||
p {
|
p {
|
||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
font-size: 1.5em;
|
font-size: 1.7em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@include breakpoint(mobile) {
|
||||||
|
.py-5 > .container > {
|
||||||
|
p {
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pt-5, .py-5 {
|
||||||
|
padding-top: 1rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.moto {
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sectionTESTINGGGGG { // don't scroll sections in mobiles
|
||||||
|
overflow: visible !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.slide-2-icon {
|
.slide-2-icon {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 30%;
|
width: 30%;
|
||||||
top: 25%;
|
|
||||||
left: 35%;
|
left: 35%;
|
||||||
border: 14px solid #FFF;
|
border: 14px solid #FFF;
|
||||||
opacity: .5;
|
opacity: .5;
|
||||||
|
|
@ -72,6 +99,20 @@
|
||||||
text-shadow: 1px 1px #280B0B;
|
text-shadow: 1px 1px #280B0B;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@include breakpoint(mobile) {
|
||||||
|
.slide-1-icon:before,
|
||||||
|
.slide-2-icon:before,
|
||||||
|
.slide-3-icon:before,
|
||||||
|
.slide-4-icon:before {
|
||||||
|
font-size: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slide-3-icon:before,
|
||||||
|
.slide-4-icon:before {
|
||||||
|
top: -50px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.slide-1-icon:before {
|
.slide-1-icon:before {
|
||||||
content: "";
|
content: "";
|
||||||
}
|
}
|
||||||
|
|
@ -124,7 +165,7 @@
|
||||||
.full-width {
|
.full-width {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
margin-left: calc(-50vw + 50% - 8px);
|
margin-left: calc(-50vw + 50%);
|
||||||
position: relative;
|
position: relative;
|
||||||
/*
|
/*
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import ReactResizeDetector from 'react-resize-detector';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import { ScrollToTopOnMount, SectionsContainer, Section } from 'react-fullpage';
|
import { ScrollToTopOnMount, SectionsContainer, Section } from 'react-fullpage';
|
||||||
import 'html5-device-mockups/dist/device-mockups.min.css';
|
import 'html5-device-mockups/dist/device-mockups.min.css';
|
||||||
|
import { isAnyMobile } from '/imports/ui/components/Utils/isMobile';
|
||||||
import SubscriptionEditor from '/imports/ui/components/SubscriptionEditor/SubscriptionEditor';
|
import SubscriptionEditor from '/imports/ui/components/SubscriptionEditor/SubscriptionEditor';
|
||||||
import FiresMap from '../FiresMap/FiresMap';
|
import FiresMap from '../FiresMap/FiresMap';
|
||||||
|
|
||||||
|
|
@ -58,12 +59,12 @@ class Index extends Component {
|
||||||
// https://github.com/subtirelumihail/react-fullpage
|
// https://github.com/subtirelumihail/react-fullpage
|
||||||
const fullPageOptions = {
|
const fullPageOptions = {
|
||||||
activeClass: 'active', // the class that is appended to the sections links
|
activeClass: 'active', // the class that is appended to the sections links
|
||||||
anchors: ['home', 'crowdsourcing', 'platforms', 'participe', 'fires'], // the anchors for each sections
|
anchors: ['home', 'crowdsourcing', 'participe', 'fires', 'platforms'], // the anchors for each sections
|
||||||
arrowNavigation: true, // use arrow keys (true after development)
|
arrowNavigation: true, // use arrow keys (true after development)
|
||||||
className: 'section-container', // the class name for the section container
|
className: 'section-container', // the class name for the section container
|
||||||
delay: 1000, // the scroll animation speed
|
delay: 1000, // the scroll animation speed
|
||||||
navigation: true, // use dots navigation
|
navigation: true, // !isMobile, // use dots navigation
|
||||||
scrollBar: false, // use the browser default scrollbar
|
scrollBar: isAnyMobile, // use the browser default scrollbar
|
||||||
sectionClassName: 'section', // the section class name
|
sectionClassName: 'section', // the section class name
|
||||||
sectionPaddingTop: '0', // the section top padding
|
sectionPaddingTop: '0', // the section top padding
|
||||||
sectionPaddingBottom: '0', // the section bottom padding
|
sectionPaddingBottom: '0', // the section bottom padding
|
||||||
|
|
@ -84,6 +85,7 @@ class Index extends Component {
|
||||||
className="carousel slide"
|
className="carousel slide"
|
||||||
ref={(ref) => { this.slides = ref; }}
|
ref={(ref) => { this.slides = ref; }}
|
||||||
>
|
>
|
||||||
|
{/* for dev: data-interval=false */}
|
||||||
<ol className="carousel-indicators">
|
<ol className="carousel-indicators">
|
||||||
<li data-target="#carouselExampleIndicators" data-slide-to="0" className="active" />
|
<li data-target="#carouselExampleIndicators" data-slide-to="0" className="active" />
|
||||||
<li data-target="#carouselExampleIndicators" data-slide-to="1" />
|
<li data-target="#carouselExampleIndicators" data-slide-to="1" />
|
||||||
|
|
@ -95,7 +97,7 @@ class Index extends Component {
|
||||||
<div className="carousel-item carousel-item-1 active">
|
<div className="carousel-item carousel-item-1 active">
|
||||||
<div className="slide-1-icon" />
|
<div className="slide-1-icon" />
|
||||||
<div className="carousel-caption">
|
<div className="carousel-caption">
|
||||||
<h3><i className="fa fa-map-pointer" aria-hidden="true" />Elige un lugar</h3>
|
<h3><i className="fa fa-map-pointer" aria-hidden="true" /><Trans>Elige un lugar</Trans></h3>
|
||||||
<p />
|
<p />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -103,7 +105,7 @@ class Index extends Component {
|
||||||
<div className="carousel-item carousel-item-2">
|
<div className="carousel-item carousel-item-2">
|
||||||
<div className="slide-2-icon" />
|
<div className="slide-2-icon" />
|
||||||
<div className="carousel-caption">
|
<div className="carousel-caption">
|
||||||
<h3><i className="fa fa-dot-circle-o" aria-hidden="true" />Elige un radio de vigilancia</h3>
|
<h3><i className="fa fa-dot-circle-o" aria-hidden="true" /><Trans>Elige un radio de vigilancia</Trans></h3>
|
||||||
<p />
|
<p />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -111,7 +113,7 @@ class Index extends Component {
|
||||||
<div className="carousel-item carousel-item-3">
|
<div className="carousel-item carousel-item-3">
|
||||||
<div className="slide-3-icon" />
|
<div className="slide-3-icon" />
|
||||||
<div className="carousel-caption">
|
<div className="carousel-caption">
|
||||||
<h3><i className="fa fa-podcast" aria-hidden="true" />Recibe alertas de fuegos en esa zona</h3>
|
<h3><i className="fa fa-podcast" aria-hidden="true" /><Trans>Recibe alertas de fuegos en esa zona</Trans></h3>
|
||||||
<p />
|
<p />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -119,18 +121,18 @@ class Index extends Component {
|
||||||
<div className="carousel-item carousel-item-4">
|
<div className="carousel-item carousel-item-4">
|
||||||
<div className="slide-4-icon" />
|
<div className="slide-4-icon" />
|
||||||
<div className="carousel-caption">
|
<div className="carousel-caption">
|
||||||
<h3><i className="fa fa-bell-o" aria-hidden="true" />Alerta cuando hay un fuego</h3>
|
<h3><i className="fa fa-bell-o" aria-hidden="true" /><Trans>Alerta cuando hay un fuego</Trans></h3>
|
||||||
<p />
|
<p />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a className="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
|
<a className="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
|
||||||
<span className="carousel-control-prev-icon" aria-hidden="true" />
|
<span className="carousel-control-prev-icon" aria-hidden="true" />
|
||||||
<span className="sr-only">Previous</span>
|
<span className="sr-only"><Trans>Anterior</Trans></span>
|
||||||
</a>
|
</a>
|
||||||
<a className="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
|
<a className="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
|
||||||
<span className="carousel-control-next-icon" aria-hidden="true" />
|
<span className="carousel-control-next-icon" aria-hidden="true" />
|
||||||
<span className="sr-only">Next</span>
|
<span className="sr-only"><Trans>Siguiente</Trans></span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
@ -139,7 +141,7 @@ class Index extends Component {
|
||||||
<div className="scale__container--js">
|
<div className="scale__container--js">
|
||||||
<h1 id="tcefh1" className="scale--js">{this.props.t('AppName')}</h1>
|
<h1 id="tcefh1" className="scale--js">{this.props.t('AppName')}</h1>
|
||||||
</div>
|
</div>
|
||||||
<p>Siempre alerta a los fuegos en nuestro vecindario</p>
|
<p className="moto"><Trans>Siempre alerta a los fuegos en nuestro vecindario</Trans></p>
|
||||||
{/* <Link className="participe-btn btn btn-lg btn-warning" role="button" to="/#platforms">{this.props.t('Participa')}</Link> */}
|
{/* <Link className="participe-btn btn btn-lg btn-warning" role="button" to="/#platforms">{this.props.t('Participa')}</Link> */}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
@ -149,7 +151,7 @@ class Index extends Component {
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col-md-8 mx-auto">
|
<div className="col-md-8 mx-auto">
|
||||||
<h2 className="section-heading">Colaboración masiva contra los incendios</h2>
|
<h2 className="section-heading"><Trans>Colaboración masiva contra los incendios</Trans></h2>
|
||||||
<p><Trans>Imágenes capturadas por los satélites de la NASA muestran el humo de grandes incendios que se extienden sobre el Océano Pacífico. La actividad del fuego está delineada en rojo.</Trans></p>
|
<p><Trans>Imágenes capturadas por los satélites de la NASA muestran el humo de grandes incendios que se extienden sobre el Océano Pacífico. La actividad del fuego está delineada en rojo.</Trans></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -207,8 +209,8 @@ class Index extends Component {
|
||||||
<div className="col-lg-6">
|
<div className="col-lg-6">
|
||||||
<div className="feature-item">
|
<div className="feature-item">
|
||||||
<i className="icon-envelope-open text-primary" />
|
<i className="icon-envelope-open text-primary" />
|
||||||
<h3><Trans>Correo electronico</Trans></h3>
|
<h3><Trans>Notificaciones</Trans></h3>
|
||||||
<p className="text-muted"><Trans>Recibe nuestras notificaciones de fuegos por correo</Trans></p>
|
<p className="text-muted"><Trans>Recibe nuestras notificaciones de fuegos por correo o en tu navegador</Trans></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -97,6 +97,7 @@ class Signup extends React.Component {
|
||||||
<Col xs={12} sm={6} md={5} lg={4}>
|
<Col xs={12} sm={6} md={5} lg={4}>
|
||||||
<h4 className="page-header">{t('Registrarse')}</h4>
|
<h4 className="page-header">{t('Registrarse')}</h4>
|
||||||
<Row>
|
<Row>
|
||||||
|
{ false && // disabled
|
||||||
<Col xs={12}>
|
<Col xs={12}>
|
||||||
<button
|
<button
|
||||||
className="btn btn-block btn-raised btn-primary OAuthLoginButtonDis OAuthLoginButton-telegram"
|
className="btn btn-block btn-raised btn-primary OAuthLoginButtonDis OAuthLoginButton-telegram"
|
||||||
|
|
@ -105,7 +106,7 @@ class Signup extends React.Component {
|
||||||
>
|
>
|
||||||
<span><Icon icon="telegram" /> {t('Iniciar sesión con Telegram')}</span>
|
<span><Icon icon="telegram" /> {t('Iniciar sesión con Telegram')}</span>
|
||||||
</button>
|
</button>
|
||||||
</Col>
|
</Col> }
|
||||||
<Col xs={12}>
|
<Col xs={12}>
|
||||||
<OAuthLoginButtons
|
<OAuthLoginButtons
|
||||||
services={['telegram', 'google']}
|
services={['telegram', 'google']}
|
||||||
|
|
|
||||||
|
|
@ -48,3 +48,5 @@ $success: $todos-palette2;
|
||||||
$info: $todos-palette3;
|
$info: $todos-palette3;
|
||||||
$warning: $todos-palette4;
|
$warning: $todos-palette4;
|
||||||
$danger: #d9534f;
|
$danger: #d9534f;
|
||||||
|
|
||||||
|
$light: #818182;
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
|
@import './mixins';
|
||||||
|
@import './colors';
|
||||||
|
|
||||||
a, a:hover {
|
a, a:hover {
|
||||||
color: $todos-palette5;
|
color: $todos-palette5;
|
||||||
}
|
}
|
||||||
|
|
@ -9,3 +12,13 @@ a, a:hover {
|
||||||
h4.page-header {
|
h4.page-header {
|
||||||
line-height: 2em;
|
line-height: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@include breakpoint(mobile) {
|
||||||
|
h4.page-header {
|
||||||
|
line-height: 1.3em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-header {
|
||||||
|
margin-top: 25px;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,9 @@
|
||||||
@media (min-width: 768px) { @content; }
|
@media (min-width: 768px) { @content; }
|
||||||
} @else if $point == handheld-large {
|
} @else if $point == handheld-large {
|
||||||
@media (min-width: 480px) { @content; }
|
@media (min-width: 480px) { @content; }
|
||||||
|
} @else if $point == mobile {
|
||||||
|
// vjrj
|
||||||
|
@media (max-width: 480px) { @content; }
|
||||||
} @else {
|
} @else {
|
||||||
@media (min-width: $point) { @content; }
|
@media (min-width: $point) { @content; }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
@import './mixins';
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Start Bootstrap - New Age v4.0.0-beta.2 (https://startbootstrap.com/template-overviews/new-age)
|
* Start Bootstrap - New Age v4.0.0-beta.2 (https://startbootstrap.com/template-overviews/new-age)
|
||||||
* Copyright 2013-2017 Start Bootstrap
|
* Copyright 2013-2017 Start Bootstrap
|
||||||
|
|
@ -61,6 +63,15 @@ div.section.crowd h2 {
|
||||||
div.section.crowd h2 {
|
div.section.crowd h2 {
|
||||||
font-size: 70px; } }
|
font-size: 70px; } }
|
||||||
|
|
||||||
|
@include breakpoint(mobile) {
|
||||||
|
div.section.crowd p {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.section.crowd h2 {
|
||||||
|
font-size: 35px; } }
|
||||||
|
|
||||||
div.section.platf .div.section-heading {
|
div.section.platf .div.section-heading {
|
||||||
margin-bottom: 100px; }
|
margin-bottom: 100px; }
|
||||||
div.section.platf .div.section-heading h2 {
|
div.section.platf .div.section-heading h2 {
|
||||||
|
|
|
||||||
5
package-lock.json
generated
5
package-lock.json
generated
|
|
@ -5428,6 +5428,11 @@
|
||||||
"version": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
"version": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
||||||
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
|
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
|
||||||
},
|
},
|
||||||
|
"ismobilejs": {
|
||||||
|
"version": "0.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-0.4.1.tgz",
|
||||||
|
"integrity": "sha1-Gl8SbHD+05yT2jgPpiy65XI+fcI="
|
||||||
|
},
|
||||||
"isobject": {
|
"isobject": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@
|
||||||
"immutability-helper": "^2.5.1",
|
"immutability-helper": "^2.5.1",
|
||||||
"indexof": "0.0.1",
|
"indexof": "0.0.1",
|
||||||
"iron": "^5.0.4",
|
"iron": "^5.0.4",
|
||||||
|
"ismobilejs": "^0.4.1",
|
||||||
"jquery": "^2.2.4",
|
"jquery": "^2.2.4",
|
||||||
"jquery-validation": "^1.17.0",
|
"jquery-validation": "^1.17.0",
|
||||||
"juice": "^4.2.2",
|
"juice": "^4.2.2",
|
||||||
|
|
|
||||||
|
|
@ -165,8 +165,6 @@
|
||||||
"Somos muchos ojos": "Somos muchos ojos",
|
"Somos muchos ojos": "Somos muchos ojos",
|
||||||
"Usamos diferentes fuentes de datos para notificarte de fuegos activos en tus zonas de interés": "Usamos diferentes fuentes de datos para notificarte de fuegos activos en tus zonas de interés",
|
"Usamos diferentes fuentes de datos para notificarte de fuegos activos en tus zonas de interés": "Usamos diferentes fuentes de datos para notificarte de fuegos activos en tus zonas de interés",
|
||||||
"Usa nuestro bot de Telegram para estar al tanto de los fuegos en tus área": "Usa nuestro bot de Telegram para estar al tanto de los fuegos en tus área",
|
"Usa nuestro bot de Telegram para estar al tanto de los fuegos en tus área": "Usa nuestro bot de Telegram para estar al tanto de los fuegos en tus área",
|
||||||
"Correo electronico": "Correo electronico",
|
|
||||||
"Recibe nuestras notificaciones de fuegos por correo": "Recibe nuestras notificaciones de fuegos por correo",
|
|
||||||
"Otros dispositivos": "Otros dispositivos",
|
"Otros dispositivos": "Otros dispositivos",
|
||||||
"support-us-home": "Estamos desarrollando nuestras herramientas para otros dispositivos. Puedes <1>contribuir a hacerlo posible.</1>",
|
"support-us-home": "Estamos desarrollando nuestras herramientas para otros dispositivos. Puedes <1>contribuir a hacerlo posible.</1>",
|
||||||
"Software Libre": "Software Libre",
|
"Software Libre": "Software Libre",
|
||||||
|
|
@ -202,5 +200,24 @@
|
||||||
"añadir comentarios": "añadir comentarios",
|
"añadir comentarios": "añadir comentarios",
|
||||||
"puntuar comentarios": "puntuar comentarios",
|
"puntuar comentarios": "puntuar comentarios",
|
||||||
"responder": "responder",
|
"responder": "responder",
|
||||||
"Más comentarios": "Más comentarios"
|
"Más comentarios": "Más comentarios",
|
||||||
|
"Elige un lugar": "Elige un lugar",
|
||||||
|
"Elige un radio de vigilancia": "Elige un radio de vigilancia",
|
||||||
|
"Recibe alertas de fuegos en esa zona": "Recibe alertas de fuegos en esa zona",
|
||||||
|
"Alerta cuando hay un fuego": "Alerta cuando hay un fuego",
|
||||||
|
"Anterior": "Anterior",
|
||||||
|
"Siguiente": "Siguiente",
|
||||||
|
"Siempre alerta a los fuegos en nuestro vecindario": "Siempre alerta a los fuegos en nuestro vecindario",
|
||||||
|
"Información adicional sobre fuego detectado en {{where}} el {{when}}": "Información adicional sobre fuego detectado en {{where}} el {{when}}",
|
||||||
|
"Coordenadas:": "Coordenadas:",
|
||||||
|
"Fuego detectado por satélites de la NASA {{when}}": "Fuego detectado por satélites de la NASA {{when}}",
|
||||||
|
"Puedes añadir un comentario si tienes información adicional sobre este fuego.": "Puedes añadir un comentario si tienes información adicional sobre este fuego.",
|
||||||
|
"Por ejemplo:": "Por ejemplo:",
|
||||||
|
"si conoces esta zona y cómo acceder al fuego (esto puede de ser de ayuda para apagarlo si sigue activo o para investigarlo en un futuro)": "si conoces esta zona y cómo acceder al fuego (esto puede de ser de ayuda para apagarlo si sigue activo o para investigarlo en un futuro)",
|
||||||
|
"si conoces el motivo por el que comenzó el fuego": "si conoces el motivo por el que comenzó el fuego",
|
||||||
|
"si quieres denunciar algún tipo de ilegalidad, incluso anónimamente": "si quieres denunciar algún tipo de ilegalidad, incluso anónimamente",
|
||||||
|
"o cualquier otra información": "o cualquier otra información",
|
||||||
|
"Haga zoom en una zona de su interés si quiere que los fuegos se actualicen en tiempo real.": "Haga zoom en una zona de su interés si quiere que los fuegos se actualicen en tiempo real.",
|
||||||
|
"Notificaciones": "Notificaciones",
|
||||||
|
"Recibe nuestras notificaciones de fuegos por correo o en tu navegador": "Recibe nuestras notificaciones de fuegos por correo o en tu navegador"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue