From 96238ee0183ac9c5c48b20cd129a8f7f1523d790 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Wed, 24 May 2023 17:36:03 +0000 Subject: [PATCH] Support for sync mode --- .../components/EmbbededMediaPlayer/index.jsx | 33 +++++++++++++++++-- .../components/EmbbededMediaPlayer/index.less | 25 ++++++-------- 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/packages/app/src/components/EmbbededMediaPlayer/index.jsx b/packages/app/src/components/EmbbededMediaPlayer/index.jsx index 1f9ebd05..bb0102af 100755 --- a/packages/app/src/components/EmbbededMediaPlayer/index.jsx +++ b/packages/app/src/components/EmbbededMediaPlayer/index.jsx @@ -212,7 +212,7 @@ export class SeekBar extends React.Component { { return } @@ -290,9 +291,18 @@ export default class AudioPlayer extends React.Component { showControls: false, minimized: false, streamMode: false, + + syncModeLocked: app.cores.player.getState("syncModeLocked"), + syncMode: app.cores.player.getState("syncMode"), } events = { + "player.syncModeLocked.update": (to) => { + this.setState({ syncModeLocked: to }) + }, + "player.syncMode.update": (to) => { + this.setState({ syncMode: to }) + }, "player.livestream.update": (data) => { this.setState({ streamMode: data }) }, @@ -353,6 +363,10 @@ export default class AudioPlayer extends React.Component { app.cores.player.close() } + inviteSync = () => { + app.cores.sync.music.createSyncRoom() + } + updateVolume = (value) => { app.cores.player.volume(value) } @@ -405,6 +419,15 @@ export default class AudioPlayer extends React.Component { onClick={this.minimize} shape="circle" /> + + { + !this.state.syncModeLocked && !this.state.syncMode && } + onClick={this.inviteSync} + shape="circle" + /> + } + } onClick={this.close} @@ -442,12 +465,15 @@ export default class AudioPlayer extends React.Component {
- + } onClick={this.onClickPreviousButton} + disabled={this.state.syncModeLocked} /> : playbackStatus === "playing" ? : } onClick={this.onClickPlayButton} className="playButton" + disabled={this.state.syncModeLocked} > { loading &&
@@ -470,6 +497,7 @@ export default class AudioPlayer extends React.Component { shape="round" icon={} onClick={this.onClickNextButton} + disabled={this.state.syncModeLocked} />
diff --git a/packages/app/src/components/EmbbededMediaPlayer/index.less b/packages/app/src/components/EmbbededMediaPlayer/index.less index a6383e56..33110082 100755 --- a/packages/app/src/components/EmbbededMediaPlayer/index.less +++ b/packages/app/src/components/EmbbededMediaPlayer/index.less @@ -1,10 +1,4 @@ .embbededMediaPlayerWrapper { - position: absolute; - z-index: 300; - - right: 0; - bottom: 0; - display: flex; flex-direction: row; @@ -14,8 +8,6 @@ width: 270px; height: fit-content; - margin: 40px; - border-radius: 12px; pointer-events: initial; @@ -25,6 +17,9 @@ &.minimized { pointer-events: none; opacity: 0; + + height: 0px; + width: 0px; } &.hovering { @@ -93,7 +88,7 @@ } } - .extra_btns_wrapper{ + .extra_btns_wrapper { position: absolute; z-index: 330; @@ -105,21 +100,21 @@ .extra_btns { display: flex; - + flex-direction: row; align-items: center; justify-content: space-between; - + opacity: 0; - + transition: all 150ms ease-in-out; - + //transform: translate(60%, 60%); - + .ant-btn { background-color: var(--background-color-accent); - + svg { margin: 0 !important; }