MCPcopy
hub / github.com/Musish/Musish / render

Method render

src/app/components/Common/Player/Player.tsx:105–213  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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>

Callers 1

ModalFunction · 0.45

Calls 2

artworkForMediaItemFunction · 0.90
isShuffledFunction · 0.90

Tested by

no test coverage detected