diff --git a/Jellyfin.Plugin.SkinManager/Configuration/configurationpage.html b/Jellyfin.Plugin.SkinManager/Configuration/configurationpage.html
index a5c625d..aca2550 100644
--- a/Jellyfin.Plugin.SkinManager/Configuration/configurationpage.html
+++ b/Jellyfin.Plugin.SkinManager/Configuration/configurationpage.html
@@ -55,7 +55,8 @@
updateSelectors()
}
- function loadOptions(options){
+ function loadOptions(skin){
+ var options = skin.options;
var page = $.mobile.activePage;
var html = "";
html += '
';
@@ -72,9 +73,20 @@
html += getSlider(element);
}
});
+ html += loadPreviews(skin);
html += '
';
$('#options', page).html(html).trigger('create');
}
+
+ function loadPreviews(skin){
+ var html = "";
+ skin.previews.forEach(element => {
+ html += getImage(element.url);
+ });
+ return html;
+ }
+
+
function getCheckBox ( option) {
var html = "";
var id = "chkFolder" ;
@@ -120,55 +132,65 @@
html += ''
return html;
}
- function getOptions(option){
- var html = "";
- var selections = option.selections
- var css = option.css;
- selections.forEach(element=>{
- var name = element.name;
- html+= ''
+ function getOptions(option){
+ var html = "";
+ var selections = option.selections
+ var css = option.css;
+ selections.forEach(element=>{
+ var name = element.name;
+ html+= ''
})
return html;
+ }
+ function getSlider(option){
+
+ var html = "";
+ var id = "slider" ;
+ var name = option.name;
+ var css = option.css;
+ var step = option.step==undefined?1:option.step;
+ var defaultValue = option.default;
+ var description = option.description;
+ html += '
'+description+'
'
+ return html
+
}
- function getSlider(option){
- var html = "";
- var id = "slider" ;
- var name = option.name;
- var css = option.css;
- var step = option.step==undefined?1:option.step;
- var defaultValue = option.default;
- var description = option.description;
- html += '
'+description+'
'
- return html
- }
+ function getImage(url){
+ var html = "";
+ html += '';
+ return html;
+ }
- function createCss(){
- var savedHtml = "";
- //process checkbox
- var css = $('#cssOptions').val();
- savedHtml += document.getElementById("cssOptions").innerHTML;
- var checkboxes = document.getElementsByClassName("checkbox");
- for (let element of checkboxes) {
- savedHtml += element.innerHTML;
- }
- var selectedOptions = $('.checkbox:checked').map(function () {
+ function createCss(){
+ var savedHtml = "";
+ //process checkbox
+ var css = $('#cssOptions').val();
+ savedHtml += document.getElementById("cssOptions").innerHTML;
+ var checkboxes = document.getElementsByClassName("checkbox");
+ for (let element of checkboxes) {
+ savedHtml += element.innerHTML;
+ }
+ var selectedOptions = $('.checkbox:checked').map(function () {
return this.getAttribute('data-css');
}).get();
+
selectedOptions.forEach(element => {
css += element +"\n";
});
+
//proccess selector
- var selectors = document.getElementsByClassName("selector");
- for (let element of selectors) {
+ var selectors = document.getElementsByClassName("selector");
+ for (let element of selectors) {
css += element.getAttribute("data-css").replaceAll("$",element.value) + "\n";
savedHtml += element.outerHTML;
}
+
//process colorPicker
selectedOptions.forEach(element=>{
css += element + "\n";
})
- var colorPickers = document.getElementsByClassName("color");
- for (let element of colorPickers) {
+ var colorPickers = document.getElementsByClassName("color");
+ for (let element of colorPickers) {
savedHtml += element.outerHTML
if(element.getAttribute("data-mode")=="rgba"){
var rgbColor = hexToRgb( element.value);
@@ -178,30 +200,41 @@
}
css+= element.getAttribute("data-css").replaceAll("$",color)+ "\n";
}
+
//procces number selector
- var numberSelectors = document.getElementsByClassName("number");
- for (let element of numberSelectors) {
- savedHtml += element.outerHTML;
+ var numberSelectors = document.getElementsByClassName("number");
+ for (let element of numberSelectors) {
+ savedHtml += element.outerHTML;
css+= element.getAttribute("data-css").replaceAll("$",element.value) + "\n";
}
+
//procces slider
- var sliders = document.getElementsByClassName("slider");
- for (let element of sliders) {
- css+= element.getAttribute("data-css").replaceAll("$",element.value) + "\n";
+ var sliders = document.getElementsByClassName("slider");
+ for (let element of sliders) {
+ css+= element.getAttribute("data-css").replaceAll("$",element.value) + "\n";
}
return css;
}
+
+
function updateSelectors(){
var selected = document.getElementById("cssOptions");
var description = document.getElementById("description");
data.forEach(element=>{
if(element.name == selected.selectedOptions[0].innerText){
- loadOptions(element.options);
+ loadOptions(element);
description.innerHTML=element.description;
+
}
})
}
+
+
+
+
+
+
function setSkin() {
ApiClient.getServerConfiguration().then(function (config) {
ApiClient.updateServerConfiguration(config).then(function() {