@ -27,22 +27,25 @@ function ticksToString(ticks) {
return parts . map ( ( part ) => part . toString ( ) . padStart ( 2 , "0" ) ) . join ( ":" ) ;
return parts . map ( ( part ) => part . toString ( ) . padStart ( 2 , "0" ) ) . join ( ":" ) ;
}
}
function generateStreamTitle ( session , showEpisodeNumber) {
function generateStreamTitle ( session , enableUser, showEpisodeNumber) {
const {
const {
NowPlayingItem : { Name , SeriesName , Type , ParentIndexNumber , IndexNumber } ,
NowPlayingItem : { Name , SeriesName , Type , ParentIndexNumber , IndexNumber } ,
UserName ,
} = session ;
} = session ;
let streamTitle = "" ;
if ( Type === "Episode" && showEpisodeNumber ) {
if ( Type === "Episode" && showEpisodeNumber ) {
return ` ${ SeriesName } : S ${ ParentIndexNumber . toString ( ) . padStart ( 2 , "0" ) } · E ${ IndexNumber . toString ( ) . padStart ( 2 , "0" ) } - ${ Name } ` ;
streamTitle = ` ${ SeriesName } : S ${ ParentIndexNumber . toString ( ) . padStart ( 2 , "0" ) } · E ${ IndexNumber . toString ( ) . padStart ( 2 , "0" ) } - ${ Name } ` ;
} else {
streamTitle = ` ${ Name } ${ SeriesName ? ` - ${ SeriesName } ` : "" } ` ;
}
}
return ` ${ Name } ${ SeriesName ? ` - ${ SeriesName } ` : "" } ` ;
return enableUser ? ` ${ streamTitle } ( ${ UserName } ) ` : streamTitle ;
}
}
function SingleSessionEntry ( { playCommand , session , enableUser , showEpisodeNumber } ) {
function SingleSessionEntry ( { playCommand , session , enableUser , showEpisodeNumber } ) {
const {
const {
PlayState : { PositionTicks , IsPaused , IsMuted } ,
PlayState : { PositionTicks , IsPaused , IsMuted } ,
UserName ,
} = session ;
} = session ;
const RunTimeTicks =
const RunTimeTicks =
@ -59,9 +62,8 @@ function SingleSessionEntry({ playCommand, session, enableUser, showEpisodeNumbe
< >
< >
< div className = "text-theme-700 dark:text-theme-200 relative h-5 w-full rounded-md bg-theme-200/50 dark:bg-theme-900/20 mt-1 flex" >
< div className = "text-theme-700 dark:text-theme-200 relative h-5 w-full rounded-md bg-theme-200/50 dark:bg-theme-900/20 mt-1 flex" >
< div className = "grow text-xs z-10 self-center ml-2 relative w-full h-4 mr-2" >
< div className = "grow text-xs z-10 self-center ml-2 relative w-full h-4 mr-2" >
< div className = "absolute w-full whitespace-nowrap text-ellipsis overflow-hidden" >
< div className = "absolute w-full whitespace-nowrap text-ellipsis overflow-hidden" title = { streamTitle } >
{ streamTitle }
{ streamTitle }
{ enableUser && ` ( ${ UserName } ) ` }
< / div >
< / div >
< / div >
< / div >
< div className = "self-center text-xs flex justify-end mr-1.5 pl-1" >
< div className = "self-center text-xs flex justify-end mr-1.5 pl-1" >
@ -113,7 +115,6 @@ function SingleSessionEntry({ playCommand, session, enableUser, showEpisodeNumbe
function SessionEntry ( { playCommand , session , enableUser , showEpisodeNumber } ) {
function SessionEntry ( { playCommand , session , enableUser , showEpisodeNumber } ) {
const {
const {
PlayState : { PositionTicks , IsPaused , IsMuted } ,
PlayState : { PositionTicks , IsPaused , IsMuted } ,
UserName ,
} = session ;
} = session ;
const RunTimeTicks =
const RunTimeTicks =
@ -154,9 +155,8 @@ function SessionEntry({ playCommand, session, enableUser, showEpisodeNumber }) {
) }
) }
< / div >
< / div >
< div className = "grow text-xs z-10 self-center relative w-full h-4" >
< div className = "grow text-xs z-10 self-center relative w-full h-4" >
< div className = "absolute w-full whitespace-nowrap text-ellipsis overflow-hidden" >
< div className = "absolute w-full whitespace-nowrap text-ellipsis overflow-hidden" title = { streamTitle } >
{ streamTitle }
{ streamTitle }
{ enableUser && ` ( ${ UserName } ) ` }
< / div >
< / div >
< / div >
< / div >
< div className = "self-center text-xs flex justify-end mr-1 z-10" > { IsMuted && < BsVolumeMuteFill / > } < / div >
< div className = "self-center text-xs flex justify-end mr-1 z-10" > { IsMuted && < BsVolumeMuteFill / > } < / div >