User:Irukaza/common.js:修订间差异

H萌娘,万物皆可H的百科全书!
跳到导航 跳到搜索
imported>Irukaza
无编辑摘要
imported>Irukaza
无编辑摘要
第103行: 第103行:
      }, 700);
      }, 700);
    }
    }
   mw.loader.using([
       "oojs-ui-core",
       "oojs-ui.styles.icons-movement",
       "oojs-ui.styles.icons-moderation",
       "oojs-ui.styles.icons-editing-core",
       "oojs-ui.styles.icons-editing-advanced",
       "oojs-ui.styles.icons-location",
       "oojs-ui.styles.icons-user",
       "oojs-ui.styles.icons-layout",
       "ext.gadget.sidebaricons"
     ]).then(mobilesidebar);
     // 用以临时修复在移动端上AjaxPoll未加载代码块的问题,更新后需要去除
     if ($(".ajaxpoll").length > 0) {
       mw.loader.load("https://zh.moegirl.org.cn/load.php?modules=ext.ajaxpoll");
     }

2022年2月14日 (一) 14:27的版本

mw.loader.load('https://www.hmoegirl.com/index.php?title=User:AT/js/UserStatus.js&action=raw&ctype=text/javascript');
//侧边栏
    function mobilesidebar() {
        var oouiIcon = function (icon, title) {
            return new OO.ui.IconWidget({ icon: icon, title: title }).$element.prop("outerHTML");
        };
        var oouiIndicator = function () {
            return new OO.ui.IndicatorWidget({ indicator: "down" }).$element.prop("outerHTML");
        };
        var generateMenuLi = function (_a) {
            var href = _a.href, text = _a.text, iconName = _a.iconName, className = _a.className;
            return "<li " + (className ? "class=" + className : "") + '><a href="' + href + '" class="mw-ui-icon">' + (iconName ? oouiIcon(iconName, text) : "") + text + (className === "mobilesidebar-caption" ? oouiIndicator() : "") + "</a></li>";
        };
        var mobilesidebartimer = setInterval(function () {
            if ($(".menu ul").length > 0 && $(".mobilesidebar-level1").length === 0) {
                clearInterval(mobilesidebartimer);
                mw.loader.addStyleTag(".mobilesidebar-caption { transition: .5s ease-in-out all; } .mobilesidebar-caption.active { box-shadow: inset 4px 0 0 0 #3366cc; text-decoration: none; } nav ul li.mobilesidebar-caption a { box-shadow: none; padding-right: 12px; } .mw-special-MobileMenu .navigation-drawer { position: static; } .mobilesidebar-level1 .oo-ui-iconElement, .mobilesidebar-level1 .oo-ui-indicatorElement { filter: invert(34%) sepia(4%) saturate(703%) hue-rotate(164deg) brightness(96%) contrast(91%); } .mobilesidebar-level1 .oo-ui-iconElement { width: 1.5em; height: 1.5em; margin-right: 1em; font-size: 16px; } .mobilesidebar-level1 .oo-ui-indicatorElement { float: right; }");
                $(".menu > ul:not(.hlist)").last().before([
                    '<ul class="mobilesidebar-level1" id="mobilesidebar-navigation">',
                    generateMenuLi({ href: "#", text: wgULS("导航工具", "導覽工具"), iconName: "mapPin", className: "mobilesidebar-caption" }),
                    '<ul class="mobilesidebar-level2" style="padding-bottom:0px">',
                    generateMenuLi({ href: "/Special:Recentchanges", iconName: "recentChanges", text: wgULS("最近更改", "近期變更") }),
                    generateMenuLi({ href: "/Special:Newpages", iconName: "viewDetails", text: wgULS("最新页面", "最新頁面"), className: "patroller-show" }),
                    generateMenuLi({ href: "/cm:Special:新建文件", iconName: "imageGallery", text: wgULS("最新文件", "最新檔案") }),
                    generateMenuLi({ href: "/萌娘百科_talk:讨论版", iconName: "speechBubbles", text: wgULS("讨论版", "討論版") }),
                    generateMenuLi({ href: "/Category:积压工作", iconName: "viewCompact", text: wgULS("积压工作", "積壓工作"), className: "patroller-show" }),
                    "</ul>",
                    "</ul>",
                    '<ul class="mobilesidebar-level1" id="mobilesidebar-help">',
                    generateMenuLi({ href: "#", text: wgULS("帮助文档", "說明文件"), iconName: "journal", className: "mobilesidebar-caption" }),
                    '<ul class="mobilesidebar-level2" style="padding-bottom:0px">',
                    generateMenuLi({ href: "/Help:沙盒", iconName: "sandbox", text: "沙盒" }),
                    generateMenuLi({ href: "/Help:Wiki入门", iconName: "keyboard", text: wgULS("Wiki入门", "Wiki入門") }),
                    generateMenuLi({ href: "/Help:萌百编辑简明指南/欢迎", iconName: "lightbulb", text: wgULS("编辑简明指南", "萌百編輯教程") }),
                    generateMenuLi({ href: "/萌娘百科:编辑规范", iconName: "articleCheck", text: wgULS("萌百编辑规范", "萌百編輯規範") }),
                    generateMenuLi({ href: "/Template:萌娘百科政策文件", iconName: "unStar", text: "萌百政策文件" }),
                    generateMenuLi({ href: "/萌娘百科:常见问题与解答", iconName: "help", text: "FAQ" }),
                    "</ul>",
                    "</ul>",
                    '<ul class="mobilesidebar-level1" id="mobilesidebar-categoryindex">',
                    generateMenuLi({ href: "#", text: wgULS("分类索引", "分類索引"), iconName: "search", className: "mobilesidebar-caption" }),
                    '<ul class="mobilesidebar-level2" style="padding-bottom:0px">',
                    generateMenuLi({ href: "/Category:作品", iconName: "doubleChevronEnd", text: "作品" }),
                    generateMenuLi({ href: "/Category:人物", iconName: "doubleChevronEnd", text: "人物" }),
                    generateMenuLi({ href: "/Category:组织", iconName: "doubleChevronEnd", text: wgULS("组织", "組織") }),
                    generateMenuLi({ href: "/Category:概念用语", iconName: "doubleChevronEnd", text: wgULS("概念用语", "概念用語") }),
                    generateMenuLi({ href: "/Category:设定", iconName: "doubleChevronEnd", text: wgULS("设定", "設定") }),
                    generateMenuLi({ href: "/Category:软件", iconName: "doubleChevronEnd", text: wgULS("软件", "軟體") }),
                    generateMenuLi({ href: "/Category:活动", iconName: "doubleChevronEnd", text: wgULS("活动", "活動") }),
                    "</ul>",
                    "</ul>",
                ].join(""));
                //用户页面则在页面工具后插入用户工具
                var wgNamespaceNumber = mw.config.get("wgNamespaceNumber");
                if ([2, 3].includes(wgNamespaceNumber)) {
                    var userName = mw.util.wikiUrlencode(mw.config.get("wgTitle").split("/")[0]);
                    $(".menu > ul:not(.hlist)").last().before([
                        '<ul class="mobilesidebar-level1" id="mobilesidebar-userpage">',
                        generateMenuLi({ href: "#", text: wgULS("用户工具", "使用者工具", null, null, "用戶工具"), iconName: "userAdd", className: "mobilesidebar-caption" }),
                        '<ul class="mobilesidebar-level2" style="padding-bottom:0px">',
                        generateMenuLi({ href: "/User_talk:" + userName, iconName: "userTalk", text: wgULS("讨论页", "對話頁", null, null, "討論頁") }),
                        generateMenuLi({ href: "/Special:Contributions/" + userName, iconName: "userContributions", text: wgULS("用户贡献", "使用者貢獻", null, null, "用戶貢獻") }),
                        generateMenuLi({ href: "/cm:Special:ViewAvatar/" + userName, iconName: "userAnonymous", text: wgULS("查看头像", "檢視頭像") }),
                        generateMenuLi({ href: "/Special:Block/" + userName, iconName: "block", text: wgULS("封禁用户", "封鎖使用者", null, null, "封鎖用戶"), className: "patroller-show" }),
                        generateMenuLi({ href: "/Special:Userrights/" + userName, iconName: "userGroup", text: wgULS("用户权限", "使用者權限", null, null, "用戶權限") }),
                        generateMenuLi({ href: "/Special:Log/" + userName, iconName: "textFlow", text: wgULS("用户日志", "使用者日誌", null, null, "用戶日誌") }),
                        "</ul>",
                        "</ul>",
                    ].join(""));
                }
                //内容页面则在中间插入页面工具
                if (wgNamespaceNumber >= 0 && mw.config.get("wgUserGroups").includes("autoconfirmed")) {
                    var pageName = mw.util.wikiUrlencode(mw.config.get("wgPageName"));
                    $(".menu > ul:not(.hlist)").last().before([
                        '<ul class="mobilesidebar-level1" id="mobilesidebar-articlepage">',
                        generateMenuLi({ href: "#", text: wgULS("页面工具", "頁面工具"), iconName: "articles", className: "mobilesidebar-caption" }),
                        '<ul class="mobilesidebar-level2" style="padding-bottom:0px">',
                        generateMenuLi({ href: "/" + pageName + "?action=edit", iconName: "edit", text: wgULS("编辑全文", "編輯全文") }),
                        generateMenuLi({ href: "/Special:Movepage/" + pageName, iconName: "move", text: wgULS("移动页面", "移動頁面") }),
                        generateMenuLi({ href: "/cm:Special:Upload", iconName: "upload", text: wgULS("上传文件", "上傳檔案", null, null, "上載檔案") }),
                        generateMenuLi({ href: "/" + pageName + "?action=delete", iconName: "trash", text: wgULS("删除页面", "刪除頁面"), className: "sysop-show" }),
                        generateMenuLi({ href: "/" + pageName + "?action=protect", iconName: "lock", text: wgULS("保护页面", "保護頁面"), className: "sysop-show" }),
                        generateMenuLi({ href: "/Special:Whatlinkshere/" + pageName, iconName: "link", text: wgULS("链入页面", "連結至此的頁面") }),
                        generateMenuLi({ href: "/" + pageName + "?action=info", iconName: "infoFilled", text: wgULS("页面信息", "頁面資訊") }),
                        "</ul>",
                        "</ul>",
                    ].join("\n"));
                }
                // 登录用户插入参数设置
                if (mw.config.get("wgUserGroups").includes("user")) {
                    $(".menu > ul:not(.hlist)").last().prepend('<li><a href="/index.php?title=Special:Preferences" class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-settings">' + wgULS("参数设置", "偏好設定") + "</a></li>");
                }
                $(".menu .mobilesidebar-level2").hide();
                $(".mobilesidebar-caption").on("click", function (_a) {
                    _a.preventDefault();
                    var target = _a.target;
                    var $ele = $(target).closest(".mobilesidebar-level1");
                    $ele.find(".mobilesidebar-caption").toggleClass("active");
                    $ele.find(".oo-ui-indicatorElement").toggleClass("oo-ui-indicator-down").toggleClass("oo-ui-indicator-up");
                    $ele.find(".mobilesidebar-level2").slideToggle(500);
                });
            }
        }, 700);
    }
    mw.loader.using([
            "oojs-ui-core",
            "oojs-ui.styles.icons-movement",
            "oojs-ui.styles.icons-moderation",
            "oojs-ui.styles.icons-editing-core",
            "oojs-ui.styles.icons-editing-advanced",
            "oojs-ui.styles.icons-location",
            "oojs-ui.styles.icons-user",
            "oojs-ui.styles.icons-layout",
            "ext.gadget.sidebaricons"
        ]).then(mobilesidebar);
        // 用以临时修复在移动端上AjaxPoll未加载代码块的问题,更新后需要去除
        if ($(".ajaxpoll").length > 0) {
            mw.loader.load("https://zh.moegirl.org.cn/load.php?modules=ext.ajaxpoll");
        }