Compare commits
3 Commits
9a235e2602
...
960cbeabc3
Author | SHA1 | Date | |
---|---|---|---|
960cbeabc3 | |||
aa153aea72 | |||
ad08c4dac2 |
5
.gitignore
vendored
5
.gitignore
vendored
@ -41,7 +41,12 @@ bower_components
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
|
||||
node_modules/
|
||||
!node_modules/moonlink.js/
|
||||
!node_modules/moonlink.js/dist/
|
||||
|
||||
|
||||
jspm_packages/
|
||||
|
||||
# Snowpack dependency directory (https://snowpack.dev/)
|
||||
|
@ -1,8 +1,8 @@
|
||||
[
|
||||
{
|
||||
"host": "omega.raphix.fr",
|
||||
"host": "localhost",
|
||||
"port": 2333,
|
||||
"password": "youshallnotpass",
|
||||
"retryAmount": 1
|
||||
"retryAmount": 5
|
||||
}
|
||||
]
|
@ -481,7 +481,8 @@
|
||||
"e18b2d89-2494-4cfe-af55-dad6dfbc0c60",
|
||||
"0a0b75f3-6a42-4ccf-92f9-d992a63545a4",
|
||||
"419a246f-e7b3-4aa4-9fa0-816dffc22a19",
|
||||
"471c4c81-b8bc-42e7-af1a-d33df30cff2b"
|
||||
"471c4c81-b8bc-42e7-af1a-d33df30cff2b",
|
||||
"9f299250-6017-457b-87b6-23181288150a"
|
||||
],
|
||||
"picture": "/userspictures/486943594893017119.png",
|
||||
"banned": false,
|
||||
|
14
package-lock.json
generated
14
package-lock.json
generated
@ -16,7 +16,7 @@
|
||||
"express-favicon": "^2.0.4",
|
||||
"loguix": "^1.4.2",
|
||||
"markdown-it": "^13.0.1",
|
||||
"moonlink.js": "^3.6.0",
|
||||
"moonlink.js": "^3.6.4",
|
||||
"nodemon": "^2.0.22",
|
||||
"pm2": "^5.3.0",
|
||||
"request": "^2.88.2",
|
||||
@ -2271,9 +2271,9 @@
|
||||
"integrity": "sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A=="
|
||||
},
|
||||
"node_modules/moonlink.js": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/moonlink.js/-/moonlink.js-3.6.0.tgz",
|
||||
"integrity": "sha512-uzXCc8G+bl87TqgoLV1pJZ0WMcGVY5RyjUJpegvKhF5lhqShIPREiH60ZORi832VQoVyg3KCBJLMSKv0D3j8wQ==",
|
||||
"version": "3.6.4",
|
||||
"resolved": "https://registry.npmjs.org/moonlink.js/-/moonlink.js-3.6.4.tgz",
|
||||
"integrity": "sha512-qaL/FxrWtwLLJmUHyFIh+kQauM1TUEb1qeK1oeoPxQ175SXPFgGySCV01h/RGc0Ki4Erke5rKAERt/aP1xVA4w==",
|
||||
"engines": {
|
||||
"node": ">=16.6.0"
|
||||
}
|
||||
@ -5536,9 +5536,9 @@
|
||||
"integrity": "sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A=="
|
||||
},
|
||||
"moonlink.js": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/moonlink.js/-/moonlink.js-3.6.0.tgz",
|
||||
"integrity": "sha512-uzXCc8G+bl87TqgoLV1pJZ0WMcGVY5RyjUJpegvKhF5lhqShIPREiH60ZORi832VQoVyg3KCBJLMSKv0D3j8wQ=="
|
||||
"version": "3.6.4",
|
||||
"resolved": "https://registry.npmjs.org/moonlink.js/-/moonlink.js-3.6.4.tgz",
|
||||
"integrity": "sha512-qaL/FxrWtwLLJmUHyFIh+kQauM1TUEb1qeK1oeoPxQ175SXPFgGySCV01h/RGc0Ki4Erke5rKAERt/aP1xVA4w=="
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.0.0",
|
||||
|
@ -20,7 +20,7 @@
|
||||
"express-favicon": "^2.0.4",
|
||||
"loguix": "^1.4.2",
|
||||
"markdown-it": "^13.0.1",
|
||||
"moonlink.js": "^3.6.0",
|
||||
"moonlink.js": "^3.6.4",
|
||||
"nodemon": "^2.0.22",
|
||||
"pm2": "^5.3.0",
|
||||
"request": "^2.88.2",
|
||||
|
@ -194,11 +194,14 @@ function startErelaManager(dlog, config) {
|
||||
|
||||
const list = new List()
|
||||
|
||||
|
||||
client.manager.on("playerCreate", async (player) => {
|
||||
|
||||
await client.channels.fetch(player.options.voiceChannel).then(channel => {
|
||||
plog.log("Nouveau Player instancié dans : " + channel.name)
|
||||
})
|
||||
|
||||
|
||||
player.setVolume(100)
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
@ -242,6 +245,7 @@ function startErelaManager(dlog, config) {
|
||||
|
||||
client.manager.on("queueEnd", async () => {
|
||||
let player = await client.manager.players.get("137291455336022018")
|
||||
console.log("END OF QUEUE")
|
||||
if(player) {
|
||||
|
||||
await list.addCurrentToPrevious()
|
||||
@ -256,9 +260,33 @@ function startErelaManager(dlog, config) {
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
})
|
||||
|
||||
client.manager.on("playerUpdate", (player) => {
|
||||
require("./sub-player").updateMusicState(client)
|
||||
})
|
||||
let events = [
|
||||
"playerConnected",
|
||||
"playerCreated",
|
||||
"playerPaused",
|
||||
"playerRestarted",
|
||||
"playerResume",
|
||||
"playerStopped",
|
||||
"playerSetVoiceChannel",
|
||||
"playerAutoPlayTriggered",
|
||||
"playerAutoLeaveTriggered",
|
||||
"playerSetTextChannel",
|
||||
"playerVolumeChanged",
|
||||
"playerSkipped",
|
||||
"playerSeeking",
|
||||
"playerLoopSet",
|
||||
"playerShuffled",
|
||||
"playerMove",
|
||||
"playerDisconnect",
|
||||
"playerDestroyed",
|
||||
"playerUpdate"
|
||||
];
|
||||
|
||||
events.forEach(event => {
|
||||
client.manager.on(event, (player) => {
|
||||
process.emit("MUSIC_UPDATE_STATE");
|
||||
});
|
||||
});
|
||||
|
||||
// Emitted whenever a node connects
|
||||
client.manager.on("nodeReady", node => {
|
||||
|
@ -118,12 +118,14 @@ module.exports.List = class {
|
||||
}
|
||||
|
||||
setCurrent(song) {
|
||||
|
||||
current = song.queue.current
|
||||
|
||||
|
||||
current = song.current
|
||||
|
||||
}
|
||||
|
||||
addCurrentToPrevious() {
|
||||
|
||||
if(current) {
|
||||
var previousList = getPreviousFile()
|
||||
previousList.unshift(current)
|
||||
|
@ -92,7 +92,7 @@ module.exports.play = async function (client, interaction) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
|
||||
}
|
||||
|
||||
@ -117,6 +117,7 @@ module.exports.pause = function (client, interaction) {
|
||||
interaction.reply({embeds: [embed]})
|
||||
|
||||
player.pause()
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
} else {
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
@ -129,6 +130,7 @@ module.exports.pause = function (client, interaction) {
|
||||
interaction.reply({embeds: [embed]})
|
||||
|
||||
player.resume()
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
}
|
||||
|
||||
} else {
|
||||
@ -161,7 +163,6 @@ module.exports.pause = function (client, interaction) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -193,7 +194,7 @@ module.exports.getState = function(client, interaction) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
|
||||
}
|
||||
|
||||
@ -204,7 +205,7 @@ module.exports.playPlaylist = function (id, data, quick) {
|
||||
playlist.videos = data
|
||||
list.playlistAdd(playlist, null, id, quick)
|
||||
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
}
|
||||
|
||||
|
||||
@ -270,7 +271,7 @@ module.exports.addSong = async function (data, userId, quick, playlist) {
|
||||
|
||||
|
||||
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
|
||||
}
|
||||
|
||||
@ -293,7 +294,7 @@ module.exports.addSongsFromPlaylist = async function (data, userId, quick) {
|
||||
|
||||
|
||||
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
|
||||
}
|
||||
|
||||
@ -356,7 +357,7 @@ module.exports.skip = function (client, interaction) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
|
||||
}
|
||||
|
||||
@ -366,19 +367,21 @@ module.exports.seek = function (data) {
|
||||
|
||||
client = discord.getClient()
|
||||
|
||||
|
||||
/**
|
||||
* @type {import("moonlink.js").MoonlinkPlayer}
|
||||
*/
|
||||
let player = client.manager.players.get("137291455336022018")
|
||||
|
||||
if(player) {
|
||||
|
||||
player.seek(data)
|
||||
player.seek((Number(data) - 1000))
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
|
||||
}
|
||||
|
||||
@ -397,7 +400,7 @@ module.exports.setVol = function (data) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
|
||||
|
||||
|
||||
@ -412,20 +415,24 @@ module.exports.loop = function (client) {
|
||||
client = discord.getClient()
|
||||
}
|
||||
|
||||
/**
|
||||
* @type {import("moonlink.js").MoonlinkPlayer}
|
||||
*/
|
||||
let player = client.manager.players.get("137291455336022018")
|
||||
|
||||
if(player) {
|
||||
|
||||
if(player.queueRepeat == true) {
|
||||
player.setQueueRepeat(false)
|
||||
if(player.loop == 1) {
|
||||
player.setLoop(0)
|
||||
} else {
|
||||
|
||||
player.setQueueRepeat(true)
|
||||
player.setLoop(1)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
|
||||
}
|
||||
|
||||
@ -451,7 +458,7 @@ module.exports.changeShuffle = function (client) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
|
||||
}
|
||||
|
||||
@ -486,7 +493,7 @@ module.exports.search = async function (data, client) {
|
||||
}
|
||||
|
||||
return answer
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
}
|
||||
|
||||
|
||||
@ -547,7 +554,7 @@ module.exports.previous = function (client, interaction) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
}
|
||||
|
||||
const clog = new LogType("Actualisation")
|
||||
@ -622,7 +629,7 @@ module.exports.report = async function (client, interaction, data) {
|
||||
interaction.reply({embeds: [membed]})
|
||||
}
|
||||
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
|
||||
}
|
||||
|
||||
@ -661,7 +668,7 @@ module.exports.updateMusicState = function (client, action) {
|
||||
|
||||
data["current"] = player.current
|
||||
|
||||
if(player.queueRepeat == true) {
|
||||
if(player.loop == 1) {
|
||||
|
||||
data["loop"] = true
|
||||
}
|
||||
@ -675,7 +682,6 @@ module.exports.updateMusicState = function (client, action) {
|
||||
currentTitle = player.current.title
|
||||
}
|
||||
|
||||
console.log(player.paused)
|
||||
if(player.paused) {
|
||||
|
||||
data["playing"] = 0
|
||||
@ -699,9 +705,10 @@ module.exports.updateMusicState = function (client, action) {
|
||||
}
|
||||
|
||||
clog.log("Actualisation Clients - Titre : " + currentTitle + " - Loop : " + data.loop + " - Shuffle : " + data.shuffle + " - Playing : " + data.playing + " - Volume : " + Math.trunc(data.volume / 10) )
|
||||
|
||||
|
||||
|
||||
return data
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -753,7 +760,7 @@ module.exports.leave = function (client, interaction) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
|
||||
}
|
||||
|
||||
@ -775,7 +782,7 @@ module.exports.moveOut = function(userId) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
process.emit("MUSIC_UPDATE_STATE")
|
||||
}
|
||||
|
||||
// FINI
|
||||
|
@ -29,7 +29,7 @@ var durationTotal = 0
|
||||
|
||||
var interval = null
|
||||
|
||||
var currentTitle = ""
|
||||
var currentTitle = null
|
||||
|
||||
var playerState = "DISCONNECTED"
|
||||
|
||||
@ -37,7 +37,7 @@ AlwaysRequest("MUSIC_STATE", async (data) => {
|
||||
durationAct = 0
|
||||
durationTotal = 0
|
||||
playerState = "DISCONNECTED"
|
||||
currentTitle = ""
|
||||
currentTitle = null
|
||||
stopInterval()
|
||||
|
||||
console.log(data)
|
||||
@ -131,7 +131,7 @@ AlwaysRequest("MUSIC_STATE", async (data) => {
|
||||
|
||||
|
||||
play.classList.add("disabled")
|
||||
currentTitle = ""
|
||||
currentTitle = null
|
||||
}
|
||||
|
||||
if(data.queue) {
|
||||
@ -153,7 +153,7 @@ AlwaysRequest("MUSIC_STATE", async (data) => {
|
||||
|
||||
if(data.volume) {
|
||||
volume.step = 1
|
||||
volume.max = 200
|
||||
volume.max = 150
|
||||
volume.min = 1
|
||||
volume.value = Math.trunc(data.volume / 10)
|
||||
volTxt.innerHTML = Math.trunc(data.volume / 10) + "%"
|
||||
@ -305,7 +305,7 @@ lyrics.addEventListener('click', (e) => {
|
||||
|
||||
} else {
|
||||
|
||||
if(currentTitle != "") {
|
||||
if(currentTitle) {
|
||||
showLyrics(currentTitle)
|
||||
|
||||
} else {
|
||||
@ -406,7 +406,7 @@ function startInterval() {
|
||||
interval = setInterval(() => {
|
||||
|
||||
|
||||
if(playerState == "PLAYING") {
|
||||
if(playerState == "PLAYING" && currentTitle) {
|
||||
setTime()
|
||||
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
body {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
background: #160120;
|
||||
background: #19001e;
|
||||
display: flex;
|
||||
color: #FFF;
|
||||
font-family: 'Inter', sans-serif;
|
||||
@ -351,11 +351,21 @@ button:hover {
|
||||
padding: 20px 20px 20px 20px;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
gap: 7px;
|
||||
align-self: stretch;
|
||||
background: #131313;
|
||||
}
|
||||
|
||||
hr {
|
||||
width: 100%;
|
||||
display: block;
|
||||
height: 1px;
|
||||
border: 0;
|
||||
border-top: 1px solid #cccccc87;
|
||||
margin: 1em 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/*Title*/
|
||||
|
||||
.title {
|
||||
@ -393,11 +403,11 @@ button:hover {
|
||||
.homeselector {
|
||||
display: flex;
|
||||
width: 344px;
|
||||
padding: 20px;
|
||||
|
||||
justify-content: space-around;
|
||||
align-items: flex-start;
|
||||
border-radius: 10px;
|
||||
background: #2F2F2F;
|
||||
border-radius: 5px;
|
||||
|
||||
}
|
||||
|
||||
.homeselector_div:hover {
|
||||
@ -420,7 +430,7 @@ button:hover {
|
||||
.homeselector_icon {
|
||||
|
||||
border: 2px solid #ffffff;
|
||||
border-radius: 10px;
|
||||
border-radius: 5px;
|
||||
font-size: 23px;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
@ -432,7 +442,7 @@ button:hover {
|
||||
}
|
||||
|
||||
.homeselector_icon:hover {
|
||||
background-color: #ffffff;
|
||||
/* background-color: #ffffff; */
|
||||
color: #000000;
|
||||
transform: scale(0.95);
|
||||
}
|
||||
@ -441,14 +451,14 @@ button:hover {
|
||||
|
||||
.playlist {
|
||||
display: flex;
|
||||
padding: 20px;
|
||||
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 20px;
|
||||
flex: 1 0 0;
|
||||
align-self: stretch;
|
||||
border-radius: 10px;
|
||||
background: #2F2F2F;
|
||||
border-radius: 5px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -519,9 +529,9 @@ button:hover {
|
||||
align-items: center;
|
||||
flex: 1 0 0;
|
||||
align-self: stretch;
|
||||
padding: 20px;
|
||||
border-radius: 10px;
|
||||
background: rgba(217, 217, 217, 0.30);
|
||||
|
||||
border-radius: 5px;
|
||||
|
||||
}
|
||||
|
||||
.view-other {
|
||||
@ -549,7 +559,7 @@ button:hover {
|
||||
align-items: flex-start;
|
||||
gap: 10px;
|
||||
align-self: stretch;
|
||||
border-radius: 10px;
|
||||
border-radius: 5px;
|
||||
height: 30%;
|
||||
background: rgba(217, 217, 217, 0.30);
|
||||
|
||||
@ -599,7 +609,7 @@ button:hover {
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
align-self: stretch;
|
||||
border-radius: 10px;
|
||||
border-radius: 5px;
|
||||
background: rgba(217, 217, 217, 0.30);
|
||||
|
||||
}
|
||||
@ -1064,7 +1074,7 @@ button:hover {
|
||||
.playlist-add {
|
||||
background-color: #545454;
|
||||
padding: 5px;
|
||||
border-radius: 10px;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
transition: 0.2s;
|
||||
font-size: 14px;
|
||||
@ -1108,7 +1118,7 @@ button:hover {
|
||||
|
||||
border: 2px solid #ffffff;
|
||||
|
||||
border-radius: 10px;
|
||||
border-radius: 5px;
|
||||
font-size: 20px;
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
@ -1191,7 +1201,7 @@ button:hover {
|
||||
|
||||
gap: 10px;
|
||||
align-self: stretch;
|
||||
border-radius: 10px;
|
||||
border-radius: 5px;
|
||||
|
||||
|
||||
|
||||
@ -1447,6 +1457,12 @@ button:hover {
|
||||
width: 100px !important;
|
||||
}
|
||||
|
||||
|
||||
.vol_px {
|
||||
display: flex;
|
||||
gap: 5px !important;
|
||||
}
|
||||
|
||||
.oobe-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@ -1454,7 +1470,7 @@ button:hover {
|
||||
align-items: flex-start;
|
||||
align-self: stretch;
|
||||
padding: 20px;
|
||||
border-radius: 10px;
|
||||
border-radius: 5px;
|
||||
background: rgba(217, 217, 217, 0.30);
|
||||
width: 30%;
|
||||
|
||||
@ -1491,7 +1507,7 @@ button:hover {
|
||||
align-items: flex-start;
|
||||
align-self: stretch;
|
||||
padding: 20px;
|
||||
border-radius: 10px;
|
||||
border-radius: 5px;
|
||||
background: #2F2F2F;
|
||||
width: 30%;
|
||||
}
|
||||
@ -1503,7 +1519,7 @@ button:hover {
|
||||
align-items: flex-start;
|
||||
align-self: stretch;
|
||||
padding: 20px;
|
||||
border-radius: 10px;
|
||||
border-radius: 5px;
|
||||
background: #2F2F2F;
|
||||
|
||||
}
|
||||
@ -1551,7 +1567,7 @@ button:hover {
|
||||
.oobe-search {
|
||||
background: #2d2d2d;
|
||||
padding: 20px;
|
||||
border-radius: 10px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
|
||||
@ -1607,15 +1623,20 @@ input[type="range"] {
|
||||
}
|
||||
/*Scrollbar */
|
||||
::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
width: 5px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
::-webkit-scrollbar-track {
|
||||
border-radius: 12px;
|
||||
}
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #ffffff56;
|
||||
border-radius: 5px;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #ffffffa8;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
|
||||
@ -1626,7 +1647,7 @@ input[type="range"] {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 150px;
|
||||
border-radius: 10px;
|
||||
border-radius: 5px;
|
||||
z-index: 3;
|
||||
height: auto;
|
||||
}
|
||||
@ -1676,7 +1697,7 @@ input[type="range"] {
|
||||
padding: 20px;
|
||||
box-shadow: 4px 5px 12px 5px rgba(0,0,0,0.6);
|
||||
width: 50%;
|
||||
border-radius: 10px;
|
||||
border-radius: 5px;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
|
@ -28,6 +28,7 @@
|
||||
<span class="homeselector_text">Soundboard</span>
|
||||
</div> -->
|
||||
</div>
|
||||
<hr>
|
||||
<div class="playlist">
|
||||
<div class="wintitle">
|
||||
<p>Playlists</p>
|
||||
@ -42,6 +43,7 @@
|
||||
</div>
|
||||
<button class="playlist-add-btn" id="playlist-add"><i class="fa fa-plus"></i> Ajouter une playlist</button>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="usercard">
|
||||
<div class="usercard_div">
|
||||
<img id="user-img" class="usercard_image" src="/images/default.jpg"></img>
|
||||
@ -126,10 +128,12 @@
|
||||
</div>
|
||||
<div>
|
||||
|
||||
|
||||
<span id="volIcon"><i class="fa fa-volume-up"></i></span>
|
||||
<span id="volTxt"></span>
|
||||
|
||||
<div class="vol_px">
|
||||
<span id="volIcon"><i class="fa fa-volume-up"></i></span>
|
||||
<span id="volTxt"></span>
|
||||
|
||||
</div>
|
||||
|
||||
<input id="volume" type="range" value="100" max="100">
|
||||
</div>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user