function callTabSwitch() {
switch(document.querySelector(".navBarItem.selected").id) {
case "slycraft-home":
fetch(BdApi.loadData("ReactiveData", "settings").radio_list_url)
.then(res => res.json())
.then(data => {
let radioStationArray = [];
data.stations.forEach((radioStation) => {
radioStationArray.push(
BdApi.React.createElement("li", {
class: "radioStation",
dataRadioUrl: radioStation.url,
dataRadioImgUrl: radioStation.imgUrl,
children: [
BdApi.React.createElement("div", {
class: "radioItemImage",
style: {
backgroundImage: `url(${radioStation.imgUrl})`
}
}),
BdApi.React.createElement("span", {}, radioStation.name)
],
onClick: () => {
document.getElementById("slycraftAudioEngine").src = radioStation.url;
document.getElementById("slycraftAudioEngine").setAttribute("data-radio-name", radioStation.name);
document.getElementById("slycraftAudioEngine").play();
document.getElementById("radioName").innerHTML = radioStation.name;
document.getElementById("playPauseBtn").innerHTML = "pause";
document.getElementById('playPauseBtn').classList.add('disabledonload');
document.querySelector('.animate_loader_wrapper').classList.add('visible');
}
})
)
if(radioStationArray.length === data.stations.length) {
console.log(radioStationArray.length + "/" + data.stations.length);
document.getElementById("slycraftMainPanel").innerHTML = `
`;
let discordRadioListReactRoot = BdApi.ReactDOM.unstable_createRoot(document.getElementById("discordRadioList"));
discordRadioListReactRoot.render(radioStationArray);
}
})
})
break;
case "about-slycraft":
document.getElementById("slycraftMainPanel").innerHTML = `Discord Radio
Version 0.0.1
`;
break;
case "slycraft-settings":
document.getElementById("slycraftMainPanel").innerHTML = `
Radio Stations source file
Please follow the pattern of the default file, documentation is being worked on
Radio View
Reset Settings
`;
document.getElementById("radioView").value = BdApi.loadData("ReactiveData", "settings").radio_view;
break;
case "slycraft-search":
let slySearchPanelReact = BdApi.React.createElement("div", {
id: "slySearchPanel",
children: [
BdApi.React.createElement("input", {
id: "slycraftSearchInput",
class: "drTextInput",
placeholder: "Search...",
onInput: function() {
slycraftApi.displaySearchResults();
}
}),
BdApi.React.createElement("div", {
id: "searchResultsPanel",
class: `display_${BdApi.loadData("ReactiveData", "settings").radio_view}`
})
]
})
slycraftMainPanelReactRoot = BdApi.ReactDOM.unstable_createRoot(document.getElementById("slycraftMainPanel"))
slycraftMainPanelReactRoot.render(slySearchPanelReact);
fetch(BdApi.loadData("ReactiveData", "settings").radio_list_url)
.then(res => res.json())
.then(obj => {
searchRadioList = obj.stations;
})
break;
case "slycraft-custom-stream":
let slyCystomStreamPanelReact = BdApi.React.createElement("div", {
id: "slySearchPanel",
children: [
BdApi.React.createElement("input", {
id: "slycraftCustomUrlInput",
class: "drTextInput",
placeholder: "Enter a custom Stream URL...",
onKeyPress: function() {
slycraftApi.playCustomStream(event);
}
})
]
})
slycraftMainPanelReactRoot = BdApi.ReactDOM.unstable_createRoot(document.getElementById("slycraftMainPanel"))
slycraftMainPanelReactRoot.render(slyCystomStreamPanelReact);
break;
}