2.0.1 Official Version

This commit is contained in:
CICD - Pipeline 2023-04-30 19:00:04 +02:00
parent bc37d7811f
commit 93f793bd95
6 changed files with 268 additions and 30 deletions

View File

@ -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>

25
main.js
View File

@ -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) {
@ -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)

View File

@ -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": {

View File

@ -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;
font-size: 10px;
text-align: center;
width: 100%; width: 100%;
background-color: red; background-color: red;
color: white; color: white;
font-size: 10px;
text-align: center;
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;
} }

View File

@ -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>

View File

@ -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", ""))
})
} }