From b10f29fc5e857f316e31796f99dd6f1f0ce95df1 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Thu, 13 Apr 2023 00:24:39 +0000 Subject: [PATCH] fix uploads --- .../app/src/pages/music/creator/index.jsx | 82 ++++++++----------- .../app/src/pages/music/creator/index.less | 39 ++++----- 2 files changed, 51 insertions(+), 70 deletions(-) diff --git a/packages/app/src/pages/music/creator/index.jsx b/packages/app/src/pages/music/creator/index.jsx index b537fcf8..5fcf4481 100755 --- a/packages/app/src/pages/music/creator/index.jsx +++ b/packages/app/src/pages/music/creator/index.jsx @@ -20,8 +20,6 @@ const UploadHint = (props) => { } const FileListItem = React.memo((props) => { - console.log(props) - const isUploading = props.track.status === "uploading" return @@ -46,6 +44,10 @@ const FileListItem = React.memo((props) => { }
+
+ +
+ Track cover { - this.setState({ - fileList: this.state.fileList.filter((file) => file.uid !== uid), - trackList: this.state.trackList.filter((file) => file.uid !== uid) - }) - } - handleTrackCoverChange = (uid) => { // open a file dialog const fileInput = document.createElement("input") @@ -201,7 +196,7 @@ export default class PlaylistCreator extends React.Component { this.setState({ fileList: this.state.fileList.filter((file) => file.uid !== uid), trackList: this.state.trackList.filter((file) => file.uid !== uid), - pendingUploads: this.state.pendingUploads.filter((uid) => uid !== uid) + pendingUploads: this.state.pendingUploads.filter((file_uid) => file_uid !== uid) }) } @@ -252,9 +247,7 @@ export default class PlaylistCreator extends React.Component { } case "error": { // remove pending file - this.setState({ - pendingUploads: this.state.pendingUploads.filter(uid => uid !== change.file.uid) - }) + this.removeTrack(change.file.uid) // open a dialog to show the error and ask user to retry antd.Modal.error({ @@ -271,7 +264,6 @@ export default class PlaylistCreator extends React.Component { }) } case "removed": { - // remove from file list and if it's pending, remove from pending list this.removeTrack(change.file.uid) } @@ -282,7 +274,9 @@ export default class PlaylistCreator extends React.Component { } handleUpload = async (req) => { - const response = await FilesModel.uploadFile(req.file).catch((error) => { + const response = await FilesModel.uploadFile(req.file, { + timeout: 2000 + }).catch((error) => { console.error(error) antd.message.error(error) @@ -383,12 +377,12 @@ export default class PlaylistCreator extends React.Component { let playlistPublishResponse = null - if (this.props.query.playlist_id) { - console.log(`Playlist ${this.props.query.playlist_id} is already published. Updating...`) + if (this.props.playlist_id) { + console.log(`Playlist ${this.props.playlist_id} is already published. Updating...`) // update the playlist playlistPublishResponse = await PlaylistModel.updatePlaylist({ - _id: this.props.query.playlist_id, + _id: this.props.playlist_id, title: playlistName, description: playlistDescription, thumbnail: playlistThumbnail, @@ -434,7 +428,7 @@ export default class PlaylistCreator extends React.Component { loading: true }) - const deleteResponse = await PlaylistModel.deletePlaylist(this.props.query.playlist_id).catch((error) => { + const deleteResponse = await PlaylistModel.deletePlaylist(this.props.playlist_id).catch((error) => { console.error(error) antd.message.error(error) @@ -519,10 +513,10 @@ export default class PlaylistCreator extends React.Component { } componentDidMount() { - console.log(this.props.query.playlist_id) + console.log(this.props.playlist_id) - if (this.props.query.playlist_id) { - this.loadData(this.props.query.playlist_id) + if (this.props.playlist_id) { + this.loadData(this.props.playlist_id) } window._hacks = { @@ -537,25 +531,6 @@ export default class PlaylistCreator extends React.Component { render() { return
-
-

- - Creator -

- -
- { - this.props.query.playlist_id && - Delete Playlist - - } -
-
-
-
+ { this.state.playlistThumbnail &&
cover @@ -598,6 +576,7 @@ export default class PlaylistCreator extends React.Component {
} + { !this.state.playlistThumbnail && { @@ -607,7 +586,6 @@ export default class PlaylistCreator extends React.Component { }} multiple={false} accept="image/*" - icon={} > Upload cover @@ -651,7 +629,7 @@ export default class PlaylistCreator extends React.Component { return this.handleTrackTitleOnChange(event, track.uid) }} onClickRemove={() => { - return this.handleTrackRemove(track.uid) + return this.removeTrack(track.uid) }} /> }) @@ -676,7 +654,7 @@ export default class PlaylistCreator extends React.Component { }
-
+
Publish + + { + this.props.playlist_id && + Delete Playlist + + }
diff --git a/packages/app/src/pages/music/creator/index.less b/packages/app/src/pages/music/creator/index.less index 22699646..6d40cdbd 100755 --- a/packages/app/src/pages/music/creator/index.less +++ b/packages/app/src/pages/music/creator/index.less @@ -9,34 +9,14 @@ transition: all 0.3s ease-in-out; - .header { + .actions { display: flex; flex-direction: row; align-items: center; - justify-content: space-between; - - font-size: 1rem; + justify-content: flex-end; - width: 100%; - - margin-bottom: 10px; - - .actions { - display: flex; - flex-direction: row; - - align-items: center; - justify-content: flex-end; - - .ant-btn { - margin-left: 10px; - - &:first-child { - margin-left: 0; - } - } - } + gap: 20px; } .inputField { @@ -154,6 +134,8 @@ img { filter: blur(3px); } + + pointer-events: none; } } @@ -197,6 +179,17 @@ object-fit: cover; border-radius: 12px; } + + .fileListItem_cover_mask { + opacity: 0; + backdrop-filter: blur(3px); + } + + &:hover { + .fileListItem_cover_mask { + opacity: 1; + } + } } .fileListItem_details {