diff --git a/js/dist/forum.js b/js/dist/forum.js
index df8f718..0ff16fb 100644
--- a/js/dist/forum.js
+++ b/js/dist/forum.js
@@ -1,2 +1,2 @@
-(()=>{var e={n:t=>{var s=t&&t.__esModule?()=>t.default:()=>t;return e.d(s,{a:s}),s},d:(t,s)=>{for(var n in s)e.o(s,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:s[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};(()=>{"use strict";e.r(t);const s=flarum.core.compat["forum/app"];var n=e.n(s);const r=flarum.core.compat["common/models/User"];var a=e.n(r);const o=flarum.core.compat["common/Model"];var i=e.n(o);function u(e,t){return u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},u(e,t)}function c(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,u(e,t)}const l=flarum.core.compat["common/utils/computed"];var d=e.n(l);const p=flarum.core.compat["common/utils/mixin"];var h=function(e){function t(){return e.apply(this,arguments)||this}return c(t,e),t}(e.n(p)()(i(),{user:i().hasOne("user"),status:i().attribute("status"),reason:i().attribute("reason"),createdAt:i().attribute("createdAt",i().transformDate),forNickname:i().attribute("forNickname"),_requestedUsername:i().attribute("requestedUsername"),requestedUsername:d()("_requestedUsername","forNickname","user",(function(e,t,s){return null===e&&t?s.username():e}))}));const f=flarum.core.compat["common/extend"],q=flarum.core.compat["common/components/Button"];var v=e.n(q);const N=flarum.core.compat["forum/components/SettingsPage"];var y=e.n(N);const b=flarum.core.compat["common/utils/Stream"];var g=e.n(b);const _=flarum.core.compat["common/components/Modal"];var k=e.n(_),x=function(e){function t(){return e.apply(this,arguments)||this}c(t,e);var s=t.prototype;return s.oninit=function(t){e.prototype.oninit.call(this,t),this.username=g()(this.attrs.nickname?n().session.user.displayName():n().session.user.username()),this.userRequestAttr="last"+(this.attrs.nickname?"Nickname":"Username")+"Request",this.lastRequest=n().session.user[this.userRequestAttr](),this.lastRequest&&this.username(this.lastRequest.requestedUsername()),this.success=!1,this.password=g()(""),this.translationPrefix="fof-username-request.forum."+(this.attrs.nickname?"nickname":"username")+"_modals.request"},s.className=function(){return"RequestUsernameModal Modal--small"},s.title=function(){return n().translator.trans(this.translationPrefix+".title")},s.content=function(){return this.success?m("div",{className:"Modal-body"},m("div",{className:"Form Form--centered"},m("p",{className:"helpText"},n().translator.trans(this.translationPrefix+".confirmation_message")),m("div",{className:"Form-group"},m(v(),{className:"Button Button--primary Button--block",onclick:this.hide.bind(this)},n().translator.trans(this.translationPrefix+".dismiss_button"))))):m("div",{className:"Modal-body"},m("div",{className:"Form Form--centered"},this.lastRequest?m("p",{className:"helpText"},n().translator.trans(this.translationPrefix+".current_request",{name:this.lastRequest.requestedUsername()})):"",m("div",{className:"Form-group"},m("input",{type:"text",name:"text",className:"FormControl",placeholder:n().session.user.username(),bidi:this.username,disabled:this.deleteLoading||this.submitLoading})),n().forum.attribute("passwordlessSignUp")?null:m("div",{className:"Form-group"},m("input",{type:"password",name:"password",className:"FormControl",placeholder:n().translator.trans("core.forum.change_email.confirm_password_placeholder"),bidi:this.password,disabled:this.deleteLoading||this.submitLoading})),m("div",{className:"Form-group"},v().component({className:"Button Button--primary Button--block",type:"submit",loading:this.submitLoading},n().translator.trans(this.translationPrefix+".submit_button"))),this.lastRequest?m("div",{className:"Form-group"},v().component({className:"Button Button--primary Button--block",onclick:this.deleteRequest.bind(this),loading:this.deleteLoading},n().translator.trans(this.translationPrefix+".delete_button"))):""))},s.deleteRequest=function(e){e.preventDefault(),this.deleteLoading=!0,this.lastRequest.delete(),this.successAlert=n().alerts.show({type:"success"},n().translator.trans(this.translationPrefix+".deleted")),n().session.user[this.userRequestAttr]=g()(),this.hide()},s.onsubmit=function(e){var t=this;e.preventDefault(),this.alert=null;var s=this.attrs.nickname?n().session.user.displayName():n().session.user.username();this.username()!==s?(this.submitLoading=!0,n().store.createRecord("username-requests").save({username:this.username(),forNickname:this.attrs.nickname},{meta:{password:this.password()},errorHandler:this.onerror.bind(this)}).then((function(e){n().session.user[t.userRequestAttr]=g()(e),t.success=!0,t.alertAttrs=null})).catch((function(){})).then(this.loaded.bind(this))):this.hide()},s.onerror=function(t){401===t.status&&(t.alert.content=n().translator.trans("core.forum.change_email.incorrect_password_message"),this.submitLoading=!1),e.prototype.onerror.call(this,t)},t}(k());const R=flarum.core.compat["common/components/Page"];var P=e.n(R);const w=flarum.core.compat["common/Component"];var A=e.n(w);const U=flarum.core.compat["common/components/LoadingIndicator"];var B=e.n(U);const F=flarum.core.compat["common/helpers/avatar"];var M=e.n(F);const L=flarum.core.compat["common/helpers/username"];var j=e.n(L);const O=flarum.core.compat["common/helpers/icon"];var C=e.n(O);const S=flarum.core.compat["common/helpers/humanTime"];var T=e.n(S);const D=flarum.core.compat["common/utils/withAttr"];var H=e.n(D),I=function(e){function t(){return e.apply(this,arguments)||this}c(t,e);var s=t.prototype;return s.oninit=function(t){e.prototype.oninit.call(this,t),this.request=this.attrs.request,this.approved=g()("Rejected"),this.reason=g()(""),this.translationPrefix="fof-username-request.forum."+(this.request.forNickname()?"nickname":"username")+"_modals.action"},s.title=function(){return n().translator.trans(this.translationPrefix+".title")},s.className=function(){return"RequestActionModal Modal--medium"},s.content=function(){return m("div",{className:"Modal-body"},m("div",{className:"Form"},m("h3",{className:"Notification-content"},n().translator.trans(this.translationPrefix+".name",{name:j()(this.request.user()),requestedName:this.request.requestedUsername()})),m("p",{className:"help"},n().translator.trans(this.translationPrefix+".help_text")),m("legend",null,n().translator.trans(this.translationPrefix+".decision_title")),m("div",{className:"Form-group"},m("label",{className:"checkbox"},m("input",{type:"radio",name:"approved",value:"Approved",checked:"Approved"===this.approved(),onclick:H()("value",this.approved)}),n().translator.trans(this.translationPrefix+".approval_label")),m("label",{className:"checkbox"},m("input",{type:"radio",name:"rejected",value:"Rejected",checked:"Rejected"===this.approved(),onclick:H()("value",this.approved)}),n().translator.trans(this.translationPrefix+".rejected_label"))),"Rejected"===this.approved()?m("div",{className:"Form-group"},m("legend",null,n().translator.trans(this.translationPrefix+".reason_title")),m("div",{className:"BasicsPage-reason-input"},m("textarea",{className:"FormControl",value:this.reason(),disabled:this.loading,oninput:H()("value",this.reason)}))):"",m("div",{className:"Form-group"},v().component({className:"Button Button--primary Button--block",type:"submit",loading:this.loading,disabled:"Rejected"===this.approved()&&!this.reason()},n().translator.trans(this.translationPrefix+".submit_button")))))},s.onsubmit=function(e){var t=this;e.preventDefault(),this.loading=!0,this.request.save({reason:this.reason(),action:this.approved()}).then((function(){t.successAlert=n().alerts.show({type:"success"},n().translator.trans(t.translationPrefix+".success"))})),n().cache.username_requests.some((function(e,s){e.id()==t.request.id()&&n().cache.username_requests.splice(s,1)})),m.redraw(),this.hide()},t}(k()),G=function(e){function t(){return e.apply(this,arguments)||this}c(t,e);var s=t.prototype;return s.oninit=function(t){e.prototype.oninit.call(this,t),this.loading=!1},s.view=function(){var e=this,t=n().cache.username_requests||[];return m("div",{className:"NotificationList RequestsList"},m("div",{className:"NotificationList-header"},m("h4",{className:"App-titleControl App-titleControl--text"},n().translator.trans("fof-username-request.forum.pending_requests.title"))),m("div",{className:"NotificationList-content"},m("ul",{className:"NotificationGroup-content"},t.length?t.map((function(t){var s=t.forNickname()?"nickname":"username";return m("li",null,m("a",{onclick:e.showModal.bind(e,t),className:"Notification Request"},M()(t.user()),C()("fas fa-user-edit",{className:"Notification-icon"}),m("span",{className:"Notification-content"},n().translator.trans("fof-username-request.forum.pending_requests."+s+"_item_text",{name:j()(t.user())})),T()(t.createdAt()),m("div",{className:"Notification-excerpt"},n().translator.trans("fof-username-request.forum.pending_requests."+s+"_exerpt",{requestedName:t.requestedUsername()}))))})):this.loading?B().component({className:"LoadingIndicator--block"}):m("div",{className:"NotificationList-empty"},n().translator.trans("fof-username-request.forum.pending_requests.empty_text")))))},s.showModal=function(e){n().modal.show(I,{request:e})},t}(A()),z=function(e){function t(){return e.apply(this,arguments)||this}c(t,e);var s=t.prototype;return s.oninit=function(t){e.prototype.oninit.call(this,t),n().history.push("requests"),n().usernameRequests.load(),this.bodyClass="App--requests"},s.view=function(){return m("div",{className:"RequestsPage"},m(G,{state:n().usernameRequests}))},t}(P());const E=flarum.core.compat["forum/components/HeaderSecondary"];var J=e.n(E);const K=flarum.core.compat["forum/components/NotificationsDropdown"];var Q=function(e){function t(){return e.apply(this,arguments)||this}c(t,e),t.initAttrs=function(t){t.label=t.label||n().translator.trans("fof-username-request.forum.pending_requests.tooltip"),t.icon=t.icon||"fas fa-user-edit",e.initAttrs.call(this,t)};var s=t.prototype;return s.getMenu=function(){return m("div",{className:"Dropdown-menu "+this.attrs.menuClassName,onclick:this.menuClick.bind(this)},this.showing?G.component({state:n().usernameRequests}):"")},s.goToRoute=function(){m.route.set(n().route("username_requests"))},s.getUnreadCount=function(){return n().cache.username_requests?n().cache.username_requests.length:n().forum.data.relationships.username_requests.data.length},s.getNewCount=function(){return n().cache.username_requests?n().cache.username_requests.length:n().forum.data.relationships.username_requests.data.length},t}(e.n(K)()),V=function(e){function t(){return e.apply(this,arguments)||this}c(t,e);var s=t.prototype;return s.oninit=function(t){e.prototype.oninit.call(this,t),this.userRequestAttr="last"+(this.attrs.nickname?"Nickname":"Username")+"Request",this.request=n().session.user[this.userRequestAttr](),this.translationPrefix="fof-username-request.forum."+(this.request.forNickname()?"nickname":"username")+"_modals.results"},s.className=function(){return"ResultsModal Modal"},s.title=function(){return n().translator.trans(this.translationPrefix+".title")},s.content=function(){return m("div",{className:"Modal-body"},m("div",{className:"Form Form--centered"},"Approved"===this.request.status()?[m("h2",null,n().translator.trans(this.translationPrefix+".approved")),m("h3",null,n().translator.trans(this.translationPrefix+".new_name",{name:n().session.user.displayName()}))]:[m("h2",null,n().translator.trans(this.translationPrefix+".rejected")),m("h3",null,n().translator.trans(this.translationPrefix+".reason",{reason:this.request.reason(),i:m("i",null)})),m("p",{className:"helpText"},n().translator.trans(this.translationPrefix+".resubmit"))],m("div",{className:"Form-group"},m(v(),{className:"Button Button--primary Button--block",onclick:this.hide.bind(this)},n().translator.trans(this.translationPrefix+".dismiss_button")))))},s.onremove=function(){n().session.user[this.userRequestAttr]=g()(),this.request.save({delete:!0})},t}(k());const W=flarum.core.compat["forum/components/UserPage"];var X=e.n(W),Y=function(e){function t(){return e.apply(this,arguments)||this}c(t,e);var s=t.prototype;return s.oninit=function(t){e.prototype.oninit.call(this,t),this.loading=!0,this.loadUser(m.route.param("username"))},s.content=function(){var e=this;return m("table",{className:"NotificationGrid"},this.user.usernameHistory().slice(0).reverse().map((function(t){var s=Object.keys(t)[0];return m("tr",null,m("td",null,s),m("td",null,T()(e.calculateTime(t[s]))))})))},s.show=function(e){this.user=e,m.redraw()},s.calculateTime=function(e){return new Date(0).setUTCSeconds(e)},t}(X());const Z=flarum.core.compat["common/components/LinkButton"];var $=e.n(Z),ee=function(){function e(e){this.app=e,this.loading=!1,this.cache=[]}return e.prototype.load=function(){var e=this;n().cache.username_requests||(this.loading=!0,m.redraw(),n().store.find("username-requests").then((function(e){delete e.payload,n().cache.username_requests=e.sort((function(e,t){return e.createdAt()-t.createdAt()}))})).catch((function(){})).then((function(){e.loading=!1,m.redraw()})))},e}();n().initializers.add("fof-username-request",(function(){n().store.models["username-requests"]=h,a().prototype.lastNicknameRequest=i().hasOne("lastNicknameRequest"),a().prototype.lastUsernameRequest=i().hasOne("lastUsernameRequest"),a().prototype.usernameHistory=i().attribute("usernameHistory"),n().routes.username_requests={path:"/username-requests",component:z},n().routes.username_history={path:"/u/:username/history",component:Y},n().usernameRequests=new ee(n()),(0,f.extend)(y().prototype,"accountItems",(function(e){n().forum.attribute("canRequestUsername")&&e.add("username-request",v().component({className:"Button",onclick:function(){n().modal.show(x)}},n().translator.trans("fof-username-request.forum.settings.username_request_button")),8),"nickname"===n().forum.attribute("displayNameDriver")&&n().forum.attribute("canRequestNickname")&&!this.user.attribute("canEditOwnNickname")&&"flarum-nicknames"in flarum.extensions&&e.add("nickname-request",v().component({className:"Button",onclick:function(){n().modal.show(x,{nickname:!0})}},n().translator.trans("fof-username-request.forum.settings.nickname_request_button")),8)})),(0,f.extend)(J().prototype,"items",(function(e){(n().forum.data.relationships.username_requests&&n().forum.data.relationships.username_requests.data.length&&!n().cache.username_requests||n().cache.username_requests&&0!==n().cache.username_requests.length)&&e.add("UsernameRequests",m(Q,{state:n().usernameRequests}),20)})),new Promise((function(){setTimeout((function(){if(n().session.user){var e=n().session.user.lastNicknameRequest()&&"Sent"!==n().session.user.lastNicknameRequest().status(),t=n().session.user.lastUsernameRequest()&&"Sent"!==n().session.user.lastUsernameRequest().status();(e||t)&&n().modal.show(V,{nickname:e})}}),1e3)})),(0,f.extend)(X().prototype,"navItems",(function(e){this.user.usernameHistory()&&e.add("username-requests",$().component({href:n().route("username_history",{username:this.user.username()}),icon:"fas fa-user-edit"},n().translator.trans("fof-username-request.forum.user.name_history_link")))}))}))})(),module.exports=t})();
+(()=>{var e={n:t=>{var s=t&&t.__esModule?()=>t.default:()=>t;return e.d(s,{a:s}),s},d:(t,s)=>{for(var n in s)e.o(s,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:s[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};(()=>{"use strict";e.r(t);const s=flarum.core.compat["forum/app"];var n=e.n(s);const r=flarum.core.compat["common/models/User"];var a=e.n(r);const o=flarum.core.compat["common/Model"];var i=e.n(o);function u(e,t){return u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},u(e,t)}function c(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,u(e,t)}const l=flarum.core.compat["common/utils/computed"];var d=e.n(l);const p=flarum.core.compat["common/utils/mixin"];var h=function(e){function t(){return e.apply(this,arguments)||this}return c(t,e),t}(e.n(p)()(i(),{user:i().hasOne("user"),status:i().attribute("status"),reason:i().attribute("reason"),createdAt:i().attribute("createdAt",i().transformDate),forNickname:i().attribute("forNickname"),_requestedUsername:i().attribute("requestedUsername"),requestedUsername:d()("_requestedUsername","forNickname","user",(function(e,t,s){return null===e&&t?s.username():e}))}));const f=flarum.core.compat["common/extend"],q=flarum.core.compat["common/components/Button"];var v=e.n(q);const N=flarum.core.compat["forum/components/SettingsPage"];var y=e.n(N);const b=flarum.core.compat["common/utils/Stream"];var g=e.n(b);const _=flarum.core.compat["common/components/Modal"];var k=e.n(_),x=function(e){function t(){return e.apply(this,arguments)||this}c(t,e);var s=t.prototype;return s.oninit=function(t){e.prototype.oninit.call(this,t),this.username=g()(this.attrs.nickname?n().session.user.displayName():n().session.user.username()),this.userRequestAttr="last"+(this.attrs.nickname?"Nickname":"Username")+"Request",this.lastRequest=n().session.user[this.userRequestAttr](),this.lastRequest&&this.username(this.lastRequest.requestedUsername()),this.success=!1,this.password=g()(""),this.translationPrefix="fof-username-request.forum."+(this.attrs.nickname?"nickname":"username")+"_modals.request"},s.className=function(){return"RequestUsernameModal Modal--small"},s.title=function(){return n().translator.trans(this.translationPrefix+".title")},s.content=function(){return this.success?m("div",{className:"Modal-body"},m("div",{className:"Form Form--centered"},m("p",{className:"helpText"},n().translator.trans(this.translationPrefix+".confirmation_message")),m("div",{className:"Form-group"},m(v(),{className:"Button Button--primary Button--block",onclick:this.hide.bind(this)},n().translator.trans(this.translationPrefix+".dismiss_button"))))):m("div",{className:"Modal-body"},m("div",{className:"Form Form--centered"},this.lastRequest?m("p",{className:"helpText"},n().translator.trans(this.translationPrefix+".current_request",{name:this.lastRequest.requestedUsername()})):"",m("div",{className:"Form-group"},m("input",{type:"text",name:"text",className:"FormControl",placeholder:n().session.user.username(),bidi:this.username,disabled:this.deleteLoading||this.submitLoading})),n().forum.attribute("passwordlessSignUp")?null:m("div",{className:"Form-group"},m("input",{type:"password",name:"password",className:"FormControl",placeholder:n().translator.trans("core.forum.change_email.confirm_password_placeholder"),bidi:this.password,disabled:this.deleteLoading||this.submitLoading})),m("div",{className:"Form-group"},v().component({className:"Button Button--primary Button--block",type:"submit",loading:this.submitLoading},n().translator.trans(this.translationPrefix+".submit_button"))),this.lastRequest?m("div",{className:"Form-group"},v().component({className:"Button Button--primary Button--block",onclick:this.deleteRequest.bind(this),loading:this.deleteLoading},n().translator.trans(this.translationPrefix+".delete_button"))):""))},s.deleteRequest=function(e){e.preventDefault(),this.deleteLoading=!0,this.lastRequest.delete(),this.successAlert=n().alerts.show({type:"success"},n().translator.trans(this.translationPrefix+".deleted")),n().session.user[this.userRequestAttr]=g()(),this.hide()},s.onsubmit=function(e){var t=this;e.preventDefault(),this.alert=null;var s=this.attrs.nickname?n().session.user.displayName():n().session.user.username();this.username()!==s?(this.submitLoading=!0,n().store.createRecord("username-requests").save({username:this.username(),forNickname:this.attrs.nickname},{meta:{password:this.password()},errorHandler:this.onerror.bind(this)}).then((function(e){n().session.user[t.userRequestAttr]=g()(e),t.success=!0,t.alertAttrs=null})).catch((function(){})).then(this.loaded.bind(this))):this.hide()},s.onerror=function(t){401===t.status&&(t.alert.content=n().translator.trans("core.forum.change_email.incorrect_password_message"),this.submitLoading=!1),e.prototype.onerror.call(this,t)},t}(k());const R=flarum.core.compat["common/components/Page"];var P=e.n(R);const w=flarum.core.compat["common/Component"];var A=e.n(w);const U=flarum.core.compat["common/components/LoadingIndicator"];var B=e.n(U);const F=flarum.core.compat["common/helpers/avatar"];var M=e.n(F);const L=flarum.core.compat["common/helpers/username"];var j=e.n(L);const O=flarum.core.compat["common/helpers/icon"];var C=e.n(O);const S=flarum.core.compat["common/helpers/humanTime"];var T=e.n(S);const D=flarum.core.compat["common/utils/withAttr"];var H=e.n(D),I=function(e){function t(){return e.apply(this,arguments)||this}c(t,e);var s=t.prototype;return s.oninit=function(t){e.prototype.oninit.call(this,t),this.request=this.attrs.request,this.approved=g()("Rejected"),this.reason=g()(""),this.translationPrefix="fof-username-request.forum."+(this.request.forNickname()?"nickname":"username")+"_modals.action"},s.title=function(){return n().translator.trans(this.translationPrefix+".title")},s.className=function(){return"RequestActionModal Modal--medium"},s.content=function(){return m("div",{className:"Modal-body"},m("div",{className:"Form"},m("h3",{className:"Notification-content"},n().translator.trans(this.translationPrefix+".name",{name:j()(this.request.user()),requestedName:this.request.requestedUsername()})),m("p",{className:"help"},n().translator.trans(this.translationPrefix+".help_text")),m("legend",null,n().translator.trans(this.translationPrefix+".decision_title")),m("div",{className:"Form-group"},m("label",{className:"checkbox"},m("input",{type:"radio",name:"approved",value:"Approved",checked:"Approved"===this.approved(),onclick:H()("value",this.approved)}),n().translator.trans(this.translationPrefix+".approval_label")),m("label",{className:"checkbox"},m("input",{type:"radio",name:"rejected",value:"Rejected",checked:"Rejected"===this.approved(),onclick:H()("value",this.approved)}),n().translator.trans(this.translationPrefix+".rejected_label"))),"Rejected"===this.approved()?m("div",{className:"Form-group"},m("legend",null,n().translator.trans(this.translationPrefix+".reason_title")),m("div",{className:"BasicsPage-reason-input"},m("textarea",{className:"FormControl",value:this.reason(),disabled:this.loading,oninput:H()("value",this.reason)}))):"",m("div",{className:"Form-group"},v().component({className:"Button Button--primary Button--block",type:"submit",loading:this.loading,disabled:"Rejected"===this.approved()&&!this.reason()},n().translator.trans(this.translationPrefix+".submit_button")))))},s.onsubmit=function(e){var t=this;e.preventDefault(),this.loading=!0,this.request.save({reason:this.reason(),action:this.approved()}).then((function(){t.successAlert=n().alerts.show({type:"success"},n().translator.trans(t.translationPrefix+".success"))})),n().cache.username_requests.some((function(e,s){e.id()==t.request.id()&&n().cache.username_requests.splice(s,1)})),m.redraw(),this.hide()},t}(k()),G=function(e){function t(){return e.apply(this,arguments)||this}c(t,e);var s=t.prototype;return s.oninit=function(t){e.prototype.oninit.call(this,t),this.loading=!1},s.view=function(){var e=this,t=n().cache.username_requests||[];return m("div",{className:"NotificationList RequestsList"},m("div",{className:"NotificationList-header"},m("h4",{className:"App-titleControl App-titleControl--text"},n().translator.trans("fof-username-request.forum.pending_requests.title"))),m("div",{className:"NotificationList-content"},m("ul",{className:"NotificationGroup-content"},t.length?t.map((function(t){var s=t.forNickname()?"nickname":"username";return m("li",null,m("a",{onclick:e.showModal.bind(e,t),className:"Notification Request"},M()(t.user()),C()("fas fa-user-edit",{className:"Notification-icon"}),m("span",{className:"Notification-content"},n().translator.trans("fof-username-request.forum.pending_requests."+s+"_item_text",{name:j()(t.user())})),T()(t.createdAt()),m("div",{className:"Notification-excerpt"},n().translator.trans("fof-username-request.forum.pending_requests."+s+"_exerpt",{requestedName:t.requestedUsername()}))))})):this.loading?B().component({className:"LoadingIndicator--block"}):m("div",{className:"NotificationList-empty"},n().translator.trans("fof-username-request.forum.pending_requests.empty_text")))))},s.showModal=function(e){n().modal.show(I,{request:e})},t}(A()),z=function(e){function t(){return e.apply(this,arguments)||this}c(t,e);var s=t.prototype;return s.oninit=function(t){e.prototype.oninit.call(this,t),n().history.push("requests"),n().usernameRequests.load(),this.bodyClass="App--requests"},s.view=function(){return m("div",{className:"RequestsPage"},m(G,{state:n().usernameRequests}))},t}(P());const E=flarum.core.compat["forum/components/HeaderSecondary"];var J=e.n(E);const K=flarum.core.compat["forum/components/NotificationsDropdown"];var Q=function(e){function t(){return e.apply(this,arguments)||this}c(t,e),t.initAttrs=function(t){t.label=t.label||n().translator.trans("fof-username-request.forum.pending_requests.tooltip"),t.icon=t.icon||"fas fa-user-edit",e.initAttrs.call(this,t)};var s=t.prototype;return s.getMenu=function(){return m("div",{className:"Dropdown-menu "+this.attrs.menuClassName,onclick:this.menuClick.bind(this)},this.showing?G.component({state:n().usernameRequests}):"")},s.goToRoute=function(){m.route.set(n().route("username_requests"))},s.getUnreadCount=function(){return n().cache.username_requests?n().cache.username_requests.length:n().forum.data.relationships.username_requests.data.length},s.getNewCount=function(){return n().cache.username_requests?n().cache.username_requests.length:n().forum.data.relationships.username_requests.data.length},t}(e.n(K)()),V=function(e){function t(){return e.apply(this,arguments)||this}c(t,e);var s=t.prototype;return s.oninit=function(t){e.prototype.oninit.call(this,t),this.userRequestAttr="last"+(this.attrs.nickname?"Nickname":"Username")+"Request",this.request=n().session.user[this.userRequestAttr](),this.translationPrefix="fof-username-request.forum."+(this.request.forNickname()?"nickname":"username")+"_modals.results"},s.className=function(){return"ResultsModal Modal"},s.title=function(){return n().translator.trans(this.translationPrefix+".title")},s.content=function(){return m("div",{className:"Modal-body"},m("div",{className:"Form Form--centered"},"Approved"===this.request.status()?[m("h2",null,n().translator.trans(this.translationPrefix+".approved")),m("h3",null,n().translator.trans(this.translationPrefix+".new_name",{name:n().session.user.displayName()}))]:[m("h2",null,n().translator.trans(this.translationPrefix+".rejected")),m("h3",null,n().translator.trans(this.translationPrefix+".reason",{reason:this.request.reason(),i:m("i",null)})),m("p",{className:"helpText"},n().translator.trans(this.translationPrefix+".resubmit"))],m("div",{className:"Form-group"},m(v(),{className:"Button Button--primary Button--block",onclick:this.hide.bind(this)},n().translator.trans(this.translationPrefix+".dismiss_button")))))},s.onremove=function(){n().session.user[this.userRequestAttr]=g()(),this.request.save({delete:!0})},t}(k());const W=flarum.core.compat["forum/components/UserPage"];var X=e.n(W),Y=function(e){function t(){return e.apply(this,arguments)||this}c(t,e);var s=t.prototype;return s.oninit=function(t){e.prototype.oninit.call(this,t),this.loading=!0,this.loadUser(m.route.param("username"))},s.content=function(){var e=this;return m("table",{className:"NotificationGrid"},this.user.usernameHistory().slice(0).reverse().map((function(t){var s=Object.keys(t)[0];return m("tr",null,m("td",null,s),m("td",null,T()(e.calculateTime(t[s]))))})))},s.show=function(e){this.user=e,m.redraw()},s.calculateTime=function(e){return new Date(0).setUTCSeconds(e)},t}(X());const Z=flarum.core.compat["common/components/LinkButton"];var $=e.n(Z),ee=function(){function e(e){this.app=e,this.loading=!1,this.cache=[]}return e.prototype.load=function(){var e=this;n().cache.username_requests||(this.loading=!0,m.redraw(),n().store.find("username-requests").then((function(e){delete e.payload,n().cache.username_requests=e.sort((function(e,t){return e.createdAt()-t.createdAt()}))})).catch((function(){})).then((function(){e.loading=!1,m.redraw()})))},e}();n().initializers.add("fof-username-request",(function(){n().store.models["username-requests"]=h,a().prototype.lastNicknameRequest=i().hasOne("lastNicknameRequest"),a().prototype.lastUsernameRequest=i().hasOne("lastUsernameRequest"),a().prototype.usernameHistory=i().attribute("usernameHistory"),n().routes.username_requests={path:"/username-requests",component:z},n().routes.username_history={path:"/u/:username/history",component:Y},n().usernameRequests=new ee(n()),(0,f.extend)(y().prototype,"accountItems",(function(e){n().forum.attribute("canRequestUsername")&&e.add("username-request",v().component({className:"Button",onclick:function(){n().modal.show(x)}},n().translator.trans("fof-username-request.forum.settings.username_request_button")),8),"nickname"===n().forum.attribute("displayNameDriver")&&n().forum.attribute("canRequestNickname")&&!this.user.attribute("canEditOwnNickname")&&"flarum-nicknames"in flarum.extensions&&e.add("nickname-request",v().component({className:"Button",onclick:function(){n().modal.show(x,{nickname:!0})}},n().translator.trans("fof-username-request.forum.settings.nickname_request_button")),8)})),(0,f.extend)(J().prototype,"items",(function(e){(n().forum.data.relationships.username_requests&&n().forum.data.relationships.username_requests.data.length&&!n().cache.username_requests||n().cache.username_requests&&0!==n().cache.username_requests.length)&&e.add("UsernameRequests",m(Q,{state:n().usernameRequests}),20)})),new Promise((function(){setTimeout((function(){if(n().session.user){var e=n().session.user.lastNicknameRequest()&&"Sent"!==n().session.user.lastNicknameRequest().status(),t=n().session.user.lastUsernameRequest()&&"Sent"!==n().session.user.lastUsernameRequest().status();(e||t)&&n().modal.show(V,{nickname:e})}}),1e3)})),(0,f.extend)(X().prototype,"navItems",(function(e){this.user.usernameHistory()&&e.add("username-requests",$().component({href:n().route("username_history",{username:this.user.slug()}),icon:"fas fa-user-edit"},n().translator.trans("fof-username-request.forum.user.name_history_link")))}))}))})(),module.exports=t})();
//# 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 23f4df4..9bb4f98 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://@fof/username-request/webpack/bootstrap","webpack://@fof/username-request/webpack/runtime/compat get default export","webpack://@fof/username-request/webpack/runtime/define property getters","webpack://@fof/username-request/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/username-request/webpack/runtime/make namespace object","webpack://@fof/username-request/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/models/User']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/username-request/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/username-request/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/username-request/external root \"flarum.core.compat['common/utils/computed']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/utils/mixin']\"","webpack://@fof/username-request/./src/forum/models/UsernameRequest.js","webpack://@fof/username-request/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/username-request/external root \"flarum.core.compat['forum/components/SettingsPage']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@fof/username-request/./src/forum/components/RequestModal.js","webpack://@fof/username-request/external root \"flarum.core.compat['common/components/Page']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/helpers/humanTime']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/utils/withAttr']\"","webpack://@fof/username-request/./src/forum/components/ActionModal.js","webpack://@fof/username-request/./src/forum/components/RequestsList.js","webpack://@fof/username-request/./src/forum/components/RequestsPage.js","webpack://@fof/username-request/external root \"flarum.core.compat['forum/components/HeaderSecondary']\"","webpack://@fof/username-request/external root \"flarum.core.compat['forum/components/NotificationsDropdown']\"","webpack://@fof/username-request/./src/forum/components/RequestsDropdown.js","webpack://@fof/username-request/./src/forum/components/ResultsModal.js","webpack://@fof/username-request/external root \"flarum.core.compat['forum/components/UserPage']\"","webpack://@fof/username-request/./src/forum/components/ProfilePage.js","webpack://@fof/username-request/external root \"flarum.core.compat['common/components/LinkButton']\"","webpack://@fof/username-request/./src/forum/states/RequestsListState.js","webpack://@fof/username-request/./src/forum/index.js","webpack://@fof/username-request/./src/forum/addRequestSetting.js","webpack://@fof/username-request/./src/forum/addRequestDropdown.js","webpack://@fof/username-request/./src/forum/checkForApproval.js","webpack://@fof/username-request/./src/forum/addProfilePage.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['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/User'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/computed'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/mixin'];","import Model from 'flarum/common/Model';\nimport computed from 'flarum/common/utils/computed';\nimport mixin from 'flarum/common/utils/mixin';\n\nexport default class UsernameRequest extends mixin(Model, {\n user: Model.hasOne('user'),\n status: Model.attribute('status'),\n reason: Model.attribute('reason'),\n createdAt: Model.attribute('createdAt', Model.transformDate),\n forNickname: Model.attribute('forNickname'),\n\n _requestedUsername: Model.attribute('requestedUsername'),\n requestedUsername: computed('_requestedUsername', 'forNickname', 'user', (newName, forNickname, user) => {\n return newName === null && forNickname ? user.username() : newName;\n }),\n}) {}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/SettingsPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/Stream'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","import app from 'flarum/forum/app';\nimport Stream from 'flarum/common/utils/Stream';\nimport Modal from 'flarum/common/components/Modal';\nimport Button from 'flarum/common/components/Button';\n\nexport default class RequestModal extends Modal {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.username = Stream(this.attrs.nickname ? app.session.user.displayName() : app.session.user.username());\n\n this.userRequestAttr = `last${this.attrs.nickname ? 'Nickname' : 'Username'}Request`;\n\n this.lastRequest = app.session.user[this.userRequestAttr]();\n\n if (this.lastRequest) this.username(this.lastRequest.requestedUsername());\n\n this.success = false;\n\n this.password = Stream('');\n\n this.translationPrefix = `fof-username-request.forum.${this.attrs.nickname ? 'nickname' : 'username'}_modals.request`;\n }\n\n className() {\n return 'RequestUsernameModal Modal--small';\n }\n\n title() {\n return app.translator.trans(`${this.translationPrefix}.title`);\n }\n\n content() {\n if (this.success) {\n return (\n
\n
\n
{app.translator.trans(`${this.translationPrefix}.confirmation_message`)}
\n
\n \n
\n
\n
\n );\n }\n\n return (\n \n
\n {this.lastRequest ? (\n
\n {app.translator.trans(`${this.translationPrefix}.current_request`, {\n name: this.lastRequest.requestedUsername(),\n })}\n
\n ) : (\n ''\n )}\n
\n \n
\n {app.forum.attribute('passwordlessSignUp') ? null : (\n
\n \n
\n )}\n
\n {Button.component(\n {\n className: 'Button Button--primary Button--block',\n type: 'submit',\n loading: this.submitLoading,\n },\n app.translator.trans(`${this.translationPrefix}.submit_button`)\n )}\n
\n {this.lastRequest ? (\n
\n {Button.component(\n {\n className: 'Button Button--primary Button--block',\n onclick: this.deleteRequest.bind(this),\n loading: this.deleteLoading,\n },\n app.translator.trans(`${this.translationPrefix}.delete_button`)\n )}\n
\n ) : (\n ''\n )}\n
\n
\n );\n }\n\n deleteRequest(e) {\n e.preventDefault();\n\n this.deleteLoading = true;\n\n this.lastRequest.delete();\n\n this.successAlert = app.alerts.show({ type: 'success' }, app.translator.trans(`${this.translationPrefix}.deleted`));\n\n app.session.user[this.userRequestAttr] = Stream();\n\n this.hide();\n }\n\n onsubmit(e) {\n e.preventDefault();\n\n this.alert = null;\n\n const currentAttr = this.attrs.nickname ? app.session.user.displayName() : app.session.user.username();\n if (this.username() === currentAttr) {\n this.hide();\n return;\n }\n\n this.submitLoading = true;\n\n app.store\n .createRecord('username-requests')\n .save(\n {\n username: this.username(),\n forNickname: this.attrs.nickname,\n },\n {\n meta: { password: this.password() },\n errorHandler: this.onerror.bind(this),\n }\n )\n .then((request) => {\n app.session.user[this.userRequestAttr] = Stream(request);\n this.success = true;\n this.alertAttrs = null;\n })\n .catch(() => {})\n .then(this.loaded.bind(this));\n }\n\n onerror(error) {\n if (error.status === 401) {\n error.alert.content = app.translator.trans('core.forum.change_email.incorrect_password_message');\n this.submitLoading = false;\n }\n\n super.onerror(error);\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Page'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LoadingIndicator'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/avatar'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/username'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/humanTime'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/withAttr'];","import app from 'flarum/forum/app';\nimport Button from 'flarum/common/components/Button';\nimport Modal from 'flarum/common/components/Modal';\nimport username from 'flarum/common/helpers/username';\nimport Stream from 'flarum/common/utils/Stream';\nimport withAttr from 'flarum/common/utils/withAttr';\n\nexport default class ActionModal extends Modal {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.request = this.attrs.request;\n\n this.approved = Stream('Rejected');\n\n this.reason = Stream('');\n\n this.translationPrefix = `fof-username-request.forum.${this.request.forNickname() ? 'nickname' : 'username'}_modals.action`;\n }\n\n title() {\n return app.translator.trans(`${this.translationPrefix}.title`);\n }\n\n className() {\n return 'RequestActionModal Modal--medium';\n }\n\n content() {\n return (\n \n
\n
\n {app.translator.trans(`${this.translationPrefix}.name`, {\n name: username(this.request.user()),\n requestedName: this.request.requestedUsername(),\n })}\n
\n
{app.translator.trans(`${this.translationPrefix}.help_text`)}
\n
\n
\n \n \n
\n {this.approved() === 'Rejected' ? (\n
\n
\n
\n \n
\n
\n ) : (\n ''\n )}\n
\n {Button.component(\n {\n className: 'Button Button--primary Button--block',\n type: 'submit',\n loading: this.loading,\n disabled: this.approved() === 'Rejected' && !this.reason() ? true : false,\n },\n app.translator.trans(`${this.translationPrefix}.submit_button`)\n )}\n
\n
\n
\n );\n }\n\n onsubmit(e) {\n e.preventDefault();\n\n this.loading = true;\n\n this.request\n .save({\n reason: this.reason(),\n action: this.approved(),\n })\n .then(() => {\n this.successAlert = app.alerts.show({ type: 'success' }, app.translator.trans(`${this.translationPrefix}.success`));\n });\n\n app.cache.username_requests.some((request, i) => {\n if (request.id() == this.request.id()) {\n app.cache.username_requests.splice(i, 1);\n }\n });\n\n m.redraw();\n\n this.hide();\n }\n}\n","import app from 'flarum/forum/app';\nimport Component from 'flarum/common/Component';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport avatar from 'flarum/common/helpers/avatar';\nimport username from 'flarum/common/helpers/username';\nimport icon from 'flarum/common/helpers/icon';\nimport humanTime from 'flarum/common/helpers/humanTime';\nimport ActionModal from './ActionModal';\n\nexport default class FlagList extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.loading = false;\n }\n\n view() {\n const requests = app.cache.username_requests || [];\n\n return (\n \n
\n
{app.translator.trans('fof-username-request.forum.pending_requests.title')}
\n \n
\n
\n );\n }\n\n showModal(request) {\n app.modal.show(ActionModal, { request });\n }\n}\n","import app from 'flarum/forum/app';\nimport Page from 'flarum/common/components/Page';\n\nimport RequestsList from './RequestsList';\n\nexport default class RequestsPage extends Page {\n oninit(vnode) {\n super.oninit(vnode);\n\n app.history.push('requests');\n\n app.usernameRequests.load();\n\n this.bodyClass = 'App--requests';\n }\n\n view() {\n return (\n \n \n
\n );\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/HeaderSecondary'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/NotificationsDropdown'];","import app from 'flarum/forum/app';\nimport NotificationsDropdown from 'flarum/forum/components/NotificationsDropdown';\n\nimport RequestsList from './RequestsList';\n\nexport default class RequestsDropdown extends NotificationsDropdown {\n static initAttrs(attrs) {\n attrs.label = attrs.label || app.translator.trans('fof-username-request.forum.pending_requests.tooltip');\n attrs.icon = attrs.icon || 'fas fa-user-edit';\n\n super.initAttrs(attrs);\n }\n\n getMenu() {\n return (\n \n {this.showing ? RequestsList.component({ state: app.usernameRequests }) : ''}\n
\n );\n }\n\n goToRoute() {\n m.route.set(app.route('username_requests'));\n }\n\n getUnreadCount() {\n if (app.cache.username_requests) {\n return app.cache.username_requests.length;\n }\n return app.forum.data.relationships.username_requests.data.length;\n }\n\n getNewCount() {\n if (app.cache.username_requests) {\n return app.cache.username_requests.length;\n }\n return app.forum.data.relationships.username_requests.data.length;\n }\n}\n","import app from 'flarum/forum/app';\nimport Modal from 'flarum/common/components/Modal';\nimport Button from 'flarum/common/components/Button';\nimport Stream from 'flarum/common/utils/Stream';\n\nexport default class ResultsModal extends Modal {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.userRequestAttr = `last${this.attrs.nickname ? 'Nickname' : 'Username'}Request`;\n\n this.request = app.session.user[this.userRequestAttr]();\n\n this.translationPrefix = `fof-username-request.forum.${this.request.forNickname() ? 'nickname' : 'username'}_modals.results`;\n }\n\n className() {\n return 'ResultsModal Modal';\n }\n\n title() {\n return app.translator.trans(`${this.translationPrefix}.title`);\n }\n\n content() {\n return (\n \n
\n {this.request.status() === 'Approved'\n ? [\n
{app.translator.trans(`${this.translationPrefix}.approved`)}
,\n
{app.translator.trans(`${this.translationPrefix}.new_name`, { name: app.session.user.displayName() })}
,\n ]\n : [\n
{app.translator.trans(`${this.translationPrefix}.rejected`)}
,\n
{app.translator.trans(`${this.translationPrefix}.reason`, { reason: this.request.reason(), i: })}
,\n
{app.translator.trans(`${this.translationPrefix}.resubmit`)}
,\n ]}\n
\n \n
\n
\n
\n );\n }\n\n onremove() {\n app.session.user[this.userRequestAttr] = Stream();\n this.request.save({ delete: true });\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/UserPage'];","import UserPage from 'flarum/forum/components/UserPage';\nimport humanTime from 'flarum/common/helpers/humanTime';\n\nexport default class ProfileConfigurePane extends UserPage {\n oninit(vnode) {\n super.oninit(vnode);\n this.loading = true;\n\n this.loadUser(m.route.param('username'));\n }\n\n content() {\n return (\n \n {this.user\n .usernameHistory()\n .slice(0)\n .reverse()\n .map((username) => {\n var oldUsername = Object.keys(username)[0];\n return (\n \n {oldUsername} | \n {humanTime(this.calculateTime(username[oldUsername]))} | \n
\n );\n })}\n
\n );\n }\n\n show(user) {\n this.user = user;\n\n m.redraw();\n }\n\n calculateTime(time) {\n var d = new Date(0);\n return d.setUTCSeconds(time);\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LinkButton'];","import app from 'flarum/forum/app';\n\nexport default class RequestsListState {\n constructor(app) {\n this.app = app;\n\n /**\n * Whether or not the flags are loading.\n *\n * @type {Boolean}\n */\n this.loading = false;\n\n this.cache = [];\n }\n\n load() {\n if (app.cache.username_requests) {\n return;\n }\n\n this.loading = true;\n m.redraw();\n\n app.store\n .find('username-requests')\n .then((requests) => {\n delete requests.payload;\n app.cache.username_requests = requests.sort((a, b) => a.createdAt() - b.createdAt());\n })\n .catch(() => {})\n .then(() => {\n this.loading = false;\n m.redraw();\n });\n }\n}\n","import app from 'flarum/forum/app';\nimport User from 'flarum/common/models/User';\nimport Model from 'flarum/common/Model';\nimport UsernameRequest from './models/UsernameRequest';\nimport addRequestSetting from './addRequestSetting';\nimport RequestsPage from './components/RequestsPage';\nimport addRequestDropdown from './addRequestDropdown';\nimport checkForApproval from './checkForApproval';\nimport ProfilePage from './components/ProfilePage';\nimport addProfilePage from './addProfilePage';\nimport RequestsListState from './states/RequestsListState';\n\napp.initializers.add('fof-username-request', () => {\n app.store.models['username-requests'] = UsernameRequest;\n User.prototype.lastNicknameRequest = Model.hasOne('lastNicknameRequest');\n User.prototype.lastUsernameRequest = Model.hasOne('lastUsernameRequest');\n User.prototype.usernameHistory = Model.attribute('usernameHistory');\n\n app.routes.username_requests = { path: '/username-requests', component: RequestsPage };\n app.routes.username_history = { path: '/u/:username/history', component: ProfilePage };\n\n app.usernameRequests = new RequestsListState(app);\n\n addRequestSetting();\n addRequestDropdown();\n checkForApproval();\n addProfilePage();\n});\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport Button from 'flarum/common/components/Button';\nimport SettingsPage from 'flarum/forum/components/SettingsPage';\nimport RequestModal from './components/RequestModal';\n\nexport default function () {\n extend(SettingsPage.prototype, 'accountItems', function (items) {\n if (app.forum.attribute('canRequestUsername')) {\n items.add(\n 'username-request',\n Button.component(\n {\n className: 'Button',\n onclick: () => {\n app.modal.show(RequestModal);\n },\n },\n app.translator.trans('fof-username-request.forum.settings.username_request_button')\n ),\n 8\n );\n }\n if (\n app.forum.attribute('displayNameDriver') === 'nickname' &&\n app.forum.attribute('canRequestNickname') &&\n !this.user.attribute('canEditOwnNickname') &&\n 'flarum-nicknames' in flarum.extensions\n ) {\n items.add(\n 'nickname-request',\n Button.component(\n {\n className: 'Button',\n onclick: () => {\n app.modal.show(RequestModal, { nickname: true });\n },\n },\n app.translator.trans('fof-username-request.forum.settings.nickname_request_button')\n ),\n 8\n );\n }\n });\n}\n","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport HeaderSecondary from 'flarum/forum/components/HeaderSecondary';\nimport RequestsDropdown from './components/RequestsDropdown';\n\nexport default function () {\n extend(HeaderSecondary.prototype, 'items', function (items) {\n if (\n (app.forum.data.relationships.username_requests &&\n app.forum.data.relationships.username_requests.data.length &&\n !app.cache.username_requests) ||\n (app.cache.username_requests && app.cache.username_requests.length !== 0)\n ) {\n items.add('UsernameRequests', , 20);\n }\n });\n}\n","import app from 'flarum/forum/app';\nimport ResultsModal from './components/ResultsModal';\n\nexport default function () {\n return new Promise(() => {\n setTimeout(() => {\n if (app.session.user) {\n const approvedNickname = app.session.user.lastNicknameRequest() && app.session.user.lastNicknameRequest().status() !== 'Sent';\n const approvedUsername = app.session.user.lastUsernameRequest() && app.session.user.lastUsernameRequest().status() !== 'Sent';\n if (approvedNickname || approvedUsername) {\n app.modal.show(ResultsModal, { nickname: approvedNickname });\n }\n }\n }, 1000);\n });\n}\n","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport LinkButton from 'flarum/common/components/LinkButton';\nimport UserPage from 'flarum/forum/components/UserPage';\n\nexport default function () {\n extend(UserPage.prototype, 'navItems', function (items) {\n if (this.user.usernameHistory()) {\n items.add(\n 'username-requests',\n LinkButton.component(\n {\n href: app.route('username_history', { username: this.user.username() }),\n icon: 'fas fa-user-edit',\n },\n app.translator.trans('fof-username-request.forum.user.name_history_link')\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","_setPrototypeOf","p","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","UsernameRequest","_mixin","apply","arguments","mixin","Model","user","status","reason","createdAt","forNickname","_requestedUsername","requestedUsername","computed","newName","username","RequestModal","_Modal","_proto","oninit","vnode","this","Stream","attrs","nickname","app","userRequestAttr","lastRequest","success","password","translationPrefix","className","title","content","m","Button","onclick","hide","bind","name","type","placeholder","bidi","disabled","deleteLoading","submitLoading","loading","deleteRequest","e","preventDefault","successAlert","onsubmit","_this","alert","currentAttr","save","meta","errorHandler","onerror","then","request","alertAttrs","loaded","error","Modal","ActionModal","approved","requestedName","checked","withAttr","oninput","action","i","id","redraw","FlagList","_Component","view","requests","length","map","prefix","showModal","avatar","icon","humanTime","LoadingIndicator","Component","RequestsPage","_Page","bodyClass","RequestsList","state","Page","RequestsDropdown","_NotificationsDropdow","initAttrs","label","getMenu","menuClassName","menuClick","showing","goToRoute","route","set","getUnreadCount","getNewCount","NotificationsDropdown","ResultsModal","onremove","delete","ProfileConfigurePane","_UserPage","loadUser","param","usernameHistory","slice","reverse","oldUsername","keys","calculateTime","show","time","Date","setUTCSeconds","UserPage","RequestsListState","cache","load","payload","sort","b","User","path","component","ProfilePage","extend","SettingsPage","items","add","attribute","extensions","HeaderSecondary","Promise","setTimeout","approvedNickname","approvedUsername","LinkButton","href"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@fof/username-request/webpack/bootstrap","webpack://@fof/username-request/webpack/runtime/compat get default export","webpack://@fof/username-request/webpack/runtime/define property getters","webpack://@fof/username-request/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/username-request/webpack/runtime/make namespace object","webpack://@fof/username-request/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/models/User']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/username-request/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/username-request/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/username-request/external root \"flarum.core.compat['common/utils/computed']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/utils/mixin']\"","webpack://@fof/username-request/./src/forum/models/UsernameRequest.js","webpack://@fof/username-request/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/username-request/external root \"flarum.core.compat['forum/components/SettingsPage']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@fof/username-request/./src/forum/components/RequestModal.js","webpack://@fof/username-request/external root \"flarum.core.compat['common/components/Page']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/helpers/humanTime']\"","webpack://@fof/username-request/external root \"flarum.core.compat['common/utils/withAttr']\"","webpack://@fof/username-request/./src/forum/components/ActionModal.js","webpack://@fof/username-request/./src/forum/components/RequestsList.js","webpack://@fof/username-request/./src/forum/components/RequestsPage.js","webpack://@fof/username-request/external root \"flarum.core.compat['forum/components/HeaderSecondary']\"","webpack://@fof/username-request/external root \"flarum.core.compat['forum/components/NotificationsDropdown']\"","webpack://@fof/username-request/./src/forum/components/RequestsDropdown.js","webpack://@fof/username-request/./src/forum/components/ResultsModal.js","webpack://@fof/username-request/external root \"flarum.core.compat['forum/components/UserPage']\"","webpack://@fof/username-request/./src/forum/components/ProfilePage.js","webpack://@fof/username-request/external root \"flarum.core.compat['common/components/LinkButton']\"","webpack://@fof/username-request/./src/forum/states/RequestsListState.js","webpack://@fof/username-request/./src/forum/index.js","webpack://@fof/username-request/./src/forum/addRequestSetting.js","webpack://@fof/username-request/./src/forum/addRequestDropdown.js","webpack://@fof/username-request/./src/forum/checkForApproval.js","webpack://@fof/username-request/./src/forum/addProfilePage.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['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/User'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/computed'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/mixin'];","import Model from 'flarum/common/Model';\nimport computed from 'flarum/common/utils/computed';\nimport mixin from 'flarum/common/utils/mixin';\n\nexport default class UsernameRequest extends mixin(Model, {\n user: Model.hasOne('user'),\n status: Model.attribute('status'),\n reason: Model.attribute('reason'),\n createdAt: Model.attribute('createdAt', Model.transformDate),\n forNickname: Model.attribute('forNickname'),\n\n _requestedUsername: Model.attribute('requestedUsername'),\n requestedUsername: computed('_requestedUsername', 'forNickname', 'user', (newName, forNickname, user) => {\n return newName === null && forNickname ? user.username() : newName;\n }),\n}) {}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/SettingsPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/Stream'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","import app from 'flarum/forum/app';\nimport Stream from 'flarum/common/utils/Stream';\nimport Modal from 'flarum/common/components/Modal';\nimport Button from 'flarum/common/components/Button';\n\nexport default class RequestModal extends Modal {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.username = Stream(this.attrs.nickname ? app.session.user.displayName() : app.session.user.username());\n\n this.userRequestAttr = `last${this.attrs.nickname ? 'Nickname' : 'Username'}Request`;\n\n this.lastRequest = app.session.user[this.userRequestAttr]();\n\n if (this.lastRequest) this.username(this.lastRequest.requestedUsername());\n\n this.success = false;\n\n this.password = Stream('');\n\n this.translationPrefix = `fof-username-request.forum.${this.attrs.nickname ? 'nickname' : 'username'}_modals.request`;\n }\n\n className() {\n return 'RequestUsernameModal Modal--small';\n }\n\n title() {\n return app.translator.trans(`${this.translationPrefix}.title`);\n }\n\n content() {\n if (this.success) {\n return (\n \n
\n
{app.translator.trans(`${this.translationPrefix}.confirmation_message`)}
\n
\n \n
\n
\n
\n );\n }\n\n return (\n \n
\n {this.lastRequest ? (\n
\n {app.translator.trans(`${this.translationPrefix}.current_request`, {\n name: this.lastRequest.requestedUsername(),\n })}\n
\n ) : (\n ''\n )}\n
\n \n
\n {app.forum.attribute('passwordlessSignUp') ? null : (\n
\n \n
\n )}\n
\n {Button.component(\n {\n className: 'Button Button--primary Button--block',\n type: 'submit',\n loading: this.submitLoading,\n },\n app.translator.trans(`${this.translationPrefix}.submit_button`)\n )}\n
\n {this.lastRequest ? (\n
\n {Button.component(\n {\n className: 'Button Button--primary Button--block',\n onclick: this.deleteRequest.bind(this),\n loading: this.deleteLoading,\n },\n app.translator.trans(`${this.translationPrefix}.delete_button`)\n )}\n
\n ) : (\n ''\n )}\n
\n
\n );\n }\n\n deleteRequest(e) {\n e.preventDefault();\n\n this.deleteLoading = true;\n\n this.lastRequest.delete();\n\n this.successAlert = app.alerts.show({ type: 'success' }, app.translator.trans(`${this.translationPrefix}.deleted`));\n\n app.session.user[this.userRequestAttr] = Stream();\n\n this.hide();\n }\n\n onsubmit(e) {\n e.preventDefault();\n\n this.alert = null;\n\n const currentAttr = this.attrs.nickname ? app.session.user.displayName() : app.session.user.username();\n if (this.username() === currentAttr) {\n this.hide();\n return;\n }\n\n this.submitLoading = true;\n\n app.store\n .createRecord('username-requests')\n .save(\n {\n username: this.username(),\n forNickname: this.attrs.nickname,\n },\n {\n meta: { password: this.password() },\n errorHandler: this.onerror.bind(this),\n }\n )\n .then((request) => {\n app.session.user[this.userRequestAttr] = Stream(request);\n this.success = true;\n this.alertAttrs = null;\n })\n .catch(() => {})\n .then(this.loaded.bind(this));\n }\n\n onerror(error) {\n if (error.status === 401) {\n error.alert.content = app.translator.trans('core.forum.change_email.incorrect_password_message');\n this.submitLoading = false;\n }\n\n super.onerror(error);\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Page'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LoadingIndicator'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/avatar'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/username'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/humanTime'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/withAttr'];","import app from 'flarum/forum/app';\nimport Button from 'flarum/common/components/Button';\nimport Modal from 'flarum/common/components/Modal';\nimport username from 'flarum/common/helpers/username';\nimport Stream from 'flarum/common/utils/Stream';\nimport withAttr from 'flarum/common/utils/withAttr';\n\nexport default class ActionModal extends Modal {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.request = this.attrs.request;\n\n this.approved = Stream('Rejected');\n\n this.reason = Stream('');\n\n this.translationPrefix = `fof-username-request.forum.${this.request.forNickname() ? 'nickname' : 'username'}_modals.action`;\n }\n\n title() {\n return app.translator.trans(`${this.translationPrefix}.title`);\n }\n\n className() {\n return 'RequestActionModal Modal--medium';\n }\n\n content() {\n return (\n \n
\n
\n {app.translator.trans(`${this.translationPrefix}.name`, {\n name: username(this.request.user()),\n requestedName: this.request.requestedUsername(),\n })}\n
\n
{app.translator.trans(`${this.translationPrefix}.help_text`)}
\n
\n
\n \n \n
\n {this.approved() === 'Rejected' ? (\n
\n
\n
\n \n
\n
\n ) : (\n ''\n )}\n
\n {Button.component(\n {\n className: 'Button Button--primary Button--block',\n type: 'submit',\n loading: this.loading,\n disabled: this.approved() === 'Rejected' && !this.reason() ? true : false,\n },\n app.translator.trans(`${this.translationPrefix}.submit_button`)\n )}\n
\n
\n
\n );\n }\n\n onsubmit(e) {\n e.preventDefault();\n\n this.loading = true;\n\n this.request\n .save({\n reason: this.reason(),\n action: this.approved(),\n })\n .then(() => {\n this.successAlert = app.alerts.show({ type: 'success' }, app.translator.trans(`${this.translationPrefix}.success`));\n });\n\n app.cache.username_requests.some((request, i) => {\n if (request.id() == this.request.id()) {\n app.cache.username_requests.splice(i, 1);\n }\n });\n\n m.redraw();\n\n this.hide();\n }\n}\n","import app from 'flarum/forum/app';\nimport Component from 'flarum/common/Component';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport avatar from 'flarum/common/helpers/avatar';\nimport username from 'flarum/common/helpers/username';\nimport icon from 'flarum/common/helpers/icon';\nimport humanTime from 'flarum/common/helpers/humanTime';\nimport ActionModal from './ActionModal';\n\nexport default class FlagList extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.loading = false;\n }\n\n view() {\n const requests = app.cache.username_requests || [];\n\n return (\n \n
\n
{app.translator.trans('fof-username-request.forum.pending_requests.title')}
\n \n
\n
\n );\n }\n\n showModal(request) {\n app.modal.show(ActionModal, { request });\n }\n}\n","import app from 'flarum/forum/app';\nimport Page from 'flarum/common/components/Page';\n\nimport RequestsList from './RequestsList';\n\nexport default class RequestsPage extends Page {\n oninit(vnode) {\n super.oninit(vnode);\n\n app.history.push('requests');\n\n app.usernameRequests.load();\n\n this.bodyClass = 'App--requests';\n }\n\n view() {\n return (\n \n \n
\n );\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/HeaderSecondary'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/NotificationsDropdown'];","import app from 'flarum/forum/app';\nimport NotificationsDropdown from 'flarum/forum/components/NotificationsDropdown';\n\nimport RequestsList from './RequestsList';\n\nexport default class RequestsDropdown extends NotificationsDropdown {\n static initAttrs(attrs) {\n attrs.label = attrs.label || app.translator.trans('fof-username-request.forum.pending_requests.tooltip');\n attrs.icon = attrs.icon || 'fas fa-user-edit';\n\n super.initAttrs(attrs);\n }\n\n getMenu() {\n return (\n \n {this.showing ? RequestsList.component({ state: app.usernameRequests }) : ''}\n
\n );\n }\n\n goToRoute() {\n m.route.set(app.route('username_requests'));\n }\n\n getUnreadCount() {\n if (app.cache.username_requests) {\n return app.cache.username_requests.length;\n }\n return app.forum.data.relationships.username_requests.data.length;\n }\n\n getNewCount() {\n if (app.cache.username_requests) {\n return app.cache.username_requests.length;\n }\n return app.forum.data.relationships.username_requests.data.length;\n }\n}\n","import app from 'flarum/forum/app';\nimport Modal from 'flarum/common/components/Modal';\nimport Button from 'flarum/common/components/Button';\nimport Stream from 'flarum/common/utils/Stream';\n\nexport default class ResultsModal extends Modal {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.userRequestAttr = `last${this.attrs.nickname ? 'Nickname' : 'Username'}Request`;\n\n this.request = app.session.user[this.userRequestAttr]();\n\n this.translationPrefix = `fof-username-request.forum.${this.request.forNickname() ? 'nickname' : 'username'}_modals.results`;\n }\n\n className() {\n return 'ResultsModal Modal';\n }\n\n title() {\n return app.translator.trans(`${this.translationPrefix}.title`);\n }\n\n content() {\n return (\n \n
\n {this.request.status() === 'Approved'\n ? [\n
{app.translator.trans(`${this.translationPrefix}.approved`)}
,\n
{app.translator.trans(`${this.translationPrefix}.new_name`, { name: app.session.user.displayName() })}
,\n ]\n : [\n
{app.translator.trans(`${this.translationPrefix}.rejected`)}
,\n
{app.translator.trans(`${this.translationPrefix}.reason`, { reason: this.request.reason(), i: })}
,\n
{app.translator.trans(`${this.translationPrefix}.resubmit`)}
,\n ]}\n
\n \n
\n
\n
\n );\n }\n\n onremove() {\n app.session.user[this.userRequestAttr] = Stream();\n this.request.save({ delete: true });\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/UserPage'];","import UserPage from 'flarum/forum/components/UserPage';\nimport humanTime from 'flarum/common/helpers/humanTime';\n\nexport default class ProfileConfigurePane extends UserPage {\n oninit(vnode) {\n super.oninit(vnode);\n this.loading = true;\n\n this.loadUser(m.route.param('username'));\n }\n\n content() {\n return (\n \n {this.user\n .usernameHistory()\n .slice(0)\n .reverse()\n .map((username) => {\n var oldUsername = Object.keys(username)[0];\n return (\n \n {oldUsername} | \n {humanTime(this.calculateTime(username[oldUsername]))} | \n
\n );\n })}\n
\n );\n }\n\n show(user) {\n this.user = user;\n\n m.redraw();\n }\n\n calculateTime(time) {\n var d = new Date(0);\n return d.setUTCSeconds(time);\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LinkButton'];","import app from 'flarum/forum/app';\n\nexport default class RequestsListState {\n constructor(app) {\n this.app = app;\n\n /**\n * Whether or not the flags are loading.\n *\n * @type {Boolean}\n */\n this.loading = false;\n\n this.cache = [];\n }\n\n load() {\n if (app.cache.username_requests) {\n return;\n }\n\n this.loading = true;\n m.redraw();\n\n app.store\n .find('username-requests')\n .then((requests) => {\n delete requests.payload;\n app.cache.username_requests = requests.sort((a, b) => a.createdAt() - b.createdAt());\n })\n .catch(() => {})\n .then(() => {\n this.loading = false;\n m.redraw();\n });\n }\n}\n","import app from 'flarum/forum/app';\nimport User from 'flarum/common/models/User';\nimport Model from 'flarum/common/Model';\nimport UsernameRequest from './models/UsernameRequest';\nimport addRequestSetting from './addRequestSetting';\nimport RequestsPage from './components/RequestsPage';\nimport addRequestDropdown from './addRequestDropdown';\nimport checkForApproval from './checkForApproval';\nimport ProfilePage from './components/ProfilePage';\nimport addProfilePage from './addProfilePage';\nimport RequestsListState from './states/RequestsListState';\n\napp.initializers.add('fof-username-request', () => {\n app.store.models['username-requests'] = UsernameRequest;\n User.prototype.lastNicknameRequest = Model.hasOne('lastNicknameRequest');\n User.prototype.lastUsernameRequest = Model.hasOne('lastUsernameRequest');\n User.prototype.usernameHistory = Model.attribute('usernameHistory');\n\n app.routes.username_requests = { path: '/username-requests', component: RequestsPage };\n app.routes.username_history = { path: '/u/:username/history', component: ProfilePage };\n\n app.usernameRequests = new RequestsListState(app);\n\n addRequestSetting();\n addRequestDropdown();\n checkForApproval();\n addProfilePage();\n});\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport Button from 'flarum/common/components/Button';\nimport SettingsPage from 'flarum/forum/components/SettingsPage';\nimport RequestModal from './components/RequestModal';\n\nexport default function () {\n extend(SettingsPage.prototype, 'accountItems', function (items) {\n if (app.forum.attribute('canRequestUsername')) {\n items.add(\n 'username-request',\n Button.component(\n {\n className: 'Button',\n onclick: () => {\n app.modal.show(RequestModal);\n },\n },\n app.translator.trans('fof-username-request.forum.settings.username_request_button')\n ),\n 8\n );\n }\n if (\n app.forum.attribute('displayNameDriver') === 'nickname' &&\n app.forum.attribute('canRequestNickname') &&\n !this.user.attribute('canEditOwnNickname') &&\n 'flarum-nicknames' in flarum.extensions\n ) {\n items.add(\n 'nickname-request',\n Button.component(\n {\n className: 'Button',\n onclick: () => {\n app.modal.show(RequestModal, { nickname: true });\n },\n },\n app.translator.trans('fof-username-request.forum.settings.nickname_request_button')\n ),\n 8\n );\n }\n });\n}\n","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport HeaderSecondary from 'flarum/forum/components/HeaderSecondary';\nimport RequestsDropdown from './components/RequestsDropdown';\n\nexport default function () {\n extend(HeaderSecondary.prototype, 'items', function (items) {\n if (\n (app.forum.data.relationships.username_requests &&\n app.forum.data.relationships.username_requests.data.length &&\n !app.cache.username_requests) ||\n (app.cache.username_requests && app.cache.username_requests.length !== 0)\n ) {\n items.add('UsernameRequests', , 20);\n }\n });\n}\n","import app from 'flarum/forum/app';\nimport ResultsModal from './components/ResultsModal';\n\nexport default function () {\n return new Promise(() => {\n setTimeout(() => {\n if (app.session.user) {\n const approvedNickname = app.session.user.lastNicknameRequest() && app.session.user.lastNicknameRequest().status() !== 'Sent';\n const approvedUsername = app.session.user.lastUsernameRequest() && app.session.user.lastUsernameRequest().status() !== 'Sent';\n if (approvedNickname || approvedUsername) {\n app.modal.show(ResultsModal, { nickname: approvedNickname });\n }\n }\n }, 1000);\n });\n}\n","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport LinkButton from 'flarum/common/components/LinkButton';\nimport UserPage from 'flarum/forum/components/UserPage';\n\nexport default function () {\n extend(UserPage.prototype, 'navItems', function (items) {\n if (this.user.usernameHistory()) {\n items.add(\n 'username-requests',\n LinkButton.component(\n {\n href: app.route('username_history', { username: this.user.slug() }),\n icon: 'fas fa-user-edit',\n },\n app.translator.trans('fof-username-request.forum.user.name_history_link')\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","_setPrototypeOf","p","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","UsernameRequest","_mixin","apply","arguments","mixin","Model","user","status","reason","createdAt","forNickname","_requestedUsername","requestedUsername","computed","newName","username","RequestModal","_Modal","_proto","oninit","vnode","this","Stream","attrs","nickname","app","userRequestAttr","lastRequest","success","password","translationPrefix","className","title","content","m","Button","onclick","hide","bind","name","type","placeholder","bidi","disabled","deleteLoading","submitLoading","loading","deleteRequest","e","preventDefault","successAlert","onsubmit","_this","alert","currentAttr","save","meta","errorHandler","onerror","then","request","alertAttrs","loaded","error","Modal","ActionModal","approved","requestedName","checked","withAttr","oninput","action","i","id","redraw","FlagList","_Component","view","requests","length","map","prefix","showModal","avatar","icon","humanTime","LoadingIndicator","Component","RequestsPage","_Page","bodyClass","RequestsList","state","Page","RequestsDropdown","_NotificationsDropdow","initAttrs","label","getMenu","menuClassName","menuClick","showing","goToRoute","route","set","getUnreadCount","getNewCount","NotificationsDropdown","ResultsModal","onremove","delete","ProfileConfigurePane","_UserPage","loadUser","param","usernameHistory","slice","reverse","oldUsername","keys","calculateTime","show","time","Date","setUTCSeconds","UserPage","RequestsListState","cache","load","payload","sort","b","User","path","component","ProfilePage","extend","SettingsPage","items","add","attribute","extensions","HeaderSecondary","Promise","setTimeout","approvedNickname","approvedUsername","LinkButton","href","slug"],"sourceRoot":""}
\ No newline at end of file