// ==UserScript== // @name VoidVerified // @namespace http://tampermonkey.net/ // @version 1.21.3 // @author voidnyan // @source https://github.com/voidnyan/void-verified // @license MIT // @description Social enhancements for AniList. // @match https://anilist.co/* // @grant GM.xmlHttpRequest // @downloadURL none // ==/UserScript== /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/styles/activity.css": /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `.void-activity-entry.activity-entry { margin-bottom: 20px; min-width: 0 } .void-activity-entry.activity-entry:hover .entry-dropdown, .void-activity-entry.activity-entry .wrap:hover .time .action { opacity: 1; transform: none } .void-activity-entry .wrap { background: rgb(var(--color-foreground)); border-radius: 4px; font-size: 1.3rem; overflow: hidden; position: relative; } .void-activity-entry .text { padding: 20px; } .void-activity-entry .text .header { display: flex; align-items: center; } .void-activity-entry .text .header > svg { height: 20px; margin-left: 30px; margin-right: 30px; } .void-activity-entry .text .avatar { border-radius: 3px; height: 40px; width: 40px; } .void-activity-entry .avatar { display: inline-block; background-position: 50%; background-repeat: no-repeat; background-size: cover; } .void-activity-entry .text .name { height: 40px; line-height: 40px; margin-left: 12px; vertical-align: top; } .void-activity-entry .name { color: rgb(var(--color-blue)); display: inline-block; font-size: 1.4rem } .void-activity-entry .list .name { padding-bottom: 8px } .void-activity-entry .text .activity-markdown { font-size: 1.4rem; line-height: 1.4; overflow-wrap: break-word; word-break: break-word; } .void-activity-entry .text .markdown { margin-bottom: 14px; margin-top: 14px; max-height: 560px; overflow: hidden; } .void-activity-entry .text .markdown p:first-of-type { margin-top: 0; } .void-activity-entry .text .markdown p:last-of-type { margin-bottom: 0; } .void-activity-entry .text .markdown:hover, .void-activity-entry .reply .markdown:hover, .void-activity-entry .markdown:hover { overflow-y: auto; } .void-activity-entry .markdown { overflow-wrap: break-word; word-break: break-word; } .void-activity-entry .wrap .actions, .void-activity-entry .reply .actions { bottom: 12px; color: rgb(var(--color-blue-dim)); position: absolute; right: 12px; font-family: Overpass, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; font-weight: 800; } .void-activity-entry .actions .action { cursor: pointer; display: inline-block; padding-left: 7px; padding-right: 2px; transition: .2s; } .void-activity-entry .actions .action:hover { color: rgb(var(--color-blue)); } .void-activity-entry .actions .count { font-size: 1.2rem; padding-right: 4px; } .void-activity-entry .like-wrap { display: inline-block; position: relative; } .void-activity-entry .button { cursor: pointer; } .void-activity-entry .liked { color: rgb(var(--color-red)); } .void-activity-entry .fade-enter { opacity: 0; transform: translateY(3px) scale(.95); } .void-activity-entry .fade-enter-active { transition-timing-function: cubic-bezier(0,0,.2,1); transition: opacity .15s, transform .15s; } .void-activity-entry .users { background: rgb(var(--color-foreground)); border-radius: 4px; box-shadow: 0 2px 10px 0 rgba(6, 13, 34, .1); height: 40px; right: -5px; overflow: hidden; position: absolute; top: -40px; width: max-content; max-width: 400px; display: flex; flex-wrap: wrap; } .void-activity-entry .user { background-position: 50%; background-repeat: no-repeat; background-size: cover; display: inline-block; height: 40px; width: 40px; } .void-activity-entry .activity-replies { margin: 20px; } .void-activity-entry .reply { background: rgb(var(--color-foreground)); border-radius: 3px; font-size: 1.3rem; margin-bottom: 15px; padding: 14px; padding-bottom: 4px; position: relative; } .void-activity-entry .reply .name { color: rgb(var(--color-blue)); display: inline-block; font-size: 1.3rem; height: 25px; line-height: 25px; margin-left: 6px; vertical-align: top; } .void-activity-entry .reply .avatar { background-position: 50%; background-repeat: no-repeat; background-size: cover; border-radius: 3px; display: inline-block; height: 25px; width: 25px; } .void-activity-entry .reply .actions { color: rgb(var(--color-blue-dim)); font-family: Overpass, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; font-weight: 700; position: absolute; right: 12px; top: 12px; } .void-activity-entry .wrap .time { color: rgb(var(--color-text-lighter)); font-size: 1.1rem; position: absolute; right: 12px; top: 12px; font-family: Overpass, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; font-weight: 800; } .void-activity-entry .wrap .time a svg, .void-activity-entry .wrap .time span svg { height: 1.2em; vertical-align: sub; padding-right: 6px; } .void-activity-entry .wrap .time a, .void-activity-entry .reply .time .action, .void-activity-entry .reply .void-action { opacity: 0; transition: opacity .2s ease-in-out; } .void-activity-entry .wrap:hover .time a, .void-activity-entry .reply:hover .time .action, .void-activity-entry .reply:hover .void-action { opacity: 1; } .void-activity-entry .void-action svg { height: 1em; } .void-activity-entry .reply .void-action svg { vertical-align: text-top; padding-right: 5px; } .void-activity-entry .wrap .time .action { cursor: pointer; opacity: 0; padding-right: 10px; position: relative; transition: .2s } .void-activity-entry .void-activity-dropdown-trigger svg { font-size: 1.6rem; } .void-activity-entry .wrap .time .action:hover { color: rgb(var(--color-blue)); } .void-activity-entry .wrap .time .action svg { vertical-align: sub; } .void-activity-entry .has-label svg { width: 1.4em; } .void-activity-entry .wrap .time .action.has-label { padding-right: 5px; } .has-label:hover.has-label::before { display: block; } .has-label:before { background: rgba(var(--color-overlay),.8); border-radius: 5px; color: rgba(var(--color-white),.9); content: attr(label); display: none; font-family: Overpass,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif; font-size: 1.2rem; font-weight: 700; left: -45px; padding: 6px 8px; position: absolute; text-align: center; top: 20px; width: 90px; white-space: pre-wrap; } .void-activity-entry .wrap .time .action.active { color: rgba(var(--color-green), .8); } .container .void-activity-entry .activity-entry .wrap .time a { color: rgb(var(--color-blue-dim)); } .container .void-activity-entry .activity-entry .wrap .time a:hover { color: rgb(var(--color-blue)); } .void-activity-entry .actions .time { color: rgb(var(--color-text-lighter)); font-size: 1.1rem; } .void-activity-entry .reply .markdown { line-height: 1.4; max-height: 560px; overflow: hidden; } .void-activity-entry .activity-replies { margin: 20px; } .void-activity-entry .list { display: grid; grid-template-columns: 80px auto; height: 100%; min-height: 110px } .void-activity-entry .cover { background-position: 50%; background-repeat: no-repeat; background-size: cover } .void-activity-entry .details { padding: 14px 16px; padding-right: 100px } .void-activity-entry .list .avatar { border-radius: 3px; height: 36px; margin-top: 9px; width: 36px } .void-activity-entry .list .title { color: rgb(var(--color-blue)); word-break: break-word } .void-activity-entry .donator-badge { background: rgb(var(--color-background)); border-radius: 3px; color: rgb(var(--color-text)); display: inline-block; font-size: 1.2rem; letter-spacing: .03em; margin-left: 13px; overflow: hidden; padding: 4px 7px; position: absolute } .void-activity-entry .donator-badge.donator-rainbow-badge { animation-duration: 20s; animation-iteration-count: infinite; animation-name: rainbow; animation-timing-function: ease-in-out; color: rgb(var(--color-white)); } .void-activity-entry .list .donator-badge { top: 12px; } .void-activity-entry .text .donator-badge { position: relative; top: 0 } .void-activity-entry .mod-badge { padding: 3px 6px; } .void-activity-entry .donator-badge { font-family: Overpass, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; font-weight: 800; } .void-activity-entry .mod-badge .label { margin: 1px; margin-left: 4px; letter-spacing: .03rem; font-weight: 800; text-transform: capitalize; } .void-mod-tooltip { text-align: start; display: flex; flex-direction: column; gap: 5px; } .void-mod-tooltip > div { display: flex; gap: 5px; } .void-activity-feed .load-more, .void-message-feed .load-more { background: rgb(var(--color-foreground)); border-radius: 4px; cursor: pointer; font-family: Overpass,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif; font-size: 1.4rem; font-weight: 700; margin-top: 20px; padding: 14px; text-align: center; transition: .2s } .void-activity-feed > .load-more:hover, .void-message-feed > .load-more:hover { color: rgb(var(--color-blue)); box-shadow: 0 2px 20px 0 rgba(6,13,34,.05) } .void-activity-entry .load-more { margin-bottom: 20px; background: rgb(var(--color-blue)); color: rgb(var(--color-text-bright)); } .void-activity-entry .void-action { font-size: 1.1rem; font-weight: normal; display: inline-block; } .void-hide-activity-feed .activity-feed:not(.void-message-feed) { display: none; } .void-hide-activity-feed .scroller { display: none; } `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/styles/collapsibleContainer.css": /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `.void-collapsible-container { background: rgb(var(--color-foreground-grey)); color: rgb(var(--color-text)); border-radius: 4px; overflow: hidden; margin-top: 20px; margin-bottom: 20px; } .void-collapsible-container-head-wrap { background: rgb(var(--color-foreground-grey-dark)); color: rgb(var(--color-text)); padding: 10px 15px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; user-select: none; } .void-collapsible-container-icon svg { height: 20px; transition: transform 0.3s ease-in-out; } .void-collapsible-container:has(.void-collapsible-container-body-wrap.void-collapsed) .void-collapsible-container-icon svg { transform: rotate(180deg); } .void-collapsible-container-body { padding: 20px; } .void-collapsible-container-body-wrap { max-height: var(--max-height); transition: max-height 0.3s ease; overflow: hidden; } .void-collapsible-container-body-wrap.void-collapsed { max-height: 0px; } `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/styles/dialog.css": /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `.void-dialog-wrapper { position: fixed; top: 0; bottom: 0; left: 0; right: 0; display: flex; justify-content: center; align-items: center; z-index: 9500; visibility: hidden; background: rgba(18, 22, 28, .9); } .void-dialog-wrapper.void-visible { visibility: visible; } .void-dialog { background: rgb(var(--color-foreground)); max-width: 420px; width: 100%; border-radius: 4px; overflow: hidden; } .void-dialog-header-wrap { display: flex; justify-content: space-between; padding: 15px 15px 10px; background: rgb(var(--color-foreground-grey-dark)); } .void-dialog-header-wrap svg { height: 1em; cursor: pointer; } .void-dialog-header { font-size: 18px; line-height: 1; } .void-dialog-content { padding: 15px 10px; font-size: 14px; } .void-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 5px 15px; } `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/styles/dropdownMenu.css": /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `.void-dropdown-menu { position: absolute; z-index: 9000; background-color: #fff; box-shadow: 0 1px 10px 0 rgba(49, 54, 68, .15); overflow: hidden; text-overflow: ellipsis; border-radius: 4px; opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; width: fit-content; color: rgb(var(--color-text)); border: 0; overflow: initial; font-family: Overpass, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; font-weight: 800; transform-origin: center top; padding: 6px 0; display: flex; flex-direction: column; } .void-dropdown-menu.void-visible { opacity: 1; visibility: visible; } .void-dropdown-menu-item { padding: 2px 17px 2px 12px; align-items: center; line-height: 30px; font-size: 14px; cursor: pointer; } .void-dropdown-menu-item:hover { background: rgb(var(--color-blue)); color: rgb(var(--color-white)); } .void-dropdown-menu-item:hover a, .void-dropdown-menu-item a:hover, a.void-dropdown-menu-item:hover { color: rgb(var(--color-white)); } .void-dropdown-menu-item svg { height: 1.1em; padding-right: 10px; vertical-align: text-top; } `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/styles/goals.css": /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `.void-goals-container { margin-top: 20px; } .void-goals-wrap { display: flex; flex-direction: column; margin-bottom: 25px; padding: 20px; background: rgb(var(--color-foreground)); border-radius: 4px; overflow: hidden; gap: 15px; } .void-goal-title { font-weight: 600; font-size: 1.5rem; } .void-goal-description { font-size: 1.3rem; margin: 6px 0px; } .void-milestones { display: grid; font-size: 1.1rem; font-weight: 500; grid-template-columns: repeat(3, 1fr); overflow: hidden; padding: 11px 0; user-select: none; } .void-milestone { display: inline-block; position: relative; text-align: center; } .void-milestone::after { color: #c6d5d5; content: "|"; left: 0; padding-top: 5px; position: absolute; text-align: center; top: 100%; width: 100%; } .void-progress { background: rgb(var(--color-foreground-grey-dark)); height: 11px; padding: 0 16.5%; overflow: hidden; border-radius: 4px; } .void-progress .void-bar { background: linear-gradient(270deg, #02a9ff, #71cfff); border-radius: 0 50px 50px 4px; box-sizing: content-box; height: 100%; margin-left: -33.3%; padding-right: 33.3%; background: rgb(var(--color-blue)); overflow: hidden; position: relative; } .void-progress .void-bar::after { background: linear-gradient(530deg, hsla(0, 0%, 100%, .5), hsla(0, 0%, 100%, 0)); content: ""; height: 100%; position: absolute; width: 100%; } `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/styles/keyInput.css": /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `.void-key-input { width: 15ch; text-align: center; } .void-markdown-shortcut-dialog { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 12px; row-gap: 6px; align-items: center; } `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/styles/markdownDialog.css": /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `.void-markdown-dialog-container { background: rgb(var(--color-foreground)); border-radius: 4px; margin: 10px 0px; } .void-markdown-dialog-header { width: 100%; background: rgb(var(--color-foreground-grey-dark)); padding: 12px; border-radius: 4px 4px 0px 0px; user-select: none; } .activity-edit:has(.markdown-editor[style*="display: none;"]) .void-markdown-dialog-container, .void-markdown-dialog-container[closed="true"] { display: none; } .void-markdown-dialog-header.void-flex { display: flex; justify-content: space-between; } .void-markdown-dialog-body { padding: 12px; } `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/styles/markdownEditor.css": /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `.void-activity-edit .input .el-textarea__inner { font-size: 1.3rem; padding: 8px 15px; resize: none; background: rgb(var(--color-foreground)); border: 0; box-shadow: unset; color: rgb(var(--color-text)); outline: 0; transition: .2s } .void-activity-edit .input { margin-bottom: 20px; } .void-activity-edit .rules-notice { text-align: right; font-size: 1.2rem; margin-bottom: 10px; margin-top: 0 } .void-activity-edit .void-hidden { display: none; } .void-activity-edit .actions.void-hidden { display: none; } .void-activity-edit .actions { display: flex; flex-direction: row; justify-content: flex-end; margin-bottom: 60px } .void-activity-edit .actions .button { align-items: center; background: rgb(var(--color-blue)); border-radius: 4px; color: rgb(var(--color-text-bright)); cursor: pointer; display: inline-flex; font-family: Overpass,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif; font-size: 1.3rem; font-weight: 900; margin-left: 18px; padding: 10px 15px; transition: .2s } .void-activity-edit .markdown:hover { overflow-y: auto; } .void-activity-edit .actions .button.cancel { background: rgb(var(--color-foreground)); color: rgb(var(--color-text-lighter)) } .void-markdown-edit-container { background: rgba(18,22,28,.9); height: 100vh; left: 0; top: -100vh; opacity: 0; position: fixed; overflow: auto; transition: opacity .4s ease; width: 100vw; z-index: 3050; display: flex; justify-content: center; align-items: center; } .void-markdown-edit-container.void-visible { opacity: 1; top: 0; } .void-markdown-edit-container .void-markdown-edit-content { padding: 20px; width: 50%; background: rgb(var(--color-background)); border-radius: 4px; } .void-markdown-edit-container .void-markdown-edit-content .activity-edit > .actions { margin-bottom: unset; } `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/styles/miniProfile.css": /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `.void-mini-profile-container { position: absolute; z-index: 9999; background-color: rgb(var(--color-foreground-grey)); border-radius: 4px; background-size: cover; background-position: center; background-repeat: no-repeat; user-select: none; opacity: 1; transition: opacity 0.2s ease-in-out, visibility 0.2s; box-shadow: rgb(var(--color-shadow-blue)) 0px 0px 4px; } .void-mini-profile-container.void-mini-profile-hidden { visibility: hidden; opacity: 0; } .void-mini-profile-header { display: flex; padding: 6px; align-items: center; } .void-mini-profile-avatar { display: block; width: 60px; height: 60px; border-radius: 4px; background-size: contain; background-repeat: no-repeat; } .void-mini-profile-username { padding-left: 6px; color: rgb(var(--color-text-bright)); font-weight: 600; text-shadow: black 0px 0px 4px; } .void-mini-profile-donator-badge { background: rgb(var(--color-background)); border-radius: 3px; color: rgb(var(--color-text)); display: inline-block; font-size: 1.2rem; letter-spacing: .03em; margin-left: 13px; overflow: hidden; padding: 4px 7px; } .void-mini-profile-donator-rainbow-badge { animation-duration: 20s; animation-iteration-count: infinite; animation-name: rainbow; animation-timing-function: ease-in-out; color: rgb(var(--color-white)) } .void-mini-profile-follow-badge { color: rgb(var(--color-text-bright)); } .void-mini-profile-title { font-weight: 700; font-size: 13px; padding-left: 6px; } .void-mini-profile-content-container { backdrop-filter: blur(10px); background: rgba(var(--color-foreground-grey-dark), .6); border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; } .void-mini-profile-section { padding: 6px; display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; } .void-mini-profile-favourite { display: block; width: 42px; height: 57px; border-radius: 4px; background-size: cover; } .void-mini-profile-favourited { box-shadow: rgb(var(--color-blue)) 2px 2px; } .void-mini-profile-about { max-height: 300px; overflow-y: hidden; user-select: text; } .void-mini-profile-about:hover { overflow-y: auto; } `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/styles/quickStart.css": /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `.void-quick-start-container { background: rgba(18,22,28,.9); height: 100vh; left: 0; top: -100vh; opacity: 0; position: fixed; overflow: auto; transition: opacity .4s ease; width: 100vw; z-index: 3000; } .void-quick-start-container.void-visible { opacity: 1; top: 0; } .void-quick-start-input-container { align-items: center; background: rgb(var(--color-foreground)); border-radius: 6px; display: grid; grid-template-columns: 46px 1fr 46px 46px; justify-items: center; left: calc(50% - 330px); position: absolute; top: 40px; transition: .25s ease; width: 660px; z-index: 1; } .void-quick-start-command-props-container { position: absolute; top: 52px; justify-self: start; border-radius: 4px; background: rgb(var(--color-foreground-grey-dark)); padding: 4px; } .void-quick-start-mode-select-container { display: flex; justify-content: center; } .void-quick-start-mode-select-container .void-option { font-size: 1.1em; padding: 6px 8px; } .void-quick-start-input-container svg { height: 50%; } .void-quick-start-input-container svg:not(:first-child) { cursor: pointer; } .void-quick-start-input-container input { background: transparent; border: none; color: rgb(var(--color-text)); font-family: Overpass, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; font-size: 1.5rem; font-weight: 600; letter-spacing: -.01em; margin-left: 0; outline: 0; padding: 16px 0; padding-top: 18px; position: relative; width: 100%; z-index: 2; } .void-quick-start-content-container { margin: 0 auto; max-width: 1700px; padding: 150px 60px; display: flex; flex-direction: column; /*gap: 60px;*/ } .void-quick-start-content-container > * { margin-top: 30px; margin-bottom: 30px; } .void-quick-start-content-container > :first-child { margin-top: 0px; } .void-quick-start-content-container .void-quick-access-wrap { display: flex; justify-content: center; flex-wrap: wrap; gap: 15px; align-items: flex-start; max-height: 300px; overflow-y: auto; overflow-x: hidden; } .void-quick-start-results-container { display: grid; grid-gap: 60px; } @media screen and (min-width: 1000px) { .void-quick-start-results-container { grid-template-columns: 1fr 1fr; } } .void-quick-start-results-container:has(.void-activity-feed) { grid-template-columns: 1fr; justify-items: center; } .void-quick-start-container .void-activity-feed { /*min-width: 400px;*/ max-width: 1000px; } @media screen and (min-width: 1000px) { .void-quick-start-container .void-activity-feed { min-width: 750px; } } .void-quick-start-results-list { background: rgb(var(--color-foreground)); border-radius: 4px; color: rgb(var(--color-text)); position: relative; } .void-quick-start-results-title { color: rgba(var(--color-text-bright), .8); font-size: 1.4rem; font-weight: 600; left: 0; margin: 0; padding: 0; position: absolute; text-transform: capitalize; top: -24px } .void-quick-start-result { cursor: pointer; font-size: 1.5rem; font-weight: 600; transition: background-color .15s ease,color .15s; padding: 10px 15px; width: 100%; display: block; } .void-quick-start-result:first-of-type { padding-top: 15px; border-top-left-radius: 4px; border-top-right-radius: 4px; } .void-quick-start-result:last-of-type { padding-bottom: 15px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; } .void-quick-start-result:hover, .void-quick-start-result:visited:hover { background: rgb(var(--color-blue)); color: rgb(var(--color-text-bright)); } .void-quick-access-option-input { width: 50px; } .void-quick-start-notifications { display: flex; flex-direction: column; gap: 10px; max-height: 300px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgb(var(--color-blue)) rgba(0, 0, 0, 0); } .void-quick-start-notifications .void-notification-preview-relation { height: 18px; } /* has two children */ .void-quick-start-head-container:has(> :last-child:nth-child(2)):not(:has([void-disabled="true"])) { display: grid; gap: 60px; } @media screen and (min-width: 1000px) { .void-quick-start-head-container:has(> :last-child:nth-child(2)):not(:has([void-disabled="true"])) { grid-template-columns: 2fr 1fr; } } .void-quick-start-config-container { background: rgb(var(--color-foreground)); border-radius: 4px; padding: 20px; width: fit-content; margin: auto; max-height: 400px; transition: all 0.5s ease-in-out; overflow: hidden; } .void-settings .void-quick-start-config-container { padding: 0; margin: 0; max-height: unset; } .void-quick-start-config-container[void-hidden="true"] { padding-top: 0px; padding-bottom: 0px; max-height: 0px; } .void-quick-start-head-container:has(.void-quick-start-activity-search-params-container) { display: flex; justify-content: center; } .void-quick-start-activity-search-params-container { max-width: 1000px; } .void-quick-start-activity-search-params-container-head { display: flex; justify-content: space-between; width: 100%; } .void-quick-start-activity-search-params-container-body { display: flex; gap: 10px; flex-wrap: wrap; background: rgb(var(--color-foreground-grey)); border-radius: 4px; } .void-quick-start-activity-search-params-container-body > * { cursor: pointer; } .void-quick-start-activity-search-params-container-body:empty::before { content: "None selected"; } .void-quick-start-activity-search-params-container .void-select { display: flex; width: fit-content; } .void-date-range-container { display: flex; width: fit-content; align-items: center; gap: 10px; margin-top: 20px; margin-bottom: 20; } .void-date-range-container svg { height: 20px; } .void-button.void-all-users-button { padding: 0px; margin-top: 0px; background: unset; display: inline-block; color: rgb(var(--color-text)); } .void-quick-start-media-cache { max-height: 200px; overflow-y: auto; } .void-quick-start-activity-search-params-container { max-height: 3000px; transition: max-height 0.3s ease; overflow: hidden; } .void-quick-start-activity-search-params-container.collapsed { max-height: 45px; } .void-quick-start-activity-search-params-container .void-collapsible-container { background: rgb(var(--color-foreground)); } .void-quick-start-activity-search-params-container .void-collapsible-container .void-collapsible-container-head-wrap { background: rgb(var(--color-foreground-grey-dark)); } .void-quick-start-activity-search-base-params { display: grid; gap: 15px } .void-quick-start-activity-search-action-container { width: 100%; display: grid; grid-template-columns: 1fr 2fr; gap: 20px; } .void-quick-start-activity-search-action-container .void-button { width: 100%; text-align: center; display: block; font-size: 1.2em; } .transparent .void-quick-start-nav-button svg:hover, .void-quick-start-nav-button svg:hover { color: #d3d5f3; } .transparent .void-quick-start-nav-button svg { color: rgba(191, 193, 212, .65); } .void-quick-start-nav-button svg { width: 1.7em; color: #777a9e; cursor: pointer; transition: color .3s ease; vertical-align: -0.525em; } .void-quick-start-nav-button { margin-right: 15px; font-size: 1.4rem; } .void-quick-start-mobile-nav-button { text-decoration: none; transition: .15s; outline: 0; } .void-quick-start-mobile-nav-button:hover { color: rgb(var(--color-blue)); } .void-quick-start-mobile-nav-button svg { width: 1.65em; } .void-quick-start-mobile-nav-button div { color: rgb(var(--color-gray-600)); display: block; font-size: 1rem; } `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/styles/styles.css": /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, `:root { --void-info: 46, 149, 179; --void-error: 188, 53, 46; --void-success: 80, 162, 80; --void-warning: 232, 180, 2; } .nav a[href="/settings/developer" i]::after{content: " & Void"} .void-settings .void-nav ol { display: flex; margin: 8px 0px; padding: 0; } .void-nav { margin-top: 3rem; } .void-settings .void-nav li { list-style: none; display: block; color: rgb(var(--color-text)); padding: 4px 8px; text-transform: capitalize; background: rgb(var(--color-foreground-blue)); cursor: pointer; min-width: 50px; text-align: center; font-size: 1.4rem; } .void-settings .void-nav li.void-active, .void-settings .void-nav li:hover { background: rgb(var(--color-blue)); color: rgb(var(--color-text-bright)); } .void-settings .void-nav li:first-child { border-radius: 4px 0px 0px 4px; } .void-settings .void-nav li:last-child { border-radius: 0px 4px 4px 0px; } .void-settings .void-settings-header { margin-top: 30px; } .void-settings .void-table table { border-collapse: collapse; } .void-settings .void-table :is(th, td) { padding: 2px 6px !important; } .void-settings .void-table :is(th, td):first-child { border-radius: 4px 0px 0px 4px; } .void-settings .void-table :is(th, td):last-child { border-radius: 0px 4px 4px 0px; } .void-settings .void-table tbody tr:hover { background-color: rgba(var(--color-foreground-blue), .7); } .void-settings .void-table input[type="color"] { border: 0; height: 24px; width: 40px; padding: 0; background-color: unset; cursor: pointer; } .void-settings .void-table button { background: unset; border: none; cursor: pointer; padding: 0; } .void-settings .void-table form { padding: 8px; display: flex; align-items: center; gap: 8px; } .void-settings .void-settings-header span { color: rgb(var(--color-blue)); } .void-settings .void-settings-list { display: flex; flex-direction: column; gap: 5px; } .void-setting-label { padding-left: 6px; vertical-align: middle; cursor: pointer; } .void-setting-label-container.void-auth-required .void-setting-label { color: rgb(var(--color-peach)); } .void-setting-label-container .void-checkbox { vertical-align: middle; } .void-setting-label-container { display: flex; align-items: center; } .void-checkbox { cursor: pointer; } .void-settings .void-settings-list input.void-input { width: 50px; text-align: center; height: 20px; font-size: 12px; } .void-settings .void-settings-list label { padding-left: 8px; } .void-settings .void-css-editor label { margin-top: 20px; fontSize: 2rem; display: inline-block; } .void-textarea { width: 100%; height: 300px; min-height: 200px; resize: vertical; background: rgb(var(--color-foreground-blue)); color: rgb(var(--color-text)); padding: 4px; border-radius: 4px; border: 2px solid transparent; outline: none !important; } .void-textarea:focus { border: 2px solid rgb(var(--color-blue)) !important; } .void-layout-image-container { padding: 4px; display: inline-block; } .void-layout-image-container:first-child { width: 35%; } .void-layout-image-container:last-child { width: 65%; } .void-layout-header { text-transform: uppercase; margin-top: 2.2em; margin-bottom: .8em; } .void-layout-image-display { height: 140px; background-repeat: no-repeat; margin: auto; margin-bottom: 6px; border-radius: 4px; } .void-layout-image-display.void-banner { width: 100%; background-size: cover; background-position: 50% 50%; } .void-layout-image-display.void-avatar { background-size: contain; width: 140px; } .void-layout-image-container input { width: 100%; } .void-layout-color-selection { margin-top: 10px; margin-bottom: 10px; } .void-layout-color-selection .void-color-button { width: 50px; height: 50px; display: inline-flex; border-radius: 4px; margin-right: 10px; } .void-layout-color-selection .void-color-button.active { border: 4px solid rgb(var(--color-text)); } .void-layout-color-selection .void-color-picker-container.active { border: 2px solid rgb(var(--color-text)); } .void-color-picker-container { display: inline-block; vertical-align: top; width: 75px; height: 50px; border: 2px solid transparent; border-radius: 4px; box-sizing: border-box; } .void-color-picker-container:has(:focus) { border: 2px solid rgb(var(--color-text)); } .void-color-picker-input { width: 100%; height: 20px; background-color: rgba(var(--color-background), .6); padding: 1px; font-size: 11px; color: rgb(var(--color-text)); outline: none; appearance: none; -webkit-appearance: none; text-align: center; border: unset; border-radius: 0px 0px 4px 4px; } .void-color-picker { /* width: 100%;; height: 50px; */ block-size: 30px; border-width: 0px; padding: 0px; background-color: unset; inline-size: 100%; border-radius: 4px; appearance: none; vertical-align: top; padding-block: 0px; padding-inline: 0px; outline: none; } .void-color-picker::-webkit-color-swatch, .void-color-picker::-moz-color-swatch { border: none; border-radius: 4px; } .void-color-picker::-webkit-color-swatch-wrapper, .void-color-picker::-webkit-color-swatch-wrapper { padding: 0px; border-radius: 4px; } .void-input { background-color: rgba(var(--color-background), .6); padding: 4px 6px; color: rgb(var(--color-text)); outline: none; appearance: none; -webkit-appearance: none; border: 2px solid transparent; border-radius: 4px; box-sizing: border-box; } .void-input[type="date"] { color-scheme: light; } .site-theme-dark .void-input[type="date"] { color-scheme: dark; } .void-action-container { display: inline-block; width: fit-content; } .void-action-container .void-icon-button { padding: 6px 8px; margin: 0px; background: rgb(var(--color-foreground-blue-dark)); color: rgb(var(--color-text)); border-radius: 0px 4px 4px 0px; height: 100%; display: inline-flex; flex-direction: column; justify-content: center; border: 2px solid transparent; border-left: 0px !important; line-height: 1.15; box-sizing: border-box; vertical-align: top; } .void-action-container .void-icon-button:hover { color: rgb(var(--color-blue)); } .void-action-container .void-icon-button svg { height: 14px; } .void-action-container .void-input { border-radius: 4px 0px 0px 4px; } a.void-link { color: rgb(var(--color-blue)) !important; } .void-input.void-sign { width: 75px; text-align: center; height: 20px; font-size: 14px; } .void-input:focus { border: 2px solid rgb(var(--color-blue)); } .void-button { align-items: center; background: rgb(var(--color-blue)); border-radius: 4px; color: rgb(var(--color-text-bright)); cursor: pointer; display: inline-flex; font-size: 1.3rem; padding: 10px 15px; outline: none; appearance: none; -webkit-appearance: none; border: 0px solid rgb(var(--color-background)); vertical-align: top; margin-top: 15px; margin-right: 10px; } .void-button[disabled="true"] { cursor: not-allowed; background: rgb(var(--color-blue-dim)); } .void-icon-button { display: inline-block; cursor: pointer; margin-left: 4px; margin-right: 4px; vertical-align: middle; } .void-icon-button svg { height: 12px; vertical-align: middle; display: inline-block; pointer-events: none; } .void-range-container { display: inline-flex; } .void-range-display { margin-left: 5px; user-select: none; font-size: 14px; font-weight: bold; display: inline-flex; justify-content: center; align-items: center; min-width: 25px; } .void-gif-button svg { height: 18px; vertical-align: top; color: rgb(var(--color-red)); } .void-gif-button:hover svg { color: rgb(var(--color-blue)); } .void-gif-button { margin: 0px; } .markdown-editor[style*="display: none;"] + .void-gif-keyboard-container, .home > .activity-feed-wrap > .activity-edit:has(.markdown-editor[style*="display: none;"]) .void-activity-reply-controls-container { display: none; } .void-gif-keyboard-container { width: 100%; background: rgb(var(--color-foreground)); margin-bottom: 12px; border-radius: 4px; } .void-gif-keyboard-header { background: rgb(var(--color-foreground-grey-dark)); padding: 12px 20px; border-radius: 4px 4px 0px 0px; display: flex; justify-content: space-between; } .void-gif-keyboard-control-container { display: flex; justify-content: space-between; padding: 12px 12px 0px 12px; } .void-gif-keyboard-list-container { height: 300px; min-height: 200px; max-height: 500px; overflow-y: scroll; resize: vertical; user-select: none; } .void-gif-keyboard-list { padding: 12px 20px; width: 100%; display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; } .void-gif-keyboard-list-column { width: calc(100% / 3); display: flex; flex-direction: column; gap: 8px; } .void-gif-keyboard-list-placeholder { font-size: 20px; color: rgb(var(--color-text)); display: flex; height: 220px; width: 100%; justify-content: center; align-items: center; user-select: none; } .void-gif-keyboard-item img { width: 100%; background-size: contain; background-repeat: no-repeat; border-radius: 4px; cursor: pointer; display: block; } .void-gif-like-container { position: relative; width: 100%; display: inline-block; } .void-gif-like-container img { width: 100%; } .void-gif-like-container .void-gif-like { position: absolute; top: 6px; right: 6px; height: 20px; opacity: 0; transition: 0.2s ease-in all; color: rgb(var(--color-text-bright)); } .void-gif-like-container:hover .void-gif-like { opacity: 1; } .void-gif-like-container .void-gif-like svg { height: 24px; } .void-gif-like-container .void-gif-like.void-liked, .void-liked { color: rgb(var(--color-red)); } .void-hidden { display: none; } .void-pagination-container .void-icon-button.void-active, .void-pagination-container .void-icon-button:hover { color: rgb(var(--color-blue)); } .void-pagination-container .void-icon-button.void-pagination-skip { vertical-align: top; } .void-quick-access { display: flex; flex-direction: column; } .void-quick-access .void-quick-access-wrap { background: rgb(var(--color-foreground)); display: grid; grid-template-columns: repeat(auto-fill, 60px); grid-template-rows: repeat(auto-fill, 80px); gap: 15px; padding: 15px; margin-bottom: 25px; border-radius: 4px; } .void-quick-access .void-quick-access-notifications-wrapper { order: 2; margin-bottom: 25px; } .void-quick-access .void-quick-access-notifications { background: rgb(var(--color-foreground)); overflow-y: auto; max-height: 300px; scrollbar-width: thin; scrollbar-color: rgb(var(--color-blue)) rgba(0, 0, 0, 0); border-radius: 4px; transition: max-height 0.5s; } .void-notifications-config-wrapper { padding: 15px; } .void-notifications-list { padding: 15px; display: flex; flex-direction: column; gap: 8px; } .void-quick-access-notifications[collapsed="true"] { max-height: 0px; } .void-quick-access-notifications-wrapper .section-header h2 { cursor: pointer; } .void-quick-access .section-header { display: flex; justify-content: space-between; } .void-quick-access-timer { font-size: 12px; color: rgb(var(--color-text)); } .void-quick-access-item { display: inline-block; } .void-quick-access-pfp { background-size: contain; background-repeat: no-repeat; height: 60px; width: 60px; border-radius: 4px; } .void-quick-access-username { display: inline-block; text-align: center; bottom: -20px; width: 100%; word-break: break-all; font-size: 1.2rem; } .void-quick-access-badge { position: relative; } .void-quick-access-badge::after { content: "New"; background: rgb(var(--color-blue)); border: 3px solid rgb(var(--color-foreground)); border-radius: 10px; padding: 2px 4px; font-size: 9px; position: absolute; top: 2px; right: -10px; color: white; } .void-notification-wrapper { display: flex; gap: 6px; } .void-notification-wrapper .void-notification-preview { width: 30px; height: 30px; display: inline-block; background-size: contain; background-repeat: no-repeat; background-position: 50% 50%; margin-right: 6px; border-radius: 4px; position: relative; } .void-notification-wrapper .void-notification-preview.void-notification-preview-media { width: auto; height: 30px; aspect-ratio: 85 / 115; background-size: cover; } .void-notification-wrapper .void-notification-preview[data-count]::after { content: attr(data-count); background: rgb(var(--color-blue)); border: 3px solid rgb(var(--color-foreground)); border-radius: 10px; padding: 2px 4px; font-size: 9px; position: absolute; top: -6px; right: -10px; color: white; } .void-notification-preview-wrapper { position: relative; } .void-notification-preview-wrapper:hover .void-notification-group, .void-notification-group:hover { display: flex; } .void-notification-group { display: none; position: absolute; top: -30px; z-index: 20; background: rgb(var(--color-foreground)); border-radius: 4px; overflow: hidden; } .void-notification-wrapper:first-child .void-notification-group { top: unset; bottom: -30px; } .void-notification-group .void-notification-group-item { display: block; width: 30px; height: 30px; background-size: contain; background-repeat: no-repeat; background-position: 50% 50%; z-index: 20; } .void-notification-wrapper { display: flex; align-items: center; } .void-notification-wrapper .void-notification-context .void-notification-context-actor { color: rgb(var(--color-blue)); } .void-notification-context-reason { font-size: 12px; padding-top: 2px; } .void-notification-wrapper .void-notification-timestamp { font-size: 10px; margin-left: auto; align-self: start; min-width: fit-content; } .void-unread-notification { margin-left: -5px; border-left: 5px solid rgb(var(--color-blue)); } .void-notification-settings-header { margin-bottom: 8px; } .void-notification-type-list-header { font-size: 16px; margin: 8px 0 4px 0; } #void-notifications-feed-container { display: grid; grid-template-columns: fit-content(200px) auto; gap: 20px; } @media screen and (max-width: 800px) { #void-notifications-feed-container { grid-template-columns: 1fr; } } .void-notification-filter-input { background: rgb(var(--color-foreground)); margin-bottom: 30px; } .void-notifications-feed-settings { margin-top: 25px; } .void-notifications-feed-sidebar .void-notifications-config-wrapper { padding: 0; max-height: max-content; transition: max-height 0.5s; overflow: hidden; font-size: 12px; } .void-notifications-feed-sidebar .void-notification-settings-header { cursor: pointer; user-select: none; } .void-notifications-feed-sidebar .void-notifications-config-wrapper[collapsed="true"] { max-height: 0px; } .notifications-feed.container:has(#void-notifications-feed-container) { display: block; } .void-notifications-feed-filters { display: flex; flex-direction: column; gap: 5px; } .void-notifications-feed-filter { padding: 6px 8px; border-radius: 4px; cursor: pointer; text-transform: capitalize; } .void-notifications-feed-filter.void-active, .void-notifications-feed-filter:hover { background-color: rgb(var(--color-foreground)); } .void-notifications-feed-list { display: flex; flex-direction: column; gap: 12px; } .void-notifications-feed-list .void-notification-wrapper { background: rgb(var(--color-foreground)); border-radius: 4px; padding: 8px; } .void-notifications-feed-list .void-notification-preview{ width: 50px; height: 50px; } .void-notifications-feed-list .void-notification-group-item { width: 40px; height: 40px; } .void-notifications-feed-list .void-notification-preview.void-notification-preview-media { height: 50px; } .void-notifications-feed-list .void-notification-group, .void-notifications-feed-list .void-notification-wrapper:first-child .void-notification-group { top: -40px; bottom: unset; } .void-notification-preview-relation { height: 30px; aspect-ratio: 1 / 1; background-size: cover; background-repeat: no-repeat; background-position: 50% 50%; border-radius: 4px; position: absolute; bottom: -3px; right: -3px; } .void-quick-access-notifications-wrapper .void-notification-preview-relation { height: 18px; } .void-notifications-feed-empty-notice { text-align: center; } .void-notifications-load-more-button, .void-notification-all-read-button { display: block; width: 100%; font-weight: 650; } .void-notification-dot { background:rgb(var(--color-peach)); border-radius:50%; bottom:0; color:#fff2f2; display:block; font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif; font-size:1.2rem; font-weight:500; height:20px; left:10px; line-height:20px; overflow:hidden; padding-right:1px; position:relative; text-align:center; transition:.2s; width:20px } .void-notification-dot:visited, .void-notification-dot:hover { color:#fff2f2; } .void-chip { background: rgb(var(--color-blue)); border-radius: 9999px; display: inline-block; padding: 2px 4px; font-size: 9px; color: white; margin: 0px 4px; vertical-align: top; user-select: none; } .void-loader { width: 10px; height: 10px; border-radius: 50%; display: block; margin:15px auto; position: relative; color: rgb(var(--color-blue)); left: -100px; box-sizing: border-box; animation: shadowRolling 2s linear infinite; } @keyframes shadowRolling { 0% { box-shadow: 0px 0 rgba(255, 255, 255, 0), 0px 0 rgba(255, 255, 255, 0), 0px 0 rgba(255, 255, 255, 0), 0px 0 rgba(255, 255, 255, 0); } 12% { box-shadow: 100px 0 rgb(var(--color-blue)), 0px 0 rgba(255, 255, 255, 0), 0px 0 rgba(255, 255, 255, 0), 0px 0 rgba(255, 255, 255, 0); } 25% { box-shadow: 110px 0 rgb(var(--color-blue)), 100px 0 rgb(var(--color-blue)), 0px 0 rgba(255, 255, 255, 0), 0px 0 rgba(255, 255, 255, 0); } 36% { box-shadow: 120px 0 rgb(var(--color-blue)), 110px 0 rgb(var(--color-blue)), 100px 0 rgb(var(--color-blue)), 0px 0 rgba(255, 255, 255, 0); } 50% { box-shadow: 130px 0 rgb(var(--color-blue)), 120px 0 rgb(var(--color-blue)), 110px 0 rgb(var(--color-blue)), 100px 0 rgb(var(--color-blue)); } 62% { box-shadow: 200px 0 rgba(255, 255, 255, 0), 130px 0 rgb(var(--color-blue)), 120px 0 rgb(var(--color-blue)), 110px 0 rgb(var(--color-blue)); } 75% { box-shadow: 200px 0 rgba(255, 255, 255, 0), 200px 0 rgba(255, 255, 255, 0), 130px 0 rgb(var(--color-blue)), 120px 0 rgb(var(--color-blue)); } 87% { box-shadow: 200px 0 rgba(255, 255, 255, 0), 200px 0 rgba(255, 255, 255, 0), 200px 0 rgba(255, 255, 255, 0), 130px 0 rgb(var(--color-blue)); } 100% { box-shadow: 200px 0 rgba(255, 255, 255, 0), 200px 0 rgba(255, 255, 255, 0), 200px 0 rgba(255, 255, 255, 0), 200px 0 rgba(255, 255, 255, 0); } } .void-notice { font-size: 11px; margin-top: 5px; } .void-select { display: inline-flex; flex-wrap: wrap; } .void-select .void-option { padding: 3px 8px; background: rgb(var(--color-foreground-blue)); font-size: 12px; cursor: pointer; user-select: none; } .void-select .void-option:hover { background: rgb(var(--color-foreground-blue-dark)); color: rgb(var(--color-text)); } .void-select .void-option:first-child { border-top-left-radius: 4px; border-bottom-left-radius: 4px; } .void-select .void-option:last-child { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } .void-select .void-option.active { background: rgb(var(--color-blue)); color: rgb(var(--color-text-bright)); } .void-label-container { margin-top: 6px; margin-bottom: 6px; } .void-label-span { margin-right: 10px; min-width: 200px; display: inline-block; } .void-upload-in-progress { cursor: wait !important; } .input:has(> .void-drag-indicator) { position: relative; } .input:has(> .void-drag-indicator)::before { content: "Drop Images"; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgb(var(--color-foreground-grey)); color: rgb(var(--color-blue)); backdrop-filter: blur(2px); font-size: 20px; font-weight: 700; opacity: 0.9; display: flex; justify-content: center; align-items: center; pointer-events: none; } body:has(.void-modal-background[open]) { overflow: hidden; } .void-modal-background[open] { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 9999; backdrop-filter: brightness(50%); background: transparent; display: flex; justify-content: center; align-items: center; } .void-modal { background: rgb(var(--color-foreground)); color: rgb(var(--color-text)); border-radius: 4px; min-width: 500px; padding: 0; margin: 0; border-width: 0px; } .void-modal-header { width: 100%; background: rgb(var(--color-background)); padding: 12px; border-radius: 4px 4px 0px 0px; display: flex; justify-content: space-between; font-weight: 700; } .void-modal-header .void-icon-button { color: rgb(var(--color-red)); height: 20px; } .void-modal-content { padding: 12px; max-height: 500px; overflow-y: scroll; } .void-change-log-header { margin: 4px 0px; } .void-change-log-note { margin-bottom: 16px; } .void-change-log-list { list-style: none; gap: 5px; padding-left: 20px; } .void-change-log-list li:not(:last-child) { margin-bottom: 4px; } .void-change-log-list-item span:first-child { text-align: center; width: 13px; display: inline-block; } .void-change-log-list-item span:last-child { margin-left: 6px; } .void-tooltip-container:has(input) { display: inline-block; } .void-tooltip-container { position: relative; } .void-tooltip { position: absolute; text-align: center; top: -8px; left: 50%; transform: translate(-50%, -100%); font-size: 12px; padding: 4px 6px; background: rgb(var(--color-foreground-blue)); border-radius: 4px; width: max-content; max-width: 200px; visibility: hidden; z-index: 3000; } .void-tooltip-container:hover .void-tooltip { visibility: visible; } .void-tooltip-container:hover .void-tooltip:after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: rgb(var(--color-foreground-blue)) transparent transparent transparent; } .void-static-tooltip { position: absolute; text-align: center; padding: 8px 12px; background: rgba(var(--color-overlay), .85); border-radius: 4px; width: max-content; max-width: 200px; opacity: 0; visibility: hidden; transition: opacity 0.2s ease; z-index: 9000; font-family: Overpass, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; font-size: 1.3rem; pointer-events: none; user-select: none; color: rgb(var(--color-white)); } .void-static-tooltip:after { border: solid transparent; border-color: transparent; border-width: 5px; content: " "; height: 0; left: 50%; margin-left: -5px; pointer-events: none; position: absolute; width: 0; } /* tooptip bottom */ .void-static-tooltip:after { border-top-color: rgba(var(--color-overlay),.85); top: 100% } /* tooltip top */ /*.void-static-tooltip:after {*/ /* border-bottom-color: rgba(var(--color-overlay),.85);*/ /* bottom: 100%*/ /*}*/ .void-static-tooltip.void-visible { opacity: 1; visibility: visible; } .void-button.void-self-message, .void-button.void-slim { margin-top: 0; margin-right: 0; font-family: inherit; } .void-button.void-self-message { margin-left: 18px; font-weight: 900; } .activity-edit .rules-notice { display: block; } .reply:has(.void-reply-collapse) { display: flex; gap: 8px; padding-left: 8px; } .reply[collapsed=true] .markdown { display: none; } .void-reply-collapse { width: 4px; min-width: 4px; background-color: rgb(var(--color-blue)); border-radius: 4px; cursor: pointer; align-self: stretch; opacity: 0; transition: opacity 0.2s ease; } .void-reply-content { width: 100%; } .reply:hover .void-reply-collapse { opacity: 1; } #void-toast-container { position: fixed; display: flex; flex-direction: column; gap: 10px; z-index: 9000; } #void-toast-container.void-bottom-left { bottom: 10px; left: 10px; flex-direction: column-reverse; } #void-toast-container.void-bottom-right { bottom: 10px; right: 10px; flex-direction: column-reverse; } #void-toast-container.void-top-left { top: 70px; left: 10px; } #void-toast-container.void-top-right { top: 70px; right: 10px; } .void-toast { font-size: 14px; color: rgb(var(--color-text-bright)); min-width: 150px; max-width: 300px; min-heigth: 50px; padding: 10px 8px; border-radius: 4px; } .void-info { background: rgb(var(--void-info)); } .void-success { background: rgb(var(--void-success)); } .void-error { background: rgb(var(--void-error)); } .void-warning { background: rgb(var(--void-warning)); } .void-activity-reply-controls-container { background: rgb(var(--color-foreground)); border-radius: 4px; justify-self: flex-start; margin: 10px 0px; display: flex; flex-direction: column; gap: 8px; width: 100%; } .void-activity-reply-controls-container[closed="true"] { display: none; } .void-media-status-controls { display: flex; gap: 10px; padding: 12px; height: 168px; } .void-media-status-controls .void-gif-keyboard-list-placeholder { height: unset; } .void-activity-reply-progress-container { display: flex; flex-direction: column; max-width: 100%; flex-shrink: 1; overflow: hidden; } .void-activity-reply-progress-container .void-media-search-title { font-size: 16px; } .void-activity-reply-progress-container .void-media-search-type { font-size: 12px; margin-top: 2px; } .void-activity-reply-progress-container .void-layout-header { margin-top: 10px; margin-bottom: 5px; } .void-reply-button-container { display: flex; justify-content: flex-end; } .void-activity-reply-toggle-button { display: flex; align-items: center; background-color: rgb(var(--color-blue)); padding: 10px 15px; border-radius: 4px; } .void-media-status-controls .void-status-poster { height: 144px; aspect-ratio: 75 / 115; object-fit: cover; } .void-activity-reply-toggle-button svg { height: 18px; } .void-activity-reply-header { width: 100%; background: rgb(var(--color-foreground-grey-dark)); display: flex; justify-content: space-between; padding: 12px; border-radius: 4px 4px 0px 0px; } .void-search-container { position: relative; width: fit-content; } .void-search-results { position: absolute; z-index: 9000; background: rgb(var(--color-foreground)); border: 2px solid rgb(var(--color-blue)); border-top: 0px solid transparent; width: 100%; overflow: hidden; text-overflow: ellipsis; border-radius: 0px 0px 4px 4px; } .void-user-search-avatar { width: 40px; height: 40px; } .void-user-search-name { padding-left: 4px; display: flex; align-items: center; } .void-search-results:empty { display: none; } .void-ace-editor { width: 100%; height: 600px; max-height: 800px; resize: vertical; min-height: 150px; scrollbar-color: rgb(var(--color-blue)) rgba(0, 0, 0, 0); } .void-status-poster { height: 85px; border-radius: 4px; user-select: none; } .void-search-result { cursor: pointer; padding: 4px 6px; display: flex; gap: 5px; text-overflow: ellipsis; align-items: center; } .void-media-search-poster { width: 30px; height: 30px; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 4px; } .void-media-search-info { max-width: calc(100% - 30px - 4px - 4px); } .void-media-search-title { font-size: 12px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .void-media-search-type { font-size: 10px; font-style: italic; } .void-media-search-result:hover { background: rgb(var(--color-foreground-grey)); } .void-w-100 { width: 100%; } .void-image-preview-container { display: none; position: fixed; max-width: 55%; left: 50%; transform: translateX(-50%); border-radius: 4px; overflow: hidden; } .void-image-preview-container img { width: 100%; } .void-dropbox { align-items: center; background: rgba(var(--color-background),.6); border-radius: 4px; color: rgb(var(--color-text-lighter)); cursor: pointer; display: inline-flex; font-size: 1.3rem; height: 200px; justify-content: center; line-height: 2rem; margin-right: 20px; outline-offset: -12px; outline: 2px dashed rgba(var(--color-text),.2); padding: 18px 20px; position: relative; transition: .2s; vertical-align: text-top; width: 200px } .void-dropbox p { font-size: 1.2em; padding: 50px 0; text-align: center } .void-file-input { cursor: pointer; height: 200px; opacity: 0; overflow: hidden; position: absolute; width: 100% } .void-media-display-container { display: flex; width: fit-content; border-radius: 4px; overflow: hidden; background: rgb(var(--color-foreground)); } .void-media-display-poster { aspect-ratio: 85 / 115; height: 85px; background-size: cover; background-position: 50% 50%; } .void-media-display-info { padding: 15px; } .void-media-display-title { font-weight: 700; } .void-media-display-type { font-size: .8em; padding-top: 5px; } .void-hide-404 .not-found { display: none; } `, ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/runtime/api.js": /***/ ((module) => { /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ module.exports = function (cssWithMappingToString) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { var content = ""; var needLayer = typeof item[5] !== "undefined"; if (item[4]) { content += "@supports (".concat(item[4], ") {"); } if (item[2]) { content += "@media ".concat(item[2], " {"); } if (needLayer) { content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {"); } content += cssWithMappingToString(item); if (needLayer) { content += "}"; } if (item[2]) { content += "}"; } if (item[4]) { content += "}"; } return content; }).join(""); }; // import a list of modules into the list list.i = function i(modules, media, dedupe, supports, layer) { if (typeof modules === "string") { modules = [[null, modules, undefined]]; } var alreadyImportedModules = {}; if (dedupe) { for (var k = 0; k < this.length; k++) { var id = this[k][0]; if (id != null) { alreadyImportedModules[id] = true; } } } for (var _k = 0; _k < modules.length; _k++) { var item = [].concat(modules[_k]); if (dedupe && alreadyImportedModules[item[0]]) { continue; } if (typeof layer !== "undefined") { if (typeof item[5] === "undefined") { item[5] = layer; } else { item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}"); item[5] = layer; } } if (media) { if (!item[2]) { item[2] = media; } else { item[1] = "@media ".concat(item[2], " {").concat(item[1], "}"); item[2] = media; } } if (supports) { if (!item[4]) { item[4] = "".concat(supports); } else { item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}"); item[4] = supports; } } list.push(item); } }; return list; }; /***/ }), /***/ "./node_modules/css-loader/dist/runtime/noSourceMaps.js": /***/ ((module) => { module.exports = function (i) { return i[1]; }; /***/ }), /***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": /***/ ((module) => { var stylesInDOM = []; function getIndexByIdentifier(identifier) { var result = -1; for (var i = 0; i < stylesInDOM.length; i++) { if (stylesInDOM[i].identifier === identifier) { result = i; break; } } return result; } function modulesToDom(list, options) { var idCountMap = {}; var identifiers = []; for (var i = 0; i < list.length; i++) { var item = list[i]; var id = options.base ? item[0] + options.base : item[0]; var count = idCountMap[id] || 0; var identifier = "".concat(id, " ").concat(count); idCountMap[id] = count + 1; var indexByIdentifier = getIndexByIdentifier(identifier); var obj = { css: item[1], media: item[2], sourceMap: item[3], supports: item[4], layer: item[5] }; if (indexByIdentifier !== -1) { stylesInDOM[indexByIdentifier].references++; stylesInDOM[indexByIdentifier].updater(obj); } else { var updater = addElementStyle(obj, options); options.byIndex = i; stylesInDOM.splice(i, 0, { identifier: identifier, updater: updater, references: 1 }); } identifiers.push(identifier); } return identifiers; } function addElementStyle(obj, options) { var api = options.domAPI(options); api.update(obj); var updater = function updater(newObj) { if (newObj) { if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) { return; } api.update(obj = newObj); } else { api.remove(); } }; return updater; } module.exports = function (list, options) { options = options || {}; list = list || []; var lastIdentifiers = modulesToDom(list, options); return function update(newList) { newList = newList || []; for (var i = 0; i < lastIdentifiers.length; i++) { var identifier = lastIdentifiers[i]; var index = getIndexByIdentifier(identifier); stylesInDOM[index].references--; } var newLastIdentifiers = modulesToDom(newList, options); for (var _i = 0; _i < lastIdentifiers.length; _i++) { var _identifier = lastIdentifiers[_i]; var _index = getIndexByIdentifier(_identifier); if (stylesInDOM[_index].references === 0) { stylesInDOM[_index].updater(); stylesInDOM.splice(_index, 1); } } lastIdentifiers = newLastIdentifiers; }; }; /***/ }), /***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js": /***/ ((module) => { var memo = {}; /* istanbul ignore next */ function getTarget(target) { if (typeof memo[target] === "undefined") { var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { try { // This will throw an exception if access to iframe is blocked // due to cross-origin restrictions styleTarget = styleTarget.contentDocument.head; } catch (e) { // istanbul ignore next styleTarget = null; } } memo[target] = styleTarget; } return memo[target]; } /* istanbul ignore next */ function insertBySelector(insert, style) { var target = getTarget(insert); if (!target) { throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); } target.appendChild(style); } module.exports = insertBySelector; /***/ }), /***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js": /***/ ((module) => { /* istanbul ignore next */ function insertStyleElement(options) { var element = document.createElement("style"); options.setAttributes(element, options.attributes); options.insert(element, options.options); return element; } module.exports = insertStyleElement; /***/ }), /***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js": /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /* istanbul ignore next */ function setAttributesWithoutAttributes(styleElement) { var nonce = true ? __webpack_require__.nc : 0; if (nonce) { styleElement.setAttribute("nonce", nonce); } } module.exports = setAttributesWithoutAttributes; /***/ }), /***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js": /***/ ((module) => { /* istanbul ignore next */ function apply(styleElement, options, obj) { var css = ""; if (obj.supports) { css += "@supports (".concat(obj.supports, ") {"); } if (obj.media) { css += "@media ".concat(obj.media, " {"); } var needLayer = typeof obj.layer !== "undefined"; if (needLayer) { css += "@layer".concat(obj.layer.length > 0 ? " ".concat(obj.layer) : "", " {"); } css += obj.css; if (needLayer) { css += "}"; } if (obj.media) { css += "}"; } if (obj.supports) { css += "}"; } var sourceMap = obj.sourceMap; if (sourceMap && typeof btoa !== "undefined") { css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); } // For old IE /* istanbul ignore if */ options.styleTagTransform(css, styleElement, options.options); } function removeStyleElement(styleElement) { // istanbul ignore if if (styleElement.parentNode === null) { return false; } styleElement.parentNode.removeChild(styleElement); } /* istanbul ignore next */ function domAPI(options) { if (typeof document === "undefined") { return { update: function update() {}, remove: function remove() {} }; } var styleElement = options.insertStyleElement(options); return { update: function update(obj) { apply(styleElement, options, obj); }, remove: function remove() { removeStyleElement(styleElement); } }; } module.exports = domAPI; /***/ }), /***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js": /***/ ((module) => { /* istanbul ignore next */ function styleTagTransform(css, styleElement) { if (styleElement.styleSheet) { styleElement.styleSheet.cssText = css; } else { while (styleElement.firstChild) { styleElement.removeChild(styleElement.firstChild); } styleElement.appendChild(document.createTextNode(css)); } } module.exports = styleTagTransform; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ id: moduleId, /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/nonce */ /******/ (() => { /******/ __webpack_require__.nc = undefined; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. (() => { ;// CONCATENATED MODULE: ./src/handlers/styleHandler.js class StyleHandler { settings; usernameStyles = ""; highlightStyles = ""; otherStyles = ""; constructor(settings) { this.settings = settings; } refreshStyles() { this.createStyles(); this.createStyleLink(this.usernameStyles, "username"); this.createStyleLink(this.highlightStyles, "highlight"); this.createStyleLink(this.otherStyles, "other"); } createStyles() { this.usernameStyles = ""; this.otherStyles = ""; for (const user of this.settings.verifiedUsers) { if ( this.settings.options.enabledForUsername.getValue() || user.enabledForUsername ) { this.createUsernameCSS(user); } } if (this.settings.options.moveSubscribeButtons.getValue()) { this.otherStyles += ` .has-label::before { top: -30px !important; left: unset !important; right: -10px; } .has-label[label="Unsubscribe"], .has-label[label="Subscribe"] { font-size: 0.875em !important; } .has-label[label="Unsubscribe"] { color: rgba(var(--color-green),.8); } `; } this.createHighlightStyles(); if (this.settings.options.hideLikeCount.getValue()) { this.otherStyles += ` .like-wrap .count { display: none; } `; } } createHighlightStyles() { this.highlightStyles = ""; for (const user of this.settings.verifiedUsers) { if ( this.settings.options.highlightEnabled.getValue() || user.highlightEnabled ) { this.createHighlightCSS( user, `div.wrap:has( div.header > a.name[href*="/${user.username}/" i] )`, ); this.createHighlightCSS( user, `div.wrap:has( div.details > a.name[href*="/${user.username}/" i] )`, ); } if ( this.settings.options.highlightEnabledForReplies.getValue() || user.highlightEnabledForReplies ) { this.createHighlightCSS( user, `div.reply:has( a.name[href*="/${user.username}/" i] )`, ); } this.#createActivityCss(user); } this.disableHighlightOnSmallCards(); } #createActivityCss(user) { const colorUserActivity = this.settings.options.colorUserActivity.getValue() ?? user.colorUserActivity; const colorUserReplies = this.settings.options.colorUserReplies.getValue() ?? user.colorUserReplies; if (colorUserActivity) { this.highlightStyles += ` div.wrap:has( div.header > a.name[href*="/${ user.username }/"]) a, div.wrap:has( div.details > a.name[href*="/${ user.username }/"]) a { color: ${this.getUserColor(user)}; } `; } if (colorUserReplies) { this.highlightStyles += ` .reply:has(a.name[href*="/${user.username}/"]) a, .reply:has(a.name[href*="/${ user.username }/"]) .markdown-spoiler::before { color: ${this.getUserColor(user)}; } `; } } createUsernameCSS(user) { this.usernameStyles += ` a.name[href*="/${user.username}/" i]::after { content: "${ this.stringIsEmpty(user.sign) ?? this.settings.options.defaultSign.getValue() }"; color: ${this.getUserColor(user) ?? "rgb(var(--color-blue))"} } `; } createHighlightCSS(user, selector) { this.highlightStyles += ` ${selector} { margin-right: -${this.settings.options.highlightSize.getValue()}; border-right: ${this.settings.options.highlightSize.getValue()} solid ${ this.getUserColor(user) ?? this.getDefaultHighlightColor() }; border-radius: 5px; } `; } disableHighlightOnSmallCards() { this.highlightStyles += ` div.wrap:has(div.small) { margin-right: 0px !important; border-right: 0px solid black !important; } `; } refreshHomePage() { if (!this.settings.options.highlightEnabled.getValue()) { return; } this.createHighlightStyles(); this.createStyleLink(this.highlightStyles, "highlight"); } clearStyles(id) { const styles = document.getElementById(`void-verified-${id}-styles`); styles?.remove(); } verifyProfile() { if (!this.settings.options.enabledForProfileName.getValue()) { return; } const username = window.location.pathname.match(/^\/user\/([^/]*)\/?/)[1]; const user = this.settings.verifiedUsers.find( (u) => u.username.toLowerCase() === username.toLowerCase(), ); if (!user) { this.clearStyles("profile"); return; } const profileStyle = ` .name-wrapper h1.name::after { content: "${ this.stringIsEmpty(user.sign) ?? this.settings.options.defaultSign.getValue() }" } `; this.createStyleLink(profileStyle, "profile"); } getStyleLink(id) { return document.getElementById(`void-verified-${id}-styles`); } copyUserColor() { const usernameHeader = document.querySelector("h1.name"); const username = usernameHeader.innerHTML.trim(); const user = this.settings.verifiedUsers.find( (u) => u.username === username, ); if (!user) { return; } if ( !( user.copyColorFromProfile || this.settings.options.copyColorFromProfile.getValue() ) ) { return; } const color = getComputedStyle(usernameHeader).getPropertyValue("--color-blue"); this.settings.updateUserOption(user.username, "color", color); } getUserColor(user) { return ( user.colorOverride ?? (user.color && (user.copyColorFromProfile || this.settings.options.copyColorFromProfile.getValue()) ? `rgb(${user.color})` : undefined) ); } getDefaultHighlightColor() { if (this.settings.options.useDefaultHighlightColor.getValue()) { return this.settings.options.defaultHighlightColor.getValue(); } return "rgb(var(--color-blue))"; } createStyleLink(styles, id) { const oldLink = document.getElementById(`void-verified-${id}-styles`); const link = document.createElement("link"); link.setAttribute("id", `void-verified-${id}-styles`); link.setAttribute("rel", "stylesheet"); link.setAttribute("type", "text/css"); link.setAttribute( "href", "data:text/css;charset=UTF-8," + encodeURIComponent(styles), ); document.head?.append(link); oldLink?.remove(); return link; } stringIsEmpty(string) { if (!string || string.length === 0) { return undefined; } return string; } } ;// CONCATENATED MODULE: ./src/assets/localStorageKeys.ts const LocalStorageKeys = { imageHostConfig: "void-verified-image-host-config", readNotifications: "void-verified-read-notifications", notificationsConfig: "void-verified-notifications-config", notificationsConfigQuickAccess: "void-verified-quick-access-notifications-config", notificationRelationsCache: "void-verified-notification-relations", notificationDeadLinkRelationsCache: "void-verified-notification-deadlink-relations", quickStartConfig: "void-verified-quick-start-config", gifKeyboardConfig: "void-verified-gif-keyboard", globalCSS: "void-verified-global-css", goalsConfig: "void-verified-goals", layouts: "void-verified-layouts", miniProfileCache: "void-verified-mini-profile-cache", miniProfileConfig: "void-verified-mini-profile-config", verifiedUSers: "void-verified-users", settings: "void-verified-settings", toasterConfig: "void-verified-toaster-config", collapsedContainers: "void-verified-collapsed-containers", timeConfig: "void-verified-time-config" }; ;// CONCATENATED MODULE: ./src/handlers/globalCSS.js class GlobalCSS { settings; styleHandler; styleId = "global-css"; isCleared = false; cssInLocalStorage = LocalStorageKeys.globalCSS; constructor(settings) { this.settings = settings; this.styleHandler = new StyleHandler(settings); this.css = localStorage.getItem(this.cssInLocalStorage) ?? ""; } createCss() { if (!this.settings.options.globalCssEnabled.getValue()) { this.styleHandler.clearStyles(this.styleId); return; } this.isCleared = false; this.styleHandler.createStyleLink(this.css, this.styleId); } updateCss(css) { this.css = css; this.createCss(); localStorage.setItem(this.cssInLocalStorage, css); } } ;// CONCATENATED MODULE: ./src/utils/vue.ts class Vue { // @ts-ignore static vue = document.querySelector('#app')?.__vue__; // @ts-ignore static router = document.querySelector('#app')?.__vue__?.$router; static ensureIsRegistered() { let vueInterval = setInterval(() => { if (!this.vue) { // @ts-ignore this.vue = document.querySelector('#app')?.__vue__; } else { clearInterval(vueInterval); } }, 50); let routerInterval = setInterval(() => { if (!this.router) { // @ts-ignore this.router = document.querySelector('#app')?.__vue__?.$router; } else { clearInterval(routerInterval); } }, 50); } static handleAnchorClickEvent(event) { const target = event.target.closest("a"); if (target.href && Vue.router) { if (target.hostname === window.location.hostname) { event.preventDefault(); const path = target.pathname + target.search; const pathStart = path.slice(1).split("/")[0]; const locationStart = window.location.pathname.slice(1).split("/")[0]; if (pathStart && locationStart) { document.body.classList.add("void-hide-404"); this.router.push("/404"); setTimeout(() => { this.router.push(path); document.body.classList.remove("void-hide-404"); }, 5); } else { this.router.push(path); } } } } } ;// CONCATENATED MODULE: ./src/utils/DOM.js class DOM_DOM { static create(element, classes = null, children = null, options = {}) { const el = document.createElement(element); if (element.toLowerCase() === "a") { el.addEventListener("click", (event) => { Vue.handleAnchorClickEvent(event); }) } if (classes !== null) { for (const className of classes?.split(" ")) { if (className.startsWith("#")) { el.setAttribute("id", `void-${className.slice(1)}`); continue; } if (className.startsWith(".")) { el.classList.add(className.slice(1)); continue; } el.classList.add(`void-${className}`); } } if (children) { if (Array.isArray(children)) { el.append(...children); } else { el.append(children); } } for (const key of Object.keys(options)) { el[key] = options[key]; } return el; } static transformClasses(classes) { let result = []; for (const className of classes.split(" ")) { if (className.startsWith(".")) { result.push(className.slice(1)); continue; } result.push(`void-${className}`); } return result; } static render(element, parent) { const htmlElement = document.createElement(element); parent.append(htmlElement); } static renderReplace(element, parent) { const htmlElement = document.createElement(element); htmlElement.setAttribute("title", "wow"); parent.replaceChildren(htmlElement); } static getOrCreate(element, classes) { const id = classes .split(" ") .find((className) => className.startsWith("#")); return this.get(id) ?? this.create(element, classes); } static get(selector) { const convertedSelector = this.#convertSelector(selector); return document.querySelector(convertedSelector); } static getAll(selector) { const convertedSelector = this.#convertSelector(selector); return document.querySelectorAll(convertedSelector); } static #convertSelector(selector) { let results = []; for (const className of selector?.split(" ")) { if (className.startsWith("#")) { results.push(`#void-${className.slice(1)}`); continue; } results.push(`.void-${className}`); } return results.join(" "); } } ;// CONCATENATED MODULE: ./src/assets/icons.js // MIT License // Copyright (c) 2020 Refactoring UI Inc. // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. const RefreshIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; }; const EyeIcon = () => { const icon = new DOMParser().parseFromString(` ; `, "text/html",).body.childNodes[0]; return icon; }; const EyeClosedIcon = () => { const icon = new DOMParser().parseFromString(` ; `, "text/html",).body.childNodes[0]; return icon; }; const TrashcanIcon = () => { const icon = new DOMParser().parseFromString(` ; `, "text/html",).body.childNodes[0]; return icon; }; const AddIcon = () => { const icon = new DOMParser().parseFromString(` ; `, "text/html",).body.childNodes[0]; return icon; }; const GifIcon = () => { const icon = new DOMParser().parseFromString(` ; `, "text/html",).body.childNodes[0]; return icon; }; const HeartIcon = () => { const icon = new DOMParser().parseFromString(` ; `, "text/html",).body.childNodes[0]; return icon; }; const DoubleChevronLeftIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; }; const DoubleChevronRightIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; }; const CloseIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; }; const CogIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; }; const PensilSquareIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; }; const CheckBadgeIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; }; const SearchDocumentIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; }; const FilmIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const MapIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const CommandLineIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const ArrowLongRightIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const ReplyIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const LikeIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const SubscribeBellIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const LinkIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const BoldIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const ItalicIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const StrikeThroughIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const SpoilerIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const LinkIconMarkdown = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const ImageIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const YoutubeIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const WebMIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const OrderedListIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const UnorderedListIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const HeaderIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const CenterTextIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const QuoteIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const CodeIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const ArrowsLeftRightIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const CommunityModIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const AdminIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const DeveloperIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const SocialMediaModIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const AnimeDataModIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const DiscordModIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const MangaDataModIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const CharacterDataModIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const StaffDataModIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const RetiredModIcon = () => { const icon = new DOMParser().parseFromString(``, "text/html",).body.childNodes[0]; return icon; } const ChevronDownIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const ChevronUpIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const PencilSquareIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const XMarkIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } const EllipsisHorizontalIcon = () => { const icon = new DOMParser().parseFromString(` `, "text/html",).body.childNodes[0]; return icon; } ;// CONCATENATED MODULE: ./src/libraries/hotkeys.js /**! * hotkeys-js v3.13.7 * A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies. * * Copyright (c) 2024 kenny wong * https://github.com/jaywcjlove/hotkeys-js.git * * @website: https://jaywcjlove.github.io/hotkeys-js * Licensed under the MIT license */ const isff = typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase().indexOf('firefox') > 0 : false; // 绑定事件 function addEvent(object, event, method, useCapture) { if (object.addEventListener) { object.addEventListener(event, method, useCapture); } else if (object.attachEvent) { object.attachEvent("on".concat(event), method); } } function removeEvent(object, event, method, useCapture) { if (object.removeEventListener) { object.removeEventListener(event, method, useCapture); } else if (object.detachEvent) { object.detachEvent("on".concat(event), method); } } // 修饰键转换成对应的键码 function getMods(modifier, key) { const mods = key.slice(0, key.length - 1); for (let i = 0; i < mods.length; i++) mods[i] = modifier[mods[i].toLowerCase()]; return mods; } // 处理传的key字符串转换成数组 function getKeys(key) { if (typeof key !== 'string') key = ''; key = key.replace(/\s/g, ''); // 匹配任何空白字符,包括空格、制表符、换页符等等 const keys = key.split(','); // 同时设置多个快捷键,以','分割 let index = keys.lastIndexOf(''); // 快捷键可能包含',',需特殊处理 for (; index >= 0;) { keys[index - 1] += ','; keys.splice(index, 1); index = keys.lastIndexOf(''); } return keys; } // 比较修饰键的数组 function compareArray(a1, a2) { const arr1 = a1.length >= a2.length ? a1 : a2; const arr2 = a1.length >= a2.length ? a2 : a1; let isIndex = true; for (let i = 0; i < arr1.length; i++) { if (arr2.indexOf(arr1[i]) === -1) isIndex = false; } return isIndex; } // Special Keys const _keyMap = { backspace: 8, '⌫': 8, tab: 9, clear: 12, enter: 13, '↩': 13, return: 13, esc: 27, escape: 27, space: 32, left: 37, up: 38, right: 39, down: 40, del: 46, delete: 46, ins: 45, insert: 45, home: 36, end: 35, pageup: 33, pagedown: 34, capslock: 20, num_0: 96, num_1: 97, num_2: 98, num_3: 99, num_4: 100, num_5: 101, num_6: 102, num_7: 103, num_8: 104, num_9: 105, num_multiply: 106, num_add: 107, num_enter: 108, num_subtract: 109, num_decimal: 110, num_divide: 111, '⇪': 20, ',': 188, '.': 190, '/': 191, '`': 192, '-': isff ? 173 : 189, '=': isff ? 61 : 187, ';': isff ? 59 : 186, '\'': 222, '[': 219, ']': 221, '\\': 220 }; // Modifier Keys const _modifier = { // shiftKey '⇧': 16, shift: 16, // altKey '⌥': 18, alt: 18, option: 18, // ctrlKey '⌃': 17, ctrl: 17, control: 17, // metaKey '⌘': 91, cmd: 91, command: 91 }; const modifierMap = { 16: 'shiftKey', 18: 'altKey', 17: 'ctrlKey', 91: 'metaKey', shiftKey: 16, ctrlKey: 17, altKey: 18, metaKey: 91 }; const _mods = { 16: false, 18: false, 17: false, 91: false }; const _handlers = {}; // F1~F12 special key for (let k = 1; k < 20; k++) { _keyMap["f".concat(k)] = 111 + k; } let _downKeys = []; // 记录摁下的绑定键 let winListendFocus = null; // window是否已经监听了focus事件 let _scope = 'all'; // 默认热键范围 const elementEventMap = new Map(); // 已绑定事件的节点记录 // 返回键码 const code = x => _keyMap[x.toLowerCase()] || _modifier[x.toLowerCase()] || x.toUpperCase().charCodeAt(0); const getKey = x => Object.keys(_keyMap).find(k => _keyMap[k] === x); const getModifier = x => Object.keys(_modifier).find(k => _modifier[k] === x); // 设置获取当前范围(默认为'所有') function setScope(scope) { _scope = scope || 'all'; } // 获取当前范围 function getScope() { return _scope || 'all'; } // 获取摁下绑定键的键值 function getPressedKeyCodes() { return _downKeys.slice(0); } function getPressedKeyString() { return _downKeys.map(c => getKey(c) || getModifier(c) || String.fromCharCode(c)); } function getAllKeyCodes() { const result = []; Object.keys(_handlers).forEach(k => { _handlers[k].forEach(_ref => { let { key, scope, mods, shortcut } = _ref; result.push({ scope, shortcut, mods, keys: key.split('+').map(v => code(v)) }); }); }); return result; } // 表单控件控件判断 返回 Boolean // hotkey is effective only when filter return true function filter(event) { const target = event.target || event.srcElement; const { tagName } = target; let flag = true; const isInput = tagName === 'INPUT' && !['checkbox', 'radio', 'range', 'button', 'file', 'reset', 'submit', 'color'].includes(target.type); // ignore: isContentEditable === 'true', and