From 4b11edfbd9502d87bc56ce75f819b5bb923a9780 Mon Sep 17 00:00:00 2001 From: schmelczerandras Date: Fri, 4 Dec 2020 22:38:57 +0100 Subject: [PATCH] Fix video loading --- src/data/ad-astra.ts | 6 +++-- src/data/city-simulation.ts | 6 +++-- src/data/forex.ts | 6 +++-- src/data/leds.ts | 6 +++-- src/data/platform-game.ts | 6 +++-- src/page/basics/preview/preview.html.ts | 2 +- src/page/basics/video/video.html.ts | 17 ++++++++++--- src/page/basics/video/video.scss | 34 +++++++++++++++++++++++++ src/page/basics/video/video.ts | 13 +++++++++- 9 files changed, 80 insertions(+), 16 deletions(-) diff --git a/src/data/ad-astra.ts b/src/data/ad-astra.ts index a6982fe..a121198 100644 --- a/src/data/ad-astra.ts +++ b/src/data/ad-astra.ts @@ -1,4 +1,5 @@ -import adAstraPoster from '../static/media/ad_astra.jpg?format=jpg'; +import adAstraWebP from '../static/media/ad_astra.jpg?format=webp'; +import adAstraJpeg from '../static/media/ad_astra.jpg?format=jpg'; import adAstraMp4 from '../static/media/mp4/ad_astra.mp4'; import adAstraWebM from '../static/media/webm/ad_astra.webm'; @@ -9,7 +10,8 @@ export const adAstraTimelineElement = { title: `Gaming on an ATtiny85`, date: `2020 Spring`, figure: new Video({ - poster: adAstraPoster, + posterWebP: adAstraWebP, + posterJpeg: adAstraJpeg, mp4: adAstraMp4, webm: adAstraWebM, }), diff --git a/src/data/city-simulation.ts b/src/data/city-simulation.ts index ce5e8ca..9586db6 100644 --- a/src/data/city-simulation.ts +++ b/src/data/city-simulation.ts @@ -1,4 +1,5 @@ -import citySimulationPoster from '../static/media/simulation.jpg?format=jpg'; +import citySimulationPosterWebP from '../static/media/simulation.jpg?format=webp'; +import citySimulationPosterJpeg from '../static/media/simulation.jpg?format=jpg'; import citySimulationMp4 from '../static/media/mp4/simulation.mp4'; import citySimulationWebM from '../static/media/webm/simulation.webm'; @@ -8,7 +9,8 @@ export const citySimulationTimelineElement = { date: `2018 July - August`, title: `City simulation`, figure: new Video({ - poster: citySimulationPoster, + posterWebP: citySimulationPosterWebP, + posterJpeg: citySimulationPosterJpeg, mp4: citySimulationMp4, webm: citySimulationWebM, }), diff --git a/src/data/forex.ts b/src/data/forex.ts index d0d0a7c..bba505e 100644 --- a/src/data/forex.ts +++ b/src/data/forex.ts @@ -1,6 +1,7 @@ +import forexPosterWebP from '../static/media/forex.jpg?format=webp'; +import forexPosterJpeg from '../static/media/forex.jpg?format=jpg'; import forexMp4 from '../static/media/mp4/forex.mp4'; import forexWebM from '../static/media/webm/forex.webm'; -import forexPoster from '../static/media/forex.jpg'; import { Video } from '../page/basics/video/video'; @@ -8,7 +9,8 @@ export const forexTimelineElement = { title: `Predicting foreign exchange rates`, date: `2019 Autumn`, figure: new Video({ - poster: forexPoster, + posterWebP: forexPosterWebP, + posterJpeg: forexPosterJpeg, mp4: forexMp4, webm: forexWebM, invertButton: true, diff --git a/src/data/leds.ts b/src/data/leds.ts index a7e2972..810339e 100644 --- a/src/data/leds.ts +++ b/src/data/leds.ts @@ -1,4 +1,5 @@ -import ledPoster from '../static/media/led.jpg?format=jpg'; +import ledPosterWebP from '../static/media/led.jpg?format=webp'; +import ledPosterJpeg from '../static/media/led.jpg?format=jpg'; import ledMp4 from '../static/media/mp4/led.mp4'; import ledWebM from '../static/media/webm/led.webm'; @@ -8,7 +9,8 @@ export const ledsTimelineElement = { date: `2016 spring`, title: `Lights synchronised to music`, figure: new Video({ - poster: ledPoster, + posterWebP: ledPosterWebP, + posterJpeg: ledPosterJpeg, mp4: ledMp4, webm: ledWebM, }), diff --git a/src/data/platform-game.ts b/src/data/platform-game.ts index 37d2f5b..7d4b8ee 100644 --- a/src/data/platform-game.ts +++ b/src/data/platform-game.ts @@ -1,4 +1,5 @@ -import platformJpeg from '../static/media/platform.png?format=jpg'; +import platformPosterWebP from '../static/media/platform.png?format=webp'; +import platformPosterJpeg from '../static/media/platform.png?format=jpg'; import platformMp4 from '../static/media/mp4/platform.mp4'; import platformWebM from '../static/media/webm/platform.webm'; @@ -8,7 +9,8 @@ export const platformGameTimelineElement = { date: `2017 autumn`, title: `Platform game`, figure: new Video({ - poster: platformJpeg, + posterWebP: platformPosterWebP, + posterJpeg: platformPosterJpeg, mp4: platformMp4, webm: platformWebM, }), diff --git a/src/page/basics/preview/preview.html.ts b/src/page/basics/preview/preview.html.ts index aa93987..770483f 100644 --- a/src/page/basics/preview/preview.html.ts +++ b/src/page/basics/preview/preview.html.ts @@ -5,7 +5,7 @@ import { html } from '../../../types/html'; export const generate = ({ alt }: { alt: string }): html => `
- +
${loading}
diff --git a/src/page/basics/video/video.html.ts b/src/page/basics/video/video.html.ts index c254041..daf8ed5 100644 --- a/src/page/basics/video/video.html.ts +++ b/src/page/basics/video/video.html.ts @@ -1,14 +1,23 @@ import './video.scss'; +import loading from '../../../static/icons/loading.svg'; + import { html } from '../../../types/html'; import play from '../../../static/icons/play-button.svg'; import { VideoParameters } from './video'; -import { last } from '../../../helper/last'; -export const generate = ({ webm, mp4, poster, invertButton }: VideoParameters): html => ` -
-