aboutsummaryrefslogtreecommitdiff
path: root/lib/xesite_templates/src
diff options
context:
space:
mode:
authorXe Iaso <me@xeiaso.net>2023-04-01 18:25:27 -0400
committerXe Iaso <me@xeiaso.net>2023-04-01 18:25:27 -0400
commite9e7ec80af0d2cae67c9dcf2cef64ca54a731046 (patch)
treec871c9ffd49b1884c6af234f584eaf8922d377a2 /lib/xesite_templates/src
parent15d48d4e910ec30746233599c3a577e8c3be0581 (diff)
downloadxesite-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.rs46
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 {