1(window.webpackJsonp=window.webpackJsonp||[]).push([[522],{1728:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(0),s=n(31);const i=e=>{let{id:t,icon:n,count:i,issueBadge:o,className:c}=e;return Object(a.a)("i",{className:"icon-with-badge"},void 0,Object(a.a)(s.a,{id:t,icon:n,className:c}),i>0&&Object(a.a)("i",{className:"icon-with-badge__badge"},void 0,(r=i)>40?"40+":r),o&&Object(a.a)("i",{className:"icon-with-badge__issue-badge"}));var r}},2016:function(e,t,n){"use strict";n.r(t);var a=n(0),s=n(3),i=(n(34),n(1)),o=n(8),c=n(19),r=n(69),d=n(10),l=n.n(d),u=n(298),m=n(16),h=n(2120),p=n(1370),b=n(186),g=n(1728),j=n(2178),v=(n(9),n(113),n(65)),O=n(4),_=(n(45),n(52),n(17),n(216),n(5)),f=n.n(_),M=n(42),R=n(48),x=n.n(R),y=n(58),k=n(497),C=n.n(k),w=n(141),A=n.n(w),I=n(1225),N=n.n(I),P=n(1372),q=n(392),S=n(250),L=n(415),E=n(31),D=n(83),z=n(1416),T=n(277),F=n(14),Y=n(215),$=n(371),H=n(6);const K=Object(o.d)({close:{id:"lightbox.close",defaultMessage:"Close"},previous:{id:"lightbox.previous",defaultMessage:"Previous"},next:{id:"lightbox.next",defaultMessage:"Next"}});class U extends y.a{constructor(){super(...arguments),Object(s.a)(this,"setRef",(e=>{this.node=e})),Object(s.a)(this,"onMentionClick",((e,t)=>{!this.props.history||0!==t.button||t.ctrlKey||t.metaKey||(t.preventDefault(),this.props.history.push(`/@${e.get("acct")}`))})),Object(s.a)(this,"onHashtagClick",((e,t)=>{e=e.replace(/^#/,""),!this.props.history||0!==t.button||t.ctrlKey||t.metaKey||(t.preventDefault(),this.props.history.push(`/tags/${e}`))})),Object(s.a)(this,"onStatusClick",((e,t)=>{!this.props.history||0!==t.button||t.ctrlKey||t.metaKey||(t.preventDefault(),this.props.history.push(`/@${e.getIn(["account","acct"])}/${e.get("id")}`))})),Object(s.a)(this,"handleMouseEnter",(e=>{let{currentTarget:t}=e;if(F.a)return;const n=t.querySelectorAll(".custom-emoji");for(var a=0;a<n.length;a++){let e=n[a];e.src=e.getAttribute("data-original")}})),Object(s.a)(this,"handleMouseLeave",(e=>{let{currentTarget:t}=e;if(F.a)return;const n=t.querySelectorAll(".custom-emoji");for(var a=0;a<n.length;a++){let e=n[a];e.src=e.getAttribute("data-static")}}))}componentDidMount(){this._updateLinks()}componentDidUpdate(){this._updateLinks()}_updateLinks(){const e=this.node;if(!e)return;const t=e.querySelectorAll("a");for(var n=0;n<t.length;++n){let e=t[n];if(e.classList.contains("status-link"))continue;e.classList.add("status-link");let a=this.props.announcement.get("mentions").find((t=>e.href===t.get("url")));if(a)e.addEventListener("click",this.onMentionClick.bind(this,a),!1),e.setAttribute("title",a.get("acct"));else if("#"===e.textContent[0]||e.previousSibling&&e.previousSibling.textContent&&"#"===e.previousSibling.textContent[e.previousSibling.textContent.length-1])e.addEventListener("click",this.onHashtagClick.bind(this,e.text),!1);else{let t=this.props.announcement.get("statuses").find((t=>e.href===t.get("url")));t&&e.addEventListener("click",this.onStatusClick.bind(this,t),!1),e.setAttribute("title",e.href),e.classList.add("unhandled-link")}e.setAttribute("target","_blank"),e.setAttribute("rel","noopener")}}render(){const{announcement:e}=this.props;return Object(H.jsx)("div",{className:"announcements__item__content translate",ref:this.setRef,dangerouslySetInnerHTML:{__html:e.get("contentHtml")},onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave})}}Object(s.a)(U,"propTypes",{announcement:x.a.map.isRequired,...$.b});const B=Object(M.k)(U);class J extends i.PureComponent{render(){const{emoji:e,emojiMap:t,hovered:n}=this.props;if(T.a[e]){const{filename:t,shortCode:n}=T.a[this.props.emoji],s=n?`:${n}:`:"";return Object(a.a)("img",{draggable:"false",className:"emojione",alt:e,title:s,src:`${Y.a}/emoji/${t}.svg`})}if(t.get(e)){const s=F.a||n?t.getIn([e,"url"]):t.getIn([e,"static_url"]),i=`:${e}:`;return Object(a.a)("img",{draggable:"false",className:"emojione custom-emoji",alt:i,title:i,src:s})}return null}}class W extends y.a{constructor(){super(...arguments),Object(s.a)(this,"state",{hovered:!1}),Object(s.a)(this,"handleClick",(()=>{const{reaction:e,announcementId:t,addReaction:n,removeReaction:a}=this.props;e.get("me")?a(t,e.get("name")):n(t,e.get("name"))})),Object(s.a)(this,"handleMouseEnter",(()=>this.setState({hovered:!0}))),Object(s.a)(this,"handleMouseLeave",(()=>this.setState({hovered:!1})))}render(){const{reaction:e}=this.props;let t=e.get("name");return T.a[t]&&(t=T.a[t].shortCode),Object(a.a)("button",{className:l()("reactions-bar__item",{active:e.get("me")}),onClick:this.handleClick,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,title:`:${t}:`,style:this.props.style},void 0,Object(a.a)("span",{className:"reactions-bar__item__emoji"},void 0,Object(a.a)(J,{hovered:this.state.hovered,emoji:e.get("name"),emojiMap:this.props.emojiMap})),Object(a.a)("span",{className:"reactions-bar__item__count"},void 0,Object(a.a)(L.a,{value:e.get("count")})))}}Object(s.a)(W,"propTypes",{announcementId:f.a.string.isRequired,reaction:x.a.map.isRequired,addReaction:f.a.func.isRequired,removeReaction:f.a.func.isRequired,emojiMap:x.a.map.isRequired,style:f.a.object});class G extends y.a{constructor(){super(...arguments),Object(s.a)(this,"handleEmojiPick",(e=>{const{addReaction:t,announcementId:n}=this.props;t(n,e.native.replace(/:/g,""))}))}willEnter(){return{scale:F.A?1:0}}willLeave(){return{scale:F.A?0:A()(0,{stiffness:170,damping:26})}}render(){const{reactions:e}=this.props,t=e.filter((e=>e.get("count")>0)),n=t.map((e=>({key:e.get("name"),data:e,style:{scale:F.A?1:A()(1,{stiffness:150,damping:13})}}))).toArray();return Object(a.a)(C.a,{styles:n,willEnter:this.willEnter,willLeave:this.willLeave},void 0,(e=>Object(a.a)("div",{className:l()("reactions-bar",{"reactions-bar--empty":t.isEmpty()})},void 0,e.map((e=>{let{key:t,data:n,style:s}=e;return Object(a.a)(W,{reaction:n,style:{transform:`scale(${s.scale})`,position:s.scale<.5?"absolute":"static"},announcementId:this.props.announcementId,addReaction:this.props.addReaction,removeReaction:this.props.removeReaction,emojiMap:this.props.emojiMap},t)})),t.size<8&&Object(a.a)(z.a,{onPickEmoji:this.handleEmojiPick,button:Object(a.a)(E.a,{id:"plus",icon:P.a})}))))}}Object(s.a)(G,"propTypes",{announcementId:f.a.string.isRequired,reactions:x.a.list.isRequired,addReaction:f.a.func.isRequired,removeReaction:f.a.func.isRequired,emojiMap:x.a.map.isRequired});class Q extends y.a{constructor(){super(...arguments),Object(s.a)(this,"state",{unread:!this.props.announcement.get("read")})}componentDidUpdate(){const{selected:e,announcement:t}=this.props;e||this.state.unread===!t.get("read")||this.setState({unread:!t.get("read")})}render(){const{announcement:e}=this.props,{unread:t}=this.state,n=e.get("starts_at")&&new Date(e.get("starts_at")),s=e.get("ends_at")&&new Date(e.get("ends_at")),i=new Date,r=n&&s,d=r&&n.getFullYear()===s.getFullYear()&&s.getFullYear()===i.getFullYear(),l=r&&n.getDate()===s.getDate()&&n.getMonth()===s.getMonth()&&n.getFullYear()===s.getFullYear(),u=e.get("all_day");return Object(a.a)("div",{className:"announcements__item"},void 0,Object(a.a)("strong",{className:"announcements__item__range"},void 0,Object(a.a)(c.a,{id:"announcement.announcement",defaultMessage:"Announcement"}),r&&Object(a.a)("span",{},void 0," · ",Object(a.a)(o.a,{value:n,year:d||n.getFullYear()===i.getFullYear()?void 0:"numeric",month:"short",day:"2-digit",hour:u?void 0:"2-digit",minute:u?void 0:"2-digit"})," - ",Object(a.a)(o.a,{value:s,year:d||s.getFullYear()===i.getFullYear()?void 0:"numeric",month:l?void 0:"short",day:l?void 0:"2-digit",hour:u?void 0:"2-digit",minute:u?void 0:"2-digit"}))),Object(a.a)(B,{announcement:e}),Object(a.a)(G,{reactions:e.get("reactions"),announcementId:e.get("id"),addReaction:this.props.addReaction,removeReaction:this.props.removeReaction,emojiMap:this.props.emojiMap}
1),t&&Object(a.a)("span",{className:"announcements__item__unread"}))}}Object(s.a)(Q,"propTypes",{announcement:x.a.map.isRequired,emojiMap:x.a.map.isRequired,addReaction:f.a.func.isRequired,removeReaction:f.a.func.isRequired,intl:f.a.object.isRequired,selected:f.a.bool});class V extends y.a{constructor(){super(...arguments),Object(s.a)(this,"state",{index:0}),Object(s.a)(this,"handleChangeIndex",(e=>{this.setState({index:e%this.props.announcements.size})})),Object(s.a)(this,"handleNextClick",(()=>{this.setState({index:(this.state.index+1)%this.props.announcements.size})})),Object(s.a)(this,"handlePrevClick",(()=>{this.setState({index:(this.props.announcements.size+this.state.index-1)%this.props.announcements.size})}))}static getDerivedStateFromProps(e,t){return e.announcements.size>0&&t.index>=e.announcements.size?{index:e.announcements.size-1}:null}componentDidMount(){this._markAnnouncementAsRead()}componentDidUpdate(){this._markAnnouncementAsRead()}_markAnnouncementAsRead(){const{dismissAnnouncement:e,announcements:t}=this.props,{index:n}=this.state,a=t.get(t.size-1-n);a.get("read")||e(a.get("id"))}render(){const{announcements:e,intl:t}=this.props,{index:n}=this.state;return e.isEmpty()?null:Object(a.a)("div",{className:"announcements"},void 0,Object(a.a)("div",{className:"announcements__container"},void 0,Object(a.a)(N.a,{animateHeight:!0,animateTransitions:!F.A,index:n,onChangeIndex:this.handleChangeIndex},void 0,e.map(((e,s)=>Object(a.a)(Q,{announcement:e,emojiMap:this.props.emojiMap,addReaction:this.props.addReaction,removeReaction:this.props.removeReaction,intl:t,selected:n===s,disabled:F.h},e.get("id")))).reverse()),e.size>1&&Object(a.a)("div",{className:"announcements__pagination"},void 0,Object(a.a)(D.a,{disabled:1===e.size,title:t.formatMessage(K.previous),icon:"chevron-left",iconComponent:q.a,onClick:this.handlePrevClick,size:13}),Object(a.a)("span",{},void 0,n+1," / ",e.size),Object(a.a)(D.a,{disabled:1===e.size,title:t.formatMessage(K.next),icon:"chevron-right",iconComponent:S.a,onClick:this.handleNextClick,size:13}))))}}Object(s.a)(V,"propTypes",{announcements:x.a.list,emojiMap:x.a.map.isRequired,dismissAnnouncement:f.a.func.isRequired,addReaction:f.a.func.isRequired,removeReaction:f.a.func.isRequired,intl:f.a.object.isRequired});var X=Object(r.c)(V);const Z=Object(v.a)([e=>e.get("custom_emojis")],(e=>e.reduce(((e,t)=>e.set(t.get("shortcode"),t)),Object(O.Map)())));var ee=Object(m.connect)((e=>({announcements:e.getIn(["announcements","items"]),emojiMap:Z(e)})),(e=>({dismissAnnouncement:t=>e(Object(b.o)(t)),addReaction:(t,n)=>e(Object(b.m)(t,n)),removeReaction:(t,n)=>e(Object(b.q)(t,n))}
1)))(X),te=n(136),ne=n(422),ae=n(77),se=n(1564),ie=n(1562),oe=n(2117),ce=n(68),re=n(2127),de=n(37),le=n(156),ue=n(2116);const me=Object(o.d)({filter_regex:{id:"home.column_settings.filter_regex",defaultMessage:"Filter out by regular expressions"},settings:{id:"home.settings",defaultMessage:"Column settings"}}),he=()=>{const e=Object(de.c)((e=>e.settings.get("home"))),t=Object(ce.a)(),n=Object(de.b)(),s=Object(i.useCallback)(((e,t)=>{n(Object(le.c)(["home",...e],t))}),[n]);return Object(a.a)("div",{className:"column-settings"},void 0,Object(a.a)("section",{},void 0,Object(a.a)("div",{className:"column-settings__row"},void 0,Object(a.a)(ue.a,{prefix:"home_timeline",settings:e,settingPath:["shows","reblog"],onChange:s,label:Object(a.a)(c.a,{id:"home.column_settings.show_reblogs",defaultMessage:"Show boosts"})}),Object(a.a)(ue.a,{prefix:"home_timeline",settings:e,settingPath:["shows","reply"],onChange:s,label:Object(a.a)(c.a,{id:"home.column_settings.show_replies",defaultMessage:"Show replies"})}),Object(a.a)(ue.a,{prefix:"home_timeline",settings:e,settingPath:["shows","direct"],onChange:s,label:Object(a.a)(c.a,{id:"home.column_settings.show_direct",defaultMessage:"Show private mentions"})}))),Object(a.a)("section",{"aria-labelledby":"home-column-advanced"},void 0,Object(a.a)("h3",{id:"home-column-advanced"},void 0,Object(a.a)(c.a,{id:"home.column_settings.advanced",defaultMessage:"Advanced"})),Object(a.a)("div",{className:"column-settings__row"},void 0,Object(a.a)(re.a,{prefix:"home_timeline",settings:e,settingPath:["regex","body"],onChange:s,label:t.formatMessage(me.filter_regex)}))))},pe=()=>Object(a.a)("div",{className:"warning-banner"},void 0,Object(a.a)("div",{className:"warning-banner__message"},void 0,Object(a.a)("h1",{},void 0,Object(a.a)(c.a,{id:"home.pending_critical_update.title",defaultMessage:"Critical security update available!"})),Object(a.a)("p",{},void 0,Object(a.a)(c.a,{id:"home.pending_critical_update.body",defaultMessage:"Please update your Mastodon server as soon as possible!"})," ",Object(a.a)("a",{href:"/admin/software_updates"},void 0,Object(a.a)(c.a,{id:"home.pending_critical_update.link",defaultMessage:"See updates"}))))),be=Object(o.d)({title:{id:"column.home",defaultMessage:"Home"},show_announcements:{id:"home.show_announcements",defaultMessage:"Show announcements"},hide_announcements:{id:"home.hide_announcements",defaultMessage:"Hide announcements"}});class ge extends i.PureComponent{constructor(){super(...arguments),Object(s.a)(this,"handlePin",(()=>{const{columnId:e,dispatch:t}=this.props;t(e?Object(ne.h)(e):Object(ne.e)("HOME",{}))})),Object(s.a)(this,"handleMove",(e=>{const{columnId:t,dispatch:n}=this.props;n(Object(ne.g)(t,e))})),Object(s.a)(this,"handleHeaderClick",(()=>{this.column.scrollTop()})),Object(s.a)(this,"setRef",(e=>{this.column=e})),Object(s.a)(this,"handleLoadMore",(e=>{this.props.dispatch(Object(ae.x)({maxId:e}))})),Object(s.a)(this,"handleToggleAnnouncementsClick",(e=>{e.stopPropagation(),this.props.dispatch(Object(b.r)())}))}componentDidMount(){setTimeout((()=>this.props.dispatch(Object(b.p)())),700),this._checkIfReloadNeeded(!1,this.props.isPartial)}componentDidUpdate(e){this._checkIfReloadNeeded(e.isPartial,this.props.isPartial)}componentWillUnmount(){this._stopPolling()}_checkIfReloadNeeded(e,t){const{dispatch:n}=this.props;e!==t&&(!e&&t?this.polling=setInterval((()=>{n(Object(ae.x)())}),3e3):e&&!t&&this._stopPolling())}_stopPolling(){this.polling&&(clearInterval(this.polling),this.polling=null)}render(){const{intl:e,hasUnread:t,columnId:n,multiColumn:s,hasAnnouncements:i,unreadAnnouncements:o,showAnnouncements:r}=this.props,d=!!n,{signedIn:m}=this.props.identity,b=[];let v;return i&&(v=Object(a.a)("button",{className:l()("column-header__button",{active:r}),title:e.formatMessage(r?be.hide_announcements:be.show_announcements),"aria-label":e.formatMessage(r?be.hide_announcements:be.show_announcements),onClick:this.handleToggleAnnouncementsClick},void 0,Object(a.a)(g.a,{id:"bullhorn",icon:h.a,count:o}))),F.c&&b.push(Object(a.a)(pe,{},"critical-update-banner")),Object(H.jsxs)(se.b,{bindToDocument:!s,ref:this.setRef,label:e.formatMessage(be.title),children:[Object(a.a)(ie.b,{icon:"home",iconComponent:p.a,active:t,title:e.formatMessage(be.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:d,multiColumn:s,extraButton:v,appendContent:i&&r&&Object(a.a)(ee,{})},void 0,Object(a.a)(he,{})),m?Object(a.a)(oe.a,{prepend:b,alwaysPrepend:!0,trackScroll:!d,scrollKey:`home_timeline-${n}`,onLoadMore:this.handleLoadMore,timelineId:"home",emptyMessage:Object(a.a)(c.a,{id:"empty_column.home",defaultMessage:"Your home timeline is empty! Follow more people to fill it up."}),bindToDocument:!s,regex:this.props.regex}):Object(a.a)(j.a,{}
1),Object(a.a)(u.a,{},void 0,Object(a.a)("title",{},void 0,e.formatMessage(be.title)),Object(a.a)("meta",{name:"robots",content:"noindex"}))]})}}t.default=Object(m.connect)((e=>({hasUnread:e.getIn(["timelines","home","unread"])>0,isPartial:e.getIn(["timelines","home","isPartial"]),hasAnnouncements:!e.getIn(["announcements","items"]).isEmpty(),unreadAnnouncements:e.getIn(["announcements","items"]).count((e=>!e.get("read"))),showAnnouncements:e.getIn(["announcements","show"]),regex:e.getIn(["settings","home","regex","body"])})))(Object(te.e)(Object(r.c)(ge)))}}]); 2//# sourceMappingURL=home_timeline-6c3794142b9140fe1eaa.chunk.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.