()
| 103 | }; |
| 104 | |
| 105 | public render() { |
| 106 | const { mk, modal, lyricsModal, queueModal } = this.props; |
| 107 | const nowPlayingItem = mk.mediaItem && mk.mediaItem.item; |
| 108 | |
| 109 | if (!nowPlayingItem) { |
| 110 | return null; |
| 111 | } |
| 112 | |
| 113 | const artworkURL = artworkForMediaItem(nowPlayingItem, 60); |
| 114 | |
| 115 | const { repeatMode } = mk.instance.player; |
| 116 | |
| 117 | const isRepeating = repeatMode === RepeatModeOne || repeatMode === RepeatModeAll; |
| 118 | |
| 119 | const hasMeta = nowPlayingItem.assets.length > 0; |
| 120 | |
| 121 | const artistName = hasMeta ? ( |
| 122 | <Link to={`/artist/${nowPlayingItem.assets[0].metadata.artistId}`}> |
| 123 | <span className={cx(styles.artistName, styles.link)}> |
| 124 | {nowPlayingItem.attributes.artistName} |
| 125 | </span> |
| 126 | </Link> |
| 127 | ) : ( |
| 128 | <span className={cx(styles.artistName)}>{nowPlayingItem.attributes.artistName}</span> |
| 129 | ); |
| 130 | |
| 131 | const albumName = hasMeta ? ( |
| 132 | <span |
| 133 | className={cx(styles.albumName, styles.link)} |
| 134 | onClick={() => this.handleOpenAlbum(modal.replace)} |
| 135 | > |
| 136 | {nowPlayingItem.attributes.albumName} |
| 137 | </span> |
| 138 | ) : ( |
| 139 | <span className={cx(styles.albumName)}>{nowPlayingItem.attributes.albumName}</span> |
| 140 | ); |
| 141 | |
| 142 | return ( |
| 143 | <div className={styles.player}> |
| 144 | <div className={styles.mainInfo}> |
| 145 | <div className={styles.picture}> |
| 146 | <img src={artworkURL} className={styles.image} alt={'album artwork'} /> |
| 147 | </div> |
| 148 | <div className={styles.track}> |
| 149 | <h1>{nowPlayingItem.title}</h1> |
| 150 | {artistName} |
| 151 | {albumName} |
| 152 | </div> |
| 153 | </div> |
| 154 | <PlayerTime nowPlayingItem={nowPlayingItem} /> |
| 155 | <div className={styles.buttons}> |
| 156 | <span onClick={this.handlePrevious}> |
| 157 | <i className={'fas fa-backward'} /> |
| 158 | </span> |
| 159 | {mk.instance.player.isPlaying ? ( |
| 160 | <span className={styles.main} onClick={pause}> |
| 161 | <i className={'fas fa-pause'} /> |
| 162 | </span> |
no test coverage detected