2.0.1 Official Version
This commit is contained in:
parent
bc37d7811f
commit
93f793bd95
@ -1,12 +1,25 @@
|
|||||||
|
<h1><u>Subsonics 2.1.0</u></h1>
|
||||||
|
<p>Sortie le : 30/04/2022</p>
|
||||||
|
<h2 style="font-size: 18px;">Ajouts & Fixes :</h2>
|
||||||
|
<ul>
|
||||||
|
<li><strong>[AJOUT]</strong> : Bug ou Suggestion Report : Disponible dans les paramètres. Nouvelle onglet qui permet de soit faire une suggestion ou de reporter un bug.</li>
|
||||||
|
<li><strong>[FIX]</strong> : UserState : Enième tentative qui a l'air de marcher pour fixer le bug du token et du user inconnu ce qui empechait d'afficher le pseudo de l'utilisateur</li>
|
||||||
|
<li><strong>[AJOUT]</strong> : Liste de lecture : Déplacement des chansons dans la liste de lecture.</li>
|
||||||
|
<li><strong>[FIX]</strong> : Tray : Fix de l'icone qui ne se chargait pas.</li>
|
||||||
|
<li><strong>[CHANGE]</strong> : Dev Version : Remise en forme de la banderole pour éviter le gros bandeau rouge abusif</li>
|
||||||
|
</ul>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
<h1><u>Subsonics 2.0.9</u></h1>
|
<h1><u>Subsonics 2.0.9</u></h1>
|
||||||
<p>Sortie le : 29/04/2022</p>
|
<p>Sortie le : 29/04/2022</p>
|
||||||
<h2 style="font-size: 18px;">Ajouts & Fixes :</h2>
|
<h2 style="font-size: 18px;">Ajouts & Fixes :</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>[FIX]</strong> : Update : Le fichier de MAJ compressé est désormais supprimé au début et à la fin de la MAJ afin d'éviter les SoftLock en cas de bugs</li>
|
<li><strong>[FIX]</strong> : Update : Le fichier de MAJ compressé est désormais supprimé au début et à la fin de la MAJ afin d'éviter les SoftLock en cas de bugs</li>
|
||||||
<li><strong>[AJOUT] </strong> : Dev Version : Une banderole s'affiche lorsque la version est expérimental.</li>
|
<li><strong>[AJOUT]</strong> : Dev Version : Une banderole s'affiche lorsque la version est expérimentale.</li>
|
||||||
<li><strong>[AJOUT] </strong> : Logs : Disponible dans l'emplacement de l'application puis dans ./resources/app/logs/</li>
|
<li><strong>[AJOUT]</strong> : Logs : Disponible dans l'emplacement de l'application puis dans ./resources/app/logs/</li>
|
||||||
<li><strong>[AJOUT] </strong> : Patch Note : Ajout de la fonctionnalité de ce que vous lisez en ce moment.</li>
|
<li><strong>[AJOUT]</strong> : Patch Note : Ajout de la fonctionnalité de ce que vous lisez en ce moment.</li>
|
||||||
<li><strong>[CHANGE] </strong> : Graphique : Uniformisation des couleurs.</li>
|
<li><strong>[CHANGE]</strong> : Graphique : Uniformisation des couleurs.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
|
27
main.js
27
main.js
@ -176,9 +176,6 @@ async function createWindow() {
|
|||||||
const settings = {}
|
const settings = {}
|
||||||
settings["token"] = token
|
settings["token"] = token
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fs.writeFile(__dirname + path.sep + "settings.json", JSON.stringify(settings, null, 2), (err) => {
|
fs.writeFile(__dirname + path.sep + "settings.json", JSON.stringify(settings, null, 2), (err) => {
|
||||||
|
|
||||||
log.client("Saving token in settings !")
|
log.client("Saving token in settings !")
|
||||||
@ -259,6 +256,13 @@ async function createWindow() {
|
|||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ipc.on("moveQueue", (ev, identifier) => {
|
||||||
|
const settings = require( __dirname + path.sep + "settings.json")
|
||||||
|
log.client("Control : Move queue Bot Requsted !")
|
||||||
|
socket.emit("moveQueue", settings.token, identifier)
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
ipc.on("findReq", (ev, value) => {
|
ipc.on("findReq", (ev, value) => {
|
||||||
const settings = require( __dirname + path.sep + "settings.json")
|
const settings = require( __dirname + path.sep + "settings.json")
|
||||||
log.client("Control : Find search Bot Requsted !")
|
log.client("Control : Find search Bot Requsted !")
|
||||||
@ -313,6 +317,19 @@ async function createWindow() {
|
|||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ipc.on("report", (ev, report) => {
|
||||||
|
|
||||||
|
const settings = require( __dirname + path.sep + "settings.json")
|
||||||
|
log.client("Report : Envoi d'un rapport !")
|
||||||
|
report["version"] = require("./package.json").version
|
||||||
|
socket.emit("report", settings.token, report)
|
||||||
|
})
|
||||||
|
|
||||||
|
socket.on("reportAns", (ans) => {
|
||||||
|
|
||||||
|
win.webContents.send("reportForm", ans)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (process.defaultApp) {
|
if (process.defaultApp) {
|
||||||
@ -334,7 +351,7 @@ async function createWindow() {
|
|||||||
|
|
||||||
ipc.on("askUpdateState", () => {
|
ipc.on("askUpdateState", () => {
|
||||||
|
|
||||||
askUpdateState()
|
askUpdateState()
|
||||||
})
|
})
|
||||||
|
|
||||||
async function askUpdateState() {
|
async function askUpdateState() {
|
||||||
@ -366,7 +383,7 @@ app.on("open-url", (ev, url) => {
|
|||||||
|
|
||||||
app.whenReady().then(() => {
|
app.whenReady().then(() => {
|
||||||
|
|
||||||
const icon = nativeImage.createFromPath('src/logo.ico')
|
const icon = nativeImage.createFromPath(__dirname + path.sep + 'src' + path.sep + "logo.ico")
|
||||||
tray = new Tray(icon)
|
tray = new Tray(icon)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "subsonics-manager",
|
"name": "subsonics-manager",
|
||||||
"version": "2.0.9",
|
"version": "2.1.0",
|
||||||
"description": "Manager for subsonics",
|
"description": "Manager for subsonics",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -154,12 +154,38 @@
|
|||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.bug {
|
||||||
|
|
||||||
|
font-family: 'Open Sans', sans-serif !important;
|
||||||
|
background-color: transparent;
|
||||||
|
border: solid;
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 2%;
|
||||||
|
border-color: rgb(255, 46, 46);
|
||||||
|
color: white;
|
||||||
|
transition: all 0.2s ease 0s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bug:hover {
|
||||||
|
|
||||||
|
|
||||||
|
background-color: rgb(255, 46, 46);
|
||||||
|
box-shadow: 2px 2px 5px rgb(255, 46, 46);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bug:active {
|
||||||
|
|
||||||
|
background-color: transparent;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
.stLine {
|
.stLine {
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
text-align: start;
|
text-align: start;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stPct {
|
.stPct {
|
||||||
@ -388,10 +414,6 @@ input[type=range] {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#listContent {
|
|
||||||
|
|
||||||
padding: 5%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.infoVersion {
|
.infoVersion {
|
||||||
|
|
||||||
@ -467,9 +489,55 @@ input[type=range] {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
padding-left: 5%;
|
||||||
|
padding-right: 5%;
|
||||||
|
padding-top: 2%;
|
||||||
|
padding-bottom: 2%;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
transition: 0.2s;
|
||||||
|
cursor: pointer;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ressong {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
margin: 0;
|
||||||
|
vertical-align: middle;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#listDialog {
|
||||||
|
padding: 0 !important;
|
||||||
|
padding-bottom: 5% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#listDialog .menuheader {
|
||||||
|
|
||||||
|
padding: 5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#listContent {
|
||||||
|
|
||||||
|
padding-top: 5%;
|
||||||
|
padding-bottom: 5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.song:hover {
|
||||||
|
|
||||||
|
background-color: #2d2d2d ;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.titleSong {
|
.titleSong {
|
||||||
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -506,16 +574,72 @@ input[type=range] {
|
|||||||
|
|
||||||
.devversion {
|
.devversion {
|
||||||
|
|
||||||
position: absolute;
|
height: 10px;
|
||||||
bottom: 0;
|
width: 100%;
|
||||||
font-size: 10px;
|
background-color: red;
|
||||||
text-align: center;
|
color: white;
|
||||||
width: 100%;
|
font-size: 10px;
|
||||||
background-color: red;
|
text-align: center;
|
||||||
color: white;
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
transition: 0.5s;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.devversion p {
|
.devversion:hover {
|
||||||
position: relative;
|
position: absolute;
|
||||||
bottom: -6px;
|
content: initial;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.devversion .dp {
|
||||||
|
|
||||||
|
display: none;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.devversion:hover .dp {
|
||||||
|
display: initial;
|
||||||
|
position: absolute;
|
||||||
|
text-align: center;
|
||||||
|
bottom: -9px;
|
||||||
|
right: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.sendChos {
|
||||||
|
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
margin-top: 5px;
|
||||||
|
border-color: #1c1c1c;
|
||||||
|
border-radius: 15px;
|
||||||
|
border-width: 2px;
|
||||||
|
background-color: transparent;
|
||||||
|
color: white;
|
||||||
|
padding: 2%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sendChos option {
|
||||||
|
|
||||||
|
background-color:rgb(61, 61, 61);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.sendText {
|
||||||
|
|
||||||
|
margin-top: 5px;
|
||||||
|
width: 100%;
|
||||||
|
height: 100px;
|
||||||
|
padding: 5%;
|
||||||
|
border-radius: 5px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.send {
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
@ -75,7 +75,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<input id="searchBar" class="finder" type="text" placeholder="Nom ou lien">
|
<input id="searchBar" class="finder" type="text" placeholder="Nom ou lien">
|
||||||
<div id="searchContent">
|
<div class="searchContent" id="searchContent">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</dialog>
|
</dialog>
|
||||||
@ -91,9 +91,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="stLine">
|
<div class="stLine">
|
||||||
<p>Actions :</p>
|
<p>Actions :</p>
|
||||||
<button id="restart" class="restart"><i class="fas fa-power-off"></i> Redémarrer</button>
|
<button id="restart" class="bug"><i class="fas fa-power-off"></i> Redémarrer</button>
|
||||||
|
</div>
|
||||||
|
<div class="stLine">
|
||||||
|
<p>Bug ou suggestion :</p>
|
||||||
|
<button id="bug" class="restart"><i class="fas fa-paper-plane"></i> Envoyer</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</dialog>
|
</dialog>
|
||||||
<dialog id="patchDialog" class="menu">
|
<dialog id="patchDialog" class="menu">
|
||||||
@ -105,6 +108,21 @@
|
|||||||
|
|
||||||
</span>
|
</span>
|
||||||
</dialog>
|
</dialog>
|
||||||
|
<dialog id="sendDialog" class="menu">
|
||||||
|
<div class="menuheader">
|
||||||
|
<p class="listHeader"><i style="margin-right: 3px" class="fas fa-paper-plane"></i> Bug / Suggestion</p>
|
||||||
|
<button class="buttonClose" id="sendClose"><i class="fas fa-times"></i></button>
|
||||||
|
</div>
|
||||||
|
<span class="send" id="sendContent">
|
||||||
|
<select class="sendChos" id="sendChos">
|
||||||
|
<option>Bug</option>
|
||||||
|
<option>Suggestion</option>
|
||||||
|
</select>
|
||||||
|
<textarea class="sendText" id="sendText" placeholder="Descrpition"></textarea>
|
||||||
|
<span id="sendInfo" class="sendInfo"></span>
|
||||||
|
<button id="sendSend" class="restart"><i class="fas fa-paper-plane"></i> Envoyez</button>
|
||||||
|
</span>
|
||||||
|
</dialog>
|
||||||
<div class="infoVersion">
|
<div class="infoVersion">
|
||||||
<p class="cp">Submanager - Version <span id="version"></span></p>
|
<p class="cp">Submanager - Version <span id="version"></span></p>
|
||||||
<p style="margin: 0;">Fait avec 💖 par Raphix</p>
|
<p style="margin: 0;">Fait avec 💖 par Raphix</p>
|
||||||
|
@ -38,6 +38,15 @@ const patchnote = document.getElementById("patchnote")
|
|||||||
const patchClose = document.getElementById("patchClose")
|
const patchClose = document.getElementById("patchClose")
|
||||||
const patchInfo = document.getElementById("patchInfo")
|
const patchInfo = document.getElementById("patchInfo")
|
||||||
|
|
||||||
|
const sendDialog = document.getElementById("sendDialog")
|
||||||
|
const send = document.getElementById("bug")
|
||||||
|
const sendClose = document.getElementById("sendClose")
|
||||||
|
const sendContent = document.getElementById("sendContent")
|
||||||
|
const sendInfo = document.getElementById("sendInfo")
|
||||||
|
const sendSend = document.getElementById("sendSend")
|
||||||
|
const sendText = document.getElementById("sendText")
|
||||||
|
const sendChos = document.getElementById("sendChos")
|
||||||
|
|
||||||
|
|
||||||
const volCursor = document.getElementById("volCursor")
|
const volCursor = document.getElementById("volCursor")
|
||||||
const volPct = document.getElementById("volPct")
|
const volPct = document.getElementById("volPct")
|
||||||
@ -52,7 +61,14 @@ restart.addEventListener("click", () => {
|
|||||||
|
|
||||||
if(packageJson.dev == true) {
|
if(packageJson.dev == true) {
|
||||||
|
|
||||||
document.getElementById("devversion").innerHTML = "<p>Cette version est expérimentale.<br> En cas de bug, prévenez Raphix#8343</p>"
|
document.getElementById("devversion").innerHTML = "<p class='dp'>Cette version est expérimentale.<br> En cas de bug, <a style='cursor: pointer;text-decoration: underline;' id='bugD'>cliquez ici </a> </p>"
|
||||||
|
const sendB = document.getElementById("bugD")
|
||||||
|
|
||||||
|
sendB.addEventListener("click", () => {
|
||||||
|
|
||||||
|
sendDialog.showModal()
|
||||||
|
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
var durationAll = 0
|
var durationAll = 0
|
||||||
@ -84,6 +100,49 @@ stClose.addEventListener("click", () => {
|
|||||||
stDialog.close()
|
stDialog.close()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
send.addEventListener("click", () => {
|
||||||
|
|
||||||
|
sendDialog.showModal()
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
sendClose.addEventListener("click", () => {
|
||||||
|
|
||||||
|
sendDialog.close()
|
||||||
|
})
|
||||||
|
|
||||||
|
sendSend.addEventListener("click", () => {
|
||||||
|
|
||||||
|
sendInfo.innerHTML = ""
|
||||||
|
|
||||||
|
if(sendText.value == "") {
|
||||||
|
|
||||||
|
sendInfo.innerHTML = '<p style="text-align: center; color: red;">Le formulaire n\'a pas été rempli correctement !</p>'
|
||||||
|
} else {
|
||||||
|
|
||||||
|
const report = {
|
||||||
|
"type":sendChos.value,
|
||||||
|
"text": sendText.value
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ipc.send("report", report)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
ipc.on("reportForm", (ev, ans) => {
|
||||||
|
if(ans == true) {
|
||||||
|
sendInfo.innerHTML = '<p style="text-align: center;">Le formulaire a été envoyé !</p>'
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
sendInfo.innerHTML = '<p style="text-align: center; color: red;">Erreur lors de l\'envoi du formulaire !</p>'
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
durationBar.value = 0
|
durationBar.value = 0
|
||||||
listNumber.classList.add("exitNotShow")
|
listNumber.classList.add("exitNotShow")
|
||||||
|
|
||||||
@ -209,7 +268,7 @@ ipc.on("findResult", (ev, list) => {
|
|||||||
for(var title of data) {
|
for(var title of data) {
|
||||||
|
|
||||||
|
|
||||||
contentToPush.push(' <div class="song"> <img class="thumbnail" src="' + title.thumbnail + '"><div class="titleSong"> <p class="searchTitle">' + title.title + '</p></div> <button id="' + data.indexOf(title) + '_add" class="buttonReduce"><i class="fa fa-plus"></i></button> </div>')
|
contentToPush.push(' <div class="ressong"> <img class="thumbnail" src="' + title.thumbnail + '"><div class="titleSong"> <p class="searchTitle">' + title.title + '</p></div> <button id="' + data.indexOf(title) + '_add" class="buttonReduce"><i class="fa fa-plus"></i></button></div>')
|
||||||
}
|
}
|
||||||
|
|
||||||
if(contentToPush.join("") == "") {
|
if(contentToPush.join("") == "") {
|
||||||
@ -380,7 +439,7 @@ ipc.on("actualize", (ev, data) => {
|
|||||||
queueNum += 1
|
queueNum += 1
|
||||||
console.log(queueNum)
|
console.log(queueNum)
|
||||||
console.log(data.queue.indexOf(title) + " - " + title.title)
|
console.log(data.queue.indexOf(title) + " - " + title.title)
|
||||||
contentToPush.push(' <div class="song"> <img class="thumbnail" src="' + title.thumbnail + '"><div class="titleSong"> <p class="listTitle">' + title.title + '</p></div> <button id="' + data.queue.indexOf(title) + '_delete" class="buttonClose"><i class="fa fa-trash"></i></button> </div>')
|
contentToPush.push(' <div class="song"> <img class="thumbnail" src="' + title.thumbnail + '"><div class="titleSong"> <p class="listTitle">' + title.title + '</p></div> <button id="' + data.queue.indexOf(title) + '_delete" class="buttonClose"><i class="fa fa-trash"></i></button> <button id="' + data.queue.indexOf(title) + '_move" class="buttonReduce"><i class="fa fa-arrow-up"></i></button> </div></div>')
|
||||||
}
|
}
|
||||||
|
|
||||||
if(contentToPush.join("") == "") {
|
if(contentToPush.join("") == "") {
|
||||||
@ -399,11 +458,18 @@ ipc.on("actualize", (ev, data) => {
|
|||||||
console.log(data.queue.indexOf(title) + " - " + title.title)
|
console.log(data.queue.indexOf(title) + " - " + title.title)
|
||||||
|
|
||||||
const titleBtn = document.getElementById(data.queue.indexOf(title)+ "_delete")
|
const titleBtn = document.getElementById(data.queue.indexOf(title)+ "_delete")
|
||||||
|
const moveBtn = document.getElementById(data.queue.indexOf(title)+ "_move")
|
||||||
|
|
||||||
titleBtn.addEventListener("click", () => {
|
titleBtn.addEventListener("click", () => {
|
||||||
|
|
||||||
ipc.send("deleteQueue", titleBtn.id.replace("_delete", ""))
|
ipc.send("deleteQueue", titleBtn.id.replace("_delete", ""))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
moveBtn.addEventListener("click", () => {
|
||||||
|
|
||||||
|
ipc.send("moveQueue", moveBtn.id.replace("_move", ""))
|
||||||
|
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user