diff options
| author | Xe Iaso <me@xeiaso.net> | 2023-04-01 18:25:27 -0400 |
|---|---|---|
| committer | Xe Iaso <me@xeiaso.net> | 2023-04-01 18:25:27 -0400 |
| commit | e9e7ec80af0d2cae67c9dcf2cef64ca54a731046 (patch) | |
| tree | c871c9ffd49b1884c6af234f584eaf8922d377a2 /lib/xesite_templates/src | |
| parent | 15d48d4e910ec30746233599c3a577e8c3be0581 (diff) | |
| download | xesite-e9e7ec80af0d2cae67c9dcf2cef64ca54a731046.tar.xz xesite-e9e7ec80af0d2cae67c9dcf2cef64ca54a731046.zip | |
move video component to a dynamic Xeact component
Signed-off-by: Xe Iaso <me@xeiaso.net>
Diffstat (limited to 'lib/xesite_templates/src')
| -rw-r--r-- | lib/xesite_templates/src/lib.rs | 46 |
1 files changed, 1 insertions, 45 deletions
diff --git a/lib/xesite_templates/src/lib.rs b/lib/xesite_templates/src/lib.rs index b1945e9..6c849ec 100644 --- a/lib/xesite_templates/src/lib.rs +++ b/lib/xesite_templates/src/lib.rs @@ -95,51 +95,7 @@ pub fn sticker(name: String, mood: String) -> Markup { } pub fn video(path: String) -> Markup { - let stream_url = format!( - "https://cdn.xeiaso.net/file/christine-static/{}/index.m3u8", - path - ); - let uuid = uuid::Uuid::new_v4(); - let uuid = format!("{uuid}").replace("-", ""); - let hls_script = PreEscaped(format!( - r#" -<script> - if (Hls.isSupported()) {{ - let video = document.getElementById('{uuid}'); - let hls = new Hls(); - let videoSrc = "{}"; - hls.on(Hls.Events.MEDIA_ATTACHED, function () {{ - console.log('video and hls.js are now bound together !'); - }}); - hls.on(Hls.Events.MANIFEST_PARSED, function (event, data) {{ - console.log( - 'manifest loaded, found ' + data.levels.length + ' quality level' - ); - }}); - hls.loadSource(videoSrc); - // bind them together - hls.attachMedia(video); - }} else if (video.canPlayType('application/vnd.apple.mpegurl')) {{ - video.src = videoSrc; - }} -</script> -"#, - stream_url - )); - - html! { - script src="/static/js/hls.js" {} - noscript { - div.warning { - (conv("Mara".into(), "hacker".into(), PreEscaped("You may need to enable JavaScript for this to work. I'm a cartoon shark, not a cop.".to_string()))) - } - } - video id=(uuid) width="100%" controls { - source src=(stream_url) r#type="application/vnd.apple.mpegurl"; - source src="https://cdn.xeiaso.net/file/christine-static/blog/HLSBROKE.mp4" r#type="video/mp4"; - } - (hls_script) - } + xeact_component("Video", serde_json::json!({"path": path})) } pub fn advertiser_nag(nag: Option<Markup>) -> Markup { |
