import React from "react" import * as antd from "antd" import CoverEditor from "@components/CoverEditor" import { Icons } from "@components/Icons" import LyricsEditor from "@components/MusicStudio/LyricsEditor" import VideoEditor from "@components/MusicStudio/VideoEditor" import "./index.less" const TrackEditor = (props) => { const [track, setTrack] = React.useState(props.track ?? {}) async function handleChange(key, value) { setTrack((prev) => { return { ...prev, [key]: value } }) } async function openLyricsEditor() { app.layout.drawer.open("lyrics_editor", LyricsEditor, { type: "drawer", props: { width: "600px", headerStyle: { display: "none", } }, componentProps: { track, onSave: (lyrics) => { console.log("Saving lyrics for track >", lyrics) }, }, }) } async function openVideoEditor() { app.layout.drawer.open("video_editor", VideoEditor, { type: "drawer", props: { width: "600px", headerStyle: { display: "none", } }, componentProps: { track, onSave: (video) => { console.log("Saving video for track", video) }, }, }) } async function onClose() { if (typeof props.close === "function") { props.close() } } async function onSave() { await props.onSave(track) if (typeof props.close === "function") { props.close() } } return
Cover
handleChange("cover", url)} extraActions={[ Use Parent ]} />
Title
handleChange("title", e.target.value)} />
Artist
handleChange("artist", e.target.value)} />
Album
handleChange("album", e.target.value)} />
Explicit
handleChange("explicit", value)} />
Edit Video
Edit
Edit Lyrics
Edit
Timestamps
Edit
} onClick={onClose} > Cancel } onClick={onSave} > Save
} export default TrackEditor