diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index b27651a0020..b1031a38fa1 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -113,15 +113,35 @@ var/webpage_url = title if (data["webpage_url"]) webpage_url = "[title]" - music_extra_data["start"] = data["start_time"] - music_extra_data["end"] = data["end_time"] + music_extra_data["duration"] = DisplayTimeText(data["duration"] * 1 SECONDS) music_extra_data["link"] = data["webpage_url"] + music_extra_data["artist"] = data["artist"] + music_extra_data["upload_date"] = data["upload_date"] + music_extra_data["album"] = data["album"] var/res = tgui_alert(usr, "Show the title of and link to this song to the players?\n[title]",, list("No", "Yes", "Cancel")) switch(res) if("Yes") music_extra_data["title"] = data["title"] - to_chat(world, span_boldannounce("An admin played: [webpage_url]"), confidential = TRUE) + if("No") + music_extra_data["link"] = "Song Link Hidden" + music_extra_data["title"] = "Song Title Hidden" + music_extra_data["artist"] = "Song Artist Hidden" + music_extra_data["upload_date"] = "Song Upload Date Hidden" + music_extra_data["album"] = "Song Album Hidden" + if("Cancel") + return + + var/anon = tgui_alert(usr, "Display who played the song?", "Credit Yourself?", list("No", "Yes", "Cancel")) + switch(anon) + if("Yes") + if(res == "Yes") + to_chat(world, span_boldannounce("[src] played: [webpage_url]"), confidential = TRUE) + else + to_chat(world, span_boldannounce("[src] played some music"), confidential = TRUE) + if("No") + if(res == "Yes") + to_chat(world, span_boldannounce("An admin played: [webpage_url]"), confidential = TRUE) if("Cancel") return diff --git a/tgui/packages/tgui-panel/audio/NowPlayingWidget.js b/tgui/packages/tgui-panel/audio/NowPlayingWidget.js index 672ecfad7ce..aeef414ec00 100644 --- a/tgui/packages/tgui-panel/audio/NowPlayingWidget.js +++ b/tgui/packages/tgui-panel/audio/NowPlayingWidget.js @@ -6,33 +6,51 @@ import { toFixed } from 'common/math'; import { useDispatch, useSelector } from 'common/redux'; -import { Button, Flex, Knob } from 'tgui/components'; +import { Button, Collapsible, Flex, Knob } from 'tgui/components'; import { useSettings } from '../settings'; import { selectAudio } from './selectors'; export const NowPlayingWidget = (props, context) => { - const audio = useSelector(context, selectAudio); - const dispatch = useDispatch(context); - const settings = useSettings(context); - const title = audio.meta?.title; + const audio = useSelector(context, selectAudio), + dispatch = useDispatch(context), + settings = useSettings(context), + title = audio.meta?.title, + URL = audio.meta?.link, + Artist = audio.meta?.artist || 'Unknown Artist', + upload_date = audio.meta?.upload_date || 'Date Unknown', + album = audio.meta?.album || 'Unknown Album', + duration = audio.meta?.duration, + date = !isNaN(upload_date) + ? upload_date?.substring(0, 4) + + '-' + + upload_date?.substring(4, 6) + + '-' + + upload_date?.substring(6, 8) + : upload_date; + return ( {(audio.playing && ( - <> - - Now playing: - - - {title || 'Unknown Track'} - - + + { + + + Url: {URL}
+ Duration: {duration}
+ Artist: {Artist}
+ Album: {album}
+ Uploaded: {date} +
+
+ } +
)) || ( Nothing to play.