list-color clock Facebook figuccio

data ora calendario lista colori

// ==UserScript==
// @name          list-color clock Facebook figuccio
// @namespace     https://greasyfork.org/users/237458
// @version       1.7
// @author        figuccio
// @description   data ora calendario lista colori
// @match         *://*/*
// @grant         GM_addStyle
// @grant         GM_setValue
// @grant         GM_getValue
// @grant         GM_registerMenuCommand
// @require       https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js
// @run-at        document-start
// @require       http://code.jquery.com/jquery-latest.js
// @require       https://code.jquery.com/ui/1.13.2/jquery-ui.js
// @icon          data:image/gif;base64,R0lGODlhEAAQAKECABEREe7u7v///////yH5BAEKAAIALAAAAAAQABAAAAIplI+py30Bo5wB2IvzrXDvaoFcCIBeeXaeSY4tibqxSWt2RuWRw/e+UQAAOw==
// @require       https://greasyfork.org/scripts/12228/code/setMutationHandler.js
// @noframes
// @license        MIT
// ==/UserScript==
(function() {
    'use strict';
   ///////////////////////time-list color///////////
var $ = window.jQuery.noConflict();
//avvia la funzione dopo che la pagina e stata caricata
$(document).ready(function() {
var body=document.body;
var style="position:fixed;top:0px;left:760px;z-index:99999;"
var box=document.createElement("div");

box.id="mylist";
box.style=style;
$(box).draggable();
body.append(box);

function provalist(){
var box = document.getElementById('mylist');
box.style.display = ((box.style.display!='none') ? 'none' : 'block');
}
GM_registerMenuCommand("nascondi/mostra time",provalist);
///////////////////////////////////////////////////////////////
   //Imposta lo stile CSS degli elementi nel menu  (#setui aggiungere altre lettere accanto per non interferire con altri script simili resta centrata)
  GM_addStyle(`
  #setuitu{width:auto;height:25px; margin-top:-6px;margin-left:-10px; margin-right:-12px;margin-bottom:0px;border-width:1px;}
  #selectColor{background:#3b3b3b;color:lime;border:1px solid yellow; border-radius:5px;}
            `);
let use12HourFormat = GM_getValue('use12HourFormat', true); // Default è il formato 24 ore
let language = GM_getValue('language') || 'it'; // Recupera la lingua dal localStorage o usa 'it' come predefinita

const languages = {
    en: { weekday: 'short', month: 'short', day: '2-digit', year: 'numeric' },
    it: { weekday: 'short', month: '2-digit', day: '2-digit', year: 'numeric' }
};
// Funzione per aggiornare l'ora
function updateClock() {
    const now = new Date();
    let hours = now.getHours();
    const minutes = String(now.getMinutes()).padStart(2, "0");
    const seconds = String(now.getSeconds()).padStart(2, "0");
    const milliseconds = String(now.getMilliseconds()).padStart(3, "0");
    const date = now.toLocaleString(language, languages[language]); // Usa la lingua selezionata per la data
    let period = "";

    if (!use12HourFormat) {
        period = hours >= 12 ? " PM" : " AM";
        hours = hours % 12 || 12; // Converte in formato 12 ore
    }

    hours = String(hours).padStart(2, "0");

    const clockElement = document.getElementById('datePicker1');
    if (clockElement) {
        clockElement.value = `${date} ${hours}:${minutes}:${seconds}:${milliseconds}${period}`;
    }
}
  // Funzione per cambiare lingua
function changeLanguage() {
    language = (language === 'it') ? 'en' : 'it';
    GM_setValue('language', language); // Salva la lingua scelta nel localStorage
}
function toggleFormat() {
    //Cambia il formato orario
    use12HourFormat = !use12HourFormat;
    GM_setValue('use12HourFormat', use12HourFormat); // Salva lo stato del formato
}
// Crea il menu e inizializza il setInterval
GM_registerMenuCommand("Cambia Lingua", changeLanguage);
GM_registerMenuCommand("Cambia formato orario 12/24", toggleFormat);
setInterval(updateClock, 90);
    ///////////////////////stile colori
$(function(){
$("select").change(function(){
var $selectedOption = $(this).find("option:selected");
$(this).removeAttr("style").attr("style", $selectedOption.attr("style"));
});
});
    /////////////////////////local storage///////////
              //mantiene il colore della lista cambia colore pagina
    $(function() {
    $('#selectColor').change(function() {
    GM_setValue('lista', this.value);
        //backgroundColor su google search risolve il problema che bisognava ricaricare
    document.body.style.backgroundColor=GM_getValue('lista');
    /////////////barra facebook
   // $("div[aria-label=Facebook][role=navigation]").css("background-color" ,GM_getValue("lista"));
    });
/////////////////////////////////////////////////recupero storage
     if(GM_getValue('lista')){
     $('#selectColor').val(GM_getValue('lista'));
     document.getElementById('selectColor').value =GM_getValue('lista');
     document.body.style.backgroundColor=GM_getValue('lista');
     /////barra facebook
   //  $("div[aria-label=Facebook][role=navigation]").css("background-color" ,GM_getValue("lista"));
    }
});

 // width:250px evita che spostandolo hai lati cambi di dimensioni
    box.innerHTML=`
                     <fieldset style="background:#3b3b3b;border:2px solid red;color:lime;border-radius:7px;text-align:center;width:310px;height:40px;">
                            <legend>LIST-COLOR</legend>
  <div id=setuitu>

  <select  id="selectColor" title="Selettore colori">
  <option value="">Scegli ...</option>
  <option style="background-color: Purple" value="Purple">Purple</option>
  <option style="background-color: Blue" value="Blue">Blue</option>
  <option style="background-color: Green" value="Green">Green</option>
  <option style="background-color: Orange" value="Orange">Orange</option>
  <option style="background-color: Brown" value="Brown">Brown</option>
  <option style="background-color: Cyan" value="Cyan">Cyan</option>
  <option style="background-color: Gray" value="Gray">Gray</option>
  <option style="background-color: Indigo" value="Indigo">Indigo</option>
  <option style="background-color: Magenta" value="Magenta">Magenta</option>
  <option style="background-color: Pink" value="Pink">Pink</option>
  <option style="background-color: Red" value="Red">Red</option>
  <option style="background-color: Violet" value="Violet">Violet</option>
  <option style="background-color: Yellow" value="Yellow">Yellow</option>
  <option style="background-color: Black" value="Black">Black</option>
  <option style="background-color: lightgreen" value="lightgreen">lightgreen</option>
  <option style="background-color: lightyellow" value="lightyellow">lightyellow</option>
  <option style="background-color: lightblue" value="lightblue">lightblue</option>
  <option style="background-color: lightgrey" value="lightgrey">lightgrey</option>
  </select>
 <input id="datePicker1"  title="Data-ora" style="background:#3b3b3b;color:lime;border:1px solid yellow;border-radius:5px;margin:9px;text-align:center;font-size:14px;width:210px;" />

                    </fieldset>
            `;
// Funzione per memorizzare la posizione dopo il trascinamento
    function savePosition() {
        var box = document.getElementById('mylist');
        var position = $(box).offset(); // Ottieni le coordinate della posizione
        GM_setValue('boxPosition', JSON.stringify(position)); // Salva le coordinate nel localStorage
    }

    // Ripristina la posizione dal localStorage
    function restorePosition() {
        var box = document.getElementById('mylist');
        var savedPosition = GM_getValue('boxPosition');
        if (savedPosition) {
            var position = JSON.parse(savedPosition);
            $(box).offset(position); // Ripristina la posizione
        }
    }

    // Esegui la funzione dopo il caricamento della pagina
    restorePosition();

    // Al termine del trascinamento, salva la posizione
    $(box).draggable({
        containment: "window", // Impedisce di trascinarlo fuori dalla finestra del browser
        stop: savePosition
    });

})();
})();