Agregar mensaje que se muestra a navegadores que no soportan backdrop-filter

master
Araozu 2021-02-22 21:05:01 -05:00
parent 01cd27c8cc
commit eff70ef9d5
5 changed files with 28 additions and 2 deletions

View File

@ -1,12 +1,25 @@
import { BarraSuperior } from "./BarraSuperior"; import { BarraSuperior } from "./BarraSuperior";
import { ContenedorHorarios } from "./ContenedorHorarios/"; import { ContenedorHorarios } from "./ContenedorHorarios/";
import { Wallpaper } from "./Wallpaper"; import { Wallpaper } from "./Wallpaper";
import { Show } from "solid-js";
import { css } from "aphrodite";
import { estilosGlobales } from "./Estilos";
function App() { function App() {
/// @ts-ignore
const soportaBackdropFilter = document.body.style.backdropFilter !== undefined;
return ( return (
<div class="App"> <div class="App">
<Wallpaper/> <Wallpaper/>
<BarraSuperior/> <BarraSuperior/>
<Show when={!soportaBackdropFilter}>
<div className={css(estilosGlobales.contenedor)}>
Tu navegador no soporta "backdrop-filter". Este es solo un efecto
visual, no afecta la funcionalidad de la página.&nbsp;
<span>No volver a mostrar.</span>
</div>
</Show>
<br/> <br/>
<ContenedorHorarios/> <ContenedorHorarios/>
</div> </div>

View File

@ -46,11 +46,14 @@ export function MiHorario() {
*/} */}
</div> </div>
<div className={css( <div className={css(
e.horario, e.horario,
estilosGlobales.contenedor estilosGlobales.contenedor
)}> )}>
<Tabla data={{}} anio={"Mi horario"} version={1}/> <Tabla data={{}} anio={"Mi horario"} version={1}/>
</div> </div>
</div>; </div>;
} }

View File

@ -5,6 +5,10 @@ import { createSignal, createMemo, createEffect, createState } from "solid-js";
const duracionTransicion = 250; const duracionTransicion = 250;
export function Wallpaper() { export function Wallpaper() {
/// @ts-ignore
const soportaBackdropFilter = document.body.style.backdropFilter !== undefined;
console.log("Soporta backdrop-filter?:", soportaBackdropFilter);
const estilos = StyleSheet.create({ const estilos = StyleSheet.create({
contenedorCover: { contenedorCover: {
position: "fixed", position: "fixed",
@ -12,7 +16,8 @@ export function Wallpaper() {
height: "100vh", height: "100vh",
top: "0", top: "0",
left: "0", left: "0",
backgroundColor: "#212121" backgroundColor: "#212121",
zIndex: -1
}, },
cover: { cover: {
width: "100vw", width: "100vw",
@ -20,7 +25,8 @@ export function Wallpaper() {
backgroundPosition: "center", backgroundPosition: "center",
backgroundSize: "cover", backgroundSize: "cover",
zIndex: -1, zIndex: -1,
transition: `opacity ${duracionTransicion}ms` transition: `opacity ${duracionTransicion}ms`,
filter: soportaBackdropFilter? "": "blur(40px)"
}, },
coverTransicion: { coverTransicion: {
opacity: 0 opacity: 0

View File

@ -2,5 +2,6 @@ import "solid-js";
import { render } from 'solid-js/web'; import { render } from 'solid-js/web';
import App from './App'; import App from './App';
import "normalize.css"; import "normalize.css";
import "./styles/global.css";
render(App, document.getElementById('root') as Node); render(App, document.getElementById('root') as Node);

3
src/styles/global.css Normal file
View File

@ -0,0 +1,3 @@
body {
font-family: Inter, sans-serif;
}