diff --git a/extend.php b/extend.php
index 0e33452..21cdf15 100644
--- a/extend.php
+++ b/extend.php
@@ -42,6 +42,8 @@
->serializeToForum('litalino-adblock.adblock-supportRedirectUrl', 'litalino-adblock.adblock-supportRedirectUrl'),
(new Extend\Settings)
->serializeToForum('litalino-adblock.adblock-notice-element', 'litalino-adblock.adblock-notice-element'),
+ (new Extend\Settings)
+ ->serializeToForum('litalino-adblock.adblock-notice-method', 'litalino-adblock.adblock-notice-method'),
(new Extend\Settings)
->serializeToForum('litalino-adblock.adblock-notice-content', 'litalino-adblock.adblock-notice-content'),
];
diff --git a/js/dist/admin.js b/js/dist/admin.js
index c83abef..cff084a 100644
--- a/js/dist/admin.js
+++ b/js/dist/admin.js
@@ -1,2 +1,2 @@
-(()=>{var t={n:a=>{var l=a&&a.__esModule?()=>a.default:()=>a;return t.d(l,{a:l}),l},d:(a,l)=>{for(var e in l)t.o(l,e)&&!t.o(a,e)&&Object.defineProperty(a,e,{enumerable:!0,get:l[e]})},o:(t,a)=>Object.prototype.hasOwnProperty.call(t,a),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},a={};(()=>{"use strict";t.r(a);const l=flarum.core.compat["admin/app"];var e=t.n(l);e().initializers.add("litalino/flarum-adblock",(function(){e().extensionData.for("litalino-adblock").registerSetting({setting:"litalino-adblock.adblock-div",name:"litalino-adblock.adblock-div",label:e().translator.trans("adblock.admin.adblock-div"),type:"select",options:{"#content":"#content",".sideNavContainer":".sideNavContainer",".IndexPage-toolbar":".IndexPage-toolbar"},default:"content"}).registerSetting({setting:"litalino-adblock.adblock-img",name:"litalino-adblock.adblock-img",type:"text",label:e().translator.trans("adblock.admin.adblock-img"),placeholder:e().translator.trans("adblock.admin.adblock-img-placeholder"),default:""}).registerSetting({setting:"litalino-adblock.adblock-url",name:"litalino-adblock.adblock-url",type:"text",label:e().translator.trans("adblock.admin.adblock-url"),placeholder:e().translator.trans("adblock.admin.adblock-url-placeholder"),default:""}).registerSetting({setting:"litalino-adblock.adblock-alt",name:"litalino-adblock.adblock-alt",type:"text",label:e().translator.trans("adblock.admin.adblock-alt"),placeholder:e().translator.trans("adblock.admin.adblock-alt-placeholder"),default:""}).registerSetting({label:e().translator.trans("adblock.admin.adblock-action"),help:e().translator.trans("adblock.admin.adblock-action-help"),setting:"litalino-adblock.adblock-action",type:"select",options:{notice:e().translator.trans("adblock.admin.adblock-action-notice")},default:"notice"}).registerSetting({setting:"litalino-adblock.adblock-supportUsTitle",name:"litalino-adblock.adblock-supportUsTitle",type:"text",label:e().translator.trans("adblock.admin.adblock-supportUsTitle"),placeholder:e().translator.trans("adblock.admin.adblock-supportUsTitle-placeholder"),default:""}).registerSetting({setting:"litalino-adblock.adblock-supportUsMessage",name:"litalino-adblock.adblock-supportUsMessage",type:"text",label:e().translator.trans("adblock.admin.adblock-supportUsMessage"),placeholder:e().translator.trans("adblock.admin.adblock-supportUsMessage-placeholder"),default:""}).registerSetting({setting:"litalino-adblock.adblock-supportRedirectUrl",name:"litalino-adblock.adblock-supportRedirectUrl",type:"text",label:e().translator.trans("adblock.admin.adblock-supportRedirectUrl"),placeholder:e().translator.trans("adblock.admin.adblock-supportRedirectUrl-placeholder"),default:""}).registerSetting({setting:"litalino-adblock.adblock-notice-element",name:"litalino-adblock.adblock-notice-element",label:e().translator.trans("adblock.admin.adblock-notice-element"),type:"select",options:{content:"#content"},default:"content"}).registerSetting({setting:"litalino-adblock.adblock-notice-content",name:"litalino-adblock.adblock-notice-content",type:"textarea",rows:4,label:e().translator.trans("adblock.admin.adblock-notice-content"),help:e().translator.trans("adblock.admin.adblock-notice-content-help"),placeholder:e().translator.trans("adblock.admin.adblock-notice-content-placeholder"),default:""}).registerSetting({setting:"litalino-adblock.adblock-notice-content-sup",name:"litalino-adblock.adblock-notice-content-sup",type:"text",label:e().translator.trans("adblock.admin.adblock-notice-content-sup"),placeholder:e().translator.trans("adblock.admin.adblock-notice-content-sup-placeholder"),default:""})}))})(),module.exports=a})();
+(()=>{var t={n:a=>{var l=a&&a.__esModule?()=>a.default:()=>a;return t.d(l,{a:l}),l},d:(a,l)=>{for(var e in l)t.o(l,e)&&!t.o(a,e)&&Object.defineProperty(a,e,{enumerable:!0,get:l[e]})},o:(t,a)=>Object.prototype.hasOwnProperty.call(t,a),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},a={};(()=>{"use strict";t.r(a);const l=flarum.core.compat["admin/app"];var e=t.n(l);e().initializers.add("litalino/flarum-adblock",(function(){e().extensionData.for("litalino-adblock").registerSetting({setting:"litalino-adblock.adblock-div",name:"litalino-adblock.adblock-div",label:e().translator.trans("adblock.admin.adblock-div"),type:"select",options:{"#content":"#content",".sideNavContainer":".sideNavContainer",".IndexPage-toolbar":".IndexPage-toolbar"},default:"content"}).registerSetting({setting:"litalino-adblock.adblock-img",name:"litalino-adblock.adblock-img",type:"text",label:e().translator.trans("adblock.admin.adblock-img"),placeholder:e().translator.trans("adblock.admin.adblock-img-placeholder"),default:""}).registerSetting({setting:"litalino-adblock.adblock-url",name:"litalino-adblock.adblock-url",type:"text",label:e().translator.trans("adblock.admin.adblock-url"),placeholder:e().translator.trans("adblock.admin.adblock-url-placeholder"),default:""}).registerSetting({setting:"litalino-adblock.adblock-alt",name:"litalino-adblock.adblock-alt",type:"text",label:e().translator.trans("adblock.admin.adblock-alt"),placeholder:e().translator.trans("adblock.admin.adblock-alt-placeholder"),default:""}).registerSetting({label:e().translator.trans("adblock.admin.adblock-action"),help:e().translator.trans("adblock.admin.adblock-action-help"),setting:"litalino-adblock.adblock-action",type:"select",options:{notice:e().translator.trans("adblock.admin.adblock-action-notice")},default:"notice"}).registerSetting({setting:"litalino-adblock.adblock-supportUsTitle",name:"litalino-adblock.adblock-supportUsTitle",type:"text",label:e().translator.trans("adblock.admin.adblock-supportUsTitle"),placeholder:e().translator.trans("adblock.admin.adblock-supportUsTitle-placeholder"),default:""}).registerSetting({setting:"litalino-adblock.adblock-supportUsMessage",name:"litalino-adblock.adblock-supportUsMessage",type:"text",label:e().translator.trans("adblock.admin.adblock-supportUsMessage"),placeholder:e().translator.trans("adblock.admin.adblock-supportUsMessage-placeholder"),default:""}).registerSetting({setting:"litalino-adblock.adblock-supportRedirectUrl",name:"litalino-adblock.adblock-supportRedirectUrl",type:"text",label:e().translator.trans("adblock.admin.adblock-supportRedirectUrl"),placeholder:e().translator.trans("adblock.admin.adblock-supportRedirectUrl-placeholder"),default:""}).registerSetting({setting:"litalino-adblock.adblock-notice-element",name:"litalino-adblock.adblock-notice-element",label:e().translator.trans("adblock.admin.adblock-notice-element"),type:"select",options:{content:"#content"},default:"content"}).registerSetting({setting:"litalino-adblock.adblock-notice-method",name:"litalino-adblock.adblock-notice-method",label:e().translator.trans("adblock.admin.adblock-notice-method"),type:"select",options:{prepend:"prepend",append:"append",alert:"alert"},default:"alert"}).registerSetting({setting:"litalino-adblock.adblock-notice-content",name:"litalino-adblock.adblock-notice-content",type:"textarea",rows:4,label:e().translator.trans("adblock.admin.adblock-notice-content"),help:e().translator.trans("adblock.admin.adblock-notice-content-help"),placeholder:e().translator.trans("adblock.admin.adblock-notice-content-placeholder"),default:""}).registerSetting({setting:"litalino-adblock.adblock-notice-content-sup",name:"litalino-adblock.adblock-notice-content-sup",type:"text",label:e().translator.trans("adblock.admin.adblock-notice-content-sup"),placeholder:e().translator.trans("adblock.admin.adblock-notice-content-sup-placeholder"),default:""})}))})(),module.exports=a})();
//# sourceMappingURL=admin.js.map
\ No newline at end of file
diff --git a/js/dist/admin.js.map b/js/dist/admin.js.map
index d7876f4..3169cd4 100644
--- a/js/dist/admin.js.map
+++ b/js/dist/admin.js.map
@@ -1 +1 @@
-{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@litalino/flarum-adblock/webpack/bootstrap","webpack://@litalino/flarum-adblock/webpack/runtime/compat get default export","webpack://@litalino/flarum-adblock/webpack/runtime/define property getters","webpack://@litalino/flarum-adblock/webpack/runtime/hasOwnProperty shorthand","webpack://@litalino/flarum-adblock/webpack/runtime/make namespace object","webpack://@litalino/flarum-adblock/external root \"flarum.core.compat['admin/app']\"","webpack://@litalino/flarum-adblock/./src/admin/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","/*\n * This file is part of litalino/adblock.\n *\n * Copyright (c) 2023 Khatvongsong.\n * https://khatvongsong.vn\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n */\n\nimport app from 'flarum/admin/app';\n\napp.initializers.add('litalino/flarum-adblock', () => {\n app.extensionData\n .for('litalino-adblock')\n .registerSetting({\n setting: 'litalino-adblock.adblock-div',\n name: 'litalino-adblock.adblock-div',\n //type: 'text',\n label: app.translator.trans('adblock.admin.adblock-div'),\n //placeholder: app.translator.trans('adblock.admin.adblock-div-placeholder'),\n //default: '',\n type: 'select',\n options: {\n '#content': '#content',\n '.sideNavContainer': '.sideNavContainer',\n\t\t\t\t'.IndexPage-toolbar': '.IndexPage-toolbar',\n\t\t\t},\n default: 'content',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-img',\n name: 'litalino-adblock.adblock-img',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-img'),\n placeholder: app.translator.trans('adblock.admin.adblock-img-placeholder'),\n default: '',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-url',\n name: 'litalino-adblock.adblock-url',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-url'),\n placeholder: app.translator.trans('adblock.admin.adblock-url-placeholder'),\n default: '',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-alt',\n name: 'litalino-adblock.adblock-alt',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-alt'),\n placeholder: app.translator.trans('adblock.admin.adblock-alt-placeholder'),\n default: '',\n })\n .registerSetting({\n label: app.translator.trans('adblock.admin.adblock-action'),\n help: app.translator.trans('adblock.admin.adblock-action-help'),\n setting: 'litalino-adblock.adblock-action',\n type: 'select',\n options: {\n\t\t\t\t'notice': app.translator.trans('adblock.admin.adblock-action-notice'),\n\t\t\t\t//'message': app.translator.trans('adblock.admin.adblock-action-message'),\n\t\t\t\t//'backup': app.translator.trans('adblock.admin.adblock-action-backup'),\n\t\t\t},\n default: 'notice',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-supportUsTitle',\n name: 'litalino-adblock.adblock-supportUsTitle',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-supportUsTitle'),\n placeholder: app.translator.trans('adblock.admin.adblock-supportUsTitle-placeholder'),\n default: '',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-supportUsMessage',\n name: 'litalino-adblock.adblock-supportUsMessage',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-supportUsMessage'),\n placeholder: app.translator.trans('adblock.admin.adblock-supportUsMessage-placeholder'),\n default: '',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-supportRedirectUrl',\n name: 'litalino-adblock.adblock-supportRedirectUrl',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-supportRedirectUrl'),\n placeholder: app.translator.trans('adblock.admin.adblock-supportRedirectUrl-placeholder'),\n default: '',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-notice-element',\n name: 'litalino-adblock.adblock-notice-element',\n //type: 'text',\n label: app.translator.trans('adblock.admin.adblock-notice-element'),\n //placeholder: app.translator.trans('adblock.admin.adblock-notice-element-placeholder'),\n //default: '',\n type: 'select',\n options: {\n\t\t\t\t'content': '#content',\n\t\t\t},\n default: 'content',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-notice-content',\n name: 'litalino-adblock.adblock-notice-content',\n type: 'textarea',\n rows: 4,\n label: app.translator.trans('adblock.admin.adblock-notice-content'),\n help: app.translator.trans('adblock.admin.adblock-notice-content-help'),\n placeholder: app.translator.trans('adblock.admin.adblock-notice-content-placeholder'),\n default: '',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-notice-content-sup',\n name: 'litalino-adblock.adblock-notice-content-sup',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-notice-content-sup'),\n placeholder: app.translator.trans('adblock.admin.adblock-notice-content-sup-placeholder'),\n default: '',\n });\n});"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","app","add","registerSetting","setting","name","label","trans","type","options","default","placeholder","help","rows"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@litalino/flarum-adblock/webpack/bootstrap","webpack://@litalino/flarum-adblock/webpack/runtime/compat get default export","webpack://@litalino/flarum-adblock/webpack/runtime/define property getters","webpack://@litalino/flarum-adblock/webpack/runtime/hasOwnProperty shorthand","webpack://@litalino/flarum-adblock/webpack/runtime/make namespace object","webpack://@litalino/flarum-adblock/external root \"flarum.core.compat['admin/app']\"","webpack://@litalino/flarum-adblock/./src/admin/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","/*\n * This file is part of litalino/adblock.\n *\n * Copyright (c) 2023 Khatvongsong.\n * https://khatvongsong.vn\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n */\n\nimport app from 'flarum/admin/app';\n\napp.initializers.add('litalino/flarum-adblock', () => {\n app.extensionData\n .for('litalino-adblock')\n .registerSetting({\n setting: 'litalino-adblock.adblock-div',\n name: 'litalino-adblock.adblock-div',\n //type: 'text',\n label: app.translator.trans('adblock.admin.adblock-div'),\n //placeholder: app.translator.trans('adblock.admin.adblock-div-placeholder'),\n //default: '',\n type: 'select',\n options: {\n '#content': '#content',\n '.sideNavContainer': '.sideNavContainer',\n\t\t\t\t'.IndexPage-toolbar': '.IndexPage-toolbar',\n\t\t\t},\n default: 'content',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-img',\n name: 'litalino-adblock.adblock-img',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-img'),\n placeholder: app.translator.trans('adblock.admin.adblock-img-placeholder'),\n default: '',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-url',\n name: 'litalino-adblock.adblock-url',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-url'),\n placeholder: app.translator.trans('adblock.admin.adblock-url-placeholder'),\n default: '',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-alt',\n name: 'litalino-adblock.adblock-alt',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-alt'),\n placeholder: app.translator.trans('adblock.admin.adblock-alt-placeholder'),\n default: '',\n })\n .registerSetting({\n label: app.translator.trans('adblock.admin.adblock-action'),\n help: app.translator.trans('adblock.admin.adblock-action-help'),\n setting: 'litalino-adblock.adblock-action',\n type: 'select',\n options: {\n\t\t\t\t'notice': app.translator.trans('adblock.admin.adblock-action-notice'),\n\t\t\t\t//'message': app.translator.trans('adblock.admin.adblock-action-message'),\n\t\t\t\t//'backup': app.translator.trans('adblock.admin.adblock-action-backup'),\n\t\t\t},\n default: 'notice',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-supportUsTitle',\n name: 'litalino-adblock.adblock-supportUsTitle',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-supportUsTitle'),\n placeholder: app.translator.trans('adblock.admin.adblock-supportUsTitle-placeholder'),\n default: '',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-supportUsMessage',\n name: 'litalino-adblock.adblock-supportUsMessage',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-supportUsMessage'),\n placeholder: app.translator.trans('adblock.admin.adblock-supportUsMessage-placeholder'),\n default: '',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-supportRedirectUrl',\n name: 'litalino-adblock.adblock-supportRedirectUrl',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-supportRedirectUrl'),\n placeholder: app.translator.trans('adblock.admin.adblock-supportRedirectUrl-placeholder'),\n default: '',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-notice-element',\n name: 'litalino-adblock.adblock-notice-element',\n //type: 'text',\n label: app.translator.trans('adblock.admin.adblock-notice-element'),\n //placeholder: app.translator.trans('adblock.admin.adblock-notice-element-placeholder'),\n //default: '',\n type: 'select',\n options: {\n\t\t\t\t'content': '#content',\n\t\t\t},\n default: 'content',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-notice-method',\n name: 'litalino-adblock.adblock-notice-method',\n label: app.translator.trans('adblock.admin.adblock-notice-method'),\n type: 'select',\n options: {\n\t\t\t\t'prepend': 'prepend',\n\t\t\t\t'append': 'append',\n\t\t\t\t'alert': 'alert',\n\t\t\t},\n default: 'alert',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-notice-content',\n name: 'litalino-adblock.adblock-notice-content',\n type: 'textarea',\n rows: 4,\n label: app.translator.trans('adblock.admin.adblock-notice-content'),\n help: app.translator.trans('adblock.admin.adblock-notice-content-help'),\n placeholder: app.translator.trans('adblock.admin.adblock-notice-content-placeholder'),\n default: '',\n })\n .registerSetting({\n setting: 'litalino-adblock.adblock-notice-content-sup',\n name: 'litalino-adblock.adblock-notice-content-sup',\n type: 'text',\n label: app.translator.trans('adblock.admin.adblock-notice-content-sup'),\n placeholder: app.translator.trans('adblock.admin.adblock-notice-content-sup-placeholder'),\n default: '',\n });\n});"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","app","add","registerSetting","setting","name","label","trans","type","options","default","placeholder","help","rows"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/dist/forum.js b/js/dist/forum.js
index f5cf57e..13e4847 100644
--- a/js/dist/forum.js
+++ b/js/dist/forum.js
@@ -1,2 +1,2 @@
-(()=>{var t={n:e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a}),a},d:(e,a)=>{for(var o in a)t.o(a,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:a[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};(()=>{"use strict";t.r(e);const a=flarum.core.compat.extend,o=flarum.core.compat.app;var n=t.n(o);const i=flarum.core.compat["forum/components/IndexPage"];var l=t.n(i);n().initializers.add("litalino/flarum-adblock",(function(){(0,a.extend)(l().prototype,"oninit",(function(){var t=window.XF||{};t.samViewCountMethod="impression",t.samServerTime=Math.floor(Date.now()/1e3),t.samItem=".samItem",t.samCodeUnit=".samCodeUnit",t.samBannerUnit=".samBannerUnit",document.addEventListener("DOMContentLoaded",(function(){var e=n().forum.attribute("baseUrl")+"/assets/extensions/litalino-adblock/banner.png",a=n().forum.attribute("baseUrl"),o=n().forum.attribute("litalino-adblock.adblock-div")?n().forum.attribute("litalino-adblock.adblock-div"):"#content",i=n().forum.attribute("litalino-adblock.adblock-url")?n().forum.attribute("litalino-adblock.adblock-url"):a,l=n().forum.attribute("litalino-adblock.adblock-img")?n().forum.attribute("litalino-adblock.adblock-img"):e,r=n().forum.attribute("litalino-adblock.adblock-alt")?n().forum.attribute("litalino-adblock.adblock-alt"):"Ads",s=document.querySelector(""+o);if(s){var d=document.createElement("div");d.innerHTML='
',d.className="samBannerUnit samAlignCenter",$(d).insertBefore(s)}var c=n().forum.attribute("litalino-adblock.adblock-notice-content-sup")?" ("+n().forum.attribute("litalino-adblock.adblock-notice-content-sup")+")":" (Press × to turn off notifications and show content.)",u=n().forum.attribute("litalino-adblock.adblock-action")?n().forum.attribute("litalino-adblock.adblock-action"):"notice",m=n().forum.attribute("litalino-adblock.adblock-supportUsTitle")?n().forum.attribute("litalino-adblock.adblock-supportUsTitle"):"Please support us",b=n().forum.attribute("litalino-adblock.adblock-supportUsMessage")?n().forum.attribute("litalino-adblock.adblock-supportUsMessage"):"Please support us by disabling AdBlocker on our website.",f=n().forum.attribute("litalino-adblock.adblock-supportRedirectUrl")?n().forum.attribute("litalino-adblock.adblock-supportRedirectUrl"):"",p=n().forum.attribute("litalino-adblock.adblock-notice-element")?n().forum.attribute("litalino-adblock.adblock-notice-element"):"#content",k=n().forum.attribute("litalino-adblock.adblock-notice-content")?n().forum.attribute("litalino-adblock.adblock-notice-content")+c:"Hi. Can you please help us?\n\nI know the ads sometimes are too annoying and you want to use Adblock. But please support us by adding KhatVongSong to the whitelist. It will help us keep KhatVongSong free to use.\n\nThanks for your help!"+c,h=u,g=m,v=b,y=f,w={element:p,method:"prepend",content:k,interval:1440,views:1};function U(t){if(t.find('[data-xf-init="sam-lazy"]').length)return!0;var e=t.find(".samAdminActions"),a=t.find(".samIgnoreContent"),o=t.find("ins.adsbygoogle"),n=t.find('[id^="div-gpt-ad"]'),i=0;if(e.length&&(i+=e.height()),a.length&&(i+=a.height()),o.length){if(void 0===o[0].attributes["data-adsbygoogle-status"])return!1;if(o.is(":hidden"))return!0}else if(n.length&&"1px"==n.css("min-height"))return!1;return t.height()-i>0}$(document).on("click","#samDismiss",(function(){var t,e;$(this).parent("#samNotice").fadeOut(),$("body").removeClass("samAdBlockDetected"),t=Math.floor(Date.now()/1e3),e="",document.cookie="adblok_sam_notice_dismiss="+t+"; "+e+"; sameSite=Session; Secure",path="/"})),$(document).on("samInitDetection",(function(){!function(){t.samCoreLoaded=!0,$('').appendTo("body");var e=$(t.samCodeUnit+" "+t.samItem+":not(.samLazyLoading),"+t.samBannerUnit+" "+t.samItem+":not(.samLazyLoading)");if(e.length&&$(".banner_728x90.ad-banner").is(":hidden"))if("backup"==h||"message"==h)e.each((function(){if(!U($(this))&&0==$(this).find("> a img[data-src]").length)if("backup"==h){var t=$(this).find(".samBackup");t.length&&(t.find("img").each((function(){$(this).attr("src",$(this).data("src"))})),t.fadeIn())}else $('').html(v).prependTo($(this))}));else{var a=0;e.each((function(){U($(this))||(a+=1)}));var o=!0;if(w.views&&w.views>2&&(o=!1),!a&&o)if("notice"==h){var n=!!w.interval&&function(t){for(var e="adblok_sam_notice_dismiss=",a=document.cookie.split(";"),o=0;o');l.prepend('×'),l.append(""+i+""),"prepend"==w.method?l.prependTo(w.element):l.appendTo(w.element),l.fadeIn("slow"),$("body").addClass("samAdBlockDetected")}else{var r=window.location.href,s=y;if(s&&-1===r.indexOf(s))return void(window.location.href=s);var d=t.getOverlayHtml({title:g,dismissible:!1,html:''+v+"
"});new t.Overlay(d,{backdropClose:!1,keyboard:!1,escapeClose:!1,className:"samSupportUsOverlay"}).show(),$("head").append(""),$(".samSupportUsOverlay").css("background-color","black").fadeTo("slow",.95)}}}()})),$(document).trigger("samInitDetection")}))}))}))})(),module.exports=e})();
+(()=>{var t={n:e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o},d:(e,o)=>{for(var a in o)t.o(o,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:o[a]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};(()=>{"use strict";t.r(e);const o=flarum.core.compat.extend,a=flarum.core.compat.app;var n=t.n(a);const i=flarum.core.compat["forum/components/IndexPage"];var l=t.n(i);const r=flarum.core.compat["common/components/Alert"];var s=t.n(r);n().initializers.add("litalino/flarum-adblock",(function(){(0,o.extend)(l().prototype,"oninit",(function(){var t=window.XF||{};t.samViewCountMethod="impression",t.samServerTime=Math.floor(Date.now()/1e3),t.samItem=".samItem",t.samCodeUnit=".samCodeUnit",t.samBannerUnit=".samBannerUnit",document.addEventListener("DOMContentLoaded",(function(){var e=n().forum.attribute("baseUrl")+"/assets/extensions/litalino-adblock/banner.png",o=n().forum.attribute("baseUrl"),a=n().forum.attribute("litalino-adblock.adblock-div")?n().forum.attribute("litalino-adblock.adblock-div"):"#content",i=n().forum.attribute("litalino-adblock.adblock-url")?n().forum.attribute("litalino-adblock.adblock-url"):o,l=n().forum.attribute("litalino-adblock.adblock-img")?n().forum.attribute("litalino-adblock.adblock-img"):e,r=n().forum.attribute("litalino-adblock.adblock-alt")?n().forum.attribute("litalino-adblock.adblock-alt"):"Ads",d=document.querySelector(""+a);if(d){var c=document.createElement("div");c.innerHTML='',c.className="samBannerUnit samAlignCenter",$(c).insertBefore(d)}var u=n().forum.attribute("litalino-adblock.adblock-notice-content-sup")?" ("+n().forum.attribute("litalino-adblock.adblock-notice-content-sup")+")":" (Press × to turn off notifications and show content.)",m=n().forum.attribute("litalino-adblock.adblock-action")?n().forum.attribute("litalino-adblock.adblock-action"):"notice",b=n().forum.attribute("litalino-adblock.adblock-supportUsTitle")?n().forum.attribute("litalino-adblock.adblock-supportUsTitle"):"Please support us",f=n().forum.attribute("litalino-adblock.adblock-supportUsMessage")?n().forum.attribute("litalino-adblock.adblock-supportUsMessage"):"Please support us by disabling AdBlocker on our website.",p=n().forum.attribute("litalino-adblock.adblock-supportRedirectUrl")?n().forum.attribute("litalino-adblock.adblock-supportRedirectUrl"):"",k=n().forum.attribute("litalino-adblock.adblock-notice-element")?n().forum.attribute("litalino-adblock.adblock-notice-element"):"#content",h=n().forum.attribute("litalino-adblock.adblock-notice-method")?n().forum.attribute("litalino-adblock.adblock-notice-method"):"alert",g=n().forum.attribute("litalino-adblock.adblock-notice-content")?n().forum.attribute("litalino-adblock.adblock-notice-content")+u:"Hi. Can you please help us?\n\nI know the ads sometimes are too annoying and you want to use Adblock. But please support us by adding KhatVongSong to the whitelist. It will help us keep KhatVongSong free to use.\n\nThanks for your help!"+u,v=m,y=b,w=f,U=p,T={element:k,method:h,content:g,interval:1440,views:1};function _(t){if(t.find('[data-xf-init="sam-lazy"]').length)return!0;var e=t.find(".samAdminActions"),o=t.find(".samIgnoreContent"),a=t.find("ins.adsbygoogle"),n=t.find('[id^="div-gpt-ad"]'),i=0;if(e.length&&(i+=e.height()),o.length&&(i+=o.height()),a.length){if(void 0===a[0].attributes["data-adsbygoogle-status"])return!1;if(a.is(":hidden"))return!0}else if(n.length&&"1px"==n.css("min-height"))return!1;return t.height()-i>0}function C(t,e,o){if(o){var a=new Date;a.setTime(a.getTime()+24*o*60*60*1e3);var n="; expires="+a.toGMTString()}else n="";document.cookie=t+"="+e+"; "+n+"; Secure",path="/"}$(document).on("click",".samAdBlockDetected #alerts .Alert-controls",(function(){$("body").removeClass("samAdBlockDetected"),C("adblock_sam_notice_dismiss",Math.floor(Date.now()/1e3),null)})),$(document).on("click","#samDismiss",(function(){$(this).parent("#samNotice").fadeOut(),$("body").removeClass("samAdBlockDetected"),C("adblock_sam_notice_dismiss",Math.floor(Date.now()/1e3),null)})),$(document).on("samInitDetection",(function(){!function(){t.samCoreLoaded=!0,$('').appendTo("body");var e=$(t.samCodeUnit+" "+t.samItem+":not(.samLazyLoading),"+t.samBannerUnit+" "+t.samItem+":not(.samLazyLoading)");if(e.length&&$(".banner_728x90.ad-banner").is(":hidden"))if("backup"==v||"message"==v)e.each((function(){if(!_($(this))&&0==$(this).find("> a img[data-src]").length)if("backup"==v){var t=$(this).find(".samBackup");t.length&&(t.find("img").each((function(){$(this).attr("src",$(this).data("src"))})),t.fadeIn())}else $('').html(w).prependTo($(this))}));else{var o=0;e.each((function(){_($(this))||(o+=1)}));var a=!0;if(T.views&&T.views>2&&(a=!1),!o&&a)if("notice"==v){var i=!!T.interval&&function(t){for(var e="adblock_sam_notice_dismiss=",o=document.cookie.split(";"),a=0;a');if(r.prepend('×'),r.append(""+l+""),"prepend"==T.method)r.prependTo(T.element);else if("append"==T.method)r.appendTo(T.element);else{console.log(r);var d=r[0].outerText;n().alerts.show(s(),{type:"error"},d)}r.fadeIn("slow"),$("body").addClass("samAdBlockDetected")}else{var c=window.location.href,u=U;if(u&&-1===c.indexOf(u))return void(window.location.href=u);var m=t.getOverlayHtml({title:y,dismissible:!1,html:''+w+"
"});new t.Overlay(m,{backdropClose:!1,keyboard:!1,escapeClose:!1,className:"samSupportUsOverlay"}).show(),$("head").append(""),$(".samSupportUsOverlay").css("background-color","black").fadeTo("slow",.95)}}}()})),$(document).trigger("samInitDetection")}))}))}))})(),module.exports=e})();
//# sourceMappingURL=forum.js.map
\ No newline at end of file
diff --git a/js/dist/forum.js.map b/js/dist/forum.js.map
index 8f8b0d8..ba20c56 100644
--- a/js/dist/forum.js.map
+++ b/js/dist/forum.js.map
@@ -1 +1 @@
-{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@litalino/flarum-adblock/webpack/bootstrap","webpack://@litalino/flarum-adblock/webpack/runtime/compat get default export","webpack://@litalino/flarum-adblock/webpack/runtime/define property getters","webpack://@litalino/flarum-adblock/webpack/runtime/hasOwnProperty shorthand","webpack://@litalino/flarum-adblock/webpack/runtime/make namespace object","webpack://@litalino/flarum-adblock/external root \"flarum.core.compat['extend']\"","webpack://@litalino/flarum-adblock/external root \"flarum.core.compat['app']\"","webpack://@litalino/flarum-adblock/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@litalino/flarum-adblock/./src/forum/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/IndexPage'];","/*\n * This file is part of litalino/adblock.\n *\n * Copyright (c) 2023 Khatvongsong.\n * https://khatvongsong.vn\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n */\n\nimport { extend } from 'flarum/extend';\nimport app from 'flarum/app';\nimport IndexPage from 'flarum/forum/components/IndexPage';\n\napp.initializers.add('litalino/flarum-adblock', () => {\n\n extend(IndexPage.prototype, 'oninit', function () {\n\n var XF = window.XF || {};\n XF.samViewCountMethod = \"impression\";\n XF.samServerTime = Math.floor(Date.now() / 1000);\n XF.samItem = \".samItem\";\n XF.samCodeUnit = \".samCodeUnit\";\n XF.samBannerUnit = \".samBannerUnit\";\n\n document.addEventListener(\"DOMContentLoaded\", function() {\n //window.onload = function () {\n\n /////////////////////\n const img = app.forum.attribute('baseUrl') + '/assets/extensions/litalino-adblock/banner.png';\n const url = app.forum.attribute('baseUrl');\n const alt = 'Ads';\n\n const adBlock_div = app.forum.attribute('litalino-adblock.adblock-div') ? app.forum.attribute('litalino-adblock.adblock-div') : '#content' ;\n const adBlock_url = app.forum.attribute('litalino-adblock.adblock-url') ? app.forum.attribute('litalino-adblock.adblock-url') : url ;\n const adBlock_img = app.forum.attribute('litalino-adblock.adblock-img') ? app.forum.attribute('litalino-adblock.adblock-img') : img ;\n const adBlock_alt = app.forum.attribute('litalino-adblock.adblock-alt') ? app.forum.attribute('litalino-adblock.adblock-alt') : alt ;\n\n //console.log( adBlock_div );\n //var my_div = document.getElementById(''+ adBlock_div +'');\n var my_div = document.querySelector(\"\" + adBlock_div + \"\");\n //var my_div = document.getElementsByClassName(''+ adBlock_div +'');\n //console.log( my_div );\n if (my_div) {\n\n var tag_div = document.createElement('div');\n tag_div.innerHTML = '';\n tag_div.className = 'samBannerUnit samAlignCenter';\n\n //my_div.parentNode.insertBefore(tag_div, my_div);\n $( tag_div ).insertBefore( my_div );\n\n }\n\n /////////////////////\n var text_notice = 'notice';\n var text_supportUsTitle = 'Please support us';\n var text_supportUsMessage = 'Please support us by disabling AdBlocker on our website.';\n var text_url = '';\n var text_element = \"#content\";\n var text_content_sup = 'Press × to turn off notifications and show content.';\n var text_content =\n \"Hi. Can you please help us?\\n\\nI know the ads sometimes are too annoying and you want to use Adblock. But please support us by adding KhatVongSong to the whitelist. It will help us keep KhatVongSong free to use.\\n\\nThanks for your help!\";\n\n var adBlock_notice_content_sup = app.forum.attribute('litalino-adblock.adblock-notice-content-sup') ? ' ('+ app.forum.attribute('litalino-adblock.adblock-notice-content-sup') +')' : ' ('+ text_content_sup +')';\n\n const adBlock_action = app.forum.attribute('litalino-adblock.adblock-action') ? app.forum.attribute('litalino-adblock.adblock-action') : text_notice ;\n const adBlock_supportUsTitle = app.forum.attribute('litalino-adblock.adblock-supportUsTitle') ? app.forum.attribute('litalino-adblock.adblock-supportUsTitle') : text_supportUsTitle ;\n const adBlock_supportUsMessage = app.forum.attribute('litalino-adblock.adblock-supportUsMessage') ? app.forum.attribute('litalino-adblock.adblock-supportUsMessage') :text_supportUsMessage ;\n const adBlock_supportRedirectUrl = app.forum.attribute('litalino-adblock.adblock-supportRedirectUrl') ? app.forum.attribute('litalino-adblock.adblock-supportRedirectUrl') : text_url ;\n const adBlock_notice_element = app.forum.attribute('litalino-adblock.adblock-notice-element') ? app.forum.attribute('litalino-adblock.adblock-notice-element') : text_element ;\n const adBlock_notice_content = app.forum.attribute('litalino-adblock.adblock-notice-content') ? app.forum.attribute('litalino-adblock.adblock-notice-content') + adBlock_notice_content_sup : text_content + adBlock_notice_content_sup ;\n //const adBlock_notice_method = app.forum.attribute('litalino-adblock.adblock-notice-method') ? app.forum.attribute('litalino-adblock.adblock-notice-method') : 'prepend' ;\n //const adBlock_notice_interval = app.forum.attribute('litalino-adblock.adblock-notice-interval') ? app.forum.attribute('litalino-adblock.adblock-notice-interval') : '1440' ;\n\n var adBlockAction = adBlock_action; //\"notice\";\n var supportUsTitle = adBlock_supportUsTitle; //\"Please support us\";\n var supportUsMessage = adBlock_supportUsMessage; //\"Please support us by disabling AdBlocker on our website.\";\n var supportRedirectUrl = adBlock_supportRedirectUrl; //\"\";\n var adBlockNotice = {\n element: adBlock_notice_element, //'#content',\n method: 'prepend',\n content: adBlock_notice_content, //\"Hi. Can you please help us?\\n\\nI know the ads sometimes are too annoying and you want to use Adblock. But please support us by adding KhatVongSong to the whitelist. It will help us keep KhatVongSong free to use.\\n\\nThanks for your help! (Press × to turn off notifications and show content.)\",\n interval: 1440,\n views: 1\n };\n function hasContentHeight(ad) {\n if (ad.find('[data-xf-init=\"sam-lazy\"]').length) {\n return true;\n }\n var adminActions = ad.find('.samAdminActions');\n //console.log( adminActions );\n var ignoreContent = ad.find('.samIgnoreContent');\n //console.log( ignoreContent );\n var adsenseUnit = ad.find('ins.adsbygoogle');\n //console.log( adsenseUnit );\n var googleTagUnit = ad.find('[id^=\"div-gpt-ad\"]');\n //console.log( googleTagUnit );\n var ignoredHeight = 0;\n if (adminActions.length) {\n ignoredHeight += adminActions.height();\n }\n if (ignoreContent.length) {\n ignoredHeight += ignoreContent.height();\n }\n if (adsenseUnit.length) {\n if (adsenseUnit[0].attributes['data-adsbygoogle-status'] === undefined) {\n return false;\n } else if (adsenseUnit.is(':hidden')) {\n return true;\n }\n } else if (googleTagUnit.length) {\n if (googleTagUnit.css('min-height') == '1px') {\n return false;\n }\n }\n //console.log( ad.height());\n //console.log( ignoredHeight);\n return (ad.height() - ignoredHeight) > 0;\n }\n function initDetection() {\n XF.samCoreLoaded = true;\n $('').appendTo('body');\n var adUnits = $(XF.samCodeUnit + ' ' + XF.samItem + ':not(.samLazyLoading)' + ',' + XF.samBannerUnit + ' ' + XF.samItem + ':not(.samLazyLoading)');\n //var adUnits = $(XF.samBannerUnit);\n //var adUnits = $('.samBannerUnit');\n //console.log('adUnits: '+ adUnits.length);\n //console.log('adUnits: '+ adUnits.length);\n //if (adUnits.length && ($('.banner_728x90.ad-banner').is(':hidden') || XF.samCoreLoaded === undefined)) {\n if (adUnits.length && $('.banner_728x90.ad-banner').is(':hidden')) {\n //console.log('adBlockAction: '+ adBlockAction );\n if (adBlockAction == 'backup' || adBlockAction == 'message') {\n adUnits.each(function() {\n if (!hasContentHeight($(this)) && $(this).find('> a img[data-src]').length == 0) {\n if (adBlockAction == 'backup') {\n var backup = $(this).find('.samBackup');\n if (backup.length) {\n backup.find('img').each(function() {\n $(this).attr('src', $(this).data('src'));\n });\n backup.fadeIn();\n }\n } else {\n $('').html(supportUsMessage).prependTo($(this));\n }\n }\n });\n } else {\n var adsBlocked = 0;\n //console.log('hasContentHeight: '+ hasContentHeight($(this)));\n adUnits.each(function() {\n if (!hasContentHeight($(this))) {\n adsBlocked += 1;\n };\n });\n\n //console.log('adsBlocked : '+ adsBlocked );\n var canDisplayNotice = true;\n var pageViewCount = 2;\n //console.log('adBlockNotice.views: '+ adBlockNotice.views );\n if (adBlockNotice.views && adBlockNotice.views > pageViewCount) {\n canDisplayNotice = false;\n }\n //console.log('adsBlocked : '+ adsBlocked );\n //console.log(canDisplayNotice);\n\n if (! adsBlocked && canDisplayNotice) {\n if (adBlockAction == 'notice') {\n //console.log( 'adBlockNotice.interval : '+adBlockNotice.interval );\n //var dismissCookieTime = adBlockNotice.interval ? XF.Cookie.get('sam_notice_dismiss') : false;\n var dismissCookieTime = adBlockNotice.interval ? read_adblock_Cookie('adblok_sam_notice_dismiss') : false;\n //console.log( 'dismissCookieTime: '+dismissCookieTime );\n //console.log( 'adBlockNotice.interval * 60: '+ (adBlockNotice.interval * 60) );\n if (dismissCookieTime && (Math.floor(Date.now() / 1000) - dismissCookieTime <= (adBlockNotice.interval * 60)))\n\n //console.log( 'adBlockNotice.interval: '+ adBlockNotice.interval );\n //console.log( 'Math.floor(Date.now() / 1000): ' + Math.floor(Date.now() / 1000) );\n //var dismissCookieTime = adBlockNotice.interval ? readCookie('sam_notice_dismiss') : false;\n //console.log( 'dismissCookieTime: '+dismissCookieTime );\n //console.log( 'adBlockNotice.interval * 60: '+ (adBlockNotice.interval * 60) );\n //console.log( 'Math.floor(Date.now() / 1000) - dismissCookieTime: '+ (Math.floor(Date.now() / 1000) - dismissCookieTime_ ) );\n //console.log( Math.floor(Date.now() / 1000) - dismissCookieTime <= (adBlockNotice.interval * 60));\n //if (dismissCookieTime)\n\n {\n return;\n }\n var content = supportUsMessage;\n //console.log(content );\n //console.log(adBlockNotice.content);\n if (adBlockNotice.content) {\n content = adBlockNotice.content;\n }\n var notice = $('');\n notice.prepend('×');\n notice.append('' + content + '');\n //console.log(adBlockNotice.method );\n if (adBlockNotice.method == 'prepend') {\n notice.prependTo(adBlockNotice.element);\n } else {\n notice.appendTo(adBlockNotice.element);\n }\n notice.fadeIn('slow');\n //XF.activate(notice);\n $('body').addClass('samAdBlockDetected');\n\n } else {\n var pUrl = window.location.href;\n var rUrl = supportRedirectUrl;\n if (rUrl && pUrl.indexOf(rUrl) === -1) {\n window.location.href = rUrl;\n return;\n }\n var $overlay = XF.getOverlayHtml({\n title: supportUsTitle,\n dismissible: false,\n html: '' + supportUsMessage + '
'\n });\n var overlay = new XF.Overlay($overlay, {\n backdropClose: false,\n keyboard: false,\n escapeClose: false,\n className: 'samSupportUsOverlay'\n });\n overlay.show();\n $('head').append('');\n $('.samSupportUsOverlay').css('background-color', 'black').fadeTo('slow', 0.95);\n\n }\n }\n }\n }\n }\n $(document).on('click', '#samDismiss', function() {\n $(this).parent('#samNotice').fadeOut();\n $('body').removeClass('samAdBlockDetected');\n //XF.Cookie.set('sam_notice_dismiss', Math.floor(Date.now() / 1000));\n var value = Math.floor(Date.now() / 1000);\n //create_adblock_Cookie('adblok_sam_notice_dismiss', 'true', '30')\n create_adblock_Cookie('adblok_sam_notice_dismiss', value, null)\n\n });\n $(document).on('samInitDetection', function() {\n initDetection();\n });\n\n $(document).trigger('samInitDetection');\n\n function create_adblock_Cookie(name, value, days) {\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n var expires = \"; expires=\" + date.toGMTString();\n } else {\n var expires = '';\n }\n //var expires = '';\n //document.cookie = name + '=' + value + expires + '; path=/';\n //document.cookie = name + \"=\" + value + expires + \"sameSite=Session; Secure\"; path=/\";\n document.cookie = name + '=' + value + '; ' + expires + '; ' + 'sameSite=Session; Secure'; path='/';\n }\n\n function read_adblock_Cookie(name) {\n var nameEQ = name + \"=\";\n var ca = document.cookie.split(\";\");\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === \" \") c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0)\n return c.substring(nameEQ.length, c.length);\n }\n return null;\n }\n\n });\n\n });\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","app","add","extend","IndexPage","XF","window","samViewCountMethod","samServerTime","Math","floor","Date","now","samItem","samCodeUnit","samBannerUnit","document","addEventListener","img","attribute","url","adBlock_div","adBlock_url","adBlock_img","adBlock_alt","my_div","querySelector","tag_div","createElement","innerHTML","className","$","insertBefore","adBlock_notice_content_sup","adBlock_action","adBlock_supportUsTitle","adBlock_supportUsMessage","adBlock_supportRedirectUrl","adBlock_notice_element","adBlock_notice_content","adBlockAction","supportUsTitle","supportUsMessage","supportRedirectUrl","adBlockNotice","element","method","content","interval","views","hasContentHeight","ad","find","length","adminActions","ignoreContent","adsenseUnit","googleTagUnit","ignoredHeight","height","undefined","attributes","is","css","on","expires","this","parent","fadeOut","removeClass","cookie","name","path","samCoreLoaded","appendTo","adUnits","each","backup","attr","data","fadeIn","html","prependTo","adsBlocked","canDisplayNotice","dismissCookieTime","nameEQ","ca","split","i","c","charAt","substring","indexOf","read_adblock_Cookie","notice","prepend","append","addClass","pUrl","location","href","rUrl","$overlay","getOverlayHtml","title","dismissible","Overlay","backdropClose","keyboard","escapeClose","show","fadeTo","initDetection","trigger"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@litalino/flarum-adblock/webpack/bootstrap","webpack://@litalino/flarum-adblock/webpack/runtime/compat get default export","webpack://@litalino/flarum-adblock/webpack/runtime/define property getters","webpack://@litalino/flarum-adblock/webpack/runtime/hasOwnProperty shorthand","webpack://@litalino/flarum-adblock/webpack/runtime/make namespace object","webpack://@litalino/flarum-adblock/external root \"flarum.core.compat['extend']\"","webpack://@litalino/flarum-adblock/external root \"flarum.core.compat['app']\"","webpack://@litalino/flarum-adblock/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@litalino/flarum-adblock/external root \"flarum.core.compat['common/components/Alert']\"","webpack://@litalino/flarum-adblock/./src/forum/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/IndexPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Alert'];","/*\n * This file is part of litalino/adblock.\n *\n * Copyright (c) 2023 Khatvongsong.\n * https://khatvongsong.vn\n *\n * For the full copyright and license information, please view the LICENSE.md\n * file that was distributed with this source code.\n */\n\nimport { extend } from 'flarum/extend';\nimport app from 'flarum/app';\nimport IndexPage from 'flarum/forum/components/IndexPage';\nimport Alert from \"flarum/common/components/Alert\";\n\napp.initializers.add('litalino/flarum-adblock', () => {\n\n extend(IndexPage.prototype, 'oninit', function () {\n\n var XF = window.XF || {};\n XF.samViewCountMethod = \"impression\";\n XF.samServerTime = Math.floor(Date.now() / 1000);\n XF.samItem = \".samItem\";\n XF.samCodeUnit = \".samCodeUnit\";\n XF.samBannerUnit = \".samBannerUnit\";\n\n document.addEventListener(\"DOMContentLoaded\", function() {\n //window.onload = function () {\n\n /////////////////////\n const img = app.forum.attribute('baseUrl') + '/assets/extensions/litalino-adblock/banner.png';\n const url = app.forum.attribute('baseUrl');\n const alt = 'Ads';\n\n const adBlock_div = app.forum.attribute('litalino-adblock.adblock-div') ? app.forum.attribute('litalino-adblock.adblock-div') : '#content' ;\n const adBlock_url = app.forum.attribute('litalino-adblock.adblock-url') ? app.forum.attribute('litalino-adblock.adblock-url') : url ;\n const adBlock_img = app.forum.attribute('litalino-adblock.adblock-img') ? app.forum.attribute('litalino-adblock.adblock-img') : img ;\n const adBlock_alt = app.forum.attribute('litalino-adblock.adblock-alt') ? app.forum.attribute('litalino-adblock.adblock-alt') : alt ;\n\n //console.log( adBlock_div );\n //var my_div = document.getElementById(''+ adBlock_div +'');\n var my_div = document.querySelector(\"\" + adBlock_div + \"\");\n //var my_div = document.getElementsByClassName(''+ adBlock_div +'');\n //console.log( my_div );\n if (my_div) {\n\n var tag_div = document.createElement('div');\n tag_div.innerHTML = '';\n tag_div.className = 'samBannerUnit samAlignCenter';\n\n //my_div.parentNode.insertBefore(tag_div, my_div);\n $( tag_div ).insertBefore( my_div );\n\n }\n\n /////////////////////\n var text_notice = 'notice';\n var text_supportUsTitle = 'Please support us';\n var text_supportUsMessage = 'Please support us by disabling AdBlocker on our website.';\n var text_url = '';\n var text_element = \"#content\";\n var text_method = \"alert\";\n var text_content_sup = 'Press × to turn off notifications and show content.';\n var text_content =\n \"Hi. Can you please help us?\\n\\nI know the ads sometimes are too annoying and you want to use Adblock. But please support us by adding KhatVongSong to the whitelist. It will help us keep KhatVongSong free to use.\\n\\nThanks for your help!\";\n\n var adBlock_notice_content_sup = app.forum.attribute('litalino-adblock.adblock-notice-content-sup') ? ' ('+ app.forum.attribute('litalino-adblock.adblock-notice-content-sup') +')' : ' ('+ text_content_sup +')';\n\n const adBlock_action = app.forum.attribute('litalino-adblock.adblock-action') ? app.forum.attribute('litalino-adblock.adblock-action') : text_notice ;\n const adBlock_supportUsTitle = app.forum.attribute('litalino-adblock.adblock-supportUsTitle') ? app.forum.attribute('litalino-adblock.adblock-supportUsTitle') : text_supportUsTitle ;\n const adBlock_supportUsMessage = app.forum.attribute('litalino-adblock.adblock-supportUsMessage') ? app.forum.attribute('litalino-adblock.adblock-supportUsMessage') :text_supportUsMessage ;\n const adBlock_supportRedirectUrl = app.forum.attribute('litalino-adblock.adblock-supportRedirectUrl') ? app.forum.attribute('litalino-adblock.adblock-supportRedirectUrl') : text_url ;\n const adBlock_notice_element = app.forum.attribute('litalino-adblock.adblock-notice-element') ? app.forum.attribute('litalino-adblock.adblock-notice-element') : text_element ;\n const adBlock_notice_method = app.forum.attribute('litalino-adblock.adblock-notice-method') ? app.forum.attribute('litalino-adblock.adblock-notice-method') : text_method ;\n const adBlock_notice_content = app.forum.attribute('litalino-adblock.adblock-notice-content') ? app.forum.attribute('litalino-adblock.adblock-notice-content') + adBlock_notice_content_sup : text_content + adBlock_notice_content_sup ;\n //const adBlock_notice_method = app.forum.attribute('litalino-adblock.adblock-notice-method') ? app.forum.attribute('litalino-adblock.adblock-notice-method') : 'prepend' ;\n //const adBlock_notice_interval = app.forum.attribute('litalino-adblock.adblock-notice-interval') ? app.forum.attribute('litalino-adblock.adblock-notice-interval') : '1440' ;\n\n var adBlockAction = adBlock_action; //\"notice\";\n var supportUsTitle = adBlock_supportUsTitle; //\"Please support us\";\n var supportUsMessage = adBlock_supportUsMessage; //\"Please support us by disabling AdBlocker on our website.\";\n var supportRedirectUrl = adBlock_supportRedirectUrl; //\"\";\n var adBlockNotice = {\n element: adBlock_notice_element, //'#content',\n method: adBlock_notice_method,\n content: adBlock_notice_content, //\"Hi. Can you please help us?\\n\\nI know the ads sometimes are too annoying and you want to use Adblock. But please support us by adding KhatVongSong to the whitelist. It will help us keep KhatVongSong free to use.\\n\\nThanks for your help! (Press × to turn off notifications and show content.)\",\n interval: 1440,\n views: 1\n };\n function hasContentHeight(ad) {\n if (ad.find('[data-xf-init=\"sam-lazy\"]').length) {\n return true;\n }\n var adminActions = ad.find('.samAdminActions');\n //console.log( adminActions );\n var ignoreContent = ad.find('.samIgnoreContent');\n //console.log( ignoreContent );\n var adsenseUnit = ad.find('ins.adsbygoogle');\n //console.log( adsenseUnit );\n var googleTagUnit = ad.find('[id^=\"div-gpt-ad\"]');\n //console.log( googleTagUnit );\n var ignoredHeight = 0;\n if (adminActions.length) {\n ignoredHeight += adminActions.height();\n }\n if (ignoreContent.length) {\n ignoredHeight += ignoreContent.height();\n }\n if (adsenseUnit.length) {\n if (adsenseUnit[0].attributes['data-adsbygoogle-status'] === undefined) {\n return false;\n } else if (adsenseUnit.is(':hidden')) {\n return true;\n }\n } else if (googleTagUnit.length) {\n if (googleTagUnit.css('min-height') == '1px') {\n return false;\n }\n }\n //console.log( ad.height());\n //console.log( ignoredHeight);\n return (ad.height() - ignoredHeight) > 0;\n }\n function initDetection() {\n XF.samCoreLoaded = true;\n $('').appendTo('body');\n var adUnits = $(XF.samCodeUnit + ' ' + XF.samItem + ':not(.samLazyLoading)' + ',' + XF.samBannerUnit + ' ' + XF.samItem + ':not(.samLazyLoading)');\n //var adUnits = $(XF.samBannerUnit);\n //var adUnits = $('.samBannerUnit');\n //console.log('adUnits: '+ adUnits.length);\n //console.log('adUnits: '+ adUnits.length);\n //if (adUnits.length && ($('.banner_728x90.ad-banner').is(':hidden') || XF.samCoreLoaded === undefined)) {\n if (adUnits.length && $('.banner_728x90.ad-banner').is(':hidden')) {\n //console.log('adBlockAction: '+ adBlockAction );\n if (adBlockAction == 'backup' || adBlockAction == 'message') {\n adUnits.each(function() {\n if (!hasContentHeight($(this)) && $(this).find('> a img[data-src]').length == 0) {\n if (adBlockAction == 'backup') {\n var backup = $(this).find('.samBackup');\n if (backup.length) {\n backup.find('img').each(function() {\n $(this).attr('src', $(this).data('src'));\n });\n backup.fadeIn();\n }\n } else {\n $('').html(supportUsMessage).prependTo($(this));\n }\n }\n });\n } else {\n var adsBlocked = 0;\n //console.log('hasContentHeight: '+ hasContentHeight($(this)));\n adUnits.each(function() {\n if (!hasContentHeight($(this))) {\n adsBlocked += 1;\n };\n });\n\n //console.log('adsBlocked : '+ adsBlocked );\n var canDisplayNotice = true;\n var pageViewCount = 2;\n //console.log('adBlockNotice.views: '+ adBlockNotice.views );\n if (adBlockNotice.views && adBlockNotice.views > pageViewCount) {\n canDisplayNotice = false;\n }\n //console.log('adsBlocked : '+ adsBlocked );\n //console.log(canDisplayNotice);\n\n if (! adsBlocked && canDisplayNotice) {\n if (adBlockAction == 'notice') {\n //console.log( 'adBlockNotice.interval : '+adBlockNotice.interval );\n //var dismissCookieTime = adBlockNotice.interval ? XF.Cookie.get('sam_notice_dismiss') : false;\n var dismissCookieTime = adBlockNotice.interval ? read_adblock_Cookie('adblock_sam_notice_dismiss') : false;\n //console.log( 'dismissCookieTime: '+dismissCookieTime );\n //console.log( 'adBlockNotice.interval * 60: '+ (adBlockNotice.interval * 60) );\n if (dismissCookieTime && (Math.floor(Date.now() / 1000) - dismissCookieTime <= (adBlockNotice.interval * 60)))\n\n //console.log( 'adBlockNotice.interval: '+ adBlockNotice.interval );\n //console.log( 'Math.floor(Date.now() / 1000): ' + Math.floor(Date.now() / 1000) );\n //var dismissCookieTime = adBlockNotice.interval ? readCookie('sam_notice_dismiss') : false;\n //console.log( 'dismissCookieTime: '+dismissCookieTime );\n //console.log( 'adBlockNotice.interval * 60: '+ (adBlockNotice.interval * 60) );\n //console.log( 'Math.floor(Date.now() / 1000) - dismissCookieTime: '+ (Math.floor(Date.now() / 1000) - dismissCookieTime_ ) );\n //console.log( Math.floor(Date.now() / 1000) - dismissCookieTime <= (adBlockNotice.interval * 60));\n //if (dismissCookieTime)\n\n {\n return;\n }\n var content = supportUsMessage;\n //console.log(content );\n //console.log(adBlockNotice.content);\n if (adBlockNotice.content) {\n content = adBlockNotice.content;\n }\n var notice = $('');\n notice.prepend('×');\n notice.append('' + content + '');\n //console.log(adBlockNotice.method );\n if (adBlockNotice.method == 'prepend') {\n notice.prependTo(adBlockNotice.element);\n\n } else if (adBlockNotice.method == 'append') {\n notice.appendTo(adBlockNotice.element);\n\n } else {\n console.log(notice);\n //notice.prependTo(adBlockNotice.element);\n //console.log(notice[0].outerHTML);\n //const c1_text = notice[0].innerHTML.replace(/>/g, \">\");\n //const c2_text = c1_text.replace(/' + supportUsMessage + ''\n });\n var overlay = new XF.Overlay($overlay, {\n backdropClose: false,\n keyboard: false,\n escapeClose: false,\n className: 'samSupportUsOverlay'\n });\n overlay.show();\n $('head').append('');\n $('.samSupportUsOverlay').css('background-color', 'black').fadeTo('slow', 0.95);\n\n }\n }\n }\n }\n }\n \n $(document).on('click', '.samAdBlockDetected #alerts .Alert-controls', function() {\n //$(this).parent('#samNotice').fadeOut();\n $('body').removeClass('samAdBlockDetected');\n //XF.Cookie.set('sam_notice_dismiss', Math.floor(Date.now() / 1000));\n var value = Math.floor(Date.now() / 1000);\n //create_adblock_Cookie('adblock_sam_notice_dismiss', 'true', '30')\n create_adblock_Cookie('adblock_sam_notice_dismiss', value, null)\n\n });\n $(document).on('click', '#samDismiss', function() {\n $(this).parent('#samNotice').fadeOut();\n $('body').removeClass('samAdBlockDetected');\n //XF.Cookie.set('sam_notice_dismiss', Math.floor(Date.now() / 1000));\n var value = Math.floor(Date.now() / 1000);\n //create_adblock_Cookie('adblock_sam_notice_dismiss', 'true', '30')\n create_adblock_Cookie('adblock_sam_notice_dismiss', value, null)\n\n });\n $(document).on('samInitDetection', function() {\n initDetection();\n });\n\n $(document).trigger('samInitDetection');\n\n function create_adblock_Cookie(name, value, days) {\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n var expires = \"; expires=\" + date.toGMTString();\n } else {\n var expires = '';\n }\n //var expires = '';\n //document.cookie = name + '=' + value + expires + '; path=/';\n //document.cookie = name + \"=\" + value + expires + \"sameSite=Lax; Secure\"; path=/\";\n //const path = require(\"path\")\n document.cookie = name + '=' + value + '; ' + expires + '; ' + 'Secure'; path='/';\n }\n\n function read_adblock_Cookie(name) {\n var nameEQ = name + \"=\";\n var ca = document.cookie.split(\";\");\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === \" \") c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0)\n return c.substring(nameEQ.length, c.length);\n }\n return null;\n }\n\n });\n\n });\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","app","add","extend","IndexPage","XF","window","samViewCountMethod","samServerTime","Math","floor","Date","now","samItem","samCodeUnit","samBannerUnit","document","addEventListener","img","attribute","url","adBlock_div","adBlock_url","adBlock_img","adBlock_alt","my_div","querySelector","tag_div","createElement","innerHTML","className","$","insertBefore","adBlock_notice_content_sup","adBlock_action","adBlock_supportUsTitle","adBlock_supportUsMessage","adBlock_supportRedirectUrl","adBlock_notice_element","adBlock_notice_method","adBlock_notice_content","adBlockAction","supportUsTitle","supportUsMessage","supportRedirectUrl","adBlockNotice","element","method","content","interval","views","hasContentHeight","ad","find","length","adminActions","ignoreContent","adsenseUnit","googleTagUnit","ignoredHeight","height","undefined","attributes","is","css","create_adblock_Cookie","name","days","date","setTime","getTime","expires","toGMTString","cookie","path","on","removeClass","this","parent","fadeOut","samCoreLoaded","appendTo","adUnits","each","backup","attr","data","fadeIn","html","prependTo","adsBlocked","canDisplayNotice","dismissCookieTime","nameEQ","ca","split","i","c","charAt","substring","indexOf","read_adblock_Cookie","notice","prepend","append","console","log","notice_text","outerText","show","Alert","type","addClass","pUrl","location","href","rUrl","$overlay","getOverlayHtml","title","dismissible","Overlay","backdropClose","keyboard","escapeClose","fadeTo","initDetection","trigger"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/src/admin/index.js b/js/src/admin/index.js
index 92ad73b..18c3c38 100644
--- a/js/src/admin/index.js
+++ b/js/src/admin/index.js
@@ -101,6 +101,18 @@ app.initializers.add('litalino/flarum-adblock', () => {
},
default: 'content',
})
+ .registerSetting({
+ setting: 'litalino-adblock.adblock-notice-method',
+ name: 'litalino-adblock.adblock-notice-method',
+ label: app.translator.trans('adblock.admin.adblock-notice-method'),
+ type: 'select',
+ options: {
+ 'prepend': 'prepend',
+ 'append': 'append',
+ 'alert': 'alert',
+ },
+ default: 'alert',
+ })
.registerSetting({
setting: 'litalino-adblock.adblock-notice-content',
name: 'litalino-adblock.adblock-notice-content',
diff --git a/js/src/forum/index.js b/js/src/forum/index.js
index 409aeb1..2e831ef 100644
--- a/js/src/forum/index.js
+++ b/js/src/forum/index.js
@@ -11,6 +11,7 @@
import { extend } from 'flarum/extend';
import app from 'flarum/app';
import IndexPage from 'flarum/forum/components/IndexPage';
+import Alert from "flarum/common/components/Alert";
app.initializers.add('litalino/flarum-adblock', () => {
@@ -58,6 +59,7 @@ app.initializers.add('litalino/flarum-adblock', () => {
var text_supportUsMessage = 'Please support us by disabling AdBlocker on our website.';
var text_url = '';
var text_element = "#content";
+ var text_method = "alert";
var text_content_sup = 'Press × to turn off notifications and show content.';
var text_content =
"Hi. Can you please help us?\n\nI know the ads sometimes are too annoying and you want to use Adblock. But please support us by adding KhatVongSong to the whitelist. It will help us keep KhatVongSong free to use.\n\nThanks for your help!";
@@ -69,6 +71,7 @@ app.initializers.add('litalino/flarum-adblock', () => {
const adBlock_supportUsMessage = app.forum.attribute('litalino-adblock.adblock-supportUsMessage') ? app.forum.attribute('litalino-adblock.adblock-supportUsMessage') :text_supportUsMessage ;
const adBlock_supportRedirectUrl = app.forum.attribute('litalino-adblock.adblock-supportRedirectUrl') ? app.forum.attribute('litalino-adblock.adblock-supportRedirectUrl') : text_url ;
const adBlock_notice_element = app.forum.attribute('litalino-adblock.adblock-notice-element') ? app.forum.attribute('litalino-adblock.adblock-notice-element') : text_element ;
+ const adBlock_notice_method = app.forum.attribute('litalino-adblock.adblock-notice-method') ? app.forum.attribute('litalino-adblock.adblock-notice-method') : text_method ;
const adBlock_notice_content = app.forum.attribute('litalino-adblock.adblock-notice-content') ? app.forum.attribute('litalino-adblock.adblock-notice-content') + adBlock_notice_content_sup : text_content + adBlock_notice_content_sup ;
//const adBlock_notice_method = app.forum.attribute('litalino-adblock.adblock-notice-method') ? app.forum.attribute('litalino-adblock.adblock-notice-method') : 'prepend' ;
//const adBlock_notice_interval = app.forum.attribute('litalino-adblock.adblock-notice-interval') ? app.forum.attribute('litalino-adblock.adblock-notice-interval') : '1440' ;
@@ -79,7 +82,7 @@ app.initializers.add('litalino/flarum-adblock', () => {
var supportRedirectUrl = adBlock_supportRedirectUrl; //"";
var adBlockNotice = {
element: adBlock_notice_element, //'#content',
- method: 'prepend',
+ method: adBlock_notice_method,
content: adBlock_notice_content, //"Hi. Can you please help us?\n\nI know the ads sometimes are too annoying and you want to use Adblock. But please support us by adding KhatVongSong to the whitelist. It will help us keep KhatVongSong free to use.\n\nThanks for your help! (Press × to turn off notifications and show content.)",
interval: 1440,
views: 1
@@ -168,7 +171,7 @@ app.initializers.add('litalino/flarum-adblock', () => {
if (adBlockAction == 'notice') {
//console.log( 'adBlockNotice.interval : '+adBlockNotice.interval );
//var dismissCookieTime = adBlockNotice.interval ? XF.Cookie.get('sam_notice_dismiss') : false;
- var dismissCookieTime = adBlockNotice.interval ? read_adblock_Cookie('adblok_sam_notice_dismiss') : false;
+ var dismissCookieTime = adBlockNotice.interval ? read_adblock_Cookie('adblock_sam_notice_dismiss') : false;
//console.log( 'dismissCookieTime: '+dismissCookieTime );
//console.log( 'adBlockNotice.interval * 60: '+ (adBlockNotice.interval * 60) );
if (dismissCookieTime && (Math.floor(Date.now() / 1000) - dismissCookieTime <= (adBlockNotice.interval * 60)))
@@ -197,8 +200,18 @@ app.initializers.add('litalino/flarum-adblock', () => {
//console.log(adBlockNotice.method );
if (adBlockNotice.method == 'prepend') {
notice.prependTo(adBlockNotice.element);
- } else {
+
+ } else if (adBlockNotice.method == 'append') {
notice.appendTo(adBlockNotice.element);
+
+ } else {
+ console.log(notice);
+ //notice.prependTo(adBlockNotice.element);
+ //console.log(notice[0].outerHTML);
+ //const c1_text = notice[0].innerHTML.replace(/>/g, ">");
+ //const c2_text = c1_text.replace(/ {
}
}
}
+
+ $(document).on('click', '.samAdBlockDetected #alerts .Alert-controls', function() {
+ //$(this).parent('#samNotice').fadeOut();
+ $('body').removeClass('samAdBlockDetected');
+ //XF.Cookie.set('sam_notice_dismiss', Math.floor(Date.now() / 1000));
+ var value = Math.floor(Date.now() / 1000);
+ //create_adblock_Cookie('adblock_sam_notice_dismiss', 'true', '30')
+ create_adblock_Cookie('adblock_sam_notice_dismiss', value, null)
+
+ });
$(document).on('click', '#samDismiss', function() {
$(this).parent('#samNotice').fadeOut();
$('body').removeClass('samAdBlockDetected');
//XF.Cookie.set('sam_notice_dismiss', Math.floor(Date.now() / 1000));
var value = Math.floor(Date.now() / 1000);
- //create_adblock_Cookie('adblok_sam_notice_dismiss', 'true', '30')
- create_adblock_Cookie('adblok_sam_notice_dismiss', value, null)
+ //create_adblock_Cookie('adblock_sam_notice_dismiss', 'true', '30')
+ create_adblock_Cookie('adblock_sam_notice_dismiss', value, null)
});
$(document).on('samInitDetection', function() {
@@ -256,8 +279,9 @@ app.initializers.add('litalino/flarum-adblock', () => {
}
//var expires = '';
//document.cookie = name + '=' + value + expires + '; path=/';
- //document.cookie = name + "=" + value + expires + "sameSite=Session; Secure"; path=/";
- document.cookie = name + '=' + value + '; ' + expires + '; ' + 'sameSite=Session; Secure'; path='/';
+ //document.cookie = name + "=" + value + expires + "sameSite=Lax; Secure"; path=/";
+ //const path = require("path")
+ document.cookie = name + '=' + value + '; ' + expires + '; ' + 'Secure'; path='/';
}
function read_adblock_Cookie(name) {
diff --git a/locale/en.yml b/locale/en.yml
index f9f15a5..1a46a70 100644
--- a/locale/en.yml
+++ b/locale/en.yml
@@ -21,6 +21,8 @@ adblock:
adblock-supportRedirectUrl-placeholder: Paste a valid URL here or leave it blank
adblock-notice-element: Add Tag where notifications are displayed
adblock-notice-element-placeholder: Ex '#content, .App-content, .IndexPage, container'
+ adblock-notice-method: Style notice
+ adblock-notice-method-help: Here you can change the Notification style
adblock-notice-content: Message content
adblock-notice-content-help: Here u can change the content
adblock-notice-content-placeholder: Hi. Can you please help us?\n\nI know the ads sometimes are too annoying and you want to use Adblock. But please support us by adding KhatVongSong to the whitelist. It will help us keep KhatVongSong free to use.\n\nThanks for your help!
diff --git a/locale/vi.yml b/locale/vi.yml
index 129ccde..ab565ee 100644
--- a/locale/vi.yml
+++ b/locale/vi.yml
@@ -21,6 +21,8 @@ adblock:
adblock-supportRedirectUrl-placeholder: Dán URL hợp lệ vào đây hoặc để trống
adblock-notice-element: Thêm Tag nơi hiển thị thông báo
adblock-notice-element-placeholder: Ex '#content, .App-content, .IndexPage, container'
+ adblock-notice-method: Style notice
+ adblock-notice-method-help: Tại đây bạn có thể thay đổi kiểu Thông báo
adblock-notice-content: Nội dung thông báo
adblock-notice-content-help: Ở đây bạn có thể thay đổi nội dung
adblock-notice-content-placeholder: CHÀO. Bạn có thể vui lòng giúp chúng tôi không?\n\nTôi biết quảng cáo đôi khi quá khó chịu và bạn muốn sử dụng Adblock. Nhưng hãy ủng hộ chúng tôi bằng cách thêm KhatVongSong vào danh sách trắng. Nó sẽ giúp chúng tôi sử dụng KhatVongSong miễn phí.\n\nCảm ơn sự giúp đỡ của bạn!