Fix issues
This commit is contained in:
		
							parent
							
								
									55fc0437a4
								
							
						
					
					
						commit
						bb3a912cf3
					
				
							
								
								
									
										15
									
								
								index.html
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								index.html
									
									
									
									
									
								
							| @ -15,18 +15,11 @@ | ||||
|                 node: document.getElementById('container') | ||||
|             }); | ||||
| 
 | ||||
|             function setup(args) { | ||||
|                 if (document.getElementById(args[0]) != undefined) { | ||||
|                     vd.setup(args[0], args[1] + "/manifest.mpd") | ||||
|                 } else { | ||||
|                     setTimeout(function() { | ||||
|                         setup(args); | ||||
|                     }, 50); | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             app.ports.registerVideo.subscribe(function(args) { | ||||
|                 setup(args); | ||||
|                 requestAnimationFrame(function() { | ||||
|                     console.log(args); | ||||
|                     vd.setup(args[0], args[1] + "/manifest.mpd") | ||||
|                 }); | ||||
|             }); | ||||
|         </script> | ||||
|     </body> | ||||
|  | ||||
| @ -1,7 +1,6 @@ | ||||
| module Core exposing (FullModel(..), Model, Msg(..), Page(..), init, update) | ||||
| 
 | ||||
| import Browser.Navigation as Nav | ||||
| import Consts | ||||
| import Json.Decode as Decode | ||||
| import Ports | ||||
| import Task | ||||
| @ -70,7 +69,7 @@ update msg model = | ||||
|             ( Loaded { m | page = Video playlist video } | ||||
|             , Cmd.batch | ||||
|                 [ Nav.pushUrl m.key ("#" ++ playlist.url ++ Twitch.videoName video) | ||||
|                 , Ports.registerVideo ( "video", video.url ) | ||||
|                 , Ports.registerVideo ( Twitch.videoId video, video.url ) | ||||
|                 ] | ||||
|             ) | ||||
| 
 | ||||
| @ -105,7 +104,7 @@ update msg model = | ||||
|                     case ( playlist, video ) of | ||||
|                         ( Just p, Just v ) -> | ||||
|                             ( Video p v | ||||
|                             , Ports.registerVideo ( Consts.videoId, v.url ) | ||||
|                             , Ports.registerVideo ( Twitch.videoId v, v.url ) | ||||
|                             ) | ||||
| 
 | ||||
|                         ( Just p, Nothing ) -> | ||||
|  | ||||
| @ -3,6 +3,7 @@ module Twitch exposing | ||||
|     , Video | ||||
|     , fetchPlaylists | ||||
|     , playlistMiniatureUrl | ||||
|     , videoId | ||||
|     , videoMiniatureUrl | ||||
|     , videoName | ||||
|     ) | ||||
| @ -35,6 +36,11 @@ videoName video = | ||||
|     String.join "/" (List.drop 3 (String.split "/" video.url)) | ||||
| 
 | ||||
| 
 | ||||
| videoId : Video -> String | ||||
| videoId video = | ||||
|     String.dropLeft 1 video.url |> String.replace "/" "-" | ||||
| 
 | ||||
| 
 | ||||
| get : { url : String, resolver : Http.Resolver x a } -> Task x a | ||||
| get { url, resolver } = | ||||
|     Http.task | ||||
|  | ||||
| @ -9,6 +9,7 @@ import Element.Background as Background | ||||
| import Element.Border as Border | ||||
| import Element.Font as Font | ||||
| import Element.Input as Input | ||||
| import Element.Keyed as Keyed | ||||
| import Html | ||||
| import Html.Attributes | ||||
| import Json.Encode as Encode | ||||
| @ -228,9 +229,16 @@ videoMiniatureView zone playlist video = | ||||
|     button | ||||
| 
 | ||||
| 
 | ||||
| videoInList : Time.Zone -> Twitch.Playlist -> Twitch.Video -> Element Core.Msg | ||||
| videoInList zone playlist video = | ||||
| videoInList : Time.Zone -> Twitch.Playlist -> Twitch.Video -> Twitch.Video -> Element Core.Msg | ||||
| videoInList zone playlist activeVideo video = | ||||
|     let | ||||
|         msg = | ||||
|             if video == activeVideo then | ||||
|                 Nothing | ||||
| 
 | ||||
|             else | ||||
|                 Just (Core.VideoClicked playlist video) | ||||
| 
 | ||||
|         label = | ||||
|             Element.row [ Element.width Element.fill, Element.spacing 10 ] | ||||
|                 [ Element.el [ Element.width (Element.fillPortion 2) ] | ||||
| @ -240,7 +248,7 @@ videoInList zone playlist video = | ||||
|                 ] | ||||
|     in | ||||
|     Input.button [ Element.width Element.fill ] | ||||
|         { label = label, onPress = Just (Core.VideoClicked playlist video) } | ||||
|         { label = label, onPress = msg } | ||||
| 
 | ||||
| 
 | ||||
| videoView : Time.Zone -> Twitch.Playlist -> Twitch.Video -> Element Core.Msg | ||||
| @ -250,15 +258,18 @@ videoView zone playlist video = | ||||
|             [ Element.width (Element.fillPortion 2) | ||||
|             , Element.htmlAttribute (Html.Attributes.style "height" "auto") | ||||
|             ] | ||||
|             [ Element.html | ||||
|                 (Html.video | ||||
|                     [ Html.Attributes.id Consts.videoId | ||||
|                     , Html.Attributes.class "video-js vjs-default-skin wf" | ||||
|                     , Html.Attributes.property "data-setup" (Encode.string "{\"fluid\": true}") | ||||
|                     , Html.Attributes.controls True | ||||
|                     , Html.Attributes.autoplay True | ||||
|                     ] | ||||
|                     [] | ||||
|             [ Keyed.el [ Element.width Element.fill ] | ||||
|                 ( video.url | ||||
|                 , Element.html | ||||
|                     (Html.video | ||||
|                         [ Html.Attributes.id (Twitch.videoId video) | ||||
|                         , Html.Attributes.class "video-js vjs-default-skin wf" | ||||
|                         , Html.Attributes.property "data-setup" (Encode.string "{\"fluid\": true}") | ||||
|                         , Html.Attributes.controls True | ||||
|                         , Html.Attributes.autoplay True | ||||
|                         ] | ||||
|                         [] | ||||
|                     ) | ||||
|                 ) | ||||
|             , Element.paragraph | ||||
|                 [ Font.size Consts.homeFontSize | ||||
| @ -271,7 +282,7 @@ videoView zone playlist video = | ||||
|                 [ Element.text ("Diffusé le " ++ formatDate zone video.date) ] | ||||
|             ] | ||||
|         , Element.column [ Element.alignTop, Element.spacing 10, Element.width (Element.fillPortion 1) ] | ||||
|             (List.map (videoInList zone playlist) playlist.videos) | ||||
|             (List.map (videoInList zone playlist video) playlist.videos) | ||||
|         ] | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user