Fix bugs in saving settings

This commit is contained in:
the1812 2019-04-28 10:17:06 +08:00
parent e3ce9ec0b0
commit 10a0eb26f5
10 changed files with 31 additions and 19 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2058,7 +2058,8 @@ class ResourceManager
}
if (settings.cache.version === undefined) // Has newly downloaded cache
{
settings.cache.version = settings.currentVersion;
settings.cache = Object.assign(settings.cache, { version: settings.currentVersion });
// settings.cache.version = settings.currentVersion;
saveSettings(settings);
return true;
}

View File

@ -2058,7 +2058,8 @@ class ResourceManager
}
if (settings.cache.version === undefined) // Has newly downloaded cache
{
settings.cache.version = settings.currentVersion;
settings.cache = Object.assign(settings.cache, { version: settings.currentVersion });
// settings.cache.version = settings.currentVersion;
saveSettings(settings);
return true;
}

View File

@ -282,7 +282,8 @@ export class ResourceManager
}
if (settings.cache.version === undefined) // Has newly downloaded cache
{
settings.cache.version = settings.currentVersion;
settings.cache = Object.assign(settings.cache, { version: settings.currentVersion });
// settings.cache.version = settings.currentVersion;
saveSettings(settings);
return true;
}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
(()=>{return(e,t)=>{async function i(e,t){const i=await SpinQuery.select(()=>document.querySelector(e));if(!i){return}i.checked=t;raiseEvent(i,"change")}if(!e.enableDanmaku){i(".bilibili-player-video-danmaku-switch>input",false)}if(e.rememberDanmakuSettings){const i={subtitlesPreserve:".bilibili-player-video-danmaku-setting-left-preventshade input",smartMask:".bilibili-player-video-danmaku-setting-left-danmaku-mask input"};async function n(){const n=await SpinQuery.select(()=>document.querySelector(".bilibili-player-video-danmaku-setting"));if(!n){return}await loadLazyPanel(".bilibili-player-video-danmaku-setting");setTimeout(()=>t.removeStyle("defaultDanmakuSettingsStyle"),300);for(const[t,n]of Object.entries(e.danmakuSettings)){const e=await SpinQuery.select(()=>document.querySelector(i[t]));if(e!==null&&e.checked!==undefined&&e.checked!==n){e.click()}}}async function a(){for(const t in e.danmakuSettings){const n=await SpinQuery.select(()=>document.querySelector(i[t]));if(!n){return}n.addEventListener("click",()=>{e.danmakuSettings[t]=n.checked;saveSettings(e)})}}n();a()}}})();
(()=>{return(e,t)=>{async function i(e,t){const i=await SpinQuery.select(()=>document.querySelector(e));if(!i){return}i.checked=t;raiseEvent(i,"change")}if(!e.enableDanmaku){i(".bilibili-player-video-danmaku-switch>input",false)}if(e.rememberDanmakuSettings){const i={subtitlesPreserve:".bilibili-player-video-danmaku-setting-left-preventshade input",smartMask:".bilibili-player-video-danmaku-setting-left-danmaku-mask input"};async function n(){const n=await SpinQuery.select(()=>document.querySelector(".bilibili-player-video-danmaku-setting"));if(!n){return}await loadLazyPanel(".bilibili-player-video-danmaku-setting");setTimeout(()=>t.removeStyle("defaultDanmakuSettingsStyle"),300);for(const[t,n]of Object.entries(e.danmakuSettings)){const e=await SpinQuery.select(()=>document.querySelector(i[t]));if(e!==null&&e.checked!==undefined&&e.checked!==n){e.click()}}}async function a(){for(const t in e.danmakuSettings){const n=await SpinQuery.select(()=>document.querySelector(i[t]));if(!n){return}n.addEventListener("click",()=>{e.danmakuSettings=Object.assign(e.danmakuSettings,{[t]:n.checked});saveSettings(e)})}}n();a()}}})();

View File

@ -1 +1 @@
(()=>{return(e,i)=>{const t={vip:"姥爷图标",fansMedal:"粉丝勋章",title:"活动头衔",userLevel:"用户等级",guard:"舰长图标",systemMessage:"全区广播",welcomeMessage:"欢迎信息",popup:"抽奖提示",skin:"房间皮肤"};return{widget:{condition:()=>document.URL.startsWith(`https://live.bilibili.com/`),content:`\n <div class="gui-settings-flat-button" style="position: relative" id="simplify-liveroom">\n <i class="mdi mdi-24px mdi-settings"></i>\n <span>简化直播间</span>\n <div class="simplify-liveroom-settings popup">\n <ul>\n <li v-for="item in items" v-on:click="itemClick(item)">\n <i class="mdi mdi-18px" v-bind:class="{'mdi-eye': !item.checked, 'mdi-eye-off': item.checked}"></i>\n {{item.name}}\n </li>\n </ul>\n </div>\n </div>\n `,success:()=>{const i=document.querySelector("#simplify-liveroom");const s=document.querySelector(".gui-settings-mask");i.addEventListener("click",e=>{const i=document.querySelector(".simplify-liveroom-settings");if(i.contains(e.target)||e.target===i){return}i.classList.toggle("opened")});i.addEventListener("pointerenter",()=>s.classList.add("transparent"));i.addEventListener("pointerleave",()=>s.classList.remove("transparent"));let n=e.simplifyLiveroomSettings.skin;const o=["#head-info-vm","#gift-control-vm","#rank-list-vm","#rank-list-ctnr-box",".gift-panel.base-panel",".gift-panel.extend-panel",".seeds-wrap>div:first-child",".gift-section>div:last-child",".z-gift-package>div>div",".right-action"];const c="live-skin-coloration-area";o.forEach(e=>{SpinQuery.select(e,i=>{Observer.attributes(e,e=>{e.forEach(e=>{if(e.attributeName==="class"){if(n&&i.classList.contains(c)){i.classList.remove(c)}else if(!n&&!i.classList.contains(c)){i.classList.add(c)}}})})})});const a=(e,i)=>{document.body.classList[e?"add":"remove"](`simplify-${i}`);if(i==="skin"){n=e;o.forEach(i=>{SpinQuery.select(i,i=>i.classList[e?"remove":"add"]("live-skin-coloration-area"))})}};new Vue({el:".simplify-liveroom-settings",data:{items:Object.entries(t).map(([i,t])=>{const s=e.simplifyLiveroomSettings[i];a(s,i);return{key:i,name:t,checked:s}})},methods:{itemClick(i){i.checked=!i.checked;a(i.checked,i.key);e.simplifyLiveroomSettings[i.key]=i.checked;GM_setValue("simplifyLiveroomSettings",e.simplifyLiveroomSettings)}}})}}}}})();
(()=>{return(e,i)=>{const t={vip:"姥爷图标",fansMedal:"粉丝勋章",title:"活动头衔",userLevel:"用户等级",guard:"舰长图标",systemMessage:"全区广播",welcomeMessage:"欢迎信息",popup:"抽奖提示",skin:"房间皮肤"};return{widget:{condition:()=>document.URL.startsWith(`https://live.bilibili.com/`),content:`\n <div class="gui-settings-flat-button" style="position: relative" id="simplify-liveroom">\n <i class="mdi mdi-24px mdi-settings"></i>\n <span>简化直播间</span>\n <div class="simplify-liveroom-settings popup">\n <ul>\n <li v-for="item in items" v-on:click="itemClick(item)">\n <i class="mdi mdi-18px" v-bind:class="{'mdi-eye': !item.checked, 'mdi-eye-off': item.checked}"></i>\n {{item.name}}\n </li>\n </ul>\n </div>\n </div>\n `,success:()=>{const i=document.querySelector("#simplify-liveroom");const s=document.querySelector(".gui-settings-mask");i.addEventListener("click",e=>{const i=document.querySelector(".simplify-liveroom-settings");if(i.contains(e.target)||e.target===i){return}i.classList.toggle("opened")});i.addEventListener("pointerenter",()=>s.classList.add("transparent"));i.addEventListener("pointerleave",()=>s.classList.remove("transparent"));let n=e.simplifyLiveroomSettings.skin;const c=["#head-info-vm","#gift-control-vm","#rank-list-vm","#rank-list-ctnr-box",".gift-panel.base-panel",".gift-panel.extend-panel",".seeds-wrap>div:first-child",".gift-section>div:last-child",".z-gift-package>div>div",".right-action"];const o="live-skin-coloration-area";c.forEach(e=>{SpinQuery.select(e,i=>{Observer.attributes(e,e=>{e.forEach(e=>{if(e.attributeName==="class"){if(n&&i.classList.contains(o)){i.classList.remove(o)}else if(!n&&!i.classList.contains(o)){i.classList.add(o)}}})})})});const a=(e,i)=>{document.body.classList[e?"add":"remove"](`simplify-${i}`);if(i==="skin"){n=e;c.forEach(i=>{SpinQuery.select(i,i=>i.classList[e?"remove":"add"]("live-skin-coloration-area"))})}};new Vue({el:".simplify-liveroom-settings",data:{items:Object.entries(t).map(([i,t])=>{const s=e.simplifyLiveroomSettings[i];a(s,i);return{key:i,name:t,checked:s}})},methods:{itemClick(i){i.checked=!i.checked;a(i.checked,i.key);e.simplifyLiveroomSettings=Object.assign(e.simplifyLiveroomSettings,{[i.key]:i.checked})}}})}}}}})();

View File

@ -113,8 +113,12 @@ export default {
{
item.checked = !item.checked;
setBodyClass(item.checked, item.key);
settings.simplifyLiveroomSettings[item.key] = item.checked;
GM_setValue("simplifyLiveroomSettings", settings.simplifyLiveroomSettings);
settings.simplifyLiveroomSettings = Object.assign(
settings.simplifyLiveroomSettings, {
[item.key]: item.checked,
});
// settings.simplifyLiveroomSettings[item.key] = item.checked;
// GM_setValue("simplifyLiveroomSettings", settings.simplifyLiveroomSettings);
},
},
});

View File

@ -56,7 +56,10 @@ if (settings.rememberDanmakuSettings)
}
element.addEventListener("click", () =>
{
settings.danmakuSettings[type] = element.checked;
settings.danmakuSettings = Object.assign(settings.danmakuSettings, {
[type]: element.checked,
});
// settings.danmakuSettings[type] = element.checked;
saveSettings(settings);
});
}