feat: videos

This commit is contained in:
leon
2026-09-09 09:58:40 +02:00
parent 6e8b5ab66c
commit 24b267f2bf
7 changed files with 47 additions and 47 deletions
+22 -4
View File
@@ -17,6 +17,7 @@ import { background, icons } from '../../assets'
import alert from '../../components/Alert'
import BorderGradientButton from '../../components/BorderGradientButton'
import CreditAmount from '../../components/CreditAmount'
import FullscreenIntroVideo from '../../components/FullscreenIntroVideo'
import GradientButton from '../../components/GradientButton'
import ValidateModal from '../../components/modal/ValidateModal'
import MusicLandHeader from '../../components/MusicLandHeader'
@@ -42,9 +43,11 @@ const SongReady = () => {
selectedProject,
updateProjectData,
updateUserData,
videos,
} = useUser()
const [showValidateModal, setShowValidateModal] = useState(false)
const [showRegenerateModal, setShowRegenerateModal] = useState(false)
const [outroVideoUrl, setOutroVideoUrl] = useState(null)
const [musicUrls, setMusicUrls] = useState([])
const [selectedIndex, setSelectedIndex] = useState(0)
const playerRefs = useRef({})
@@ -110,6 +113,14 @@ const SongReady = () => {
})
}, [selectedProject?.musicUrls])
const navigateToCover = useCallback(() => {
setOutroVideoUrl(null)
reset({
index: 1,
routes: [{ name: Routes.BottomTab }, { name: Routes.ChooseCoverType }],
})
}, [])
const validateSelection = async () => {
try {
const url = musicUrls[selectedIndex]
@@ -145,10 +156,12 @@ const SongReady = () => {
})
await pauseAllPlayers()
reset({
index: 1,
routes: [{ name: Routes.BottomTab }, { name: Routes.ChooseCoverType }],
})
const benaiUrl = typeof videos?.benai === 'string' ? videos.benai.trim() : ''
if (benaiUrl) {
setOutroVideoUrl(benaiUrl)
} else {
navigateToCover()
}
} catch (e) {
console.log('Validate error', e?.message)
}
@@ -335,6 +348,11 @@ const SongReady = () => {
/>
</>
)}
<FullscreenIntroVideo
visible={!!outroVideoUrl}
url={outroVideoUrl}
onClose={navigateToCover}
/>
</Page>
)
}