import * as index from "../index/index.js" export function State() { hiss.state.queue = [] hiss.state.playing = { currentTime: 0 } hiss.state.playing.track = { name: 'Nothing Playing', artist: '-', duration: Infinity, coverId: null } } export function Init() { hiss.view.player = { root: document.getElementById('player'), cover: document.getElementById('track-cover'), title: document.getElementById('track-title'), artist: document.getElementById('track-artist'), duration: document.getElementById('track-duration'), currentTime: document.getElementById('track-timestamp') } hiss.view.player.focus = hiss.view.player.root } export async function Render() { await renderInfo() } export function Open() { Render() } export async function renderInfo() { let track = hiss.state.playing.track hiss.view.player.cover.src = await index.cover.Url(track.coverId) ?? '' hiss.view.player.duration.innerText = formatTime(track.duration) hiss.view.player.title.innerText = track.name hiss.view.player.artist.innerText = track.artist } export const formatTime = currentTime => { let minutes = Math.floor(currentTime / 60).toString() let seconds = Math.floor(currentTime % 60).toString() return minutes.padStart(2, '0') + ':' + seconds.padStart(2, '0') } export function Play(eTrack) { } export const Statuses = { PLAYING: 0, PAUSED: 1, ENDED: 2 } export function Status() { if(hiss.view.playback.paused) { return Statuses.PAUSED } } export function Queue(eTrack) { hiss.state.queue.push(eTrack) }