@ -25,14 +25,17 @@ function millisecondsToString(milliseconds) {
return parts . map ( ( part ) => part . toString ( ) . padStart ( 2 , "0" ) ) . join ( ":" ) ;
}
function SingleSessionEntry ( { session } ) {
const { full _title , duration , view _offset , progress _percent , state , video _decision , audio _decision } = session ;
function SingleSessionEntry ( { session , enableUser } ) {
const { full _title , duration , view _offset , progress _percent , state , video _decision , audio _decision , username } = session ;
return (
< >
< 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-xs z-10 self-center ml-2 relative w-full h-4 grow mr-2" >
< div className = "absolute w-full whitespace-nowrap text-ellipsis overflow-hidden" > { full _title } < / div >
< div className = "absolute w-full whitespace-nowrap text-ellipsis overflow-hidden" >
{ full _title }
{ enableUser && ` ( ${ username } ) ` }
< / div >
< / div >
< div className = "self-center text-xs flex justify-end mr-1.5 pl-1" >
{ video _decision === "direct play" && audio _decision === "direct play" && (
@ -74,8 +77,8 @@ function SingleSessionEntry({ session }) {
) ;
}
function SessionEntry ( { session } ) {
const { full _title , view _offset , progress _percent , state , video _decision , audio _decision } = session ;
function SessionEntry ( { session , enableUser } ) {
const { full _title , view _offset , progress _percent , state , video _decision , audio _decision , username } = session ;
return (
< 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" >
@ -94,7 +97,10 @@ function SessionEntry({ session }) {
) }
< / div >
< div className = "text-xs z-10 self-center ml-2 relative w-full h-4 grow mr-2" >
< div className = "absolute w-full whitespace-nowrap text-ellipsis overflow-hidden" > { full _title } < / div >
< div className = "absolute w-full whitespace-nowrap text-ellipsis overflow-hidden" >
{ full _title }
{ enableUser && ` ( ${ username } ) ` }
< / div >
< / div >
< div className = "self-center text-xs flex justify-end mr-1.5 pl-1 z-10" >
{ video _decision === "direct play" && audio _decision === "direct play" && (
@ -162,11 +168,13 @@ export default function Component({ service }) {
) ;
}
const enableUser = service . widget ? . enableUser ? ? true ;
if ( playing . length === 1 ) {
const session = playing [ 0 ] ;
return (
< div className = "flex flex-col pb-1 mx-1" >
< SingleSessionEntry session = { session } / >
< SingleSessionEntry session = { session } enableUser = { enableUser } / >
< / div >
) ;
}
@ -174,7 +182,7 @@ export default function Component({ service }) {
return (
< div className = "flex flex-col pb-1 mx-1" >
{ playing . map ( ( session ) => (
< SessionEntry key = { session . Id } session = { session } / >
< SessionEntry key = { session . Id } session = { session } enableUser = { enableUser } / >
) ) }
< / div >
) ;