diff options
Diffstat (limited to 'priv/static/packs/flavours/glitch/async')
70 files changed, 70 insertions, 70 deletions
diff --git a/priv/static/packs/flavours/glitch/async/account_gallery.js b/priv/static/packs/flavours/glitch/async/account_gallery.js index 0e01e1b0f..00a2813ba 100644 --- a/priv/static/packs/flavours/glitch/async/account_gallery.js +++ b/priv/static/packs/flavours/glitch/async/account_gallery.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{725:function(a,e,t){"use strict";t.r(e);var l=t(1),o=t(6),n=t(0),s=t(2),c=(t(3),t(20)),i=t(26),r=t.n(i),d=t(5),p=t.n(d),u=t(14),b=t(31),h=t(288),O=t(639),j=t(888),m=t(24),f=t(166),g=t(319),v=t(30),I=function(c){function a(){for(var a,e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return a=c.call.apply(c,[this].concat(t))||this,Object(s.a)(Object(n.a)(Object(n.a)(a)),"state",{visible:"hide_all"!==v.f&&!a.props.media.getIn(["status","sensitive"])||"show_all"===v.f}),Object(s.a)(Object(n.a)(Object(n.a)(a)),"handleClick",function(){return!a.state.visible&&(a.setState({visible:!0}),!0)}),a}return Object(o.a)(a,c),a.prototype.render=function(){var a,e,t,o=this.props.media,c=this.state.visible,n=o.get("status"),s=100*(o.getIn(["meta","focus","x"])/2+.5),i=100*(o.getIn(["meta","focus","y"])/-2+.5),r={};return"gifv"===o.get("type")&&(a=Object(l.a)("span",{className:"media-gallery__gifv__label"},void 0,"GIF")),t=c?(r.backgroundImage="url("+o.get("preview_url")+")",r.backgroundPosition=s+"% "+i+"%",o.get("description")):(e=Object(l.a)("span",{className:"account-gallery__item__icons"},void 0,Object(l.a)("i",{className:"fa fa-eye-slash"})),n.get("spoiler_text")||o.get("description")),Object(l.a)("div",{className:"account-gallery__item"},void 0,Object(l.a)(g.a,{to:"/statuses/"+n.get("id"),href:n.get("url"),style:r,title:t,onInterceptClick:this.handleClick},void 0,e,a))},a}(m.a);Object(s.a)(I,"propTypes",{media:r.a.map.isRequired});var y,_,M,L=t(901),w=t(295),S=t(646);t.d(e,"default",function(){return x});var k=function(c){function a(){for(var a,e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return a=c.call.apply(c,[this].concat(t))||this,Object(s.a)(Object(n.a)(Object(n.a)(a)),"handleLoadMore",function(){a.props.onLoadMore(a.props.maxId)}),a}return Object(o.a)(a,c),a.prototype.render=function(){return Object(l.a)(S.a,{disabled:this.props.disabled,onClick:this.handleLoadMore})},a}(m.a);Object(s.a)(k,"propTypes",{maxId:p.a.string,onLoadMore:p.a.func.isRequired});var x=Object(c.connect)(function(a,e){return{medias:Object(f.a)(a,e.params.accountId),isLoading:a.getIn(["timelines","account:"+e.params.accountId+":media","isLoading"]),hasMore:a.getIn(["timelines","account:"+e.params.accountId+":media","hasMore"])}})((M=_=function(c){function a(){for(var o,a=arguments.length,e=new Array(a),t=0;t<a;t++)e[t]=arguments[t];return o=c.call.apply(c,[this].concat(e))||this,Object(s.a)(Object(n.a)(Object(n.a)(o)),"handleScrollToBottom",function(){o.props.hasMore&&o.handleLoadMore(0<o.props.medias.size?o.props.medias.last().getIn(["status","id"]):void 0)}),Object(s.a)(Object(n.a)(Object(n.a)(o)),"handleScroll",function(a){var e=a.target,t=e.scrollTop;e.scrollHeight-t-e.clientHeight<150&&!o.props.isLoading&&o.handleScrollToBottom()}),Object(s.a)(Object(n.a)(Object(n.a)(o)),"handleLoadMore",function(a){o.props.dispatch(Object(b.m)(o.props.params.accountId,{maxId:a}))}),Object(s.a)(Object(n.a)(Object(n.a)(o)),"handleLoadOlder",function(a){a.preventDefault(),o.handleScrollToBottom()}),Object(s.a)(Object(n.a)(Object(n.a)(o)),"shouldUpdateScroll",function(a,e){var t=e.location;return!(((a||{}).location||{}).state||{}).mastodonModalOpen&&!(t.state&&t.state.mastodonModalOpen)}),o}Object(o.a)(a,c);var e=a.prototype;return e.componentDidMount=function(){this.props.dispatch(Object(u.G)(this.props.params.accountId)),this.props.dispatch(Object(b.m)(this.props.params.accountId))},e.componentWillReceiveProps=function(a){a.params.accountId!==this.props.params.accountId&&a.params.accountId&&(this.props.dispatch(Object(u.G)(a.params.accountId)),this.props.dispatch(Object(b.m)(this.props.params.accountId)))},e.render=function(){var t=this,a=this.props,o=a.medias,e=a.isLoading,c=a.hasMore,n=null;return!o&&e?Object(l.a)(O.a,{},void 0,Object(l.a)(h.a,{})):(!c||e&&0===o.size||(n=Object(l.a)(S.a,{visible:!e,onClick:this.handleLoadOlder})),Object(l.a)(O.a,{},void 0,Object(l.a)(j.a,{}),Object(l.a)(w.a,{scrollKey:"account_gallery",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(l.a)("div",{className:"scrollable scrollable--flex",onScroll:this.handleScroll},void 0,Object(l.a)(L.a,{accountId:this.props.params.accountId}),Object(l.a)("div",{role:"feed",className:"account-gallery__container"},void 0,o.map(function(a,e){return null===a?Object(l.a)(k,{maxId:0<e?o.getIn(e-1,"id"):null,onLoadMore:t.handleLoadMore},"more:"+o.getIn(e+1,"id")):Object(l.a)(I,{media:a},a.get("id"))}),n),e&&0===o.size&&Object(l.a)("div",{className:"scrollable__append"},void 0,Object(l.a)(h.a,{}))))))},a}(m.a),Object(s.a)(_,"propTypes",{params:p.a.object.isRequired,dispatch:p.a.func.isRequired,medias:r.a.list.isRequired,isLoading:p.a.bool,hasMore:p.a.bool}),y=M))||y}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{726:function(a,e,t){"use strict";t.r(e);var l=t(1),o=t(6),n=t(0),s=t(2),c=(t(3),t(20)),i=t(26),r=t.n(i),d=t(5),p=t.n(d),u=t(14),b=t(32),h=t(290),O=t(640),j=t(889),m=t(24),f=t(169),g=t(321),v=t(31),I=function(c){function a(){for(var a,e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return a=c.call.apply(c,[this].concat(t))||this,Object(s.a)(Object(n.a)(Object(n.a)(a)),"state",{visible:"hide_all"!==v.f&&!a.props.media.getIn(["status","sensitive"])||"show_all"===v.f}),Object(s.a)(Object(n.a)(Object(n.a)(a)),"handleClick",function(){return!a.state.visible&&(a.setState({visible:!0}),!0)}),a}return Object(o.a)(a,c),a.prototype.render=function(){var a,e,t,o=this.props.media,c=this.state.visible,n=o.get("status"),s=100*(o.getIn(["meta","focus","x"])/2+.5),i=100*(o.getIn(["meta","focus","y"])/-2+.5),r={};return"gifv"===o.get("type")&&(a=Object(l.a)("span",{className:"media-gallery__gifv__label"},void 0,"GIF")),t=c?(r.backgroundImage="url("+o.get("preview_url")+")",r.backgroundPosition=s+"% "+i+"%",o.get("description")):(e=Object(l.a)("span",{className:"account-gallery__item__icons"},void 0,Object(l.a)("i",{className:"fa fa-eye-slash"})),n.get("spoiler_text")||o.get("description")),Object(l.a)("div",{className:"account-gallery__item"},void 0,Object(l.a)(g.a,{to:"/statuses/"+n.get("id"),href:n.get("url"),style:r,title:t,onInterceptClick:this.handleClick},void 0,e,a))},a}(m.a);Object(s.a)(I,"propTypes",{media:r.a.map.isRequired});var y,_,M,L=t(902),w=t(297),S=t(647);t.d(e,"default",function(){return x});var k=function(c){function a(){for(var a,e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return a=c.call.apply(c,[this].concat(t))||this,Object(s.a)(Object(n.a)(Object(n.a)(a)),"handleLoadMore",function(){a.props.onLoadMore(a.props.maxId)}),a}return Object(o.a)(a,c),a.prototype.render=function(){return Object(l.a)(S.a,{disabled:this.props.disabled,onClick:this.handleLoadMore})},a}(m.a);Object(s.a)(k,"propTypes",{maxId:p.a.string,onLoadMore:p.a.func.isRequired});var x=Object(c.connect)(function(a,e){return{medias:Object(f.a)(a,e.params.accountId),isLoading:a.getIn(["timelines","account:"+e.params.accountId+":media","isLoading"]),hasMore:a.getIn(["timelines","account:"+e.params.accountId+":media","hasMore"])}})((M=_=function(c){function a(){for(var o,a=arguments.length,e=new Array(a),t=0;t<a;t++)e[t]=arguments[t];return o=c.call.apply(c,[this].concat(e))||this,Object(s.a)(Object(n.a)(Object(n.a)(o)),"handleScrollToBottom",function(){o.props.hasMore&&o.handleLoadMore(0<o.props.medias.size?o.props.medias.last().getIn(["status","id"]):void 0)}),Object(s.a)(Object(n.a)(Object(n.a)(o)),"handleScroll",function(a){var e=a.target,t=e.scrollTop;e.scrollHeight-t-e.clientHeight<150&&!o.props.isLoading&&o.handleScrollToBottom()}),Object(s.a)(Object(n.a)(Object(n.a)(o)),"handleLoadMore",function(a){o.props.dispatch(Object(b.m)(o.props.params.accountId,{maxId:a}))}),Object(s.a)(Object(n.a)(Object(n.a)(o)),"handleLoadOlder",function(a){a.preventDefault(),o.handleScrollToBottom()}),Object(s.a)(Object(n.a)(Object(n.a)(o)),"shouldUpdateScroll",function(a,e){var t=e.location;return!(((a||{}).location||{}).state||{}).mastodonModalOpen&&!(t.state&&t.state.mastodonModalOpen)}),o}Object(o.a)(a,c);var e=a.prototype;return e.componentDidMount=function(){this.props.dispatch(Object(u.G)(this.props.params.accountId)),this.props.dispatch(Object(b.m)(this.props.params.accountId))},e.componentWillReceiveProps=function(a){a.params.accountId!==this.props.params.accountId&&a.params.accountId&&(this.props.dispatch(Object(u.G)(a.params.accountId)),this.props.dispatch(Object(b.m)(this.props.params.accountId)))},e.render=function(){var t=this,a=this.props,o=a.medias,e=a.isLoading,c=a.hasMore,n=null;return!o&&e?Object(l.a)(O.a,{},void 0,Object(l.a)(h.a,{})):(!c||e&&0===o.size||(n=Object(l.a)(S.a,{visible:!e,onClick:this.handleLoadOlder})),Object(l.a)(O.a,{},void 0,Object(l.a)(j.a,{}),Object(l.a)(w.a,{scrollKey:"account_gallery",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(l.a)("div",{className:"scrollable scrollable--flex",onScroll:this.handleScroll},void 0,Object(l.a)(L.a,{accountId:this.props.params.accountId}),Object(l.a)("div",{role:"feed",className:"account-gallery__container"},void 0,o.map(function(a,e){return null===a?Object(l.a)(k,{maxId:0<e?o.getIn(e-1,"id"):null,onLoadMore:t.handleLoadMore},"more:"+o.getIn(e+1,"id")):Object(l.a)(I,{media:a},a.get("id"))}),n),e&&0===o.size&&Object(l.a)("div",{className:"scrollable__append"},void 0,Object(l.a)(h.a,{}))))))},a}(m.a),Object(s.a)(_,"propTypes",{params:p.a.object.isRequired,dispatch:p.a.func.isRequired,medias:r.a.list.isRequired,isLoading:p.a.bool,hasMore:p.a.bool}),y=M))||y}}]); //# sourceMappingURL=account_gallery.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/account_gallery.js.map b/priv/static/packs/flavours/glitch/async/account_gallery.js.map index 396bc8403..f66a420be 100644 --- a/priv/static/packs/flavours/glitch/async/account_gallery.js.map +++ b/priv/static/packs/flavours/glitch/async/account_gallery.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/account_gallery/components/media_item.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/account_gallery/index.js"],"names":["MediaItem","visible","displayMedia","_this","props","media","getIn","state","setState","render","label","icon","title","this","status","get","x","y","style","Object","jsx","className","backgroundImage","backgroundPosition","permalink","to","href","onInterceptClick","handleClick","ImmutablePureComponent","ImmutablePropTypes","map","isRequired","LoadMoreMedia","onLoadMore","maxId","load_more","disabled","onClick","handleLoadMore","PropTypes","string","func","AccountGallery","connect","medias","getAccountGallery","params","accountId","isLoading","hasMore","_this2","size","last","undefined","e","_e$target","target","scrollTop","scrollHeight","clientHeight","handleScrollToBottom","dispatch","expandAccountMediaTimeline","preventDefault","prevRouterProps","_ref","location","mastodonModalOpen","componentDidMount","fetchAccount","componentWillReceiveProps","nextProps","_this3","_this$props","loadOlder","column","loading_indicator","handleLoadOlder","column_back_button","react_router_scroll_4_es","scrollKey","shouldUpdateScroll","onScroll","handleScroll","header_container","role","index","account_gallery_LoadMoreMedia","media_item_MediaItem","object","list","bool"],"mappings":"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","file":"flavours/glitch/async/account_gallery.js","sourcesContent":["import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Permalink from 'flavours/glitch/components/permalink';\nimport { displayMedia } from 'flavours/glitch/util/initial_state';\n\nexport default class MediaItem extends ImmutablePureComponent {\n\n static propTypes = {\n media: ImmutablePropTypes.map.isRequired,\n };\n\n state = {\n visible: displayMedia !== 'hide_all' && !this.props.media.getIn(['status', 'sensitive']) || displayMedia === 'show_all',\n };\n\n handleClick = () => {\n if (!this.state.visible) {\n this.setState({ visible: true });\n return true;\n }\n\n return false;\n }\n\n render () {\n const { media } = this.props;\n const { visible } = this.state;\n const status = media.get('status');\n const focusX = media.getIn(['meta', 'focus', 'x']);\n const focusY = media.getIn(['meta', 'focus', 'y']);\n const x = ((focusX / 2) + .5) * 100;\n const y = ((focusY / -2) + .5) * 100;\n const style = {};\n\n let label, icon, title;\n\n if (media.get('type') === 'gifv') {\n label = <span className='media-gallery__gifv__label'>GIF</span>;\n }\n\n if (visible) {\n style.backgroundImage = `url(${media.get('preview_url')})`;\n style.backgroundPosition = `${x}% ${y}%`;\n title = media.get('description');\n } else {\n icon = (\n <span className='account-gallery__item__icons'>\n <i className='fa fa-eye-slash' />\n </span>\n );\n title = status.get('spoiler_text') || media.get('description');\n }\n\n return (\n <div className='account-gallery__item'>\n <Permalink\n to={`/statuses/${status.get('id')}`}\n href={status.get('url')}\n style={style}\n title={title}\n onInterceptClick={this.handleClick}\n >\n {icon}\n {label}\n </Permalink>\n </div>\n );\n }\n\n}\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { fetchAccount } from 'flavours/glitch/actions/accounts';\nimport { expandAccountMediaTimeline } from 'flavours/glitch/actions/timelines';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButton from 'flavours/glitch/components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { getAccountGallery } from 'flavours/glitch/selectors';\nimport MediaItem from './components/media_item';\nimport HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport LoadMore from 'flavours/glitch/components/load_more';\n\nconst mapStateToProps = (state, props) => ({\n medias: getAccountGallery(state, props.params.accountId),\n isLoading: state.getIn(['timelines', `account:${props.params.accountId}:media`, 'isLoading']),\n hasMore: state.getIn(['timelines', `account:${props.params.accountId}:media`, 'hasMore']),\n});\n\nclass LoadMoreMedia extends ImmutablePureComponent {\n\n static propTypes = {\n maxId: PropTypes.string,\n onLoadMore: PropTypes.func.isRequired,\n };\n\n handleLoadMore = () => {\n this.props.onLoadMore(this.props.maxId);\n }\n\n render () {\n return (\n <LoadMore\n disabled={this.props.disabled}\n onClick={this.handleLoadMore}\n />\n );\n }\n\n}\n\n@connect(mapStateToProps)\nexport default class AccountGallery extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n medias: ImmutablePropTypes.list.isRequired,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n };\n\n componentDidMount () {\n this.props.dispatch(fetchAccount(this.props.params.accountId));\n this.props.dispatch(expandAccountMediaTimeline(this.props.params.accountId));\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {\n this.props.dispatch(fetchAccount(nextProps.params.accountId));\n this.props.dispatch(expandAccountMediaTimeline(this.props.params.accountId));\n }\n }\n\n handleScrollToBottom = () => {\n if (this.props.hasMore) {\n this.handleLoadMore(this.props.medias.size > 0 ? this.props.medias.last().getIn(['status', 'id']) : undefined);\n }\n }\n\n handleScroll = (e) => {\n const { scrollTop, scrollHeight, clientHeight } = e.target;\n const offset = scrollHeight - scrollTop - clientHeight;\n\n if (150 > offset && !this.props.isLoading) {\n this.handleScrollToBottom();\n }\n }\n\n handleLoadMore = maxId => {\n this.props.dispatch(expandAccountMediaTimeline(this.props.params.accountId, { maxId }));\n };\n\n handleLoadOlder = (e) => {\n e.preventDefault();\n this.handleScrollToBottom();\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { medias, isLoading, hasMore } = this.props;\n\n let loadOlder = null;\n\n if (!medias && isLoading) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n if (hasMore && !(isLoading && medias.size === 0)) {\n loadOlder = <LoadMore visible={!isLoading} onClick={this.handleLoadOlder} />;\n }\n\n return (\n <Column>\n <ColumnBackButton />\n\n <ScrollContainer scrollKey='account_gallery' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable scrollable--flex' onScroll={this.handleScroll}>\n <HeaderContainer accountId={this.props.params.accountId} />\n\n <div role='feed' className='account-gallery__container'>\n {medias.map((media, index) => media === null ? (\n <LoadMoreMedia\n key={'more:' + medias.getIn(index + 1, 'id')}\n maxId={index > 0 ? medias.getIn(index - 1, 'id') : null}\n onLoadMore={this.handleLoadMore}\n />\n ) : (\n <MediaItem\n key={media.get('id')}\n media={media}\n />\n ))}\n {loadOlder}\n </div>\n\n {isLoading && medias.size === 0 && (\n <div className='scrollable__append'>\n <LoadingIndicator />\n </div>\n )}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/account_gallery/components/media_item.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/account_gallery/index.js"],"names":["MediaItem","visible","displayMedia","_this","props","media","getIn","state","setState","render","label","icon","title","this","status","get","x","y","style","Object","jsx","className","backgroundImage","backgroundPosition","permalink","to","href","onInterceptClick","handleClick","ImmutablePureComponent","ImmutablePropTypes","map","isRequired","LoadMoreMedia","onLoadMore","maxId","load_more","disabled","onClick","handleLoadMore","PropTypes","string","func","AccountGallery","connect","medias","getAccountGallery","params","accountId","isLoading","hasMore","_this2","size","last","undefined","e","_e$target","target","scrollTop","scrollHeight","clientHeight","handleScrollToBottom","dispatch","expandAccountMediaTimeline","preventDefault","prevRouterProps","_ref","location","mastodonModalOpen","componentDidMount","fetchAccount","componentWillReceiveProps","nextProps","_this3","_this$props","loadOlder","column","loading_indicator","handleLoadOlder","column_back_button","react_router_scroll_4_es","scrollKey","shouldUpdateScroll","onScroll","handleScroll","header_container","role","index","account_gallery_LoadMoreMedia","media_item_MediaItem","object","list","bool"],"mappings":"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","file":"flavours/glitch/async/account_gallery.js","sourcesContent":["import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Permalink from 'flavours/glitch/components/permalink';\nimport { displayMedia } from 'flavours/glitch/util/initial_state';\n\nexport default class MediaItem extends ImmutablePureComponent {\n\n static propTypes = {\n media: ImmutablePropTypes.map.isRequired,\n };\n\n state = {\n visible: displayMedia !== 'hide_all' && !this.props.media.getIn(['status', 'sensitive']) || displayMedia === 'show_all',\n };\n\n handleClick = () => {\n if (!this.state.visible) {\n this.setState({ visible: true });\n return true;\n }\n\n return false;\n }\n\n render () {\n const { media } = this.props;\n const { visible } = this.state;\n const status = media.get('status');\n const focusX = media.getIn(['meta', 'focus', 'x']);\n const focusY = media.getIn(['meta', 'focus', 'y']);\n const x = ((focusX / 2) + .5) * 100;\n const y = ((focusY / -2) + .5) * 100;\n const style = {};\n\n let label, icon, title;\n\n if (media.get('type') === 'gifv') {\n label = <span className='media-gallery__gifv__label'>GIF</span>;\n }\n\n if (visible) {\n style.backgroundImage = `url(${media.get('preview_url')})`;\n style.backgroundPosition = `${x}% ${y}%`;\n title = media.get('description');\n } else {\n icon = (\n <span className='account-gallery__item__icons'>\n <i className='fa fa-eye-slash' />\n </span>\n );\n title = status.get('spoiler_text') || media.get('description');\n }\n\n return (\n <div className='account-gallery__item'>\n <Permalink\n to={`/statuses/${status.get('id')}`}\n href={status.get('url')}\n style={style}\n title={title}\n onInterceptClick={this.handleClick}\n >\n {icon}\n {label}\n </Permalink>\n </div>\n );\n }\n\n}\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { fetchAccount } from 'flavours/glitch/actions/accounts';\nimport { expandAccountMediaTimeline } from 'flavours/glitch/actions/timelines';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButton from 'flavours/glitch/components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { getAccountGallery } from 'flavours/glitch/selectors';\nimport MediaItem from './components/media_item';\nimport HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport LoadMore from 'flavours/glitch/components/load_more';\n\nconst mapStateToProps = (state, props) => ({\n medias: getAccountGallery(state, props.params.accountId),\n isLoading: state.getIn(['timelines', `account:${props.params.accountId}:media`, 'isLoading']),\n hasMore: state.getIn(['timelines', `account:${props.params.accountId}:media`, 'hasMore']),\n});\n\nclass LoadMoreMedia extends ImmutablePureComponent {\n\n static propTypes = {\n maxId: PropTypes.string,\n onLoadMore: PropTypes.func.isRequired,\n };\n\n handleLoadMore = () => {\n this.props.onLoadMore(this.props.maxId);\n }\n\n render () {\n return (\n <LoadMore\n disabled={this.props.disabled}\n onClick={this.handleLoadMore}\n />\n );\n }\n\n}\n\n@connect(mapStateToProps)\nexport default class AccountGallery extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n medias: ImmutablePropTypes.list.isRequired,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n };\n\n componentDidMount () {\n this.props.dispatch(fetchAccount(this.props.params.accountId));\n this.props.dispatch(expandAccountMediaTimeline(this.props.params.accountId));\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {\n this.props.dispatch(fetchAccount(nextProps.params.accountId));\n this.props.dispatch(expandAccountMediaTimeline(this.props.params.accountId));\n }\n }\n\n handleScrollToBottom = () => {\n if (this.props.hasMore) {\n this.handleLoadMore(this.props.medias.size > 0 ? this.props.medias.last().getIn(['status', 'id']) : undefined);\n }\n }\n\n handleScroll = (e) => {\n const { scrollTop, scrollHeight, clientHeight } = e.target;\n const offset = scrollHeight - scrollTop - clientHeight;\n\n if (150 > offset && !this.props.isLoading) {\n this.handleScrollToBottom();\n }\n }\n\n handleLoadMore = maxId => {\n this.props.dispatch(expandAccountMediaTimeline(this.props.params.accountId, { maxId }));\n };\n\n handleLoadOlder = (e) => {\n e.preventDefault();\n this.handleScrollToBottom();\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { medias, isLoading, hasMore } = this.props;\n\n let loadOlder = null;\n\n if (!medias && isLoading) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n if (hasMore && !(isLoading && medias.size === 0)) {\n loadOlder = <LoadMore visible={!isLoading} onClick={this.handleLoadOlder} />;\n }\n\n return (\n <Column>\n <ColumnBackButton />\n\n <ScrollContainer scrollKey='account_gallery' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable scrollable--flex' onScroll={this.handleScroll}>\n <HeaderContainer accountId={this.props.params.accountId} />\n\n <div role='feed' className='account-gallery__container'>\n {medias.map((media, index) => media === null ? (\n <LoadMoreMedia\n key={'more:' + medias.getIn(index + 1, 'id')}\n maxId={index > 0 ? medias.getIn(index - 1, 'id') : null}\n onLoadMore={this.handleLoadMore}\n />\n ) : (\n <MediaItem\n key={media.get('id')}\n media={media}\n />\n ))}\n {loadOlder}\n </div>\n\n {isLoading && medias.size === 0 && (\n <div className='scrollable__append'>\n <LoadingIndicator />\n </div>\n )}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/account_timeline.js b/priv/static/packs/flavours/glitch/async/account_timeline.js index 233bb86e7..b493affd9 100644 --- a/priv/static/packs/flavours/glitch/async/account_timeline.js +++ b/priv/static/packs/flavours/glitch/async/account_timeline.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{666:function(t,e,a){"use strict";a.r(e),a.d(e,"default",function(){return v});var s,i,c,o=a(1),n=a(6),p=a(0),r=a(2),d=(a(3),a(20)),u=a(26),h=a.n(u),l=a(5),b=a.n(l),m=a(14),j=a(31),I=a(645),O=a(288),w=a(639),f=a(901),R=a(888),g=a(4),L=a(24),M=a(7),v=Object(d.connect)(function(t,e){var a=e.params.accountId,s=e.withReplies,i=void 0!==s&&s,c=i?a+":with_replies":a;return{statusIds:t.getIn(["timelines","account:"+c,"items"],Object(g.List)()),featuredStatusIds:i?Object(g.List)():t.getIn(["timelines","account:"+a+":pinned","items"],Object(g.List)()),isLoading:t.getIn(["timelines","account:"+c,"isLoading"]),hasMore:t.getIn(["timelines","account:"+c,"hasMore"])}})((c=i=function(i){function t(){for(var e,t=arguments.length,a=new Array(t),s=0;s<t;s++)a[s]=arguments[s];return e=i.call.apply(i,[this].concat(a))||this,Object(r.a)(Object(p.a)(Object(p.a)(e)),"handleLoadMore",function(t){e.props.dispatch(Object(j.n)(e.props.params.accountId,{maxId:t,withReplies:e.props.withReplies}))}),e}Object(n.a)(t,i);var e=t.prototype;return e.componentWillMount=function(){var t=this.props,e=t.params.accountId,a=t.withReplies;this.props.dispatch(Object(m.G)(e)),a||this.props.dispatch(Object(j.l)(e)),this.props.dispatch(Object(j.n)(e,{withReplies:a}))},e.componentWillReceiveProps=function(t){(t.params.accountId!==this.props.params.accountId&&t.params.accountId||t.withReplies!==this.props.withReplies)&&(this.props.dispatch(Object(m.G)(t.params.accountId)),t.withReplies||this.props.dispatch(Object(j.l)(t.params.accountId)),this.props.dispatch(Object(j.n)(t.params.accountId,{withReplies:t.params.withReplies})))},e.render=function(){var t=this.props,e=t.statusIds,a=t.featuredStatusIds,s=t.isLoading,i=t.hasMore;return!e&&s?Object(o.a)(w.a,{},void 0,Object(o.a)(O.a,{})):Object(o.a)(w.a,{name:"account"},void 0,Object(o.a)(R.a,{}),Object(o.a)(I.a,{prepend:Object(o.a)(f.a,{accountId:this.props.params.accountId}),alwaysPrepend:!0,scrollKey:"account_timeline",statusIds:e,featuredStatusIds:a,isLoading:s,hasMore:i,onLoadMore:this.handleLoadMore,emptyMessage:Object(o.a)(M.b,{id:"empty_column.account_timeline",defaultMessage:"No toots here!"})}))},t}(L.a),Object(r.a)(i,"propTypes",{params:b.a.object.isRequired,dispatch:b.a.func.isRequired,statusIds:h.a.list,featuredStatusIds:h.a.list,isLoading:b.a.bool,hasMore:b.a.bool,withReplies:b.a.bool}),s=c))||s}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{667:function(t,e,a){"use strict";a.r(e),a.d(e,"default",function(){return v});var s,i,c,o=a(1),n=a(6),p=a(0),r=a(2),d=(a(3),a(20)),u=a(26),h=a.n(u),l=a(5),b=a.n(l),m=a(14),j=a(32),I=a(646),O=a(290),w=a(640),f=a(902),R=a(889),g=a(4),L=a(24),M=a(7),v=Object(d.connect)(function(t,e){var a=e.params.accountId,s=e.withReplies,i=void 0!==s&&s,c=i?a+":with_replies":a;return{statusIds:t.getIn(["timelines","account:"+c,"items"],Object(g.List)()),featuredStatusIds:i?Object(g.List)():t.getIn(["timelines","account:"+a+":pinned","items"],Object(g.List)()),isLoading:t.getIn(["timelines","account:"+c,"isLoading"]),hasMore:t.getIn(["timelines","account:"+c,"hasMore"])}})((c=i=function(i){function t(){for(var e,t=arguments.length,a=new Array(t),s=0;s<t;s++)a[s]=arguments[s];return e=i.call.apply(i,[this].concat(a))||this,Object(r.a)(Object(p.a)(Object(p.a)(e)),"handleLoadMore",function(t){e.props.dispatch(Object(j.n)(e.props.params.accountId,{maxId:t,withReplies:e.props.withReplies}))}),e}Object(n.a)(t,i);var e=t.prototype;return e.componentWillMount=function(){var t=this.props,e=t.params.accountId,a=t.withReplies;this.props.dispatch(Object(m.G)(e)),a||this.props.dispatch(Object(j.l)(e)),this.props.dispatch(Object(j.n)(e,{withReplies:a}))},e.componentWillReceiveProps=function(t){(t.params.accountId!==this.props.params.accountId&&t.params.accountId||t.withReplies!==this.props.withReplies)&&(this.props.dispatch(Object(m.G)(t.params.accountId)),t.withReplies||this.props.dispatch(Object(j.l)(t.params.accountId)),this.props.dispatch(Object(j.n)(t.params.accountId,{withReplies:t.params.withReplies})))},e.render=function(){var t=this.props,e=t.statusIds,a=t.featuredStatusIds,s=t.isLoading,i=t.hasMore;return!e&&s?Object(o.a)(w.a,{},void 0,Object(o.a)(O.a,{})):Object(o.a)(w.a,{name:"account"},void 0,Object(o.a)(R.a,{}),Object(o.a)(I.a,{prepend:Object(o.a)(f.a,{accountId:this.props.params.accountId}),alwaysPrepend:!0,scrollKey:"account_timeline",statusIds:e,featuredStatusIds:a,isLoading:s,hasMore:i,onLoadMore:this.handleLoadMore,emptyMessage:Object(o.a)(M.b,{id:"empty_column.account_timeline",defaultMessage:"No toots here!"})}))},t}(L.a),Object(r.a)(i,"propTypes",{params:b.a.object.isRequired,dispatch:b.a.func.isRequired,statusIds:h.a.list,featuredStatusIds:h.a.list,isLoading:b.a.bool,hasMore:b.a.bool,withReplies:b.a.bool}),s=c))||s}}]); //# sourceMappingURL=account_timeline.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/account_timeline.js.map b/priv/static/packs/flavours/glitch/async/account_timeline.js.map index bf3f23e6f..c39062b8d 100644 --- a/priv/static/packs/flavours/glitch/async/account_timeline.js.map +++ b/priv/static/packs/flavours/glitch/async/account_timeline.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/account_timeline/index.js"],"names":["AccountTimeline","connect","state","_ref","accountId","params","_ref$withReplies","withReplies","path","statusIds","getIn","ImmutableList","featuredStatusIds","isLoading","hasMore","maxId","_this","props","dispatch","expandAccountTimeline","componentWillMount","_this$props","this","fetchAccount","expandAccountFeaturedTimeline","componentWillReceiveProps","nextProps","render","_this$props2","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","_ui_components_column__WEBPACK_IMPORTED_MODULE_12__","_components_loading_indicator__WEBPACK_IMPORTED_MODULE_11__","name","_components_column_back_button__WEBPACK_IMPORTED_MODULE_14__","_components_status_list__WEBPACK_IMPORTED_MODULE_10__","prepend","_containers_header_container__WEBPACK_IMPORTED_MODULE_13__","alwaysPrepend","scrollKey","onLoadMore","handleLoadMore","emptyMessage","react_intl__WEBPACK_IMPORTED_MODULE_17__","id","defaultMessage","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list","bool"],"mappings":"iTA2BqBA,EADpBC,kBAXuB,SAACC,EAADC,GAA2D,IAAvCC,EAAuCD,EAAjDE,OAAUD,UAAuCE,EAAAH,EAA1BI,mBAA0B,IAAAD,KAC3EE,EAAOD,EAAiBH,EAAN,gBAAiCA,EAEzD,MAAO,CACLK,UAAWP,EAAMQ,MAAM,CAAC,YAAD,WAAyBF,EAAQ,SAAUG,kBAClEC,kBAAmBL,EAAcI,iBAAkBT,EAAMQ,MAAM,CAAC,YAAD,WAAyBN,EAAzB,UAA6C,SAAUO,kBACtHE,UAAWX,EAAMQ,MAAM,CAAC,YAAD,WAAyBF,EAAQ,cACxDM,QAAWZ,EAAMQ,MAAM,CAAC,YAAD,WAAyBF,EAAQ,gOAqCzC,SAAAO,GACfC,EAAKC,MAAMC,SAASC,YAAsBH,EAAKC,MAAMZ,OAAOD,UAAW,CAAEW,QAAOR,YAAaS,EAAKC,MAAMV,+DArB1Ga,mBAAA,WAAsB,IAAAC,EAC2BC,KAAKL,MAAlCb,EADEiB,EACZhB,OAAUD,UAAaG,EADXc,EACWd,YAE/Be,KAAKL,MAAMC,SAASK,YAAanB,IAC5BG,GACHe,KAAKL,MAAMC,SAASM,YAA8BpB,IAEpDkB,KAAKL,MAAMC,SAASC,YAAsBf,EAAW,CAAEG,oBAGzDkB,0BAAA,SAA2BC,IACpBA,EAAUrB,OAAOD,YAAckB,KAAKL,MAAMZ,OAAOD,WAAasB,EAAUrB,OAAOD,WAAcsB,EAAUnB,cAAgBe,KAAKL,MAAMV,eACrIe,KAAKL,MAAMC,SAASK,YAAaG,EAAUrB,OAAOD,YAC7CsB,EAAUnB,aACbe,KAAKL,MAAMC,SAASM,YAA8BE,EAAUrB,OAAOD,YAErEkB,KAAKL,MAAMC,SAASC,YAAsBO,EAAUrB,OAAOD,UAAW,CAAEG,YAAamB,EAAUrB,OAAOE,mBAQ1GoB,OAAA,WAAU,IAAAC,EACqDN,KAAKL,MAA1DR,EADAmB,EACAnB,UAAWG,EADXgB,EACWhB,kBAAmBC,EAD9Be,EAC8Bf,UAAWC,EADzCc,EACyCd,QAEjD,OAAKL,GAAaI,EAEdgB,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,KAMJH,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAQE,KAAK,gBAAb,EACEJ,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,IAEAL,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,CACEC,QAASP,OAAAC,EAAA,EAAAD,CAACQ,EAAA,EAAD,CAAiBjC,UAAWkB,KAAKL,MAAMZ,OAAOD,YACvDkC,eAAa,EACbC,UAAU,mBACV9B,UAAWA,EACXG,kBAAmBA,EACnBC,UAAWA,EACXC,QAASA,EACT0B,WAAYlB,KAAKmB,eACjBC,aAAcb,OAAAC,EAAA,EAAAD,CAACc,EAAA,EAAD,CAAkBC,GAAG,gCAAgCC,eAAe,0BA5D/CC,+BAExB,CACjBzC,OAAQ0C,IAAUC,OAAOC,WACzB/B,SAAU6B,IAAUG,KAAKD,WACzBxC,UAAW0C,IAAmBC,KAC9BxC,kBAAmBuC,IAAmBC,KACtCvC,UAAWkC,IAAUM,KACrBvC,QAASiC,IAAUM,KACnB9C,YAAawC,IAAUM","file":"flavours/glitch/async/account_timeline.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { fetchAccount } from 'flavours/glitch/actions/accounts';\nimport { expandAccountFeaturedTimeline, expandAccountTimeline } from 'flavours/glitch/actions/timelines';\nimport StatusList from '../../components/status_list';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport Column from '../ui/components/column';\nimport HeaderContainer from './containers/header_container';\nimport ColumnBackButton from '../../components/column_back_button';\nimport { List as ImmutableList } from 'immutable';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { FormattedMessage } from 'react-intl';\n\nconst mapStateToProps = (state, { params: { accountId }, withReplies = false }) => {\n const path = withReplies ? `${accountId}:with_replies` : accountId;\n\n return {\n statusIds: state.getIn(['timelines', `account:${path}`, 'items'], ImmutableList()),\n featuredStatusIds: withReplies ? ImmutableList() : state.getIn(['timelines', `account:${accountId}:pinned`, 'items'], ImmutableList()),\n isLoading: state.getIn(['timelines', `account:${path}`, 'isLoading']),\n hasMore: state.getIn(['timelines', `account:${path}`, 'hasMore']),\n };\n};\n\n@connect(mapStateToProps)\nexport default class AccountTimeline extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n statusIds: ImmutablePropTypes.list,\n featuredStatusIds: ImmutablePropTypes.list,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n withReplies: PropTypes.bool,\n };\n\n componentWillMount () {\n const { params: { accountId }, withReplies } = this.props;\n\n this.props.dispatch(fetchAccount(accountId));\n if (!withReplies) {\n this.props.dispatch(expandAccountFeaturedTimeline(accountId));\n }\n this.props.dispatch(expandAccountTimeline(accountId, { withReplies }));\n }\n\n componentWillReceiveProps (nextProps) {\n if ((nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) || nextProps.withReplies !== this.props.withReplies) {\n this.props.dispatch(fetchAccount(nextProps.params.accountId));\n if (!nextProps.withReplies) {\n this.props.dispatch(expandAccountFeaturedTimeline(nextProps.params.accountId));\n }\n this.props.dispatch(expandAccountTimeline(nextProps.params.accountId, { withReplies: nextProps.params.withReplies }));\n }\n }\n\n handleLoadMore = maxId => {\n this.props.dispatch(expandAccountTimeline(this.props.params.accountId, { maxId, withReplies: this.props.withReplies }));\n }\n\n render () {\n const { statusIds, featuredStatusIds, isLoading, hasMore } = this.props;\n\n if (!statusIds && isLoading) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column name='account'>\n <ColumnBackButton />\n\n <StatusList\n prepend={<HeaderContainer accountId={this.props.params.accountId} />}\n alwaysPrepend\n scrollKey='account_timeline'\n statusIds={statusIds}\n featuredStatusIds={featuredStatusIds}\n isLoading={isLoading}\n hasMore={hasMore}\n onLoadMore={this.handleLoadMore}\n emptyMessage={<FormattedMessage id='empty_column.account_timeline' defaultMessage='No toots here!' />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/account_timeline/index.js"],"names":["AccountTimeline","connect","state","_ref","accountId","params","_ref$withReplies","withReplies","path","statusIds","getIn","ImmutableList","featuredStatusIds","isLoading","hasMore","maxId","_this","props","dispatch","expandAccountTimeline","componentWillMount","_this$props","this","fetchAccount","expandAccountFeaturedTimeline","componentWillReceiveProps","nextProps","render","_this$props2","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","_ui_components_column__WEBPACK_IMPORTED_MODULE_12__","_components_loading_indicator__WEBPACK_IMPORTED_MODULE_11__","name","_components_column_back_button__WEBPACK_IMPORTED_MODULE_14__","_components_status_list__WEBPACK_IMPORTED_MODULE_10__","prepend","_containers_header_container__WEBPACK_IMPORTED_MODULE_13__","alwaysPrepend","scrollKey","onLoadMore","handleLoadMore","emptyMessage","react_intl__WEBPACK_IMPORTED_MODULE_17__","id","defaultMessage","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list","bool"],"mappings":"iTA2BqBA,EADpBC,kBAXuB,SAACC,EAADC,GAA2D,IAAvCC,EAAuCD,EAAjDE,OAAUD,UAAuCE,EAAAH,EAA1BI,mBAA0B,IAAAD,KAC3EE,EAAOD,EAAiBH,EAAN,gBAAiCA,EAEzD,MAAO,CACLK,UAAWP,EAAMQ,MAAM,CAAC,YAAD,WAAyBF,EAAQ,SAAUG,kBAClEC,kBAAmBL,EAAcI,iBAAkBT,EAAMQ,MAAM,CAAC,YAAD,WAAyBN,EAAzB,UAA6C,SAAUO,kBACtHE,UAAWX,EAAMQ,MAAM,CAAC,YAAD,WAAyBF,EAAQ,cACxDM,QAAWZ,EAAMQ,MAAM,CAAC,YAAD,WAAyBF,EAAQ,gOAqCzC,SAAAO,GACfC,EAAKC,MAAMC,SAASC,YAAsBH,EAAKC,MAAMZ,OAAOD,UAAW,CAAEW,QAAOR,YAAaS,EAAKC,MAAMV,+DArB1Ga,mBAAA,WAAsB,IAAAC,EAC2BC,KAAKL,MAAlCb,EADEiB,EACZhB,OAAUD,UAAaG,EADXc,EACWd,YAE/Be,KAAKL,MAAMC,SAASK,YAAanB,IAC5BG,GACHe,KAAKL,MAAMC,SAASM,YAA8BpB,IAEpDkB,KAAKL,MAAMC,SAASC,YAAsBf,EAAW,CAAEG,oBAGzDkB,0BAAA,SAA2BC,IACpBA,EAAUrB,OAAOD,YAAckB,KAAKL,MAAMZ,OAAOD,WAAasB,EAAUrB,OAAOD,WAAcsB,EAAUnB,cAAgBe,KAAKL,MAAMV,eACrIe,KAAKL,MAAMC,SAASK,YAAaG,EAAUrB,OAAOD,YAC7CsB,EAAUnB,aACbe,KAAKL,MAAMC,SAASM,YAA8BE,EAAUrB,OAAOD,YAErEkB,KAAKL,MAAMC,SAASC,YAAsBO,EAAUrB,OAAOD,UAAW,CAAEG,YAAamB,EAAUrB,OAAOE,mBAQ1GoB,OAAA,WAAU,IAAAC,EACqDN,KAAKL,MAA1DR,EADAmB,EACAnB,UAAWG,EADXgB,EACWhB,kBAAmBC,EAD9Be,EAC8Bf,UAAWC,EADzCc,EACyCd,QAEjD,OAAKL,GAAaI,EAEdgB,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,KAMJH,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAQE,KAAK,gBAAb,EACEJ,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,IAEAL,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,CACEC,QAASP,OAAAC,EAAA,EAAAD,CAACQ,EAAA,EAAD,CAAiBjC,UAAWkB,KAAKL,MAAMZ,OAAOD,YACvDkC,eAAa,EACbC,UAAU,mBACV9B,UAAWA,EACXG,kBAAmBA,EACnBC,UAAWA,EACXC,QAASA,EACT0B,WAAYlB,KAAKmB,eACjBC,aAAcb,OAAAC,EAAA,EAAAD,CAACc,EAAA,EAAD,CAAkBC,GAAG,gCAAgCC,eAAe,0BA5D/CC,+BAExB,CACjBzC,OAAQ0C,IAAUC,OAAOC,WACzB/B,SAAU6B,IAAUG,KAAKD,WACzBxC,UAAW0C,IAAmBC,KAC9BxC,kBAAmBuC,IAAmBC,KACtCvC,UAAWkC,IAAUM,KACrBvC,QAASiC,IAAUM,KACnB9C,YAAawC,IAAUM","file":"flavours/glitch/async/account_timeline.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { fetchAccount } from 'flavours/glitch/actions/accounts';\nimport { expandAccountFeaturedTimeline, expandAccountTimeline } from 'flavours/glitch/actions/timelines';\nimport StatusList from '../../components/status_list';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport Column from '../ui/components/column';\nimport HeaderContainer from './containers/header_container';\nimport ColumnBackButton from '../../components/column_back_button';\nimport { List as ImmutableList } from 'immutable';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { FormattedMessage } from 'react-intl';\n\nconst mapStateToProps = (state, { params: { accountId }, withReplies = false }) => {\n const path = withReplies ? `${accountId}:with_replies` : accountId;\n\n return {\n statusIds: state.getIn(['timelines', `account:${path}`, 'items'], ImmutableList()),\n featuredStatusIds: withReplies ? ImmutableList() : state.getIn(['timelines', `account:${accountId}:pinned`, 'items'], ImmutableList()),\n isLoading: state.getIn(['timelines', `account:${path}`, 'isLoading']),\n hasMore: state.getIn(['timelines', `account:${path}`, 'hasMore']),\n };\n};\n\n@connect(mapStateToProps)\nexport default class AccountTimeline extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n statusIds: ImmutablePropTypes.list,\n featuredStatusIds: ImmutablePropTypes.list,\n isLoading: PropTypes.bool,\n hasMore: PropTypes.bool,\n withReplies: PropTypes.bool,\n };\n\n componentWillMount () {\n const { params: { accountId }, withReplies } = this.props;\n\n this.props.dispatch(fetchAccount(accountId));\n if (!withReplies) {\n this.props.dispatch(expandAccountFeaturedTimeline(accountId));\n }\n this.props.dispatch(expandAccountTimeline(accountId, { withReplies }));\n }\n\n componentWillReceiveProps (nextProps) {\n if ((nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) || nextProps.withReplies !== this.props.withReplies) {\n this.props.dispatch(fetchAccount(nextProps.params.accountId));\n if (!nextProps.withReplies) {\n this.props.dispatch(expandAccountFeaturedTimeline(nextProps.params.accountId));\n }\n this.props.dispatch(expandAccountTimeline(nextProps.params.accountId, { withReplies: nextProps.params.withReplies }));\n }\n }\n\n handleLoadMore = maxId => {\n this.props.dispatch(expandAccountTimeline(this.props.params.accountId, { maxId, withReplies: this.props.withReplies }));\n }\n\n render () {\n const { statusIds, featuredStatusIds, isLoading, hasMore } = this.props;\n\n if (!statusIds && isLoading) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column name='account'>\n <ColumnBackButton />\n\n <StatusList\n prepend={<HeaderContainer accountId={this.props.params.accountId} />}\n alwaysPrepend\n scrollKey='account_timeline'\n statusIds={statusIds}\n featuredStatusIds={featuredStatusIds}\n isLoading={isLoading}\n hasMore={hasMore}\n onLoadMore={this.handleLoadMore}\n emptyMessage={<FormattedMessage id='empty_column.account_timeline' defaultMessage='No toots here!' />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/blocks.js b/priv/static/packs/flavours/glitch/async/blocks.js index e36c866f2..a47ba64c6 100644 --- a/priv/static/packs/flavours/glitch/async/blocks.js +++ b/priv/static/packs/flavours/glitch/async/blocks.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{674:function(t,e,a){"use strict";a.r(e),a.d(e,"default",function(){return y});var c,o,n,s=a(1),i=a(6),l=a(0),r=a(2),d=(a(3),a(20)),u=a(26),b=a.n(u),p=a(5),j=a.n(p),O=a(288),h=a(295),f=a(639),g=a(643),v=a(624),m=a(104),k=a(7),w=a(24),S=Object(k.f)({heading:{id:"column.blocks",defaultMessage:"Blocked users"}}),y=Object(d.connect)(function(t){return{accountIds:t.getIn(["user_lists","blocks","items"])}})(c=Object(k.g)((n=o=function(o){function t(){for(var a,t=arguments.length,e=new Array(t),c=0;c<t;c++)e[c]=arguments[c];return a=o.call.apply(o,[this].concat(e))||this,Object(r.a)(Object(l.a)(Object(l.a)(a)),"handleScroll",function(t){var e=t.target;e.scrollTop===e.scrollHeight-e.clientHeight&&a.props.dispatch(Object(m.c)())}),Object(r.a)(Object(l.a)(Object(l.a)(a)),"shouldUpdateScroll",function(t,e){var a=e.location;return!(((t||{}).location||{}).state||{}).mastodonModalOpen&&!(a.state&&a.state.mastodonModalOpen)}),a}Object(i.a)(t,o);var e=t.prototype;return e.componentWillMount=function(){this.props.dispatch(Object(m.d)())},e.render=function(){var t=this.props,e=t.intl,a=t.accountIds;return a?Object(s.a)(f.a,{name:"blocks",icon:"ban",heading:e.formatMessage(S.heading)},void 0,Object(s.a)(g.a,{}),Object(s.a)(h.a,{scrollKey:"blocks",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(s.a)("div",{className:"scrollable",onScroll:this.handleScroll},void 0,a.map(function(t){return Object(s.a)(v.a,{id:t},t)})))):Object(s.a)(f.a,{},void 0,Object(s.a)(O.a,{}))},t}(w.a),Object(r.a)(o,"propTypes",{params:j.a.object.isRequired,dispatch:j.a.func.isRequired,accountIds:b.a.list,intl:j.a.object.isRequired}),c=n))||c)||c}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{675:function(t,e,a){"use strict";a.r(e),a.d(e,"default",function(){return y});var c,o,n,s=a(1),i=a(6),l=a(0),r=a(2),d=(a(3),a(20)),u=a(26),b=a.n(u),p=a(5),j=a.n(p),O=a(290),h=a(297),f=a(640),g=a(644),v=a(625),m=a(105),k=a(7),w=a(24),S=Object(k.f)({heading:{id:"column.blocks",defaultMessage:"Blocked users"}}),y=Object(d.connect)(function(t){return{accountIds:t.getIn(["user_lists","blocks","items"])}})(c=Object(k.g)((n=o=function(o){function t(){for(var a,t=arguments.length,e=new Array(t),c=0;c<t;c++)e[c]=arguments[c];return a=o.call.apply(o,[this].concat(e))||this,Object(r.a)(Object(l.a)(Object(l.a)(a)),"handleScroll",function(t){var e=t.target;e.scrollTop===e.scrollHeight-e.clientHeight&&a.props.dispatch(Object(m.c)())}),Object(r.a)(Object(l.a)(Object(l.a)(a)),"shouldUpdateScroll",function(t,e){var a=e.location;return!(((t||{}).location||{}).state||{}).mastodonModalOpen&&!(a.state&&a.state.mastodonModalOpen)}),a}Object(i.a)(t,o);var e=t.prototype;return e.componentWillMount=function(){this.props.dispatch(Object(m.d)())},e.render=function(){var t=this.props,e=t.intl,a=t.accountIds;return a?Object(s.a)(f.a,{name:"blocks",icon:"ban",heading:e.formatMessage(S.heading)},void 0,Object(s.a)(g.a,{}),Object(s.a)(h.a,{scrollKey:"blocks",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(s.a)("div",{className:"scrollable",onScroll:this.handleScroll},void 0,a.map(function(t){return Object(s.a)(v.a,{id:t},t)})))):Object(s.a)(f.a,{},void 0,Object(s.a)(O.a,{}))},t}(w.a),Object(r.a)(o,"propTypes",{params:j.a.object.isRequired,dispatch:j.a.func.isRequired,accountIds:b.a.list,intl:j.a.object.isRequired}),c=n))||c)||c}}]); //# sourceMappingURL=blocks.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/blocks.js.map b/priv/static/packs/flavours/glitch/async/blocks.js.map index 8662d4adc..584ea245c 100644 --- a/priv/static/packs/flavours/glitch/async/blocks.js.map +++ b/priv/static/packs/flavours/glitch/async/blocks.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/blocks/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","Blocks","connect","state","accountIds","getIn","injectIntl","e","_e$target","target","scrollTop","scrollHeight","clientHeight","_this","props","dispatch","expandBlocks","prevRouterProps","_ref","location","mastodonModalOpen","componentWillMount","this","fetchBlocks","render","_this$props","intl","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_10__","name","icon","formatMessage","flavours_glitch_components_column_back_button_slim__WEBPACK_IMPORTED_MODULE_11__","react_router_scroll_4__WEBPACK_IMPORTED_MODULE_9__","scrollKey","shouldUpdateScroll","className","onScroll","handleScroll","map","flavours_glitch_containers_account_container__WEBPACK_IMPORTED_MODULE_12__","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_8__","ImmutablePureComponent","params","PropTypes","object","isRequired","func","ImmutablePropTypes","list"],"mappings":"mSAaMA,EAAWC,YAAe,CAC9BC,QAAO,CAAAC,GAAA,gBAAAC,eAAA,mBASYC,EAFpBC,kBAJuB,SAAAC,GAAK,MAAK,CAChCC,WAAYD,EAAME,MAAM,CAAC,aAAc,SAAU,eAIlDC,2NAcgB,SAACC,GAAM,IAAAC,EAC8BD,EAAEE,OADhCD,EACZE,YADYF,EACDG,aADCH,EACaI,cAG/BC,EAAKC,MAAMC,SAASC,8EAIH,SAACC,EAADC,GAAmC,IAAfC,EAAeD,EAAfC,SACvC,UAAOF,GAAmB,IAAIE,UAAY,IAAIhB,OAAS,IAAIiB,qBAClDD,EAAShB,OAASgB,EAAShB,MAAMiB,mEAd5CC,mBAAA,WACEC,KAAKR,MAAMC,SAASQ,kBAgBtBC,OAAA,WAAU,IAAAC,EACqBH,KAAKR,MAA1BY,EADAD,EACAC,KAAMtB,EADNqB,EACMrB,WAEd,OAAKA,EASHuB,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAQC,KAAK,SAASC,KAAK,MAAMjC,QAAS4B,EAAKM,cAAcpC,EAASE,eAAtE,EACE6B,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,IACAN,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAiBC,UAAU,SAASC,mBAAoBd,KAAKc,yBAA7D,EACET,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,aAAaC,SAAUhB,KAAKiB,mBAA3C,EACGnC,EAAWoC,IAAI,SAAAzC,GAAE,OAChB4B,OAAAC,EAAA,EAAAD,CAACc,EAAA,EAAD,CAA2B1C,GAAIA,GAARA,QAZ7B4B,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACe,EAAA,EAAD,SAhC0BC,+BAEf,CACjBC,OAAQC,IAAUC,OAAOC,WACzBhC,SAAU8B,IAAUG,KAAKD,WACzB3C,WAAY6C,IAAmBC,KAC/BxB,KAAMmB,IAAUC,OAAOC","file":"flavours/glitch/async/blocks.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport { fetchBlocks, expandBlocks } from 'flavours/glitch/actions/blocks';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n heading: { id: 'column.blocks', defaultMessage: 'Blocked users' },\n});\n\nconst mapStateToProps = state => ({\n accountIds: state.getIn(['user_lists', 'blocks', 'items']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Blocks extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchBlocks());\n }\n\n handleScroll = (e) => {\n const { scrollTop, scrollHeight, clientHeight } = e.target;\n\n if (scrollTop === scrollHeight - clientHeight) {\n this.props.dispatch(expandBlocks());\n }\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { intl, accountIds } = this.props;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column name='blocks' icon='ban' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n <ScrollContainer scrollKey='blocks' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable' onScroll={this.handleScroll}>\n {accountIds.map(id =>\n <AccountContainer key={id} id={id} />\n )}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/blocks/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","Blocks","connect","state","accountIds","getIn","injectIntl","e","_e$target","target","scrollTop","scrollHeight","clientHeight","_this","props","dispatch","expandBlocks","prevRouterProps","_ref","location","mastodonModalOpen","componentWillMount","this","fetchBlocks","render","_this$props","intl","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_10__","name","icon","formatMessage","flavours_glitch_components_column_back_button_slim__WEBPACK_IMPORTED_MODULE_11__","react_router_scroll_4__WEBPACK_IMPORTED_MODULE_9__","scrollKey","shouldUpdateScroll","className","onScroll","handleScroll","map","flavours_glitch_containers_account_container__WEBPACK_IMPORTED_MODULE_12__","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_8__","ImmutablePureComponent","params","PropTypes","object","isRequired","func","ImmutablePropTypes","list"],"mappings":"mSAaMA,EAAWC,YAAe,CAC9BC,QAAO,CAAAC,GAAA,gBAAAC,eAAA,mBASYC,EAFpBC,kBAJuB,SAAAC,GAAK,MAAK,CAChCC,WAAYD,EAAME,MAAM,CAAC,aAAc,SAAU,eAIlDC,2NAcgB,SAACC,GAAM,IAAAC,EAC8BD,EAAEE,OADhCD,EACZE,YADYF,EACDG,aADCH,EACaI,cAG/BC,EAAKC,MAAMC,SAASC,8EAIH,SAACC,EAADC,GAAmC,IAAfC,EAAeD,EAAfC,SACvC,UAAOF,GAAmB,IAAIE,UAAY,IAAIhB,OAAS,IAAIiB,qBAClDD,EAAShB,OAASgB,EAAShB,MAAMiB,mEAd5CC,mBAAA,WACEC,KAAKR,MAAMC,SAASQ,kBAgBtBC,OAAA,WAAU,IAAAC,EACqBH,KAAKR,MAA1BY,EADAD,EACAC,KAAMtB,EADNqB,EACMrB,WAEd,OAAKA,EASHuB,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAQC,KAAK,SAASC,KAAK,MAAMjC,QAAS4B,EAAKM,cAAcpC,EAASE,eAAtE,EACE6B,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,IACAN,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAiBC,UAAU,SAASC,mBAAoBd,KAAKc,yBAA7D,EACET,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,aAAaC,SAAUhB,KAAKiB,mBAA3C,EACGnC,EAAWoC,IAAI,SAAAzC,GAAE,OAChB4B,OAAAC,EAAA,EAAAD,CAACc,EAAA,EAAD,CAA2B1C,GAAIA,GAARA,QAZ7B4B,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACe,EAAA,EAAD,SAhC0BC,+BAEf,CACjBC,OAAQC,IAAUC,OAAOC,WACzBhC,SAAU8B,IAAUG,KAAKD,WACzB3C,WAAY6C,IAAmBC,KAC/BxB,KAAMmB,IAAUC,OAAOC","file":"flavours/glitch/async/blocks.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport { fetchBlocks, expandBlocks } from 'flavours/glitch/actions/blocks';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n heading: { id: 'column.blocks', defaultMessage: 'Blocked users' },\n});\n\nconst mapStateToProps = state => ({\n accountIds: state.getIn(['user_lists', 'blocks', 'items']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Blocks extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchBlocks());\n }\n\n handleScroll = (e) => {\n const { scrollTop, scrollHeight, clientHeight } = e.target;\n\n if (scrollTop === scrollHeight - clientHeight) {\n this.props.dispatch(expandBlocks());\n }\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { intl, accountIds } = this.props;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column name='blocks' icon='ban' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n <ScrollContainer scrollKey='blocks' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable' onScroll={this.handleScroll}>\n {accountIds.map(id =>\n <AccountContainer key={id} id={id} />\n )}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/bookmarked_statuses.js b/priv/static/packs/flavours/glitch/async/bookmarked_statuses.js index b5033eb55..2774ac135 100644 --- a/priv/static/packs/flavours/glitch/async/bookmarked_statuses.js +++ b/priv/static/packs/flavours/glitch/async/bookmarked_statuses.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{673:function(t,e,a){"use strict";a.r(e),a.d(e,"default",function(){return R});var n,o,s,r=a(1),c=a(6),i=a(0),l=a(2),u=a(53),d=a.n(u),b=a(3),h=a.n(b),p=a(20),O=a(5),j=a.n(O),m=a(26),k=a.n(m),f=a(59),g=a(639),M=a(427),I=a(202),v=a(645),w=a(7),L=a(24),C=Object(w.f)({heading:{id:"column.bookmarks",defaultMessage:"Bookmarks"}}),R=Object(p.connect)(function(t){return{statusIds:t.getIn(["status_lists","bookmarks","items"]),isLoading:t.getIn(["status_lists","bookmarks","isLoading"],!0),hasMore:!!t.getIn(["status_lists","bookmarks","next"])}})(n=Object(w.g)((s=o=function(o){function t(){for(var n,t=arguments.length,e=new Array(t),a=0;a<t;a++)e[a]=arguments[a];return n=o.call.apply(o,[this].concat(e))||this,Object(l.a)(Object(i.a)(Object(i.a)(n)),"handlePin",function(){var t=n.props,e=t.columnId,a=t.dispatch;a(e?Object(I.h)(e):Object(I.e)("BOOKMARKS",{}))}),Object(l.a)(Object(i.a)(Object(i.a)(n)),"handleMove",function(t){var e=n.props,a=e.columnId;(0,e.dispatch)(Object(I.g)(a,t))}),Object(l.a)(Object(i.a)(Object(i.a)(n)),"handleHeaderClick",function(){n.column.scrollTop()}),Object(l.a)(Object(i.a)(Object(i.a)(n)),"setRef",function(t){n.column=t}),Object(l.a)(Object(i.a)(Object(i.a)(n)),"handleLoadMore",d()(function(){n.props.dispatch(Object(f.g)())},300,{leading:!0})),n}Object(c.a)(t,o);var e=t.prototype;return e.componentWillMount=function(){this.props.dispatch(Object(f.h)())},e.render=function(){var t=this.props,e=t.intl,a=t.statusIds,n=t.columnId,o=t.multiColumn,s=t.hasMore,c=t.isLoading,i=!!n;return h.a.createElement(g.a,{ref:this.setRef,name:"bookmarks"},Object(r.a)(M.a,{icon:"bookmark",title:e.formatMessage(C.heading),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:i,multiColumn:o,showBackButton:!0}),Object(r.a)(v.a,{trackScroll:!i,statusIds:a,scrollKey:"bookmarked_statuses-"+n,hasMore:s,isLoading:c,onLoadMore:this.handleLoadMore}))},t}(L.a),Object(l.a)(o,"propTypes",{dispatch:j.a.func.isRequired,statusIds:k.a.list.isRequired,intl:j.a.object.isRequired,columnId:j.a.string,multiColumn:j.a.bool,hasMore:j.a.bool,isLoading:j.a.bool}),n=s))||n)||n}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{674:function(t,e,a){"use strict";a.r(e),a.d(e,"default",function(){return R});var n,o,s,r=a(1),c=a(6),i=a(0),l=a(2),u=a(54),d=a.n(u),b=a(3),h=a.n(b),p=a(20),O=a(5),j=a.n(O),m=a(26),k=a.n(m),f=a(60),g=a(640),M=a(428),I=a(205),v=a(646),w=a(7),L=a(24),C=Object(w.f)({heading:{id:"column.bookmarks",defaultMessage:"Bookmarks"}}),R=Object(p.connect)(function(t){return{statusIds:t.getIn(["status_lists","bookmarks","items"]),isLoading:t.getIn(["status_lists","bookmarks","isLoading"],!0),hasMore:!!t.getIn(["status_lists","bookmarks","next"])}})(n=Object(w.g)((s=o=function(o){function t(){for(var n,t=arguments.length,e=new Array(t),a=0;a<t;a++)e[a]=arguments[a];return n=o.call.apply(o,[this].concat(e))||this,Object(l.a)(Object(i.a)(Object(i.a)(n)),"handlePin",function(){var t=n.props,e=t.columnId,a=t.dispatch;a(e?Object(I.h)(e):Object(I.e)("BOOKMARKS",{}))}),Object(l.a)(Object(i.a)(Object(i.a)(n)),"handleMove",function(t){var e=n.props,a=e.columnId;(0,e.dispatch)(Object(I.g)(a,t))}),Object(l.a)(Object(i.a)(Object(i.a)(n)),"handleHeaderClick",function(){n.column.scrollTop()}),Object(l.a)(Object(i.a)(Object(i.a)(n)),"setRef",function(t){n.column=t}),Object(l.a)(Object(i.a)(Object(i.a)(n)),"handleLoadMore",d()(function(){n.props.dispatch(Object(f.g)())},300,{leading:!0})),n}Object(c.a)(t,o);var e=t.prototype;return e.componentWillMount=function(){this.props.dispatch(Object(f.h)())},e.render=function(){var t=this.props,e=t.intl,a=t.statusIds,n=t.columnId,o=t.multiColumn,s=t.hasMore,c=t.isLoading,i=!!n;return h.a.createElement(g.a,{ref:this.setRef,name:"bookmarks"},Object(r.a)(M.a,{icon:"bookmark",title:e.formatMessage(C.heading),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:i,multiColumn:o,showBackButton:!0}),Object(r.a)(v.a,{trackScroll:!i,statusIds:a,scrollKey:"bookmarked_statuses-"+n,hasMore:s,isLoading:c,onLoadMore:this.handleLoadMore}))},t}(L.a),Object(l.a)(o,"propTypes",{dispatch:j.a.func.isRequired,statusIds:k.a.list.isRequired,intl:j.a.object.isRequired,columnId:j.a.string,multiColumn:j.a.bool,hasMore:j.a.bool,isLoading:j.a.bool}),n=s))||n)||n}}]); //# sourceMappingURL=bookmarked_statuses.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/bookmarked_statuses.js.map b/priv/static/packs/flavours/glitch/async/bookmarked_statuses.js.map index 393ba6330..a178c23d5 100644 --- a/priv/static/packs/flavours/glitch/async/bookmarked_statuses.js.map +++ b/priv/static/packs/flavours/glitch/async/bookmarked_statuses.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/bookmarked_statuses/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","Bookmarks","connect","state","statusIds","getIn","isLoading","hasMore","injectIntl","_this$props","_this","props","columnId","dispatch","removeColumn","addColumn","dir","_this$props2","moveColumn","column","scrollTop","c","lodash_debounce__WEBPACK_IMPORTED_MODULE_4___default","expandBookmarkedStatuses","leading","componentWillMount","this","fetchBookmarkedStatuses","render","_this$props3","intl","multiColumn","pinned","react__WEBPACK_IMPORTED_MODULE_5___default","a","createElement","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_10__","ref","setRef","name","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_column_header__WEBPACK_IMPORTED_MODULE_11__","icon","title","formatMessage","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","showBackButton","flavours_glitch_components_status_list__WEBPACK_IMPORTED_MODULE_13__","trackScroll","scrollKey","onLoadMore","handleLoadMore","ImmutablePureComponent","PropTypes","func","isRequired","ImmutablePropTypes","list","object","string","bool"],"mappings":"mTAaMA,EAAWC,YAAe,CAC9BC,QAAO,CAAAC,GAAA,mBAAAC,eAAA,eAWYC,EAFpBC,kBANuB,SAAAC,GAAK,MAAK,CAChCC,UAAWD,EAAME,MAAM,CAAC,eAAgB,YAAa,UACrDC,UAAWH,EAAME,MAAM,CAAC,eAAgB,YAAa,cAAc,GACnEE,UAAWJ,EAAME,MAAM,CAAC,eAAgB,YAAa,cAItDG,wNAiBa,WAAM,IAAAC,EACeC,EAAKC,MAA5BC,EADQH,EACRG,SAAUC,EADFJ,EACEI,SAGhBA,EADED,EACOE,YAAaF,GAEbG,YAAU,YAAa,4DAIvB,SAACC,GAAQ,IAAAC,EACWP,EAAKC,MAA5BC,EADYK,EACZL,UACRC,EAFoBI,EACFJ,UACTK,YAAWN,EAAUI,kEAGZ,WAClBN,EAAKS,OAAOC,+DAGL,SAAAC,GACPX,EAAKS,OAASE,6DAGCC,IAAS,WACxBZ,EAAKC,MAAME,SAASU,gBACnB,IAAK,CAAEC,SAAS,mDA7BnBC,mBAAA,WACEC,KAAKf,MAAME,SAASc,kBA8BtBC,OAAA,WAAU,IAAAC,EAC+DH,KAAKf,MAApEmB,EADAD,EACAC,KAAM1B,EADNyB,EACMzB,UAAWQ,EADjBiB,EACiBjB,SAAUmB,EAD3BF,EAC2BE,YAAaxB,EADxCsB,EACwCtB,QAASD,EADjDuB,EACiDvB,UACnD0B,IAAWpB,EAEjB,OACEqB,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAQC,IAAKX,KAAKY,OAAQC,KAAK,aAC7BC,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CACEC,KAAK,WACLC,MAAOd,EAAKe,cAAcjD,EAASE,SACnCgD,MAAOpB,KAAKqB,UACZC,OAAQtB,KAAKuB,WACbC,QAASxB,KAAKyB,kBACdnB,OAAQA,EACRD,YAAaA,EACbqB,gBAAc,IAGhBZ,OAAAC,EAAA,EAAAD,CAACa,EAAA,EAAD,CACEC,aAActB,EACd5B,UAAWA,EACXmD,UAAS,uBAAyB3C,EAClCL,QAASA,EACTD,UAAWA,EACXkD,WAAY9B,KAAK+B,sBAlEYC,+BAElB,CACjB7C,SAAU8C,IAAUC,KAAKC,WACzBzD,UAAW0D,IAAmBC,KAAKF,WACnC/B,KAAM6B,IAAUK,OAAOH,WACvBjD,SAAU+C,IAAUM,OACpBlC,YAAa4B,IAAUO,KACvB3D,QAASoD,IAAUO,KACnB5D,UAAWqD,IAAUO","file":"flavours/glitch/async/bookmarked_statuses.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { fetchBookmarkedStatuses, expandBookmarkedStatuses } from 'flavours/glitch/actions/bookmarks';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport StatusList from 'flavours/glitch/components/status_list';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { debounce } from 'lodash';\n\nconst messages = defineMessages({\n heading: { id: 'column.bookmarks', defaultMessage: 'Bookmarks' },\n});\n\nconst mapStateToProps = state => ({\n statusIds: state.getIn(['status_lists', 'bookmarks', 'items']),\n isLoading: state.getIn(['status_lists', 'bookmarks', 'isLoading'], true),\n hasMore: !!state.getIn(['status_lists', 'bookmarks', 'next']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Bookmarks extends ImmutablePureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n intl: PropTypes.object.isRequired,\n columnId: PropTypes.string,\n multiColumn: PropTypes.bool,\n hasMore: PropTypes.bool,\n isLoading: PropTypes.bool,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchBookmarkedStatuses());\n }\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('BOOKMARKS', {}));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = debounce(() => {\n this.props.dispatch(expandBookmarkedStatuses());\n }, 300, { leading: true })\n\n render () {\n const { intl, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} name='bookmarks'>\n <ColumnHeader\n icon='bookmark'\n title={intl.formatMessage(messages.heading)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n showBackButton\n />\n\n <StatusList\n trackScroll={!pinned}\n statusIds={statusIds}\n scrollKey={`bookmarked_statuses-${columnId}`}\n hasMore={hasMore}\n isLoading={isLoading}\n onLoadMore={this.handleLoadMore}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/bookmarked_statuses/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","Bookmarks","connect","state","statusIds","getIn","isLoading","hasMore","injectIntl","_this$props","_this","props","columnId","dispatch","removeColumn","addColumn","dir","_this$props2","moveColumn","column","scrollTop","c","lodash_debounce__WEBPACK_IMPORTED_MODULE_4___default","expandBookmarkedStatuses","leading","componentWillMount","this","fetchBookmarkedStatuses","render","_this$props3","intl","multiColumn","pinned","react__WEBPACK_IMPORTED_MODULE_5___default","a","createElement","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_10__","ref","setRef","name","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_column_header__WEBPACK_IMPORTED_MODULE_11__","icon","title","formatMessage","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","showBackButton","flavours_glitch_components_status_list__WEBPACK_IMPORTED_MODULE_13__","trackScroll","scrollKey","onLoadMore","handleLoadMore","ImmutablePureComponent","PropTypes","func","isRequired","ImmutablePropTypes","list","object","string","bool"],"mappings":"mTAaMA,EAAWC,YAAe,CAC9BC,QAAO,CAAAC,GAAA,mBAAAC,eAAA,eAWYC,EAFpBC,kBANuB,SAAAC,GAAK,MAAK,CAChCC,UAAWD,EAAME,MAAM,CAAC,eAAgB,YAAa,UACrDC,UAAWH,EAAME,MAAM,CAAC,eAAgB,YAAa,cAAc,GACnEE,UAAWJ,EAAME,MAAM,CAAC,eAAgB,YAAa,cAItDG,wNAiBa,WAAM,IAAAC,EACeC,EAAKC,MAA5BC,EADQH,EACRG,SAAUC,EADFJ,EACEI,SAGhBA,EADED,EACOE,YAAaF,GAEbG,YAAU,YAAa,4DAIvB,SAACC,GAAQ,IAAAC,EACWP,EAAKC,MAA5BC,EADYK,EACZL,UACRC,EAFoBI,EACFJ,UACTK,YAAWN,EAAUI,kEAGZ,WAClBN,EAAKS,OAAOC,+DAGL,SAAAC,GACPX,EAAKS,OAASE,6DAGCC,IAAS,WACxBZ,EAAKC,MAAME,SAASU,gBACnB,IAAK,CAAEC,SAAS,mDA7BnBC,mBAAA,WACEC,KAAKf,MAAME,SAASc,kBA8BtBC,OAAA,WAAU,IAAAC,EAC+DH,KAAKf,MAApEmB,EADAD,EACAC,KAAM1B,EADNyB,EACMzB,UAAWQ,EADjBiB,EACiBjB,SAAUmB,EAD3BF,EAC2BE,YAAaxB,EADxCsB,EACwCtB,QAASD,EADjDuB,EACiDvB,UACnD0B,IAAWpB,EAEjB,OACEqB,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAQC,IAAKX,KAAKY,OAAQC,KAAK,aAC7BC,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CACEC,KAAK,WACLC,MAAOd,EAAKe,cAAcjD,EAASE,SACnCgD,MAAOpB,KAAKqB,UACZC,OAAQtB,KAAKuB,WACbC,QAASxB,KAAKyB,kBACdnB,OAAQA,EACRD,YAAaA,EACbqB,gBAAc,IAGhBZ,OAAAC,EAAA,EAAAD,CAACa,EAAA,EAAD,CACEC,aAActB,EACd5B,UAAWA,EACXmD,UAAS,uBAAyB3C,EAClCL,QAASA,EACTD,UAAWA,EACXkD,WAAY9B,KAAK+B,sBAlEYC,+BAElB,CACjB7C,SAAU8C,IAAUC,KAAKC,WACzBzD,UAAW0D,IAAmBC,KAAKF,WACnC/B,KAAM6B,IAAUK,OAAOH,WACvBjD,SAAU+C,IAAUM,OACpBlC,YAAa4B,IAAUO,KACvB3D,QAASoD,IAAUO,KACnB5D,UAAWqD,IAAUO","file":"flavours/glitch/async/bookmarked_statuses.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { fetchBookmarkedStatuses, expandBookmarkedStatuses } from 'flavours/glitch/actions/bookmarks';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport StatusList from 'flavours/glitch/components/status_list';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { debounce } from 'lodash';\n\nconst messages = defineMessages({\n heading: { id: 'column.bookmarks', defaultMessage: 'Bookmarks' },\n});\n\nconst mapStateToProps = state => ({\n statusIds: state.getIn(['status_lists', 'bookmarks', 'items']),\n isLoading: state.getIn(['status_lists', 'bookmarks', 'isLoading'], true),\n hasMore: !!state.getIn(['status_lists', 'bookmarks', 'next']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Bookmarks extends ImmutablePureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n intl: PropTypes.object.isRequired,\n columnId: PropTypes.string,\n multiColumn: PropTypes.bool,\n hasMore: PropTypes.bool,\n isLoading: PropTypes.bool,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchBookmarkedStatuses());\n }\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('BOOKMARKS', {}));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = debounce(() => {\n this.props.dispatch(expandBookmarkedStatuses());\n }, 300, { leading: true })\n\n render () {\n const { intl, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} name='bookmarks'>\n <ColumnHeader\n icon='bookmark'\n title={intl.formatMessage(messages.heading)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n showBackButton\n />\n\n <StatusList\n trackScroll={!pinned}\n statusIds={statusIds}\n scrollKey={`bookmarked_statuses-${columnId}`}\n hasMore={hasMore}\n isLoading={isLoading}\n onLoadMore={this.handleLoadMore}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/community_timeline.js b/priv/static/packs/flavours/glitch/async/community_timeline.js index ce5109f6f..2e8edc3a2 100644 --- a/priv/static/packs/flavours/glitch/async/community_timeline.js +++ b/priv/static/packs/flavours/glitch/async/community_timeline.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{727:function(e,t,n){"use strict";n.r(t);var o,a,c,l=n(1),i=n(6),d=n(0),s=n(2),r=n(3),u=n.n(r),m=n(20),h=n(7),p=n(5),b=n.n(p),O=n(625),j=n(429),y=n(427),f=n(31),M=n(202),g=n(950),v=n(82),I=Object(m.connect)(function(e,t){var n=t.columnId,o=e.getIn(["settings","columns"]),a=o.findIndex(function(e){return e.get("uuid")===n});return{settings:n&&0<=a?o.get(a).get("params"):e.getIn(["settings","community"])}},function(n,e){var o=e.columnId;return{onChange:function(e,t){n(o?changeColumnParams(o,e,t):Object(v.c)(["community"].concat(e),t))}}})(g.a),C=n(400);n.d(t,"default",function(){return w});var U=Object(h.f)({title:{id:"column.community",defaultMessage:"Local timeline"}}),w=Object(m.connect)(function(e,t){var n=t.onlyMedia,o=t.columnId,a=o,c=e.getIn(["settings","columns"]),i=c.findIndex(function(e){return e.get("uuid")===a});return{hasUnread:0<e.getIn(["timelines","community"+(n?":media":""),"unread"]),onlyMedia:o&&0<=i?c.get(i).getIn(["params","other","onlyMedia"]):e.getIn(["settings","community","other","onlyMedia"])}})(o=Object(h.g)((c=a=function(o){function e(){for(var a,e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return a=o.call.apply(o,[this].concat(t))||this,Object(s.a)(Object(d.a)(Object(d.a)(a)),"handlePin",function(){var e=a.props,t=e.columnId,n=e.dispatch,o=e.onlyMedia;n(t?Object(M.h)(t):Object(M.e)("COMMUNITY",{other:{onlyMedia:o}}))}),Object(s.a)(Object(d.a)(Object(d.a)(a)),"handleMove",function(e){var t=a.props,n=t.columnId;(0,t.dispatch)(Object(M.g)(n,e))}),Object(s.a)(Object(d.a)(Object(d.a)(a)),"handleHeaderClick",function(){a.column.scrollTop()}),Object(s.a)(Object(d.a)(Object(d.a)(a)),"setRef",function(e){a.column=e}),Object(s.a)(Object(d.a)(Object(d.a)(a)),"handleLoadMore",function(e){var t=a.props,n=t.dispatch,o=t.onlyMedia;n(Object(f.o)({maxId:e,onlyMedia:o}))}),Object(s.a)(Object(d.a)(Object(d.a)(a)),"shouldUpdateScroll",function(e,t){var n=t.location;return!(n.state&&n.state.mastodonModalOpen)}),a}Object(i.a)(e,o);var t=e.prototype;return t.componentDidMount=function(){var e=this.props,t=e.dispatch,n=e.onlyMedia;t(Object(f.o)({onlyMedia:n})),this.disconnect=t(Object(C.a)({onlyMedia:n}))},t.componentDidUpdate=function(e){if(e.onlyMedia!==this.props.onlyMedia){var t=this.props,n=t.dispatch,o=t.onlyMedia;this.disconnect(),n(Object(f.o)({onlyMedia:o})),this.disconnect=n(Object(C.a)({onlyMedia:o}))}},t.componentWillUnmount=function(){this.disconnect&&(this.disconnect(),this.disconnect=null)},t.render=function(){var e=this.props,t=e.intl,n=e.hasUnread,o=e.columnId,a=e.multiColumn,c=e.onlyMedia,i=!!o;return u.a.createElement(j.a,{ref:this.setRef,name:"local",label:t.formatMessage(U.title)},Object(l.a)(y.a,{icon:"users",active:n,title:t.formatMessage(U.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:i,multiColumn:a},void 0,Object(l.a)(I,{columnId:o})),Object(l.a)(O.a,{trackScroll:!i,scrollKey:"community_timeline-"+o,shouldUpdateScroll:this.shouldUpdateScroll,timelineId:"community"+(c?":media":""),onLoadMore:this.handleLoadMore,emptyMessage:Object(l.a)(h.b,{id:"empty_column.community",defaultMessage:"The local timeline is empty. Write something publicly to get the ball rolling!"})}))},e}(u.a.PureComponent),Object(s.a)(a,"defaultProps",{onlyMedia:!1}),Object(s.a)(a,"contextTypes",{router:b.a.object}),o=c))||o)||o}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{728:function(e,t,n){"use strict";n.r(t);var o,a,c,l=n(1),i=n(6),d=n(0),s=n(2),r=n(3),u=n.n(r),m=n(20),h=n(7),p=n(5),b=n.n(p),O=n(626),j=n(430),y=n(428),f=n(32),M=n(205),g=n(951),v=n(84),I=Object(m.connect)(function(e,t){var n=t.columnId,o=e.getIn(["settings","columns"]),a=o.findIndex(function(e){return e.get("uuid")===n});return{settings:n&&0<=a?o.get(a).get("params"):e.getIn(["settings","community"])}},function(n,e){var o=e.columnId;return{onChange:function(e,t){n(o?changeColumnParams(o,e,t):Object(v.c)(["community"].concat(e),t))}}})(g.a),C=n(401);n.d(t,"default",function(){return w});var U=Object(h.f)({title:{id:"column.community",defaultMessage:"Local timeline"}}),w=Object(m.connect)(function(e,t){var n=t.onlyMedia,o=t.columnId,a=o,c=e.getIn(["settings","columns"]),i=c.findIndex(function(e){return e.get("uuid")===a});return{hasUnread:0<e.getIn(["timelines","community"+(n?":media":""),"unread"]),onlyMedia:o&&0<=i?c.get(i).getIn(["params","other","onlyMedia"]):e.getIn(["settings","community","other","onlyMedia"])}})(o=Object(h.g)((c=a=function(o){function e(){for(var a,e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return a=o.call.apply(o,[this].concat(t))||this,Object(s.a)(Object(d.a)(Object(d.a)(a)),"handlePin",function(){var e=a.props,t=e.columnId,n=e.dispatch,o=e.onlyMedia;n(t?Object(M.h)(t):Object(M.e)("COMMUNITY",{other:{onlyMedia:o}}))}),Object(s.a)(Object(d.a)(Object(d.a)(a)),"handleMove",function(e){var t=a.props,n=t.columnId;(0,t.dispatch)(Object(M.g)(n,e))}),Object(s.a)(Object(d.a)(Object(d.a)(a)),"handleHeaderClick",function(){a.column.scrollTop()}),Object(s.a)(Object(d.a)(Object(d.a)(a)),"setRef",function(e){a.column=e}),Object(s.a)(Object(d.a)(Object(d.a)(a)),"handleLoadMore",function(e){var t=a.props,n=t.dispatch,o=t.onlyMedia;n(Object(f.o)({maxId:e,onlyMedia:o}))}),Object(s.a)(Object(d.a)(Object(d.a)(a)),"shouldUpdateScroll",function(e,t){var n=t.location;return!(n.state&&n.state.mastodonModalOpen)}),a}Object(i.a)(e,o);var t=e.prototype;return t.componentDidMount=function(){var e=this.props,t=e.dispatch,n=e.onlyMedia;t(Object(f.o)({onlyMedia:n})),this.disconnect=t(Object(C.a)({onlyMedia:n}))},t.componentDidUpdate=function(e){if(e.onlyMedia!==this.props.onlyMedia){var t=this.props,n=t.dispatch,o=t.onlyMedia;this.disconnect(),n(Object(f.o)({onlyMedia:o})),this.disconnect=n(Object(C.a)({onlyMedia:o}))}},t.componentWillUnmount=function(){this.disconnect&&(this.disconnect(),this.disconnect=null)},t.render=function(){var e=this.props,t=e.intl,n=e.hasUnread,o=e.columnId,a=e.multiColumn,c=e.onlyMedia,i=!!o;return u.a.createElement(j.a,{ref:this.setRef,name:"local",label:t.formatMessage(U.title)},Object(l.a)(y.a,{icon:"users",active:n,title:t.formatMessage(U.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:i,multiColumn:a},void 0,Object(l.a)(I,{columnId:o})),Object(l.a)(O.a,{trackScroll:!i,scrollKey:"community_timeline-"+o,shouldUpdateScroll:this.shouldUpdateScroll,timelineId:"community"+(c?":media":""),onLoadMore:this.handleLoadMore,emptyMessage:Object(l.a)(h.b,{id:"empty_column.community",defaultMessage:"The local timeline is empty. Write something publicly to get the ball rolling!"})}))},e}(u.a.PureComponent),Object(s.a)(a,"defaultProps",{onlyMedia:!1}),Object(s.a)(a,"contextTypes",{router:b.a.object}),o=c))||o)||o}}]); //# sourceMappingURL=community_timeline.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/community_timeline.js.map b/priv/static/packs/flavours/glitch/async/community_timeline.js.map index 35597e84a..e93c9cb5d 100644 --- a/priv/static/packs/flavours/glitch/async/community_timeline.js.map +++ b/priv/static/packs/flavours/glitch/async/community_timeline.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/community_timeline/index.js"],"names":["connect","state","_ref","uuid","columnId","columns","getIn","index","findIndex","c","get","settings","dispatch","_ref2","onChange","key","checked","changeColumnParams","changeSetting","concat","ColumnSettings","messages","defineMessages","title","id","defaultMessage","CommunityTimeline","onlyMedia","hasUnread","injectIntl","_this$props","_this","props","removeColumn","addColumn","other","dir","_this$props2","moveColumn","column","scrollTop","maxId","_this$props3","expandCommunityTimeline","prevRouterProps","location","mastodonModalOpen","componentDidMount","_this$props4","this","disconnect","connectCommunityStream","componentDidUpdate","prevProps","_this$props5","componentWillUnmount","render","_this$props6","intl","multiColumn","pinned","react_default","a","createElement","ref","setRef","name","label","formatMessage","Object","jsx","column_header","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","column_settings_container","status_list_container","trackScroll","scrollKey","shouldUpdateScroll","timelineId","onLoadMore","handleLoadMore","emptyMessage","index_es","React","PureComponent","router","PropTypes","object"],"mappings":"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","file":"flavours/glitch/async/community_timeline.js","sourcesContent":["import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting } from 'flavours/glitch/actions/settings';\n\nconst mapStateToProps = (state, { columnId }) => {\n const uuid = columnId;\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === uuid);\n\n return {\n settings: (uuid && index >= 0) ? columns.get(index).get('params') : state.getIn(['settings', 'community']),\n };\n};\n \nconst mapDispatchToProps = (dispatch, { columnId }) => {\n return {\n onChange (key, checked) {\n if (columnId) {\n dispatch(changeColumnParams(columnId, key, checked));\n } else {\n dispatch(changeSetting(['community', ...key], checked));\n }\n },\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { expandCommunityTimeline } from 'flavours/glitch/actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { connectCommunityStream } from 'flavours/glitch/actions/streaming';\n\nconst messages = defineMessages({\n title: { id: 'column.community', defaultMessage: 'Local timeline' },\n});\n\nconst mapStateToProps = (state, { onlyMedia, columnId }) => {\n const uuid = columnId;\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === uuid);\n\n return {\n hasUnread: state.getIn(['timelines', `community${onlyMedia ? ':media' : ''}`, 'unread']) > 0,\n onlyMedia: (columnId && index >= 0) ? columns.get(index).getIn(['params', 'other', 'onlyMedia']) : state.getIn(['settings', 'community', 'other', 'onlyMedia']),\n };\n};\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class CommunityTimeline extends React.PureComponent {\n\n static defaultProps = {\n onlyMedia: false,\n };\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n columnId: PropTypes.string,\n intl: PropTypes.object.isRequired,\n hasUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n onlyMedia: PropTypes.bool,\n };\n\n handlePin = () => {\n const { columnId, dispatch, onlyMedia } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('COMMUNITY', { other: { onlyMedia } }));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n componentDidMount () {\n const { dispatch, onlyMedia } = this.props;\n\n dispatch(expandCommunityTimeline({ onlyMedia }));\n this.disconnect = dispatch(connectCommunityStream({ onlyMedia }));\n }\n\n componentDidUpdate (prevProps) {\n if (prevProps.onlyMedia !== this.props.onlyMedia) {\n const { dispatch, onlyMedia } = this.props;\n\n this.disconnect();\n dispatch(expandCommunityTimeline({ onlyMedia }));\n this.disconnect = dispatch(connectCommunityStream({ onlyMedia }));\n }\n }\n\n componentWillUnmount () {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n const { dispatch, onlyMedia } = this.props;\n\n dispatch(expandCommunityTimeline({ maxId, onlyMedia }));\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n return !(location.state && location.state.mastodonModalOpen)\n }\n\n render () {\n const { intl, hasUnread, columnId, multiColumn, onlyMedia } = this.props;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} name='local' label={intl.formatMessage(messages.title)}>\n <ColumnHeader\n icon='users'\n active={hasUnread}\n title={intl.formatMessage(messages.title)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n >\n <ColumnSettingsContainer columnId={columnId} />\n </ColumnHeader>\n\n <StatusListContainer\n trackScroll={!pinned}\n scrollKey={`community_timeline-${columnId}`}\n shouldUpdateScroll={this.shouldUpdateScroll}\n timelineId={`community${onlyMedia ? ':media' : ''}`}\n onLoadMore={this.handleLoadMore}\n emptyMessage={<FormattedMessage id='empty_column.community' defaultMessage='The local timeline is empty. Write something publicly to get the ball rolling!' />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/community_timeline/index.js"],"names":["connect","state","_ref","uuid","columnId","columns","getIn","index","findIndex","c","get","settings","dispatch","_ref2","onChange","key","checked","changeColumnParams","changeSetting","concat","ColumnSettings","messages","defineMessages","title","id","defaultMessage","CommunityTimeline","onlyMedia","hasUnread","injectIntl","_this$props","_this","props","removeColumn","addColumn","other","dir","_this$props2","moveColumn","column","scrollTop","maxId","_this$props3","expandCommunityTimeline","prevRouterProps","location","mastodonModalOpen","componentDidMount","_this$props4","this","disconnect","connectCommunityStream","componentDidUpdate","prevProps","_this$props5","componentWillUnmount","render","_this$props6","intl","multiColumn","pinned","react_default","a","createElement","ref","setRef","name","label","formatMessage","Object","jsx","column_header","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","column_settings_container","status_list_container","trackScroll","scrollKey","shouldUpdateScroll","timelineId","onLoadMore","handleLoadMore","emptyMessage","index_es","React","PureComponent","router","PropTypes","object"],"mappings":"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","file":"flavours/glitch/async/community_timeline.js","sourcesContent":["import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting } from 'flavours/glitch/actions/settings';\n\nconst mapStateToProps = (state, { columnId }) => {\n const uuid = columnId;\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === uuid);\n\n return {\n settings: (uuid && index >= 0) ? columns.get(index).get('params') : state.getIn(['settings', 'community']),\n };\n};\n \nconst mapDispatchToProps = (dispatch, { columnId }) => {\n return {\n onChange (key, checked) {\n if (columnId) {\n dispatch(changeColumnParams(columnId, key, checked));\n } else {\n dispatch(changeSetting(['community', ...key], checked));\n }\n },\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { expandCommunityTimeline } from 'flavours/glitch/actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { connectCommunityStream } from 'flavours/glitch/actions/streaming';\n\nconst messages = defineMessages({\n title: { id: 'column.community', defaultMessage: 'Local timeline' },\n});\n\nconst mapStateToProps = (state, { onlyMedia, columnId }) => {\n const uuid = columnId;\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === uuid);\n\n return {\n hasUnread: state.getIn(['timelines', `community${onlyMedia ? ':media' : ''}`, 'unread']) > 0,\n onlyMedia: (columnId && index >= 0) ? columns.get(index).getIn(['params', 'other', 'onlyMedia']) : state.getIn(['settings', 'community', 'other', 'onlyMedia']),\n };\n};\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class CommunityTimeline extends React.PureComponent {\n\n static defaultProps = {\n onlyMedia: false,\n };\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n columnId: PropTypes.string,\n intl: PropTypes.object.isRequired,\n hasUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n onlyMedia: PropTypes.bool,\n };\n\n handlePin = () => {\n const { columnId, dispatch, onlyMedia } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('COMMUNITY', { other: { onlyMedia } }));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n componentDidMount () {\n const { dispatch, onlyMedia } = this.props;\n\n dispatch(expandCommunityTimeline({ onlyMedia }));\n this.disconnect = dispatch(connectCommunityStream({ onlyMedia }));\n }\n\n componentDidUpdate (prevProps) {\n if (prevProps.onlyMedia !== this.props.onlyMedia) {\n const { dispatch, onlyMedia } = this.props;\n\n this.disconnect();\n dispatch(expandCommunityTimeline({ onlyMedia }));\n this.disconnect = dispatch(connectCommunityStream({ onlyMedia }));\n }\n }\n\n componentWillUnmount () {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n const { dispatch, onlyMedia } = this.props;\n\n dispatch(expandCommunityTimeline({ maxId, onlyMedia }));\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n return !(location.state && location.state.mastodonModalOpen)\n }\n\n render () {\n const { intl, hasUnread, columnId, multiColumn, onlyMedia } = this.props;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} name='local' label={intl.formatMessage(messages.title)}>\n <ColumnHeader\n icon='users'\n active={hasUnread}\n title={intl.formatMessage(messages.title)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n >\n <ColumnSettingsContainer columnId={columnId} />\n </ColumnHeader>\n\n <StatusListContainer\n trackScroll={!pinned}\n scrollKey={`community_timeline-${columnId}`}\n shouldUpdateScroll={this.shouldUpdateScroll}\n timelineId={`community${onlyMedia ? ':media' : ''}`}\n onLoadMore={this.handleLoadMore}\n emptyMessage={<FormattedMessage id='empty_column.community' defaultMessage='The local timeline is empty. Write something publicly to get the ball rolling!' />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/direct_timeline.js b/priv/static/packs/flavours/glitch/async/direct_timeline.js index 15e1b5a58..b8b3a60ed 100644 --- a/priv/static/packs/flavours/glitch/async/direct_timeline.js +++ b/priv/static/packs/flavours/glitch/async/direct_timeline.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{713:function(e,t,n){"use strict";n.r(t);var c,a,o=n(1),i=n(6),s=n(0),r=n(2),l=n(3),d=n.n(l),u=n(20),b=n(625),h=n(429),p=n(427),j=n(31),O=n(202),m=n(7),f=n(911),g=Object(m.f)({filter_regex:{id:"home.column_settings.filter_regex",defaultMessage:"Filter out by regular expressions"},settings:{id:"home.settings",defaultMessage:"Column settings"}}),v=Object(m.g)(c=function(e){function t(){return e.apply(this,arguments)||this}return Object(i.a)(t,e),t.prototype.render=function(){var e=this.props,t=e.settings,n=e.onChange,c=e.intl;return Object(o.a)("div",{},void 0,Object(o.a)("span",{className:"column-settings__section"},void 0,Object(o.a)(m.b,{id:"home.column_settings.advanced",defaultMessage:"Advanced"})),Object(o.a)("div",{className:"column-settings__row"},void 0,Object(o.a)(f.a,{settings:t,settingKey:["regex","body"],onChange:n,label:c.formatMessage(g.filter_regex)})))},t}(d.a.PureComponent))||c,M=n(82),y=Object(u.connect)(function(e){return{settings:e.getIn(["settings","direct"])}},function(n){return{onChange:function(e,t){n(Object(M.c)(["direct"].concat(e),t))}}})(v),C=n(400);n.d(t,"default",function(){return w});var _=Object(m.f)({title:{id:"column.direct",defaultMessage:"Direct messages"}}),w=Object(u.connect)(function(e){return{hasUnread:0<e.getIn(["timelines","direct","unread"])}})(a=Object(m.g)(a=function(a){function e(){for(var c,e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return c=a.call.apply(a,[this].concat(t))||this,Object(r.a)(Object(s.a)(Object(s.a)(c)),"handlePin",function(){var e=c.props,t=e.columnId,n=e.dispatch;n(t?Object(O.h)(t):Object(O.e)("DIRECT",{}))}),Object(r.a)(Object(s.a)(Object(s.a)(c)),"handleMove",function(e){var t=c.props,n=t.columnId;(0,t.dispatch)(Object(O.g)(n,e))}),Object(r.a)(Object(s.a)(Object(s.a)(c)),"handleHeaderClick",function(){c.column.scrollTop()}),Object(r.a)(Object(s.a)(Object(s.a)(c)),"setRef",function(e){c.column=e}),Object(r.a)(Object(s.a)(Object(s.a)(c)),"handleLoadMore",function(e){c.props.dispatch(Object(j.p)({maxId:e}))}),c}Object(i.a)(e,a);var t=e.prototype;return t.componentDidMount=function(){var e=this.props.dispatch;e(Object(j.p)()),this.disconnect=e(Object(C.b)())},t.componentWillUnmount=function(){this.disconnect&&(this.disconnect(),this.disconnect=null)},t.render=function(){var e=this.props,t=e.intl,n=e.hasUnread,c=e.columnId,a=e.multiColumn,i=!!c;return d.a.createElement(h.a,{ref:this.setRef,label:t.formatMessage(_.title)},Object(o.a)(p.a,{icon:"envelope",active:n,title:t.formatMessage(_.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:i,multiColumn:a},void 0,Object(o.a)(y,{})),Object(o.a)(b.a,{trackScroll:!i,scrollKey:"direct_timeline-"+c,timelineId:"direct",onLoadMore:this.handleLoadMore,emptyMessage:Object(o.a)(m.b,{id:"empty_column.direct",defaultMessage:"You don't have any direct messages yet. When you send or receive one, it will show up here."})}))},e}(d.a.PureComponent))||a)||a}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{714:function(e,t,n){"use strict";n.r(t);var c,a,o=n(1),i=n(6),s=n(0),r=n(2),l=n(3),d=n.n(l),u=n(20),b=n(626),h=n(430),p=n(428),j=n(32),O=n(205),m=n(7),f=n(912),g=Object(m.f)({filter_regex:{id:"home.column_settings.filter_regex",defaultMessage:"Filter out by regular expressions"},settings:{id:"home.settings",defaultMessage:"Column settings"}}),v=Object(m.g)(c=function(e){function t(){return e.apply(this,arguments)||this}return Object(i.a)(t,e),t.prototype.render=function(){var e=this.props,t=e.settings,n=e.onChange,c=e.intl;return Object(o.a)("div",{},void 0,Object(o.a)("span",{className:"column-settings__section"},void 0,Object(o.a)(m.b,{id:"home.column_settings.advanced",defaultMessage:"Advanced"})),Object(o.a)("div",{className:"column-settings__row"},void 0,Object(o.a)(f.a,{settings:t,settingPath:["regex","body"],onChange:n,label:c.formatMessage(g.filter_regex)})))},t}(d.a.PureComponent))||c,M=n(84),y=Object(u.connect)(function(e){return{settings:e.getIn(["settings","direct"])}},function(n){return{onChange:function(e,t){n(Object(M.c)(["direct"].concat(e),t))}}})(v),C=n(401);n.d(t,"default",function(){return w});var _=Object(m.f)({title:{id:"column.direct",defaultMessage:"Direct messages"}}),w=Object(u.connect)(function(e){return{hasUnread:0<e.getIn(["timelines","direct","unread"])}})(a=Object(m.g)(a=function(a){function e(){for(var c,e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return c=a.call.apply(a,[this].concat(t))||this,Object(r.a)(Object(s.a)(Object(s.a)(c)),"handlePin",function(){var e=c.props,t=e.columnId,n=e.dispatch;n(t?Object(O.h)(t):Object(O.e)("DIRECT",{}))}),Object(r.a)(Object(s.a)(Object(s.a)(c)),"handleMove",function(e){var t=c.props,n=t.columnId;(0,t.dispatch)(Object(O.g)(n,e))}),Object(r.a)(Object(s.a)(Object(s.a)(c)),"handleHeaderClick",function(){c.column.scrollTop()}),Object(r.a)(Object(s.a)(Object(s.a)(c)),"setRef",function(e){c.column=e}),Object(r.a)(Object(s.a)(Object(s.a)(c)),"handleLoadMore",function(e){c.props.dispatch(Object(j.p)({maxId:e}))}),c}Object(i.a)(e,a);var t=e.prototype;return t.componentDidMount=function(){var e=this.props.dispatch;e(Object(j.p)()),this.disconnect=e(Object(C.b)())},t.componentWillUnmount=function(){this.disconnect&&(this.disconnect(),this.disconnect=null)},t.render=function(){var e=this.props,t=e.intl,n=e.hasUnread,c=e.columnId,a=e.multiColumn,i=!!c;return d.a.createElement(h.a,{ref:this.setRef,label:t.formatMessage(_.title)},Object(o.a)(p.a,{icon:"envelope",active:n,title:t.formatMessage(_.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:i,multiColumn:a},void 0,Object(o.a)(y,{})),Object(o.a)(b.a,{trackScroll:!i,scrollKey:"direct_timeline-"+c,timelineId:"direct",onLoadMore:this.handleLoadMore,emptyMessage:Object(o.a)(m.b,{id:"empty_column.direct",defaultMessage:"You don't have any direct messages yet. When you send or receive one, it will show up here."})}))},e}(d.a.PureComponent))||a)||a}}]); //# sourceMappingURL=direct_timeline.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/direct_timeline.js.map b/priv/static/packs/flavours/glitch/async/direct_timeline.js.map index d730fc964..d1479f7cd 100644 --- a/priv/static/packs/flavours/glitch/async/direct_timeline.js.map +++ b/priv/static/packs/flavours/glitch/async/direct_timeline.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/direct_timeline/components/column_settings.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/direct_timeline/containers/column_settings_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/direct_timeline/index.js"],"names":["messages","defineMessages","filter_regex","id","defaultMessage","settings","ColumnSettings","injectIntl","render","_this$props","this","props","onChange","intl","Object","jsx","className","index_es","setting_text","settingKey","label","formatMessage","React","PureComponent","connect","state","getIn","dispatch","path","checked","changeSetting","concat","title","DirectTimeline","hasUnread","_this","columnId","removeColumn","addColumn","dir","_this$props2","moveColumn","column","scrollTop","c","maxId","expandDirectTimeline","componentDidMount","disconnect","connectDirectStream","componentWillUnmount","_this$props3","multiColumn","pinned","react_default","a","createElement","ref","setRef","column_header","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","column_settings_container","status_list_container","trackScroll","scrollKey","timelineId","onLoadMore","handleLoadMore","emptyMessage"],"mappings":"0NAMMA,EAAWC,YAAe,CAC9BC,aAAY,CAAAC,GAAA,oCAAAC,eAAA,qCACZC,SAAQ,CAAAF,GAAA,gBAAAC,eAAA,qBAIWE,EADpBC,gHASCC,OAAA,WAAU,IAAAC,EAC6BC,KAAKC,MAAlCN,EADAI,EACAJ,SAAUO,EADVH,EACUG,SAAUC,EADpBJ,EACoBI,KAE5B,OACEC,OAAAC,EAAA,EAAAD,CAAA,gBACEA,OAAAC,EAAA,EAAAD,CAAA,QAAME,UAAU,iCAAhB,EAA2CF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBd,GAAG,gCAAgCC,eAAe,cAE/GU,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,6BAAf,EACEF,OAAAC,EAAA,EAAAD,CAACI,EAAA,EAAD,CAAab,SAAUA,EAAUc,WAAY,CAAC,QAAS,QAASP,SAAUA,EAAUQ,MAAOP,EAAKQ,cAAcrB,EAASE,sBAhBrFoB,IAAMC,2BCInCC,oBAZS,SAAAC,GAAK,MAAK,CAChCpB,SAAUoB,EAAMC,MAAM,CAAC,WAAY,aAGV,SAAAC,GAAQ,MAAK,CAEtCf,SAFsC,SAE5BgB,EAAMC,GACdF,EAASG,YAAa,CAAE,UAAFC,OAAeH,GAAOC,OAKjCL,CAA6ClB,kDCJ5D,IAAMN,EAAWC,YAAe,CAC9B+B,MAAK,CAAA7B,GAAA,gBAAAC,eAAA,qBASc6B,EAFpBT,kBAJuB,SAAAC,GAAK,MAAK,CAChCS,UAA4D,EAAjDT,EAAMC,MAAM,CAAC,YAAa,SAAU,gBAIhDnB,qNAWa,WAAM,IAAAE,EACe0B,EAAKxB,MAA5ByB,EADQ3B,EACR2B,SAAUT,EADFlB,EACEkB,SAGhBA,EADES,EACOC,YAAaD,GAEbE,YAAU,SAAU,4DAIpB,SAACC,GAAQ,IAAAC,EACWL,EAAKxB,MAA5ByB,EADYI,EACZJ,UACRT,EAFoBa,EACFb,UACTc,YAAWL,EAAUG,kEAGZ,WAClBJ,EAAKO,OAAOC,+DAiBL,SAAAC,GACPT,EAAKO,OAASE,6DAGC,SAAAC,GACfV,EAAKxB,MAAMgB,SAASmB,YAAqB,CAAED,2DAnB7CE,kBAAA,WAAqB,IACXpB,EAAajB,KAAKC,MAAlBgB,SAERA,EAASmB,eACTpC,KAAKsC,WAAarB,EAASsB,kBAG7BC,qBAAA,WACMxC,KAAKsC,aACPtC,KAAKsC,aACLtC,KAAKsC,WAAa,SAYtBxC,OAAA,WAAU,IAAA2C,EAC2CzC,KAAKC,MAAhDE,EADAsC,EACAtC,KAAMqB,EADNiB,EACMjB,UAAWE,EADjBe,EACiBf,SAAUgB,EAD3BD,EAC2BC,YAC7BC,IAAWjB,EAEjB,OACEkB,EAAAC,EAAAC,cAACd,EAAA,EAAD,CAAQe,IAAK/C,KAAKgD,OAAQtC,MAAOP,EAAKQ,cAAcrB,EAASgC,QAC3DlB,OAAAC,EAAA,EAAAD,CAAC6C,EAAA,EAAD,CACEC,KAAK,WACLC,OAAQ3B,EACRF,MAAOnB,EAAKQ,cAAcrB,EAASgC,OACnC8B,MAAOpD,KAAKqD,UACZC,OAAQtD,KAAKuD,WACbC,QAASxD,KAAKyD,kBACdd,OAAQA,EACRD,YAAaA,QARf,EAUEtC,OAAAC,EAAA,EAAAD,CAACsD,EAAD,KAGFtD,OAAAC,EAAA,EAAAD,CAACuD,EAAA,EAAD,CACEC,aAAcjB,EACdkB,UAAS,mBAAqBnC,EAC9BoC,WAAW,SACXC,WAAY/D,KAAKgE,eACjBC,aAAc7D,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBd,GAAG,sBAAsBC,eAAe,uGA3EtCkB,IAAMC","file":"flavours/glitch/async/direct_timeline.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport SettingText from '../../../components/setting_text';\n\nconst messages = defineMessages({\n filter_regex: { id: 'home.column_settings.filter_regex', defaultMessage: 'Filter out by regular expressions' },\n settings: { id: 'home.settings', defaultMessage: 'Column settings' },\n});\n\n@injectIntl\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n render () {\n const { settings, onChange, intl } = this.props;\n\n return (\n <div>\n <span className='column-settings__section'><FormattedMessage id='home.column_settings.advanced' defaultMessage='Advanced' /></span>\n\n <div className='column-settings__row'>\n <SettingText settings={settings} settingKey={['regex', 'body']} onChange={onChange} label={intl.formatMessage(messages.filter_regex)} />\n </div>\n </div>\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting } from 'flavours/glitch/actions/settings';\n\nconst mapStateToProps = state => ({\n settings: state.getIn(['settings', 'direct']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onChange (path, checked) {\n dispatch(changeSetting(['direct', ...path], checked));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { expandDirectTimeline } from 'flavours/glitch/actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { connectDirectStream } from 'flavours/glitch/actions/streaming';\n\nconst messages = defineMessages({\n title: { id: 'column.direct', defaultMessage: 'Direct messages' },\n});\n\nconst mapStateToProps = state => ({\n hasUnread: state.getIn(['timelines', 'direct', 'unread']) > 0,\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class DirectTimeline extends React.PureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n columnId: PropTypes.string,\n intl: PropTypes.object.isRequired,\n hasUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n };\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('DIRECT', {}));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n componentDidMount () {\n const { dispatch } = this.props;\n\n dispatch(expandDirectTimeline());\n this.disconnect = dispatch(connectDirectStream());\n }\n\n componentWillUnmount () {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n this.props.dispatch(expandDirectTimeline({ maxId }));\n }\n\n render () {\n const { intl, hasUnread, columnId, multiColumn } = this.props;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} label={intl.formatMessage(messages.title)}>\n <ColumnHeader\n icon='envelope'\n active={hasUnread}\n title={intl.formatMessage(messages.title)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n >\n <ColumnSettingsContainer />\n </ColumnHeader>\n\n <StatusListContainer\n trackScroll={!pinned}\n scrollKey={`direct_timeline-${columnId}`}\n timelineId='direct'\n onLoadMore={this.handleLoadMore}\n emptyMessage={<FormattedMessage id='empty_column.direct' defaultMessage=\"You don't have any direct messages yet. When you send or receive one, it will show up here.\" />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/direct_timeline/components/column_settings.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/direct_timeline/containers/column_settings_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/direct_timeline/index.js"],"names":["messages","defineMessages","filter_regex","id","defaultMessage","settings","ColumnSettings","injectIntl","render","_this$props","this","props","onChange","intl","Object","jsx","className","index_es","setting_text","settingPath","label","formatMessage","React","PureComponent","connect","state","getIn","dispatch","path","checked","changeSetting","concat","title","DirectTimeline","hasUnread","_this","columnId","removeColumn","addColumn","dir","_this$props2","moveColumn","column","scrollTop","c","maxId","expandDirectTimeline","componentDidMount","disconnect","connectDirectStream","componentWillUnmount","_this$props3","multiColumn","pinned","react_default","a","createElement","ref","setRef","column_header","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","column_settings_container","status_list_container","trackScroll","scrollKey","timelineId","onLoadMore","handleLoadMore","emptyMessage"],"mappings":"0NAMMA,EAAWC,YAAe,CAC9BC,aAAY,CAAAC,GAAA,oCAAAC,eAAA,qCACZC,SAAQ,CAAAF,GAAA,gBAAAC,eAAA,qBAIWE,EADpBC,gHASCC,OAAA,WAAU,IAAAC,EAC6BC,KAAKC,MAAlCN,EADAI,EACAJ,SAAUO,EADVH,EACUG,SAAUC,EADpBJ,EACoBI,KAE5B,OACEC,OAAAC,EAAA,EAAAD,CAAA,gBACEA,OAAAC,EAAA,EAAAD,CAAA,QAAME,UAAU,iCAAhB,EAA2CF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBd,GAAG,gCAAgCC,eAAe,cAE/GU,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,6BAAf,EACEF,OAAAC,EAAA,EAAAD,CAACI,EAAA,EAAD,CAAab,SAAUA,EAAUc,YAAa,CAAC,QAAS,QAASP,SAAUA,EAAUQ,MAAOP,EAAKQ,cAAcrB,EAASE,sBAhBtFoB,IAAMC,2BCInCC,oBAZS,SAAAC,GAAK,MAAK,CAChCpB,SAAUoB,EAAMC,MAAM,CAAC,WAAY,aAGV,SAAAC,GAAQ,MAAK,CAEtCf,SAFsC,SAE5BgB,EAAMC,GACdF,EAASG,YAAa,CAAE,UAAFC,OAAeH,GAAOC,OAKjCL,CAA6ClB,kDCJ5D,IAAMN,EAAWC,YAAe,CAC9B+B,MAAK,CAAA7B,GAAA,gBAAAC,eAAA,qBASc6B,EAFpBT,kBAJuB,SAAAC,GAAK,MAAK,CAChCS,UAA4D,EAAjDT,EAAMC,MAAM,CAAC,YAAa,SAAU,gBAIhDnB,qNAWa,WAAM,IAAAE,EACe0B,EAAKxB,MAA5ByB,EADQ3B,EACR2B,SAAUT,EADFlB,EACEkB,SAGhBA,EADES,EACOC,YAAaD,GAEbE,YAAU,SAAU,4DAIpB,SAACC,GAAQ,IAAAC,EACWL,EAAKxB,MAA5ByB,EADYI,EACZJ,UACRT,EAFoBa,EACFb,UACTc,YAAWL,EAAUG,kEAGZ,WAClBJ,EAAKO,OAAOC,+DAiBL,SAAAC,GACPT,EAAKO,OAASE,6DAGC,SAAAC,GACfV,EAAKxB,MAAMgB,SAASmB,YAAqB,CAAED,2DAnB7CE,kBAAA,WAAqB,IACXpB,EAAajB,KAAKC,MAAlBgB,SAERA,EAASmB,eACTpC,KAAKsC,WAAarB,EAASsB,kBAG7BC,qBAAA,WACMxC,KAAKsC,aACPtC,KAAKsC,aACLtC,KAAKsC,WAAa,SAYtBxC,OAAA,WAAU,IAAA2C,EAC2CzC,KAAKC,MAAhDE,EADAsC,EACAtC,KAAMqB,EADNiB,EACMjB,UAAWE,EADjBe,EACiBf,SAAUgB,EAD3BD,EAC2BC,YAC7BC,IAAWjB,EAEjB,OACEkB,EAAAC,EAAAC,cAACd,EAAA,EAAD,CAAQe,IAAK/C,KAAKgD,OAAQtC,MAAOP,EAAKQ,cAAcrB,EAASgC,QAC3DlB,OAAAC,EAAA,EAAAD,CAAC6C,EAAA,EAAD,CACEC,KAAK,WACLC,OAAQ3B,EACRF,MAAOnB,EAAKQ,cAAcrB,EAASgC,OACnC8B,MAAOpD,KAAKqD,UACZC,OAAQtD,KAAKuD,WACbC,QAASxD,KAAKyD,kBACdd,OAAQA,EACRD,YAAaA,QARf,EAUEtC,OAAAC,EAAA,EAAAD,CAACsD,EAAD,KAGFtD,OAAAC,EAAA,EAAAD,CAACuD,EAAA,EAAD,CACEC,aAAcjB,EACdkB,UAAS,mBAAqBnC,EAC9BoC,WAAW,SACXC,WAAY/D,KAAKgE,eACjBC,aAAc7D,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBd,GAAG,sBAAsBC,eAAe,uGA3EtCkB,IAAMC","file":"flavours/glitch/async/direct_timeline.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport SettingText from '../../../components/setting_text';\n\nconst messages = defineMessages({\n filter_regex: { id: 'home.column_settings.filter_regex', defaultMessage: 'Filter out by regular expressions' },\n settings: { id: 'home.settings', defaultMessage: 'Column settings' },\n});\n\n@injectIntl\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n render () {\n const { settings, onChange, intl } = this.props;\n\n return (\n <div>\n <span className='column-settings__section'><FormattedMessage id='home.column_settings.advanced' defaultMessage='Advanced' /></span>\n\n <div className='column-settings__row'>\n <SettingText settings={settings} settingPath={['regex', 'body']} onChange={onChange} label={intl.formatMessage(messages.filter_regex)} />\n </div>\n </div>\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting } from 'flavours/glitch/actions/settings';\n\nconst mapStateToProps = state => ({\n settings: state.getIn(['settings', 'direct']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onChange (path, checked) {\n dispatch(changeSetting(['direct', ...path], checked));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { expandDirectTimeline } from 'flavours/glitch/actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { connectDirectStream } from 'flavours/glitch/actions/streaming';\n\nconst messages = defineMessages({\n title: { id: 'column.direct', defaultMessage: 'Direct messages' },\n});\n\nconst mapStateToProps = state => ({\n hasUnread: state.getIn(['timelines', 'direct', 'unread']) > 0,\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class DirectTimeline extends React.PureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n columnId: PropTypes.string,\n intl: PropTypes.object.isRequired,\n hasUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n };\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('DIRECT', {}));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n componentDidMount () {\n const { dispatch } = this.props;\n\n dispatch(expandDirectTimeline());\n this.disconnect = dispatch(connectDirectStream());\n }\n\n componentWillUnmount () {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n this.props.dispatch(expandDirectTimeline({ maxId }));\n }\n\n render () {\n const { intl, hasUnread, columnId, multiColumn } = this.props;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} label={intl.formatMessage(messages.title)}>\n <ColumnHeader\n icon='envelope'\n active={hasUnread}\n title={intl.formatMessage(messages.title)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n >\n <ColumnSettingsContainer />\n </ColumnHeader>\n\n <StatusListContainer\n trackScroll={!pinned}\n scrollKey={`direct_timeline-${columnId}`}\n timelineId='direct'\n onLoadMore={this.handleLoadMore}\n emptyMessage={<FormattedMessage id='empty_column.direct' defaultMessage=\"You don't have any direct messages yet. When you send or receive one, it will show up here.\" />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/domain_blocks.js b/priv/static/packs/flavours/glitch/async/domain_blocks.js index ca4e1a001..43ff0336b 100644 --- a/priv/static/packs/flavours/glitch/async/domain_blocks.js +++ b/priv/static/packs/flavours/glitch/async/domain_blocks.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{706:function(n,e,a){"use strict";a.r(e);var o=a(1),i=a(6),c=a(0),r=a(2),t=a(53),s=a.n(t),d=(a(3),a(20)),u=a(26),l=a.n(u),b=a(5),m=a.n(b),f=a(288),p=a(639),j=a(643);var O,h,g,k,v,y,w=a(159),M=a(7),_=a(46),D=a(24),U=Object(M.f)({unblockDomain:{id:"account.unblock_domain",defaultMessage:"Unhide {domain}"}}),C=Object(M.g)((g=h=function(t){function n(){for(var n,e=arguments.length,a=new Array(e),o=0;o<e;o++)a[o]=arguments[o];return n=t.call.apply(t,[this].concat(a))||this,Object(r.a)(Object(c.a)(Object(c.a)(n)),"handleDomainUnblock",function(){n.props.onUnblockDomain(n.props.domain)}),n}return Object(i.a)(n,t),n.prototype.render=function(){var n=this.props,e=n.domain,a=n.intl;return Object(o.a)("div",{className:"domain"},void 0,Object(o.a)("div",{className:"domain__wrapper"},void 0,Object(o.a)("span",{className:"domain__domain-name"},void 0,Object(o.a)("strong",{},void 0,e)),Object(o.a)("div",{className:"domain__buttons"},void 0,Object(o.a)(_.a,{active:!0,icon:"unlock-alt",title:a.formatMessage(U.unblockDomain,{domain:e}),onClick:this.handleDomainUnblock}))))},n}(D.a),Object(r.a)(h,"propTypes",{domain:m.a.string,onUnblockDomain:m.a.func.isRequired,intl:m.a.object.isRequired}),O=g))||O,R=a(44),q=Object(M.f)({blockDomainConfirm:{id:"confirmations.domain_block.confirm",defaultMessage:"Hide entire domain"}}),N=Object(M.g)(Object(d.connect)(function(){return function(n,e){return function(n){if(null==n)throw new TypeError("Cannot destructure undefined")}(e),{}}},function(e,n){var a=n.intl;return{onBlockDomain:function(n){e(Object(R.d)("CONFIRM",{message:Object(o.a)(M.b,{id:"confirmations.domain_block.message",defaultMessage:"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",values:{domain:Object(o.a)("strong",{},void 0,n)}}),confirm:a.formatMessage(q.blockDomainConfirm),onConfirm:function(){return e(Object(w.e)(n))}}))},onUnblockDomain:function(n){e(Object(w.h)(n))}}})(C)),A=a(648);a.d(e,"default",function(){return L});var I=Object(M.f)({heading:{id:"column.domain_blocks",defaultMessage:"Hidden domains"},unblockDomain:{id:"account.unblock_domain",defaultMessage:"Unhide {domain}"}}),L=Object(d.connect)(function(n){return{domains:n.getIn(["domain_lists","blocks","items"])}})(k=Object(M.g)((y=v=function(t){function n(){for(var n,e=arguments.length,a=new Array(e),o=0;o<e;o++)a[o]=arguments[o];return n=t.call.apply(t,[this].concat(a))||this,Object(r.a)(Object(c.a)(Object(c.a)(n)),"handleLoadMore",s()(function(){n.props.dispatch(Object(w.f)())},300,{leading:!0})),n}Object(i.a)(n,t);var e=n.prototype;return e.componentWillMount=function(){this.props.dispatch(Object(w.g)())},e.render=function(){var n=this.props,e=n.intl,a=n.domains;return a?Object(o.a)(p.a,{icon:"minus-circle",heading:e.formatMessage(I.heading)},void 0,Object(o.a)(j.a,{}),Object(o.a)(A.a,{scrollKey:"domain_blocks",onLoadMore:this.handleLoadMore},void 0,a.map(function(n){return Object(o.a)(N,{domain:n},n)}))):Object(o.a)(p.a,{},void 0,Object(o.a)(f.a,{}))},n}(D.a),Object(r.a)(v,"propTypes",{params:m.a.object.isRequired,dispatch:m.a.func.isRequired,domains:l.a.list,intl:m.a.object.isRequired}),k=y))||k)||k}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{707:function(n,e,a){"use strict";a.r(e);var o=a(1),i=a(6),c=a(0),r=a(2),t=a(54),s=a.n(t),d=(a(3),a(20)),u=a(26),l=a.n(u),b=a(5),m=a.n(b),f=a(290),p=a(640),j=a(644);var O,h,g,k,v,y,w=a(162),M=a(7),_=a(47),D=a(24),U=Object(M.f)({unblockDomain:{id:"account.unblock_domain",defaultMessage:"Unhide {domain}"}}),C=Object(M.g)((g=h=function(t){function n(){for(var n,e=arguments.length,a=new Array(e),o=0;o<e;o++)a[o]=arguments[o];return n=t.call.apply(t,[this].concat(a))||this,Object(r.a)(Object(c.a)(Object(c.a)(n)),"handleDomainUnblock",function(){n.props.onUnblockDomain(n.props.domain)}),n}return Object(i.a)(n,t),n.prototype.render=function(){var n=this.props,e=n.domain,a=n.intl;return Object(o.a)("div",{className:"domain"},void 0,Object(o.a)("div",{className:"domain__wrapper"},void 0,Object(o.a)("span",{className:"domain__domain-name"},void 0,Object(o.a)("strong",{},void 0,e)),Object(o.a)("div",{className:"domain__buttons"},void 0,Object(o.a)(_.a,{active:!0,icon:"unlock",title:a.formatMessage(U.unblockDomain,{domain:e}),onClick:this.handleDomainUnblock}))))},n}(D.a),Object(r.a)(h,"propTypes",{domain:m.a.string,onUnblockDomain:m.a.func.isRequired,intl:m.a.object.isRequired}),O=g))||O,R=a(45),q=Object(M.f)({blockDomainConfirm:{id:"confirmations.domain_block.confirm",defaultMessage:"Hide entire domain"}}),N=Object(M.g)(Object(d.connect)(function(){return function(n,e){return function(n){if(null==n)throw new TypeError("Cannot destructure undefined")}(e),{}}},function(e,n){var a=n.intl;return{onBlockDomain:function(n){e(Object(R.d)("CONFIRM",{message:Object(o.a)(M.b,{id:"confirmations.domain_block.message",defaultMessage:"Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",values:{domain:Object(o.a)("strong",{},void 0,n)}}),confirm:a.formatMessage(q.blockDomainConfirm),onConfirm:function(){return e(Object(w.e)(n))}}))},onUnblockDomain:function(n){e(Object(w.h)(n))}}})(C)),A=a(649);a.d(e,"default",function(){return L});var I=Object(M.f)({heading:{id:"column.domain_blocks",defaultMessage:"Hidden domains"},unblockDomain:{id:"account.unblock_domain",defaultMessage:"Unhide {domain}"}}),L=Object(d.connect)(function(n){return{domains:n.getIn(["domain_lists","blocks","items"])}})(k=Object(M.g)((y=v=function(t){function n(){for(var n,e=arguments.length,a=new Array(e),o=0;o<e;o++)a[o]=arguments[o];return n=t.call.apply(t,[this].concat(a))||this,Object(r.a)(Object(c.a)(Object(c.a)(n)),"handleLoadMore",s()(function(){n.props.dispatch(Object(w.f)())},300,{leading:!0})),n}Object(i.a)(n,t);var e=n.prototype;return e.componentWillMount=function(){this.props.dispatch(Object(w.g)())},e.render=function(){var n=this.props,e=n.intl,a=n.domains;return a?Object(o.a)(p.a,{icon:"minus-circle",heading:e.formatMessage(I.heading)},void 0,Object(o.a)(j.a,{}),Object(o.a)(A.a,{scrollKey:"domain_blocks",onLoadMore:this.handleLoadMore},void 0,a.map(function(n){return Object(o.a)(N,{domain:n},n)}))):Object(o.a)(p.a,{},void 0,Object(o.a)(f.a,{}))},n}(D.a),Object(r.a)(v,"propTypes",{params:m.a.object.isRequired,dispatch:m.a.func.isRequired,domains:l.a.list,intl:m.a.object.isRequired}),k=y))||k)||k}}]); //# sourceMappingURL=domain_blocks.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/domain_blocks.js.map b/priv/static/packs/flavours/glitch/async/domain_blocks.js.map index a382ad2e3..3fec0c4c4 100644 --- a/priv/static/packs/flavours/glitch/async/domain_blocks.js.map +++ b/priv/static/packs/flavours/glitch/async/domain_blocks.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/components/domain.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/containers/domain_container.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/domain_blocks/index.js"],"names":["messages","defineMessages","unblockDomain","id","defaultMessage","Account","injectIntl","_this","props","onUnblockDomain","domain","render","_this$props","this","intl","Object","jsx","className","icon_button","active","icon","title","formatMessage","onClick","handleDomainUnblock","ImmutablePureComponent","PropTypes","string","func","isRequired","object","blockDomainConfirm","connect","state","_ref","obj","TypeError","_objectDestructuringEmpty","dispatch","_ref2","onBlockDomain","openModal","message","index_es","values","confirm","onConfirm","blockDomain","Domain","heading","Blocks","domains","getIn","debounce_default","expandDomainBlocks","leading","componentWillMount","fetchDomainBlocks","column","column_back_button_slim","scrollable_list","scrollKey","onLoadMore","handleLoadMore","map","domain_container","loading_indicator","params","ImmutablePropTypes","list"],"mappings":"8QAMMA,EAAWC,YAAe,CAC9BC,cAAa,CAAAC,GAAA,yBAAAC,eAAA,qBAIMC,EADpBC,kOASuB,WACpBC,EAAKC,MAAMC,gBAAgBF,EAAKC,MAAME,gDAGxCC,OAAA,WAAU,IAAAC,EACiBC,KAAKL,MAAtBE,EADAE,EACAF,OAAQI,EADRF,EACQE,KAEhB,OACEC,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,eAAf,EACEF,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,wBAAf,EACEF,OAAAC,EAAA,EAAAD,CAAA,QAAME,UAAU,4BAAhB,EACEF,OAAAC,EAAA,EAAAD,CAAA,mBAASL,IAGXK,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,wBAAf,EACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAYC,QAAM,EAACC,KAAK,aAAaC,MAAOP,EAAKQ,cAActB,EAASE,cAAe,CAAEQ,WAAWa,QAASV,KAAKW,6BAvBzFC,+BAEhB,CACjBf,OAAQgB,IAAUC,OAClBlB,gBAAiBiB,IAAUE,KAAKC,WAChCf,KAAMY,IAAUI,OAAOD,8BCTrB7B,EAAWC,YAAe,CAC9B8B,mBAAkB,CAAA5B,GAAA,qCAAAC,eAAA,wBAwBLE,cAAW0B,kBArBE,WAI1B,OAHwB,SAACC,EAADC,GAAA,OCZX,SAAmCC,GAChD,GAAW,MAAPA,EAAa,MAAM,IAAIC,UAAU,gCDWbC,CAAAH,GAAiB,KAMhB,SAACI,EAADC,GAAA,IAAazB,EAAbyB,EAAazB,KAAb,MAAyB,CAClD0B,cADkD,SACnC9B,GACb4B,EAASG,YAAU,UAAW,CAC5BC,QAAS3B,OAAAC,EAAA,EAAAD,CAAC4B,EAAA,EAAD,CAAkBxC,GAAG,qCAAqCC,eAAe,iJAAiJwC,OAAQ,CAAElC,OAAQK,OAAAC,EAAA,EAAAD,CAAA,mBAASL,MAC9PmC,QAAS/B,EAAKQ,cAActB,EAAS+B,oBACrCe,UAAW,kBAAMR,EAASS,YAAYrC,SAI1CD,gBATkD,SASjCC,GACf4B,EAASpC,YAAcQ,OAIDsB,CAAiDgB,mDElB3E,IAAMhD,EAAWC,YAAe,CAC9BgD,QAAO,CAAA9C,GAAA,uBAAAC,eAAA,kBACPF,cAAa,CAAAC,GAAA,yBAAAC,eAAA,qBASM8C,EAFpBlB,kBAJuB,SAAAC,GAAK,MAAK,CAChCkB,QAASlB,EAAMmB,MAAM,CAAC,eAAgB,SAAU,eAIjD9C,6NAckB+C,IAAS,WACxB9C,EAAKC,MAAM8B,SAASgB,gBACnB,IAAK,CAAEC,SAAS,mDANnBC,mBAAA,WACE3C,KAAKL,MAAM8B,SAASmB,kBAOtB9C,OAAA,WAAU,IAAAC,EACkBC,KAAKL,MAAvBM,EADAF,EACAE,KAAMqC,EADNvC,EACMuC,QAEd,OAAKA,EASHpC,OAAAC,EAAA,EAAAD,CAAC2C,EAAA,EAAD,CAAQtC,KAAK,eAAe6B,QAASnC,EAAKQ,cAActB,EAASiD,eAAjE,EACElC,OAAAC,EAAA,EAAAD,CAAC4C,EAAA,EAAD,IACA5C,OAAAC,EAAA,EAAAD,CAAC6C,EAAA,EAAD,CAAgBC,UAAU,gBAAgBC,WAAYjD,KAAKkD,qBAA3D,EACGZ,EAAQa,IAAI,SAAAtD,GAAM,OACjBK,OAAAC,EAAA,EAAAD,CAACkD,EAAD,CAA8BvD,OAAQA,GAAhBA,OAX1BK,OAAAC,EAAA,EAAAD,CAAC2C,EAAA,EAAD,UACE3C,OAAAC,EAAA,EAAAD,CAACmD,EAAA,EAAD,SAvB0BzC,+BAEf,CACjB0C,OAAQzC,IAAUI,OAAOD,WACzBS,SAAUZ,IAAUE,KAAKC,WACzBsB,QAASiB,IAAmBC,KAC5BvD,KAAMY,IAAUI,OAAOD","file":"flavours/glitch/async/domain_blocks.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' },\n});\n\n@injectIntl\nexport default class Account extends ImmutablePureComponent {\n\n static propTypes = {\n domain: PropTypes.string,\n onUnblockDomain: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n handleDomainUnblock = () => {\n this.props.onUnblockDomain(this.props.domain);\n }\n\n render () {\n const { domain, intl } = this.props;\n\n return (\n <div className='domain'>\n <div className='domain__wrapper'>\n <span className='domain__domain-name'>\n <strong>{domain}</strong>\n </span>\n\n <div className='domain__buttons'>\n <IconButton active icon='unlock-alt' title={intl.formatMessage(messages.unblockDomain, { domain })} onClick={this.handleDomainUnblock} />\n </div>\n </div>\n </div>\n );\n }\n\n}\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { blockDomain, unblockDomain } from '../actions/domain_blocks';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport Domain from '../components/domain';\nimport { openModal } from '../actions/modal';\n\nconst messages = defineMessages({\n blockDomainConfirm: { id: 'confirmations.domain_block.confirm', defaultMessage: 'Hide entire domain' },\n});\n\nconst makeMapStateToProps = () => {\n const mapStateToProps = (state, { }) => ({\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n onBlockDomain (domain) {\n dispatch(openModal('CONFIRM', {\n message: <FormattedMessage id='confirmations.domain_block.message' defaultMessage='Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.' values={{ domain: <strong>{domain}</strong> }} />,\n confirm: intl.formatMessage(messages.blockDomainConfirm),\n onConfirm: () => dispatch(blockDomain(domain)),\n }));\n },\n\n onUnblockDomain (domain) {\n dispatch(unblockDomain(domain));\n },\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Domain));\n","export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\n}","import React from 'react';\nimport { connect } from 'react-redux';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport Column from '../ui/components/column';\nimport ColumnBackButtonSlim from '../../components/column_back_button_slim';\nimport DomainContainer from '../../containers/domain_container';\nimport { fetchDomainBlocks, expandDomainBlocks } from '../../actions/domain_blocks';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { debounce } from 'lodash';\nimport ScrollableList from '../../components/scrollable_list';\n\nconst messages = defineMessages({\n heading: { id: 'column.domain_blocks', defaultMessage: 'Hidden domains' },\n unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' },\n});\n\nconst mapStateToProps = state => ({\n domains: state.getIn(['domain_lists', 'blocks', 'items']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Blocks extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n domains: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchDomainBlocks());\n }\n\n handleLoadMore = debounce(() => {\n this.props.dispatch(expandDomainBlocks());\n }, 300, { leading: true });\n\n render () {\n const { intl, domains } = this.props;\n\n if (!domains) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column icon='minus-circle' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n <ScrollableList scrollKey='domain_blocks' onLoadMore={this.handleLoadMore}>\n {domains.map(domain =>\n <DomainContainer key={domain} domain={domain} />\n )}\n </ScrollableList>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/components/domain.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/containers/domain_container.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/domain_blocks/index.js"],"names":["messages","defineMessages","unblockDomain","id","defaultMessage","Account","injectIntl","_this","props","onUnblockDomain","domain","render","_this$props","this","intl","Object","jsx","className","icon_button","active","icon","title","formatMessage","onClick","handleDomainUnblock","ImmutablePureComponent","PropTypes","string","func","isRequired","object","blockDomainConfirm","connect","state","_ref","obj","TypeError","_objectDestructuringEmpty","dispatch","_ref2","onBlockDomain","openModal","message","index_es","values","confirm","onConfirm","blockDomain","Domain","heading","Blocks","domains","getIn","debounce_default","expandDomainBlocks","leading","componentWillMount","fetchDomainBlocks","column","column_back_button_slim","scrollable_list","scrollKey","onLoadMore","handleLoadMore","map","domain_container","loading_indicator","params","ImmutablePropTypes","list"],"mappings":"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","file":"flavours/glitch/async/domain_blocks.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' },\n});\n\n@injectIntl\nexport default class Account extends ImmutablePureComponent {\n\n static propTypes = {\n domain: PropTypes.string,\n onUnblockDomain: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n handleDomainUnblock = () => {\n this.props.onUnblockDomain(this.props.domain);\n }\n\n render () {\n const { domain, intl } = this.props;\n\n return (\n <div className='domain'>\n <div className='domain__wrapper'>\n <span className='domain__domain-name'>\n <strong>{domain}</strong>\n </span>\n\n <div className='domain__buttons'>\n <IconButton active icon='unlock' title={intl.formatMessage(messages.unblockDomain, { domain })} onClick={this.handleDomainUnblock} />\n </div>\n </div>\n </div>\n );\n }\n\n}\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { blockDomain, unblockDomain } from '../actions/domain_blocks';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport Domain from '../components/domain';\nimport { openModal } from '../actions/modal';\n\nconst messages = defineMessages({\n blockDomainConfirm: { id: 'confirmations.domain_block.confirm', defaultMessage: 'Hide entire domain' },\n});\n\nconst makeMapStateToProps = () => {\n const mapStateToProps = (state, { }) => ({\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n onBlockDomain (domain) {\n dispatch(openModal('CONFIRM', {\n message: <FormattedMessage id='confirmations.domain_block.message' defaultMessage='Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.' values={{ domain: <strong>{domain}</strong> }} />,\n confirm: intl.formatMessage(messages.blockDomainConfirm),\n onConfirm: () => dispatch(blockDomain(domain)),\n }));\n },\n\n onUnblockDomain (domain) {\n dispatch(unblockDomain(domain));\n },\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Domain));\n","export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\n}","import React from 'react';\nimport { connect } from 'react-redux';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport LoadingIndicator from '../../components/loading_indicator';\nimport Column from '../ui/components/column';\nimport ColumnBackButtonSlim from '../../components/column_back_button_slim';\nimport DomainContainer from '../../containers/domain_container';\nimport { fetchDomainBlocks, expandDomainBlocks } from '../../actions/domain_blocks';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { debounce } from 'lodash';\nimport ScrollableList from '../../components/scrollable_list';\n\nconst messages = defineMessages({\n heading: { id: 'column.domain_blocks', defaultMessage: 'Hidden domains' },\n unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' },\n});\n\nconst mapStateToProps = state => ({\n domains: state.getIn(['domain_lists', 'blocks', 'items']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Blocks extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n domains: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchDomainBlocks());\n }\n\n handleLoadMore = debounce(() => {\n this.props.dispatch(expandDomainBlocks());\n }, 300, { leading: true });\n\n render () {\n const { intl, domains } = this.props;\n\n if (!domains) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column icon='minus-circle' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n <ScrollableList scrollKey='domain_blocks' onLoadMore={this.handleLoadMore}>\n {domains.map(domain =>\n <DomainContainer key={domain} domain={domain} />\n )}\n </ScrollableList>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/drawer.js b/priv/static/packs/flavours/glitch/async/drawer.js index e09473657..25a53361c 100644 --- a/priv/static/packs/flavours/glitch/async/drawer.js +++ b/priv/static/packs/flavours/glitch/async/drawer.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{704:function(e,t,a){"use strict";a.r(t);var j=a(1),i=a(6),n=a(3),c=a.n(n),r=a(7),s=a(12),h=a.n(s),o=a(44),l=a(87),p=a(653),_=a(948),u=a(386),d=a(204),b=a(95),g=a(138),m=Object(r.f)({community:{id:"navigation_bar.community_timeline",defaultMessage:"Local timeline"},home_timeline:{id:"tabs_bar.home",defaultMessage:"Home"},logout:{id:"navigation_bar.logout",defaultMessage:"Logout"},notifications:{id:"tabs_bar.notifications",defaultMessage:"Notifications"},public:{id:"navigation_bar.public_timeline",defaultMessage:"Federated timeline"},settings:{id:"navigation_bar.app_settings",defaultMessage:"App settings"},start:{id:"getting_started.heading",defaultMessage:"Getting started"}});function M(e){var a=e.columns,t=e.unreadNotifications,i=e.showNotificationsBadge,n=e.intl,s=e.onSettingsClick,o=b.b.bind(null,function(t){return!a||!a.some(function(e){return e.get("id")===t})});return Object(j.a)("nav",{className:"drawer--header"},void 0,Object(j.a)(u.a,{"aria-label":n.formatMessage(m.start),title:n.formatMessage(m.start),to:"/getting-started"},void 0,Object(j.a)(d.a,{icon:"asterisk"})),o("HOME",Object(j.a)(u.a,{"aria-label":n.formatMessage(m.home_timeline),title:n.formatMessage(m.home_timeline),to:"/timelines/home"},void 0,Object(j.a)(d.a,{icon:"home"}))),o("NOTIFICATIONS",Object(j.a)(u.a,{"aria-label":n.formatMessage(m.notifications),title:n.formatMessage(m.notifications),to:"/notifications"},void 0,Object(j.a)("span",{className:"icon-badge-wrapper"},void 0,Object(j.a)(d.a,{icon:"bell"}),i&&0<t&&Object(j.a)("div",{className:"icon-badge"})))),o("COMMUNITY",Object(j.a)(u.a,{"aria-label":n.formatMessage(m.community),title:n.formatMessage(m.community),to:"/timelines/public/local"},void 0,Object(j.a)(d.a,{icon:"users"}))),o("PUBLIC",Object(j.a)(u.a,{"aria-label":n.formatMessage(m.public),title:n.formatMessage(m.public),to:"/timelines/public"},void 0,Object(j.a)(d.a,{icon:"globe"}))),Object(j.a)("a",{"aria-label":n.formatMessage(m.settings),onClick:s,href:"#",title:n.formatMessage(m.settings)},void 0,Object(j.a)(d.a,{icon:"cogs"})),Object(j.a)("a",{"aria-label":n.formatMessage(m.logout),"data-method":"delete",href:g.d,title:n.formatMessage(m.logout)},void 0,Object(j.a)(d.a,{icon:"sign-out"})))}var f=a(32),O=a(45),v=a.n(O),N=a(624),w=a(632),C=a(949),y=a(319),I=function(e){return e<1e3?Object(j.a)(r.c,{value:e}):Object(j.a)(n.Fragment,{},void 0,Object(j.a)(r.c,{value:e/1e3,maximumFractionDigits:1}),"K")},S=function(e){var t=e.hashtag;return Object(j.a)("div",{className:"trends__item"},void 0,Object(j.a)("div",{className:"trends__item__name"},void 0,Object(j.a)(y.a,{href:t.get("url"),to:"/timelines/tag/"+t.get("name")},void 0,"#",Object(j.a)("span",{},void 0,t.get("name"))),Object(j.a)(r.b,{id:"trends.count_by_accounts",defaultMessage:"{count} {rawCount, plural, one {person} other {people}} talking",values:{rawCount:t.getIn(["history",0,"accounts"]),count:Object(j.a)("strong",{},void 0,I(t.getIn(["history",0,"accounts"])))}})),Object(j.a)("div",{className:"trends__item__current"},void 0,I(t.getIn(["history",0,"uses"]))),Object(j.a)("div",{className:"trends__item__sparkline"},void 0,Object(j.a)(C.Sparklines,{width:50,height:28,data:t.get("history")&&t.get("history").reverse().map(function(e){return e.get("uses")}).toArray()},void 0,Object(j.a)(C.SparklinesCurve,{style:{fill:"none"}}))))},k=a(107),T=Object(r.f)({total:{id:"search_results.total",defaultMessage:"{count, number} {count, plural, one {result} other {results}}"}});function z(e){var t=e.results,a=e.visible,i=t?t.get("accounts"):null,n=t?t.get("statuses"):null,s=t?t.get("hashtags"):null,o=[i,n,s].reduce(function(e,t){return t&&t.size?e+t.size:e},0);return Object(j.a)(k.a,{defaultStyle:{x:-100},style:{x:v()(a?0:-100,{stiffness:210,damping:20})}},void 0,function(e){var t=e.x;return Object(j.a)("div",{className:"drawer--results",style:{transform:"translateX("+t+"%)",visibility:-100===t?"hidden":"visible"}},void 0,Object(j.a)("header",{},void 0,c.a.createElement(r.b,Object(f.a)({},T.total,{values:{count:o}}))),i&&i.size?Object(j.a)("section",{},void 0,Object(j.a)("h5",{},void 0,Object(j.a)(r.b,{id:"search_results.accounts",defaultMessage:"People"})),i.map(function(e){return Object(j.a)(N.a,{id:e},e)})):null,n&&n.size?Object(j.a)("section",{},void 0,Object(j.a)("h5",{},void 0,Object(j.a)(r.b,{id:"search_results.statuses",defaultMessage:"Toots"})),n.map(function(e){return Object(j.a)(w.a,{id:e},e)})):null,s&&s.size?Object(j.a)("section",{},void 0,Object(j.a)("h5",{},void 0,Object(j.a)(r.b,{id:"search_results.hashtags",defaultMessage:"Hashtags"})),s.map(function(e){return Object(j.a)(S,{hashtag:e},e.get("name"))})):null)})}var B=a(971),H=a(30),x=a(650);a.d(t,"WrappedComponent",function(){return P});var F=Object(r.f)({compose:{id:"navigation_bar.compose",defaultMessage:"Compose new toot"}}),P=function(t){function e(e){return t.call(this,e)||this}return Object(i.a)(e,t),e.prototype.render=function(){var e=this.props,t=e.account,a=e.columns,i=e.intl,n=e.multiColumn,s=e.onChange,o=e.onClear,c=e.onOpenSettings,r=e.onShow,l=e.onSubmit,u=e.results,d=e.searchHidden,b=e.searchValue,g=e.submitted,m=e.isSearchPage,f=e.unreadNotifications,O=e.showNotificationsBadge,v=h()("drawer","mbstobon");return Object(j.a)("div",{className:v,role:"region","aria-label":i.formatMessage(F.compose)},void 0,n?Object(j.a)(M,{columns:a,unreadNotifications:f,showNotificationsBadge:O,intl:i,onSettingsClick:c}):null,(n||m)&&Object(j.a)(B.a,{intl:i,onChange:s,onClear:o,onShow:r,onSubmit:l,submitted:g,value:b}),Object(j.a)("div",{className:"drawer__pager"},void 0,!m&&Object(j.a)("div",{className:"drawer__inner"},void 0,Object(j.a)(_.a,{account:t}),Object(j.a)(p.b,{}),n&&H.j&&Object(j.a)("div",{className:"drawer__inner__mastodon"},void 0,Object(j.a)("img",{alt:"",draggable:"false",src:H.j}))),(n||m)&&Object(j.a)(z,{results:u,visible:g&&!d})))},e}(c.a.Component);t.default=Object(x.a)(P,function(e){return{account:e.getIn(["accounts",H.l]),columns:e.getIn(["settings","columns"]),results:e.getIn(["search","results"]),searchHidden:e.getIn(["search","hidden"]),searchValue:e.getIn(["search","value"]),submitted:e.getIn(["search","submitted"]),unreadNotifications:e.getIn(["notifications","unread"]),showNotificationsBadge:e.getIn(["local_settings","notifications","tab_badge"])}},function(t,e){e.intl;return{onChange:function(e){t(Object(l.e)(e))},onClear:function(){t(Object(l.f)())},onShow:function(){t(Object(l.g)())},onSubmit:function(){t(Object(l.h)())},onOpenSettings:function(e){e.preventDefault(),e.stopPropagation(),t(Object(o.d)("SETTINGS",{}))}}},!0)}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{705:function(e,t,a){"use strict";a.r(t);var j=a(1),i=a(6),n=a(3),c=a.n(n),r=a(7),s=a(12),h=a.n(s),o=a(45),l=a(89),p=a(654),_=a(949),u=a(388),d=a(207),b=a(96),g=a(139),m=Object(r.f)({community:{id:"navigation_bar.community_timeline",defaultMessage:"Local timeline"},home_timeline:{id:"tabs_bar.home",defaultMessage:"Home"},logout:{id:"navigation_bar.logout",defaultMessage:"Logout"},notifications:{id:"tabs_bar.notifications",defaultMessage:"Notifications"},public:{id:"navigation_bar.public_timeline",defaultMessage:"Federated timeline"},settings:{id:"navigation_bar.app_settings",defaultMessage:"App settings"},start:{id:"getting_started.heading",defaultMessage:"Getting started"}});function M(e){var a=e.columns,t=e.unreadNotifications,i=e.showNotificationsBadge,n=e.intl,s=e.onSettingsClick,o=b.b.bind(null,function(t){return!a||!a.some(function(e){return e.get("id")===t})});return Object(j.a)("nav",{className:"drawer--header"},void 0,Object(j.a)(u.a,{"aria-label":n.formatMessage(m.start),title:n.formatMessage(m.start),to:"/getting-started"},void 0,Object(j.a)(d.a,{icon:"asterisk"})),o("HOME",Object(j.a)(u.a,{"aria-label":n.formatMessage(m.home_timeline),title:n.formatMessage(m.home_timeline),to:"/timelines/home"},void 0,Object(j.a)(d.a,{icon:"home"}))),o("NOTIFICATIONS",Object(j.a)(u.a,{"aria-label":n.formatMessage(m.notifications),title:n.formatMessage(m.notifications),to:"/notifications"},void 0,Object(j.a)("span",{className:"icon-badge-wrapper"},void 0,Object(j.a)(d.a,{icon:"bell"}),i&&0<t&&Object(j.a)("div",{className:"icon-badge"})))),o("COMMUNITY",Object(j.a)(u.a,{"aria-label":n.formatMessage(m.community),title:n.formatMessage(m.community),to:"/timelines/public/local"},void 0,Object(j.a)(d.a,{icon:"users"}))),o("PUBLIC",Object(j.a)(u.a,{"aria-label":n.formatMessage(m.public),title:n.formatMessage(m.public),to:"/timelines/public"},void 0,Object(j.a)(d.a,{icon:"globe"}))),Object(j.a)("a",{"aria-label":n.formatMessage(m.settings),onClick:s,href:"#",title:n.formatMessage(m.settings)},void 0,Object(j.a)(d.a,{icon:"cogs"})),Object(j.a)("a",{"aria-label":n.formatMessage(m.logout),"data-method":"delete",href:g.d,title:n.formatMessage(m.logout)},void 0,Object(j.a)(d.a,{icon:"sign-out"})))}var f=a(30),O=a(46),v=a.n(O),N=a(625),w=a(633),C=a(950),y=a(321),I=function(e){return e<1e3?Object(j.a)(r.c,{value:e}):Object(j.a)(n.Fragment,{},void 0,Object(j.a)(r.c,{value:e/1e3,maximumFractionDigits:1}),"K")},S=function(e){var t=e.hashtag;return Object(j.a)("div",{className:"trends__item"},void 0,Object(j.a)("div",{className:"trends__item__name"},void 0,Object(j.a)(y.a,{href:t.get("url"),to:"/timelines/tag/"+t.get("name")},void 0,"#",Object(j.a)("span",{},void 0,t.get("name"))),Object(j.a)(r.b,{id:"trends.count_by_accounts",defaultMessage:"{count} {rawCount, plural, one {person} other {people}} talking",values:{rawCount:t.getIn(["history",0,"accounts"]),count:Object(j.a)("strong",{},void 0,I(t.getIn(["history",0,"accounts"])))}})),Object(j.a)("div",{className:"trends__item__current"},void 0,I(t.getIn(["history",0,"uses"]))),Object(j.a)("div",{className:"trends__item__sparkline"},void 0,Object(j.a)(C.Sparklines,{width:50,height:28,data:t.get("history")&&t.get("history").reverse().map(function(e){return e.get("uses")}).toArray()},void 0,Object(j.a)(C.SparklinesCurve,{style:{fill:"none"}}))))},k=a(108),T=Object(r.f)({total:{id:"search_results.total",defaultMessage:"{count, number} {count, plural, one {result} other {results}}"}});function z(e){var t=e.results,a=e.visible,i=t?t.get("accounts"):null,n=t?t.get("statuses"):null,s=t?t.get("hashtags"):null,o=[i,n,s].reduce(function(e,t){return t&&t.size?e+t.size:e},0);return Object(j.a)(k.a,{defaultStyle:{x:-100},style:{x:v()(a?0:-100,{stiffness:210,damping:20})}},void 0,function(e){var t=e.x;return Object(j.a)("div",{className:"drawer--results",style:{transform:"translateX("+t+"%)",visibility:-100===t?"hidden":"visible"}},void 0,Object(j.a)("header",{},void 0,c.a.createElement(r.b,Object(f.a)({},T.total,{values:{count:o}}))),i&&i.size?Object(j.a)("section",{},void 0,Object(j.a)("h5",{},void 0,Object(j.a)(r.b,{id:"search_results.accounts",defaultMessage:"People"})),i.map(function(e){return Object(j.a)(N.a,{id:e},e)})):null,n&&n.size?Object(j.a)("section",{},void 0,Object(j.a)("h5",{},void 0,Object(j.a)(r.b,{id:"search_results.statuses",defaultMessage:"Toots"})),n.map(function(e){return Object(j.a)(w.a,{id:e},e)})):null,s&&s.size?Object(j.a)("section",{},void 0,Object(j.a)("h5",{},void 0,Object(j.a)(r.b,{id:"search_results.hashtags",defaultMessage:"Hashtags"})),s.map(function(e){return Object(j.a)(S,{hashtag:e},e.get("name"))})):null)})}var B=a(972),H=a(31),x=a(651);a.d(t,"WrappedComponent",function(){return P});var F=Object(r.f)({compose:{id:"navigation_bar.compose",defaultMessage:"Compose new toot"}}),P=function(t){function e(e){return t.call(this,e)||this}return Object(i.a)(e,t),e.prototype.render=function(){var e=this.props,t=e.account,a=e.columns,i=e.intl,n=e.multiColumn,s=e.onChange,o=e.onClear,c=e.onOpenSettings,r=e.onShow,l=e.onSubmit,u=e.results,d=e.searchHidden,b=e.searchValue,g=e.submitted,m=e.isSearchPage,f=e.unreadNotifications,O=e.showNotificationsBadge,v=h()("drawer","mbstobon");return Object(j.a)("div",{className:v,role:"region","aria-label":i.formatMessage(F.compose)},void 0,n?Object(j.a)(M,{columns:a,unreadNotifications:f,showNotificationsBadge:O,intl:i,onSettingsClick:c}):null,(n||m)&&Object(j.a)(B.a,{intl:i,onChange:s,onClear:o,onShow:r,onSubmit:l,submitted:g,value:b}),Object(j.a)("div",{className:"drawer__pager"},void 0,!m&&Object(j.a)("div",{className:"drawer__inner"},void 0,Object(j.a)(_.a,{account:t}),Object(j.a)(p.b,{}),n&&H.i&&Object(j.a)("div",{className:"drawer__inner__mastodon"},void 0,Object(j.a)("img",{alt:"",draggable:"false",src:H.i}))),(n||m)&&Object(j.a)(z,{results:u,visible:g&&!d})))},e}(c.a.Component);t.default=Object(x.a)(P,function(e){return{account:e.getIn(["accounts",H.k]),columns:e.getIn(["settings","columns"]),results:e.getIn(["search","results"]),searchHidden:e.getIn(["search","hidden"]),searchValue:e.getIn(["search","value"]),submitted:e.getIn(["search","submitted"]),unreadNotifications:e.getIn(["notifications","unread"]),showNotificationsBadge:e.getIn(["local_settings","notifications","tab_badge"])}},function(t,e){e.intl;return{onChange:function(e){t(Object(l.e)(e))},onClear:function(){t(Object(l.f)())},onShow:function(){t(Object(l.g)())},onSubmit:function(){t(Object(l.h)())},onOpenSettings:function(e){e.preventDefault(),e.stopPropagation(),t(Object(o.d)("SETTINGS",{}))}}},!0)}}]); //# sourceMappingURL=drawer.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/drawer.js.map b/priv/static/packs/flavours/glitch/async/drawer.js.map index 77f3b9da7..4cc82d1d2 100644 --- a/priv/static/packs/flavours/glitch/async/drawer.js.map +++ b/priv/static/packs/flavours/glitch/async/drawer.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/drawer/header/index.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/util/numbers.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/components/hashtag.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/drawer/results/index.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/drawer/index.js"],"names":["messages","defineMessages","community","id","defaultMessage","home_timeline","logout","notifications","public","settings","start","DrawerHeader","_ref","columns","unreadNotifications","showNotificationsBadge","intl","onSettingsClick","renderForColumn","conditionalRender","bind","columnId","some","column","get","Object","jsx","className","Link","aria-label","formatMessage","title","to","icon","onClick","href","data-method","signOutLink","shortNumberFormat","number","index_es","value","react","maximumFractionDigits","Hashtag","hashtag","permalink","values","rawCount","getIn","count","build","width","height","data","reverse","map","day","toArray","style","fill","total","DrawerResults","results","visible","accounts","statuses","hashtags","reduce","size","item","optional_motion","defaultStyle","x","spring","stiffness","damping","_ref2","transform","visibility","react_default","a","createElement","esm_extends","accountId","account_container","statusId","status_container","components_hashtag","compose","Drawer","props","_React$Component","call","this","render","_this$props","account","multiColumn","onChange","onClear","onOpenSettings","onShow","onSubmit","searchHidden","searchValue","submitted","isSearchPage","computedClass","classNames","role","drawer_search","drawer_account","composer","mascot","alt","draggable","src","React","Component","wrap","state","me","dispatch","changeSearch","clearSearch","showSearch","submitSearch","e","preventDefault","stopPropagation","openModal"],"mappings":"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","file":"flavours/glitch/async/drawer.js","sourcesContent":["// Package imports.\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\n// Components.\nimport Icon from 'flavours/glitch/components/icon';\n\n// Utils.\nimport { conditionalRender } from 'flavours/glitch/util/react_helpers';\nimport { signOutLink } from 'flavours/glitch/util/backend_links';\n\n// Messages.\nconst messages = defineMessages({\n community: {\n defaultMessage: 'Local timeline',\n id: 'navigation_bar.community_timeline',\n },\n home_timeline: {\n defaultMessage: 'Home',\n id: 'tabs_bar.home',\n },\n logout: {\n defaultMessage: 'Logout',\n id: 'navigation_bar.logout',\n },\n notifications: {\n defaultMessage: 'Notifications',\n id: 'tabs_bar.notifications',\n },\n public: {\n defaultMessage: 'Federated timeline',\n id: 'navigation_bar.public_timeline',\n },\n settings: {\n defaultMessage: 'App settings',\n id: 'navigation_bar.app_settings',\n },\n start: {\n defaultMessage: 'Getting started',\n id: 'getting_started.heading',\n },\n});\n\n// The component.\nexport default function DrawerHeader ({\n columns,\n unreadNotifications,\n showNotificationsBadge,\n intl,\n onSettingsClick,\n}) {\n\n // Only renders the component if the column isn't being shown.\n const renderForColumn = conditionalRender.bind(null,\n columnId => !columns || !columns.some(\n column => column.get('id') === columnId\n )\n );\n\n // The result.\n return (\n <nav className='drawer--header'>\n <Link\n aria-label={intl.formatMessage(messages.start)}\n title={intl.formatMessage(messages.start)}\n to='/getting-started'\n ><Icon icon='asterisk' /></Link>\n {renderForColumn('HOME', (\n <Link\n aria-label={intl.formatMessage(messages.home_timeline)}\n title={intl.formatMessage(messages.home_timeline)}\n to='/timelines/home'\n ><Icon icon='home' /></Link>\n ))}\n {renderForColumn('NOTIFICATIONS', (\n <Link\n aria-label={intl.formatMessage(messages.notifications)}\n title={intl.formatMessage(messages.notifications)}\n to='/notifications'\n >\n <span className='icon-badge-wrapper'>\n <Icon icon='bell' />\n { showNotificationsBadge && unreadNotifications > 0 && <div className='icon-badge' />}\n </span>\n </Link>\n ))}\n {renderForColumn('COMMUNITY', (\n <Link\n aria-label={intl.formatMessage(messages.community)}\n title={intl.formatMessage(messages.community)}\n to='/timelines/public/local'\n ><Icon icon='users' /></Link>\n ))}\n {renderForColumn('PUBLIC', (\n <Link\n aria-label={intl.formatMessage(messages.public)}\n title={intl.formatMessage(messages.public)}\n to='/timelines/public'\n ><Icon icon='globe' /></Link>\n ))}\n <a\n aria-label={intl.formatMessage(messages.settings)}\n onClick={onSettingsClick}\n href='#'\n title={intl.formatMessage(messages.settings)}\n ><Icon icon='cogs' /></a>\n <a\n aria-label={intl.formatMessage(messages.logout)}\n data-method='delete'\n href={ signOutLink }\n title={intl.formatMessage(messages.logout)}\n ><Icon icon='sign-out' /></a>\n </nav>\n );\n}\n\n// Props.\nDrawerHeader.propTypes = {\n columns: ImmutablePropTypes.list,\n unreadNotifications: PropTypes.number,\n showNotificationsBadge: PropTypes.bool,\n intl: PropTypes.object,\n onSettingsClick: PropTypes.func,\n};\n","import React, { Fragment } from 'react';\nimport { FormattedNumber } from 'react-intl';\n\nexport const shortNumberFormat = number => {\n if (number < 1000) {\n return <FormattedNumber value={number} />;\n } else {\n return <Fragment><FormattedNumber value={number / 1000} maximumFractionDigits={1} />K</Fragment>;\n }\n};\n","import React from 'react';\nimport { Sparklines, SparklinesCurve } from 'react-sparklines';\nimport { FormattedMessage } from 'react-intl';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Permalink from './permalink';\nimport { shortNumberFormat } from 'flavours/glitch/util/numbers';\n\nconst Hashtag = ({ hashtag }) => (\n <div className='trends__item'>\n <div className='trends__item__name'>\n <Permalink href={hashtag.get('url')} to={`/timelines/tag/${hashtag.get('name')}`}>\n #<span>{hashtag.get('name')}</span>\n </Permalink>\n\n <FormattedMessage id='trends.count_by_accounts' defaultMessage='{count} {rawCount, plural, one {person} other {people}} talking' values={{ rawCount: hashtag.getIn(['history', 0, 'accounts']), count: <strong>{shortNumberFormat(hashtag.getIn(['history', 0, 'accounts']))}</strong> }} />\n </div>\n\n <div className='trends__item__current'>\n {shortNumberFormat(hashtag.getIn(['history', 0, 'uses']))}\n </div>\n\n <div className='trends__item__sparkline'>\n <Sparklines width={50} height={28} data={hashtag.get('history') && hashtag.get('history').reverse().map(day => day.get('uses')).toArray()}>\n <SparklinesCurve style={{ fill: 'none' }} />\n </Sparklines>\n </div>\n </div>\n);\n\nHashtag.propTypes = {\n hashtag: ImmutablePropTypes.map.isRequired,\n};\n\nexport default Hashtag;\n","// Package imports.\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport {\n FormattedMessage,\n defineMessages,\n} from 'react-intl';\nimport spring from 'react-motion/lib/spring';\nimport { Link } from 'react-router-dom';\n\n// Components.\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport StatusContainer from 'flavours/glitch/containers/status_container';\nimport Hashtag from 'flavours/glitch/components/hashtag';\n\n// Utils.\nimport Motion from 'flavours/glitch/util/optional_motion';\n\n// Messages.\nconst messages = defineMessages({\n total: {\n defaultMessage: '{count, number} {count, plural, one {result} other {results}}',\n id: 'search_results.total',\n },\n});\n\n// The component.\nexport default function DrawerResults ({\n results,\n visible,\n}) {\n const accounts = results ? results.get('accounts') : null;\n const statuses = results ? results.get('statuses') : null;\n const hashtags = results ? results.get('hashtags') : null;\n\n // This gets the total number of items.\n const count = [accounts, statuses, hashtags].reduce(function (size, item) {\n if (item && item.size) {\n return size + item.size;\n }\n return size;\n }, 0);\n\n // The result.\n return (\n <Motion\n defaultStyle={{ x: -100 }}\n style={{\n x: spring(visible ? 0 : -100, {\n stiffness: 210,\n damping: 20,\n }),\n }}\n >\n {({ x }) => (\n <div\n className='drawer--results'\n style={{\n transform: `translateX(${x}%)`,\n visibility: x === -100 ? 'hidden' : 'visible',\n }}\n >\n <header>\n <FormattedMessage\n {...messages.total}\n values={{ count }}\n />\n </header>\n {accounts && accounts.size ? (\n <section>\n <h5><FormattedMessage id='search_results.accounts' defaultMessage='People' /></h5>\n\n {accounts.map(\n accountId => (\n <AccountContainer\n id={accountId}\n key={accountId}\n />\n )\n )}\n </section>\n ) : null}\n {statuses && statuses.size ? (\n <section>\n <h5><FormattedMessage id='search_results.statuses' defaultMessage='Toots' /></h5>\n\n {statuses.map(\n statusId => (\n <StatusContainer\n id={statusId}\n key={statusId}\n />\n )\n )}\n </section>\n ) : null}\n {hashtags && hashtags.size ? (\n <section>\n <h5><FormattedMessage id='search_results.hashtags' defaultMessage='Hashtags' /></h5>\n\n {hashtags.map(hashtag => <Hashtag key={hashtag.get('name')} hashtag={hashtag} />)}\n </section>\n ) : null}\n </div>\n )}\n </Motion>\n );\n}\n\n// Props.\nDrawerResults.propTypes = {\n results: ImmutablePropTypes.map,\n visible: PropTypes.bool,\n};\n","// Package imports.\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages } from 'react-intl';\nimport classNames from 'classnames';\n\n// Actions.\nimport { openModal } from 'flavours/glitch/actions/modal';\nimport {\n changeSearch,\n clearSearch,\n showSearch,\n submitSearch,\n} from 'flavours/glitch/actions/search';\n\n// Components.\nimport Composer from 'flavours/glitch/features/composer';\nimport DrawerAccount from './account';\nimport DrawerHeader from './header';\nimport DrawerResults from './results';\nimport DrawerSearch from './search';\n\n// Utils.\nimport { me, mascot } from 'flavours/glitch/util/initial_state';\nimport { wrap } from 'flavours/glitch/util/redux_helpers';\n\n// Messages.\nconst messages = defineMessages({\n compose: { id: 'navigation_bar.compose', defaultMessage: 'Compose new toot' },\n});\n\n// State mapping.\nconst mapStateToProps = state => ({\n account: state.getIn(['accounts', me]),\n columns: state.getIn(['settings', 'columns']),\n results: state.getIn(['search', 'results']),\n searchHidden: state.getIn(['search', 'hidden']),\n searchValue: state.getIn(['search', 'value']),\n submitted: state.getIn(['search', 'submitted']),\n unreadNotifications: state.getIn(['notifications', 'unread']),\n showNotificationsBadge: state.getIn(['local_settings', 'notifications', 'tab_badge']),\n});\n\n// Dispatch mapping.\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n onChange (value) {\n dispatch(changeSearch(value));\n },\n onClear () {\n dispatch(clearSearch());\n },\n onShow () {\n dispatch(showSearch());\n },\n onSubmit () {\n dispatch(submitSearch());\n },\n onOpenSettings (e) {\n e.preventDefault();\n e.stopPropagation();\n dispatch(openModal('SETTINGS', {}));\n },\n});\n\n// The component.\nclass Drawer extends React.Component {\n\n // Constructor.\n constructor (props) {\n super(props);\n }\n\n // Rendering.\n render () {\n const {\n account,\n columns,\n intl,\n multiColumn,\n onChange,\n onClear,\n onOpenSettings,\n onShow,\n onSubmit,\n results,\n searchHidden,\n searchValue,\n submitted,\n isSearchPage,\n unreadNotifications,\n showNotificationsBadge,\n } = this.props;\n const computedClass = classNames('drawer', 'mbstobon');\n\n // The result.\n return (\n <div className={computedClass} role='region' aria-label={intl.formatMessage(messages.compose)}>\n {multiColumn ? (\n <DrawerHeader\n columns={columns}\n unreadNotifications={unreadNotifications}\n showNotificationsBadge={showNotificationsBadge}\n intl={intl}\n onSettingsClick={onOpenSettings}\n />\n ) : null}\n {(multiColumn || isSearchPage) && <DrawerSearch\n intl={intl}\n onChange={onChange}\n onClear={onClear}\n onShow={onShow}\n onSubmit={onSubmit}\n submitted={submitted}\n value={searchValue}\n /> }\n <div className='drawer__pager'>\n {!isSearchPage && <div className='drawer__inner'>\n <DrawerAccount account={account} />\n <Composer />\n {multiColumn && mascot && (\n <div className='drawer__inner__mastodon'>\n <img alt='' draggable='false' src={mascot} />\n </div>\n )}\n </div>}\n\n {(multiColumn || isSearchPage) &&\n <DrawerResults\n results={results}\n visible={submitted && !searchHidden}\n />}\n </div>\n </div>\n );\n }\n\n}\n\n// Props.\nDrawer.propTypes = {\n intl: PropTypes.object.isRequired,\n isSearchPage: PropTypes.bool,\n multiColumn: PropTypes.bool,\n\n // State props.\n account: ImmutablePropTypes.map,\n columns: ImmutablePropTypes.list,\n results: ImmutablePropTypes.map,\n searchHidden: PropTypes.bool,\n searchValue: PropTypes.string,\n submitted: PropTypes.bool,\n unreadNotifications: PropTypes.number,\n showNotificationsBadge: PropTypes.bool,\n\n // Dispatch props.\n onChange: PropTypes.func,\n onClear: PropTypes.func,\n onShow: PropTypes.func,\n onSubmit: PropTypes.func,\n onOpenSettings: PropTypes.func,\n};\n\n// Connecting and export.\nexport { Drawer as WrappedComponent };\nexport default wrap(Drawer, mapStateToProps, mapDispatchToProps, true);\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/drawer/header/index.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/util/numbers.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/components/hashtag.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/drawer/results/index.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/drawer/index.js"],"names":["messages","defineMessages","community","id","defaultMessage","home_timeline","logout","notifications","public","settings","start","DrawerHeader","_ref","columns","unreadNotifications","showNotificationsBadge","intl","onSettingsClick","renderForColumn","conditionalRender","bind","columnId","some","column","get","Object","jsx","className","Link","aria-label","formatMessage","title","to","icon","onClick","href","data-method","signOutLink","shortNumberFormat","number","index_es","value","react","maximumFractionDigits","Hashtag","hashtag","permalink","values","rawCount","getIn","count","build","width","height","data","reverse","map","day","toArray","style","fill","total","DrawerResults","results","visible","accounts","statuses","hashtags","reduce","size","item","optional_motion","defaultStyle","x","spring","stiffness","damping","_ref2","transform","visibility","react_default","a","createElement","esm_extends","accountId","account_container","statusId","status_container","components_hashtag","compose","Drawer","props","_React$Component","call","this","render","_this$props","account","multiColumn","onChange","onClear","onOpenSettings","onShow","onSubmit","searchHidden","searchValue","submitted","isSearchPage","computedClass","classNames","role","drawer_search","drawer_account","composer","mascot","alt","draggable","src","React","Component","wrap","state","me","dispatch","changeSearch","clearSearch","showSearch","submitSearch","e","preventDefault","stopPropagation","openModal"],"mappings":"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","file":"flavours/glitch/async/drawer.js","sourcesContent":["// Package imports.\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\n// Components.\nimport Icon from 'flavours/glitch/components/icon';\n\n// Utils.\nimport { conditionalRender } from 'flavours/glitch/util/react_helpers';\nimport { signOutLink } from 'flavours/glitch/util/backend_links';\n\n// Messages.\nconst messages = defineMessages({\n community: {\n defaultMessage: 'Local timeline',\n id: 'navigation_bar.community_timeline',\n },\n home_timeline: {\n defaultMessage: 'Home',\n id: 'tabs_bar.home',\n },\n logout: {\n defaultMessage: 'Logout',\n id: 'navigation_bar.logout',\n },\n notifications: {\n defaultMessage: 'Notifications',\n id: 'tabs_bar.notifications',\n },\n public: {\n defaultMessage: 'Federated timeline',\n id: 'navigation_bar.public_timeline',\n },\n settings: {\n defaultMessage: 'App settings',\n id: 'navigation_bar.app_settings',\n },\n start: {\n defaultMessage: 'Getting started',\n id: 'getting_started.heading',\n },\n});\n\n// The component.\nexport default function DrawerHeader ({\n columns,\n unreadNotifications,\n showNotificationsBadge,\n intl,\n onSettingsClick,\n}) {\n\n // Only renders the component if the column isn't being shown.\n const renderForColumn = conditionalRender.bind(null,\n columnId => !columns || !columns.some(\n column => column.get('id') === columnId\n )\n );\n\n // The result.\n return (\n <nav className='drawer--header'>\n <Link\n aria-label={intl.formatMessage(messages.start)}\n title={intl.formatMessage(messages.start)}\n to='/getting-started'\n ><Icon icon='asterisk' /></Link>\n {renderForColumn('HOME', (\n <Link\n aria-label={intl.formatMessage(messages.home_timeline)}\n title={intl.formatMessage(messages.home_timeline)}\n to='/timelines/home'\n ><Icon icon='home' /></Link>\n ))}\n {renderForColumn('NOTIFICATIONS', (\n <Link\n aria-label={intl.formatMessage(messages.notifications)}\n title={intl.formatMessage(messages.notifications)}\n to='/notifications'\n >\n <span className='icon-badge-wrapper'>\n <Icon icon='bell' />\n { showNotificationsBadge && unreadNotifications > 0 && <div className='icon-badge' />}\n </span>\n </Link>\n ))}\n {renderForColumn('COMMUNITY', (\n <Link\n aria-label={intl.formatMessage(messages.community)}\n title={intl.formatMessage(messages.community)}\n to='/timelines/public/local'\n ><Icon icon='users' /></Link>\n ))}\n {renderForColumn('PUBLIC', (\n <Link\n aria-label={intl.formatMessage(messages.public)}\n title={intl.formatMessage(messages.public)}\n to='/timelines/public'\n ><Icon icon='globe' /></Link>\n ))}\n <a\n aria-label={intl.formatMessage(messages.settings)}\n onClick={onSettingsClick}\n href='#'\n title={intl.formatMessage(messages.settings)}\n ><Icon icon='cogs' /></a>\n <a\n aria-label={intl.formatMessage(messages.logout)}\n data-method='delete'\n href={ signOutLink }\n title={intl.formatMessage(messages.logout)}\n ><Icon icon='sign-out' /></a>\n </nav>\n );\n}\n\n// Props.\nDrawerHeader.propTypes = {\n columns: ImmutablePropTypes.list,\n unreadNotifications: PropTypes.number,\n showNotificationsBadge: PropTypes.bool,\n intl: PropTypes.object,\n onSettingsClick: PropTypes.func,\n};\n","import React, { Fragment } from 'react';\nimport { FormattedNumber } from 'react-intl';\n\nexport const shortNumberFormat = number => {\n if (number < 1000) {\n return <FormattedNumber value={number} />;\n } else {\n return <Fragment><FormattedNumber value={number / 1000} maximumFractionDigits={1} />K</Fragment>;\n }\n};\n","import React from 'react';\nimport { Sparklines, SparklinesCurve } from 'react-sparklines';\nimport { FormattedMessage } from 'react-intl';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Permalink from './permalink';\nimport { shortNumberFormat } from 'flavours/glitch/util/numbers';\n\nconst Hashtag = ({ hashtag }) => (\n <div className='trends__item'>\n <div className='trends__item__name'>\n <Permalink href={hashtag.get('url')} to={`/timelines/tag/${hashtag.get('name')}`}>\n #<span>{hashtag.get('name')}</span>\n </Permalink>\n\n <FormattedMessage id='trends.count_by_accounts' defaultMessage='{count} {rawCount, plural, one {person} other {people}} talking' values={{ rawCount: hashtag.getIn(['history', 0, 'accounts']), count: <strong>{shortNumberFormat(hashtag.getIn(['history', 0, 'accounts']))}</strong> }} />\n </div>\n\n <div className='trends__item__current'>\n {shortNumberFormat(hashtag.getIn(['history', 0, 'uses']))}\n </div>\n\n <div className='trends__item__sparkline'>\n <Sparklines width={50} height={28} data={hashtag.get('history') && hashtag.get('history').reverse().map(day => day.get('uses')).toArray()}>\n <SparklinesCurve style={{ fill: 'none' }} />\n </Sparklines>\n </div>\n </div>\n);\n\nHashtag.propTypes = {\n hashtag: ImmutablePropTypes.map.isRequired,\n};\n\nexport default Hashtag;\n","// Package imports.\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport {\n FormattedMessage,\n defineMessages,\n} from 'react-intl';\nimport spring from 'react-motion/lib/spring';\nimport { Link } from 'react-router-dom';\n\n// Components.\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport StatusContainer from 'flavours/glitch/containers/status_container';\nimport Hashtag from 'flavours/glitch/components/hashtag';\n\n// Utils.\nimport Motion from 'flavours/glitch/util/optional_motion';\n\n// Messages.\nconst messages = defineMessages({\n total: {\n defaultMessage: '{count, number} {count, plural, one {result} other {results}}',\n id: 'search_results.total',\n },\n});\n\n// The component.\nexport default function DrawerResults ({\n results,\n visible,\n}) {\n const accounts = results ? results.get('accounts') : null;\n const statuses = results ? results.get('statuses') : null;\n const hashtags = results ? results.get('hashtags') : null;\n\n // This gets the total number of items.\n const count = [accounts, statuses, hashtags].reduce(function (size, item) {\n if (item && item.size) {\n return size + item.size;\n }\n return size;\n }, 0);\n\n // The result.\n return (\n <Motion\n defaultStyle={{ x: -100 }}\n style={{\n x: spring(visible ? 0 : -100, {\n stiffness: 210,\n damping: 20,\n }),\n }}\n >\n {({ x }) => (\n <div\n className='drawer--results'\n style={{\n transform: `translateX(${x}%)`,\n visibility: x === -100 ? 'hidden' : 'visible',\n }}\n >\n <header>\n <FormattedMessage\n {...messages.total}\n values={{ count }}\n />\n </header>\n {accounts && accounts.size ? (\n <section>\n <h5><FormattedMessage id='search_results.accounts' defaultMessage='People' /></h5>\n\n {accounts.map(\n accountId => (\n <AccountContainer\n id={accountId}\n key={accountId}\n />\n )\n )}\n </section>\n ) : null}\n {statuses && statuses.size ? (\n <section>\n <h5><FormattedMessage id='search_results.statuses' defaultMessage='Toots' /></h5>\n\n {statuses.map(\n statusId => (\n <StatusContainer\n id={statusId}\n key={statusId}\n />\n )\n )}\n </section>\n ) : null}\n {hashtags && hashtags.size ? (\n <section>\n <h5><FormattedMessage id='search_results.hashtags' defaultMessage='Hashtags' /></h5>\n\n {hashtags.map(hashtag => <Hashtag key={hashtag.get('name')} hashtag={hashtag} />)}\n </section>\n ) : null}\n </div>\n )}\n </Motion>\n );\n}\n\n// Props.\nDrawerResults.propTypes = {\n results: ImmutablePropTypes.map,\n visible: PropTypes.bool,\n};\n","// Package imports.\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages } from 'react-intl';\nimport classNames from 'classnames';\n\n// Actions.\nimport { openModal } from 'flavours/glitch/actions/modal';\nimport {\n changeSearch,\n clearSearch,\n showSearch,\n submitSearch,\n} from 'flavours/glitch/actions/search';\n\n// Components.\nimport Composer from 'flavours/glitch/features/composer';\nimport DrawerAccount from './account';\nimport DrawerHeader from './header';\nimport DrawerResults from './results';\nimport DrawerSearch from './search';\n\n// Utils.\nimport { me, mascot } from 'flavours/glitch/util/initial_state';\nimport { wrap } from 'flavours/glitch/util/redux_helpers';\n\n// Messages.\nconst messages = defineMessages({\n compose: { id: 'navigation_bar.compose', defaultMessage: 'Compose new toot' },\n});\n\n// State mapping.\nconst mapStateToProps = state => ({\n account: state.getIn(['accounts', me]),\n columns: state.getIn(['settings', 'columns']),\n results: state.getIn(['search', 'results']),\n searchHidden: state.getIn(['search', 'hidden']),\n searchValue: state.getIn(['search', 'value']),\n submitted: state.getIn(['search', 'submitted']),\n unreadNotifications: state.getIn(['notifications', 'unread']),\n showNotificationsBadge: state.getIn(['local_settings', 'notifications', 'tab_badge']),\n});\n\n// Dispatch mapping.\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n onChange (value) {\n dispatch(changeSearch(value));\n },\n onClear () {\n dispatch(clearSearch());\n },\n onShow () {\n dispatch(showSearch());\n },\n onSubmit () {\n dispatch(submitSearch());\n },\n onOpenSettings (e) {\n e.preventDefault();\n e.stopPropagation();\n dispatch(openModal('SETTINGS', {}));\n },\n});\n\n// The component.\nclass Drawer extends React.Component {\n\n // Constructor.\n constructor (props) {\n super(props);\n }\n\n // Rendering.\n render () {\n const {\n account,\n columns,\n intl,\n multiColumn,\n onChange,\n onClear,\n onOpenSettings,\n onShow,\n onSubmit,\n results,\n searchHidden,\n searchValue,\n submitted,\n isSearchPage,\n unreadNotifications,\n showNotificationsBadge,\n } = this.props;\n const computedClass = classNames('drawer', 'mbstobon');\n\n // The result.\n return (\n <div className={computedClass} role='region' aria-label={intl.formatMessage(messages.compose)}>\n {multiColumn ? (\n <DrawerHeader\n columns={columns}\n unreadNotifications={unreadNotifications}\n showNotificationsBadge={showNotificationsBadge}\n intl={intl}\n onSettingsClick={onOpenSettings}\n />\n ) : null}\n {(multiColumn || isSearchPage) && <DrawerSearch\n intl={intl}\n onChange={onChange}\n onClear={onClear}\n onShow={onShow}\n onSubmit={onSubmit}\n submitted={submitted}\n value={searchValue}\n /> }\n <div className='drawer__pager'>\n {!isSearchPage && <div className='drawer__inner'>\n <DrawerAccount account={account} />\n <Composer />\n {multiColumn && mascot && (\n <div className='drawer__inner__mastodon'>\n <img alt='' draggable='false' src={mascot} />\n </div>\n )}\n </div>}\n\n {(multiColumn || isSearchPage) &&\n <DrawerResults\n results={results}\n visible={submitted && !searchHidden}\n />}\n </div>\n </div>\n );\n }\n\n}\n\n// Props.\nDrawer.propTypes = {\n intl: PropTypes.object.isRequired,\n isSearchPage: PropTypes.bool,\n multiColumn: PropTypes.bool,\n\n // State props.\n account: ImmutablePropTypes.map,\n columns: ImmutablePropTypes.list,\n results: ImmutablePropTypes.map,\n searchHidden: PropTypes.bool,\n searchValue: PropTypes.string,\n submitted: PropTypes.bool,\n unreadNotifications: PropTypes.number,\n showNotificationsBadge: PropTypes.bool,\n\n // Dispatch props.\n onChange: PropTypes.func,\n onClear: PropTypes.func,\n onShow: PropTypes.func,\n onSubmit: PropTypes.func,\n onOpenSettings: PropTypes.func,\n};\n\n// Connecting and export.\nexport { Drawer as WrappedComponent };\nexport default wrap(Drawer, mapStateToProps, mapDispatchToProps, true);\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/embed_modal.js b/priv/static/packs/flavours/glitch/async/embed_modal.js index 9f18e4f17..77b463c02 100644 --- a/priv/static/packs/flavours/glitch/async/embed_modal.js +++ b/priv/static/packs/flavours/glitch/async/embed_modal.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{678:function(e,t,a){"use strict";a.r(t),a.d(t,"default",function(){return j});var i,o,n,s=a(1),c=a(6),r=a(0),d=a(2),l=a(3),b=a.n(l),m=a(5),u=a.n(m),f=a(24),h=a(7),p=a(10),j=Object(h.g)((n=o=function(o){function e(){for(var t,e=arguments.length,a=new Array(e),i=0;i<e;i++)a[i]=arguments[i];return t=o.call.apply(o,[this].concat(a))||this,Object(d.a)(Object(r.a)(Object(r.a)(t)),"state",{loading:!1,oembed:null}),Object(d.a)(Object(r.a)(Object(r.a)(t)),"setIframeRef",function(e){t.iframe=e}),Object(d.a)(Object(r.a)(Object(r.a)(t)),"handleTextareaClick",function(e){e.target.select()}),t}Object(c.a)(e,o);var t=e.prototype;return t.componentDidMount=function(){var a=this,e=this.props.url;this.setState({loading:!0}),Object(p.a)().post("/api/web/embed",{url:e}).then(function(e){a.setState({loading:!1,oembed:e.data});var t=a.iframe.contentWindow.document;t.open(),t.write(e.data.html),t.close(),t.body.style.margin=0,a.iframe.width=t.body.scrollWidth,a.iframe.height=t.body.scrollHeight})},t.render=function(){var e=this.state.oembed;return Object(s.a)("div",{className:"modal-root__modal embed-modal"},void 0,Object(s.a)("h4",{},void 0,Object(s.a)(h.b,{id:"status.embed",defaultMessage:"Embed"})),Object(s.a)("div",{className:"embed-modal__container"},void 0,Object(s.a)("p",{className:"hint"},void 0,Object(s.a)(h.b,{id:"embed.instructions",defaultMessage:"Embed this status on your website by copying the code below."})),Object(s.a)("input",{type:"text",className:"embed-modal__html",readOnly:!0,value:e&&e.html||"",onClick:this.handleTextareaClick}),Object(s.a)("p",{className:"hint"},void 0,Object(s.a)(h.b,{id:"embed.preview",defaultMessage:"Here is what it will look like:"})),b.a.createElement("iframe",{className:"embed-modal__iframe",frameBorder:"0",ref:this.setIframeRef,sandbox:"allow-same-origin",title:"preview"})))},e}(f.a),Object(d.a)(o,"propTypes",{url:u.a.string.isRequired,onClose:u.a.func.isRequired,intl:u.a.object.isRequired}),i=n))||i}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{679:function(e,t,a){"use strict";a.r(t),a.d(t,"default",function(){return j});var i,o,n,s=a(1),c=a(6),r=a(0),d=a(2),l=a(3),b=a.n(l),m=a(5),u=a.n(m),f=a(24),h=a(7),p=a(10),j=Object(h.g)((n=o=function(o){function e(){for(var t,e=arguments.length,a=new Array(e),i=0;i<e;i++)a[i]=arguments[i];return t=o.call.apply(o,[this].concat(a))||this,Object(d.a)(Object(r.a)(Object(r.a)(t)),"state",{loading:!1,oembed:null}),Object(d.a)(Object(r.a)(Object(r.a)(t)),"setIframeRef",function(e){t.iframe=e}),Object(d.a)(Object(r.a)(Object(r.a)(t)),"handleTextareaClick",function(e){e.target.select()}),t}Object(c.a)(e,o);var t=e.prototype;return t.componentDidMount=function(){var a=this,e=this.props.url;this.setState({loading:!0}),Object(p.a)().post("/api/web/embed",{url:e}).then(function(e){a.setState({loading:!1,oembed:e.data});var t=a.iframe.contentWindow.document;t.open(),t.write(e.data.html),t.close(),t.body.style.margin=0,a.iframe.width=t.body.scrollWidth,a.iframe.height=t.body.scrollHeight})},t.render=function(){var e=this.state.oembed;return Object(s.a)("div",{className:"modal-root__modal embed-modal"},void 0,Object(s.a)("h4",{},void 0,Object(s.a)(h.b,{id:"status.embed",defaultMessage:"Embed"})),Object(s.a)("div",{className:"embed-modal__container"},void 0,Object(s.a)("p",{className:"hint"},void 0,Object(s.a)(h.b,{id:"embed.instructions",defaultMessage:"Embed this status on your website by copying the code below."})),Object(s.a)("input",{type:"text",className:"embed-modal__html",readOnly:!0,value:e&&e.html||"",onClick:this.handleTextareaClick}),Object(s.a)("p",{className:"hint"},void 0,Object(s.a)(h.b,{id:"embed.preview",defaultMessage:"Here is what it will look like:"})),b.a.createElement("iframe",{className:"embed-modal__iframe",frameBorder:"0",ref:this.setIframeRef,sandbox:"allow-same-origin",title:"preview"})))},e}(f.a),Object(d.a)(o,"propTypes",{url:u.a.string.isRequired,onClose:u.a.func.isRequired,intl:u.a.object.isRequired}),i=n))||i}}]); //# sourceMappingURL=embed_modal.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/embed_modal.js.map b/priv/static/packs/flavours/glitch/async/embed_modal.js.map index 02efe3c6a..29e43c3f3 100644 --- a/priv/static/packs/flavours/glitch/async/embed_modal.js.map +++ b/priv/static/packs/flavours/glitch/async/embed_modal.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/ui/components/embed_modal.js"],"names":["EmbedModal","injectIntl","loading","oembed","c","_this","iframe","e","target","select","componentDidMount","_this2","this","url","props","setState","api","post","then","res","data","iframeDocument","contentWindow","document","open","write","html","close","body","style","margin","width","scrollWidth","height","scrollHeight","render","state","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","className","react_intl__WEBPACK_IMPORTED_MODULE_7__","id","defaultMessage","type","readOnly","value","onClick","handleTextareaClick","react__WEBPACK_IMPORTED_MODULE_4___default","a","createElement","frameBorder","ref","setIframeRef","sandbox","title","ImmutablePureComponent","PropTypes","string","isRequired","onClose","func","intl","object"],"mappings":"qOAOqBA,EADpBC,oNASS,CACNC,SAAS,EACTC,OAAQ,8DAuBK,SAAAC,GACbC,EAAKC,OAASF,kEAGM,SAACG,GACrBA,EAAEC,OAAOC,yDAzBXC,kBAAA,WAAqB,IAAAC,EAAAC,KACXC,EAAQD,KAAKE,MAAbD,IAERD,KAAKG,SAAS,CAAEb,SAAS,IAEzBc,cAAMC,KAAK,iBAAkB,CAAEJ,QAAOK,KAAK,SAAAC,GACzCR,EAAKI,SAAS,CAAEb,SAAS,EAAOC,OAAQgB,EAAIC,OAE5C,IAAMC,EAAiBV,EAAKL,OAAOgB,cAAcC,SAEjDF,EAAeG,OACfH,EAAeI,MAAMN,EAAIC,KAAKM,MAC9BL,EAAeM,QAEfN,EAAeO,KAAKC,MAAMC,OAAS,EACnCnB,EAAKL,OAAOyB,MAASV,EAAeO,KAAKI,YACzCrB,EAAKL,OAAO2B,OAASZ,EAAeO,KAAKM,kBAY7CC,OAAA,WAAU,IACAhC,EAAWS,KAAKwB,MAAhBjC,OAER,OACEkC,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,sCAAf,EACEF,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBC,GAAG,eAAeC,eAAe,WAEvDL,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,+BAAf,EACEF,OAAAC,EAAA,EAAAD,CAAA,KAAGE,UAAU,aAAb,EACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBC,GAAG,qBAAqBC,eAAe,kEAG3DL,OAAAC,EAAA,EAAAD,CAAA,SACEM,KAAK,OACLJ,UAAU,oBACVK,UAAQ,EACRC,MAAO1C,GAAUA,EAAOuB,MAAQ,GAChCoB,QAASlC,KAAKmC,sBAGhBV,OAAAC,EAAA,EAAAD,CAAA,KAAGE,UAAU,aAAb,EACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBC,GAAG,gBAAgBC,eAAe,qCAGtDM,EAAAC,EAAAC,cAAA,UACEX,UAAU,sBACVY,YAAY,IACZC,IAAKxC,KAAKyC,aACVC,QAAQ,oBACRC,MAAM,kBAtEsBC,+BAEnB,CACjB3C,IAAK4C,IAAUC,OAAOC,WACtBC,QAASH,IAAUI,KAAKF,WACxBG,KAAML,IAAUM,OAAOJ","file":"flavours/glitch/async/embed_modal.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport api from 'flavours/glitch/util/api';\n\n@injectIntl\nexport default class EmbedModal extends ImmutablePureComponent {\n\n static propTypes = {\n url: PropTypes.string.isRequired,\n onClose: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n }\n\n state = {\n loading: false,\n oembed: null,\n };\n\n componentDidMount () {\n const { url } = this.props;\n\n this.setState({ loading: true });\n\n api().post('/api/web/embed', { url }).then(res => {\n this.setState({ loading: false, oembed: res.data });\n\n const iframeDocument = this.iframe.contentWindow.document;\n\n iframeDocument.open();\n iframeDocument.write(res.data.html);\n iframeDocument.close();\n\n iframeDocument.body.style.margin = 0;\n this.iframe.width = iframeDocument.body.scrollWidth;\n this.iframe.height = iframeDocument.body.scrollHeight;\n });\n }\n\n setIframeRef = c => {\n this.iframe = c;\n }\n\n handleTextareaClick = (e) => {\n e.target.select();\n }\n\n render () {\n const { oembed } = this.state;\n\n return (\n <div className='modal-root__modal embed-modal'>\n <h4><FormattedMessage id='status.embed' defaultMessage='Embed' /></h4>\n\n <div className='embed-modal__container'>\n <p className='hint'>\n <FormattedMessage id='embed.instructions' defaultMessage='Embed this status on your website by copying the code below.' />\n </p>\n\n <input\n type='text'\n className='embed-modal__html'\n readOnly\n value={oembed && oembed.html || ''}\n onClick={this.handleTextareaClick}\n />\n\n <p className='hint'>\n <FormattedMessage id='embed.preview' defaultMessage='Here is what it will look like:' />\n </p>\n\n <iframe\n className='embed-modal__iframe'\n frameBorder='0'\n ref={this.setIframeRef}\n sandbox='allow-same-origin'\n title='preview'\n />\n </div>\n </div>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/ui/components/embed_modal.js"],"names":["EmbedModal","injectIntl","loading","oembed","c","_this","iframe","e","target","select","componentDidMount","_this2","this","url","props","setState","api","post","then","res","data","iframeDocument","contentWindow","document","open","write","html","close","body","style","margin","width","scrollWidth","height","scrollHeight","render","state","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","className","react_intl__WEBPACK_IMPORTED_MODULE_7__","id","defaultMessage","type","readOnly","value","onClick","handleTextareaClick","react__WEBPACK_IMPORTED_MODULE_4___default","a","createElement","frameBorder","ref","setIframeRef","sandbox","title","ImmutablePureComponent","PropTypes","string","isRequired","onClose","func","intl","object"],"mappings":"qOAOqBA,EADpBC,oNASS,CACNC,SAAS,EACTC,OAAQ,8DAuBK,SAAAC,GACbC,EAAKC,OAASF,kEAGM,SAACG,GACrBA,EAAEC,OAAOC,yDAzBXC,kBAAA,WAAqB,IAAAC,EAAAC,KACXC,EAAQD,KAAKE,MAAbD,IAERD,KAAKG,SAAS,CAAEb,SAAS,IAEzBc,cAAMC,KAAK,iBAAkB,CAAEJ,QAAOK,KAAK,SAAAC,GACzCR,EAAKI,SAAS,CAAEb,SAAS,EAAOC,OAAQgB,EAAIC,OAE5C,IAAMC,EAAiBV,EAAKL,OAAOgB,cAAcC,SAEjDF,EAAeG,OACfH,EAAeI,MAAMN,EAAIC,KAAKM,MAC9BL,EAAeM,QAEfN,EAAeO,KAAKC,MAAMC,OAAS,EACnCnB,EAAKL,OAAOyB,MAASV,EAAeO,KAAKI,YACzCrB,EAAKL,OAAO2B,OAASZ,EAAeO,KAAKM,kBAY7CC,OAAA,WAAU,IACAhC,EAAWS,KAAKwB,MAAhBjC,OAER,OACEkC,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,sCAAf,EACEF,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBC,GAAG,eAAeC,eAAe,WAEvDL,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,+BAAf,EACEF,OAAAC,EAAA,EAAAD,CAAA,KAAGE,UAAU,aAAb,EACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBC,GAAG,qBAAqBC,eAAe,kEAG3DL,OAAAC,EAAA,EAAAD,CAAA,SACEM,KAAK,OACLJ,UAAU,oBACVK,UAAQ,EACRC,MAAO1C,GAAUA,EAAOuB,MAAQ,GAChCoB,QAASlC,KAAKmC,sBAGhBV,OAAAC,EAAA,EAAAD,CAAA,KAAGE,UAAU,aAAb,EACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBC,GAAG,gBAAgBC,eAAe,qCAGtDM,EAAAC,EAAAC,cAAA,UACEX,UAAU,sBACVY,YAAY,IACZC,IAAKxC,KAAKyC,aACVC,QAAQ,oBACRC,MAAM,kBAtEsBC,+BAEnB,CACjB3C,IAAK4C,IAAUC,OAAOC,WACtBC,QAASH,IAAUI,KAAKF,WACxBG,KAAML,IAAUM,OAAOJ","file":"flavours/glitch/async/embed_modal.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport api from 'flavours/glitch/util/api';\n\n@injectIntl\nexport default class EmbedModal extends ImmutablePureComponent {\n\n static propTypes = {\n url: PropTypes.string.isRequired,\n onClose: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n }\n\n state = {\n loading: false,\n oembed: null,\n };\n\n componentDidMount () {\n const { url } = this.props;\n\n this.setState({ loading: true });\n\n api().post('/api/web/embed', { url }).then(res => {\n this.setState({ loading: false, oembed: res.data });\n\n const iframeDocument = this.iframe.contentWindow.document;\n\n iframeDocument.open();\n iframeDocument.write(res.data.html);\n iframeDocument.close();\n\n iframeDocument.body.style.margin = 0;\n this.iframe.width = iframeDocument.body.scrollWidth;\n this.iframe.height = iframeDocument.body.scrollHeight;\n });\n }\n\n setIframeRef = c => {\n this.iframe = c;\n }\n\n handleTextareaClick = (e) => {\n e.target.select();\n }\n\n render () {\n const { oembed } = this.state;\n\n return (\n <div className='modal-root__modal embed-modal'>\n <h4><FormattedMessage id='status.embed' defaultMessage='Embed' /></h4>\n\n <div className='embed-modal__container'>\n <p className='hint'>\n <FormattedMessage id='embed.instructions' defaultMessage='Embed this status on your website by copying the code below.' />\n </p>\n\n <input\n type='text'\n className='embed-modal__html'\n readOnly\n value={oembed && oembed.html || ''}\n onClick={this.handleTextareaClick}\n />\n\n <p className='hint'>\n <FormattedMessage id='embed.preview' defaultMessage='Here is what it will look like:' />\n </p>\n\n <iframe\n className='embed-modal__iframe'\n frameBorder='0'\n ref={this.setIframeRef}\n sandbox='allow-same-origin'\n title='preview'\n />\n </div>\n </div>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/emoji_picker.js b/priv/static/packs/flavours/glitch/async/emoji_picker.js index 9d85e5911..1527f5504 100644 --- a/priv/static/packs/flavours/glitch/async/emoji_picker.js +++ b/priv/static/packs/flavours/glitch/async/emoji_picker.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{660:function(n,r,i){"use strict";i.r(r);var o=i(900);i.d(r,"Picker",function(){return o.a});var c=i(890);i.d(r,"Emoji",function(){return c.a})}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{661:function(n,r,i){"use strict";i.r(r);var o=i(901);i.d(r,"Picker",function(){return o.a});var c=i(891);i.d(r,"Emoji",function(){return c.a})}}]); //# sourceMappingURL=emoji_picker.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/emoji_picker.js.map b/priv/static/packs/flavours/glitch/async/emoji_picker.js.map index 0805b9929..37212a7ca 100644 --- a/priv/static/packs/flavours/glitch/async/emoji_picker.js.map +++ b/priv/static/packs/flavours/glitch/async/emoji_picker.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/util/emoji/emoji_picker.js"],"names":["__webpack_require__","r","__webpack_exports__","emoji_mart_dist_es_components_picker_picker__WEBPACK_IMPORTED_MODULE_0__","d","emoji_mart_dist_es_components_emoji_emoji__WEBPACK_IMPORTED_MODULE_1__"],"mappings":"2FAAAA,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,EAAA,KAAAA,EAAAI,EAAAF,EAAA,2BAAAC,EAAA,QAAAE,EAAAL,EAAA,KAAAA,EAAAI,EAAAF,EAAA,0BAAAG,EAAA","file":"flavours/glitch/async/emoji_picker.js","sourcesContent":["import Picker from 'emoji-mart/dist-es/components/picker/picker';\nimport Emoji from 'emoji-mart/dist-es/components/emoji/emoji';\n\nexport {\n Picker,\n Emoji,\n};\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/util/emoji/emoji_picker.js"],"names":["__webpack_require__","r","__webpack_exports__","emoji_mart_dist_es_components_picker_picker__WEBPACK_IMPORTED_MODULE_0__","d","emoji_mart_dist_es_components_emoji_emoji__WEBPACK_IMPORTED_MODULE_1__"],"mappings":"2FAAAA,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,EAAA,KAAAA,EAAAI,EAAAF,EAAA,2BAAAC,EAAA,QAAAE,EAAAL,EAAA,KAAAA,EAAAI,EAAAF,EAAA,0BAAAG,EAAA","file":"flavours/glitch/async/emoji_picker.js","sourcesContent":["import Picker from 'emoji-mart/dist-es/components/picker/picker';\nimport Emoji from 'emoji-mart/dist-es/components/emoji/emoji';\n\nexport {\n Picker,\n Emoji,\n};\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/favourited_statuses.js b/priv/static/packs/flavours/glitch/async/favourited_statuses.js index af7484730..966f2a304 100644 --- a/priv/static/packs/flavours/glitch/async/favourited_statuses.js +++ b/priv/static/packs/flavours/glitch/async/favourited_statuses.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{672:function(t,e,a){"use strict";a.r(e),a.d(e,"default",function(){return R});var n,o,s,r=a(1),i=a(6),c=a(0),u=a(2),l=a(53),d=a.n(l),b=a(3),h=a.n(b),p=a(20),f=a(5),j=a.n(f),O=a(26),g=a.n(O),m=a(58),v=a(639),M=a(427),I=a(202),w=a(645),L=a(7),k=a(24),C=Object(L.f)({heading:{id:"column.favourites",defaultMessage:"Favourites"}}),R=Object(p.connect)(function(t){return{statusIds:t.getIn(["status_lists","favourites","items"]),isLoading:t.getIn(["status_lists","favourites","isLoading"],!0),hasMore:!!t.getIn(["status_lists","favourites","next"])}})(n=Object(L.g)((s=o=function(o){function t(){for(var n,t=arguments.length,e=new Array(t),a=0;a<t;a++)e[a]=arguments[a];return n=o.call.apply(o,[this].concat(e))||this,Object(u.a)(Object(c.a)(Object(c.a)(n)),"handlePin",function(){var t=n.props,e=t.columnId,a=t.dispatch;a(e?Object(I.h)(e):Object(I.e)("FAVOURITES",{}))}),Object(u.a)(Object(c.a)(Object(c.a)(n)),"handleMove",function(t){var e=n.props,a=e.columnId;(0,e.dispatch)(Object(I.g)(a,t))}),Object(u.a)(Object(c.a)(Object(c.a)(n)),"handleHeaderClick",function(){n.column.scrollTop()}),Object(u.a)(Object(c.a)(Object(c.a)(n)),"setRef",function(t){n.column=t}),Object(u.a)(Object(c.a)(Object(c.a)(n)),"handleLoadMore",d()(function(){n.props.dispatch(Object(m.g)())},300,{leading:!0})),n}Object(i.a)(t,o);var e=t.prototype;return e.componentWillMount=function(){this.props.dispatch(Object(m.h)())},e.render=function(){var t=this.props,e=t.intl,a=t.statusIds,n=t.columnId,o=t.multiColumn,s=t.hasMore,i=t.isLoading,c=!!n;return h.a.createElement(v.a,{ref:this.setRef,name:"favourites",label:e.formatMessage(C.heading)},Object(r.a)(M.a,{icon:"star",title:e.formatMessage(C.heading),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:c,multiColumn:o,showBackButton:!0}),Object(r.a)(w.a,{trackScroll:!c,statusIds:a,scrollKey:"favourited_statuses-"+n,hasMore:s,isLoading:i,onLoadMore:this.handleLoadMore}))},t}(k.a),Object(u.a)(o,"propTypes",{dispatch:j.a.func.isRequired,statusIds:g.a.list.isRequired,intl:j.a.object.isRequired,columnId:j.a.string,multiColumn:j.a.bool,hasMore:j.a.bool,isLoading:j.a.bool}),n=s))||n)||n}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{673:function(t,e,a){"use strict";a.r(e),a.d(e,"default",function(){return R});var n,o,s,r=a(1),i=a(6),c=a(0),u=a(2),l=a(54),d=a.n(l),b=a(3),h=a.n(b),p=a(20),f=a(5),j=a.n(f),O=a(26),g=a.n(O),m=a(59),v=a(640),M=a(428),I=a(205),w=a(646),L=a(7),k=a(24),C=Object(L.f)({heading:{id:"column.favourites",defaultMessage:"Favourites"}}),R=Object(p.connect)(function(t){return{statusIds:t.getIn(["status_lists","favourites","items"]),isLoading:t.getIn(["status_lists","favourites","isLoading"],!0),hasMore:!!t.getIn(["status_lists","favourites","next"])}})(n=Object(L.g)((s=o=function(o){function t(){for(var n,t=arguments.length,e=new Array(t),a=0;a<t;a++)e[a]=arguments[a];return n=o.call.apply(o,[this].concat(e))||this,Object(u.a)(Object(c.a)(Object(c.a)(n)),"handlePin",function(){var t=n.props,e=t.columnId,a=t.dispatch;a(e?Object(I.h)(e):Object(I.e)("FAVOURITES",{}))}),Object(u.a)(Object(c.a)(Object(c.a)(n)),"handleMove",function(t){var e=n.props,a=e.columnId;(0,e.dispatch)(Object(I.g)(a,t))}),Object(u.a)(Object(c.a)(Object(c.a)(n)),"handleHeaderClick",function(){n.column.scrollTop()}),Object(u.a)(Object(c.a)(Object(c.a)(n)),"setRef",function(t){n.column=t}),Object(u.a)(Object(c.a)(Object(c.a)(n)),"handleLoadMore",d()(function(){n.props.dispatch(Object(m.g)())},300,{leading:!0})),n}Object(i.a)(t,o);var e=t.prototype;return e.componentWillMount=function(){this.props.dispatch(Object(m.h)())},e.render=function(){var t=this.props,e=t.intl,a=t.statusIds,n=t.columnId,o=t.multiColumn,s=t.hasMore,i=t.isLoading,c=!!n;return h.a.createElement(v.a,{ref:this.setRef,name:"favourites",label:e.formatMessage(C.heading)},Object(r.a)(M.a,{icon:"star",title:e.formatMessage(C.heading),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:c,multiColumn:o,showBackButton:!0}),Object(r.a)(w.a,{trackScroll:!c,statusIds:a,scrollKey:"favourited_statuses-"+n,hasMore:s,isLoading:i,onLoadMore:this.handleLoadMore}))},t}(k.a),Object(u.a)(o,"propTypes",{dispatch:j.a.func.isRequired,statusIds:g.a.list.isRequired,intl:j.a.object.isRequired,columnId:j.a.string,multiColumn:j.a.bool,hasMore:j.a.bool,isLoading:j.a.bool}),n=s))||n)||n}}]); //# sourceMappingURL=favourited_statuses.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/favourited_statuses.js.map b/priv/static/packs/flavours/glitch/async/favourited_statuses.js.map index 0efaaf89d..869f35ac8 100644 --- a/priv/static/packs/flavours/glitch/async/favourited_statuses.js.map +++ b/priv/static/packs/flavours/glitch/async/favourited_statuses.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/favourited_statuses/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","Favourites","connect","state","statusIds","getIn","isLoading","hasMore","injectIntl","_this$props","_this","props","columnId","dispatch","removeColumn","addColumn","dir","_this$props2","moveColumn","column","scrollTop","c","lodash_debounce__WEBPACK_IMPORTED_MODULE_4___default","expandFavouritedStatuses","leading","componentWillMount","this","fetchFavouritedStatuses","render","_this$props3","intl","multiColumn","pinned","react__WEBPACK_IMPORTED_MODULE_5___default","a","createElement","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_10__","ref","setRef","name","label","formatMessage","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_column_header__WEBPACK_IMPORTED_MODULE_11__","icon","title","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","showBackButton","flavours_glitch_components_status_list__WEBPACK_IMPORTED_MODULE_13__","trackScroll","scrollKey","onLoadMore","handleLoadMore","ImmutablePureComponent","PropTypes","func","isRequired","ImmutablePropTypes","list","object","string","bool"],"mappings":"mTAaMA,EAAWC,YAAe,CAC9BC,QAAO,CAAAC,GAAA,oBAAAC,eAAA,gBAWYC,EAFpBC,kBANuB,SAAAC,GAAK,MAAK,CAChCC,UAAWD,EAAME,MAAM,CAAC,eAAgB,aAAc,UACtDC,UAAWH,EAAME,MAAM,CAAC,eAAgB,aAAc,cAAc,GACpEE,UAAWJ,EAAME,MAAM,CAAC,eAAgB,aAAc,cAIvDG,wNAiBa,WAAM,IAAAC,EACeC,EAAKC,MAA5BC,EADQH,EACRG,SAAUC,EADFJ,EACEI,SAGhBA,EADED,EACOE,YAAaF,GAEbG,YAAU,aAAc,4DAIxB,SAACC,GAAQ,IAAAC,EACWP,EAAKC,MAA5BC,EADYK,EACZL,UACRC,EAFoBI,EACFJ,UACTK,YAAWN,EAAUI,kEAGZ,WAClBN,EAAKS,OAAOC,+DAGL,SAAAC,GACPX,EAAKS,OAASE,6DAGCC,IAAS,WACxBZ,EAAKC,MAAME,SAASU,gBACnB,IAAK,CAAEC,SAAS,mDA7BnBC,mBAAA,WACEC,KAAKf,MAAME,SAASc,kBA8BtBC,OAAA,WAAU,IAAAC,EAC+DH,KAAKf,MAApEmB,EADAD,EACAC,KAAM1B,EADNyB,EACMzB,UAAWQ,EADjBiB,EACiBjB,SAAUmB,EAD3BF,EAC2BE,YAAaxB,EADxCsB,EACwCtB,QAASD,EADjDuB,EACiDvB,UACnD0B,IAAWpB,EAEjB,OACEqB,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAQC,IAAKX,KAAKY,OAAQC,KAAK,aAAaC,MAAOV,EAAKW,cAAc7C,EAASE,UAC7E4C,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CACEC,KAAK,OACLC,MAAOhB,EAAKW,cAAc7C,EAASE,SACnCiD,MAAOrB,KAAKsB,UACZC,OAAQvB,KAAKwB,WACbC,QAASzB,KAAK0B,kBACdpB,OAAQA,EACRD,YAAaA,EACbsB,gBAAc,IAGhBX,OAAAC,EAAA,EAAAD,CAACY,EAAA,EAAD,CACEC,aAAcvB,EACd5B,UAAWA,EACXoD,UAAS,uBAAyB5C,EAClCL,QAASA,EACTD,UAAWA,EACXmD,WAAY/B,KAAKgC,sBAlEaC,+BAEnB,CACjB9C,SAAU+C,IAAUC,KAAKC,WACzB1D,UAAW2D,IAAmBC,KAAKF,WACnChC,KAAM8B,IAAUK,OAAOH,WACvBlD,SAAUgD,IAAUM,OACpBnC,YAAa6B,IAAUO,KACvB5D,QAASqD,IAAUO,KACnB7D,UAAWsD,IAAUO","file":"flavours/glitch/async/favourited_statuses.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { fetchFavouritedStatuses, expandFavouritedStatuses } from 'flavours/glitch/actions/favourites';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport StatusList from 'flavours/glitch/components/status_list';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { debounce } from 'lodash';\n\nconst messages = defineMessages({\n heading: { id: 'column.favourites', defaultMessage: 'Favourites' },\n});\n\nconst mapStateToProps = state => ({\n statusIds: state.getIn(['status_lists', 'favourites', 'items']),\n isLoading: state.getIn(['status_lists', 'favourites', 'isLoading'], true),\n hasMore: !!state.getIn(['status_lists', 'favourites', 'next']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Favourites extends ImmutablePureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n intl: PropTypes.object.isRequired,\n columnId: PropTypes.string,\n multiColumn: PropTypes.bool,\n hasMore: PropTypes.bool,\n isLoading: PropTypes.bool,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchFavouritedStatuses());\n }\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('FAVOURITES', {}));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = debounce(() => {\n this.props.dispatch(expandFavouritedStatuses());\n }, 300, { leading: true })\n\n render () {\n const { intl, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} name='favourites' label={intl.formatMessage(messages.heading)}>\n <ColumnHeader\n icon='star'\n title={intl.formatMessage(messages.heading)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n showBackButton\n />\n\n <StatusList\n trackScroll={!pinned}\n statusIds={statusIds}\n scrollKey={`favourited_statuses-${columnId}`}\n hasMore={hasMore}\n isLoading={isLoading}\n onLoadMore={this.handleLoadMore}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/favourited_statuses/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","Favourites","connect","state","statusIds","getIn","isLoading","hasMore","injectIntl","_this$props","_this","props","columnId","dispatch","removeColumn","addColumn","dir","_this$props2","moveColumn","column","scrollTop","c","lodash_debounce__WEBPACK_IMPORTED_MODULE_4___default","expandFavouritedStatuses","leading","componentWillMount","this","fetchFavouritedStatuses","render","_this$props3","intl","multiColumn","pinned","react__WEBPACK_IMPORTED_MODULE_5___default","a","createElement","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_10__","ref","setRef","name","label","formatMessage","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_column_header__WEBPACK_IMPORTED_MODULE_11__","icon","title","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","showBackButton","flavours_glitch_components_status_list__WEBPACK_IMPORTED_MODULE_13__","trackScroll","scrollKey","onLoadMore","handleLoadMore","ImmutablePureComponent","PropTypes","func","isRequired","ImmutablePropTypes","list","object","string","bool"],"mappings":"mTAaMA,EAAWC,YAAe,CAC9BC,QAAO,CAAAC,GAAA,oBAAAC,eAAA,gBAWYC,EAFpBC,kBANuB,SAAAC,GAAK,MAAK,CAChCC,UAAWD,EAAME,MAAM,CAAC,eAAgB,aAAc,UACtDC,UAAWH,EAAME,MAAM,CAAC,eAAgB,aAAc,cAAc,GACpEE,UAAWJ,EAAME,MAAM,CAAC,eAAgB,aAAc,cAIvDG,wNAiBa,WAAM,IAAAC,EACeC,EAAKC,MAA5BC,EADQH,EACRG,SAAUC,EADFJ,EACEI,SAGhBA,EADED,EACOE,YAAaF,GAEbG,YAAU,aAAc,4DAIxB,SAACC,GAAQ,IAAAC,EACWP,EAAKC,MAA5BC,EADYK,EACZL,UACRC,EAFoBI,EACFJ,UACTK,YAAWN,EAAUI,kEAGZ,WAClBN,EAAKS,OAAOC,+DAGL,SAAAC,GACPX,EAAKS,OAASE,6DAGCC,IAAS,WACxBZ,EAAKC,MAAME,SAASU,gBACnB,IAAK,CAAEC,SAAS,mDA7BnBC,mBAAA,WACEC,KAAKf,MAAME,SAASc,kBA8BtBC,OAAA,WAAU,IAAAC,EAC+DH,KAAKf,MAApEmB,EADAD,EACAC,KAAM1B,EADNyB,EACMzB,UAAWQ,EADjBiB,EACiBjB,SAAUmB,EAD3BF,EAC2BE,YAAaxB,EADxCsB,EACwCtB,QAASD,EADjDuB,EACiDvB,UACnD0B,IAAWpB,EAEjB,OACEqB,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAQC,IAAKX,KAAKY,OAAQC,KAAK,aAAaC,MAAOV,EAAKW,cAAc7C,EAASE,UAC7E4C,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CACEC,KAAK,OACLC,MAAOhB,EAAKW,cAAc7C,EAASE,SACnCiD,MAAOrB,KAAKsB,UACZC,OAAQvB,KAAKwB,WACbC,QAASzB,KAAK0B,kBACdpB,OAAQA,EACRD,YAAaA,EACbsB,gBAAc,IAGhBX,OAAAC,EAAA,EAAAD,CAACY,EAAA,EAAD,CACEC,aAAcvB,EACd5B,UAAWA,EACXoD,UAAS,uBAAyB5C,EAClCL,QAASA,EACTD,UAAWA,EACXmD,WAAY/B,KAAKgC,sBAlEaC,+BAEnB,CACjB9C,SAAU+C,IAAUC,KAAKC,WACzB1D,UAAW2D,IAAmBC,KAAKF,WACnChC,KAAM8B,IAAUK,OAAOH,WACvBlD,SAAUgD,IAAUM,OACpBnC,YAAa6B,IAAUO,KACvB5D,QAASqD,IAAUO,KACnB7D,UAAWsD,IAAUO","file":"flavours/glitch/async/favourited_statuses.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { fetchFavouritedStatuses, expandFavouritedStatuses } from 'flavours/glitch/actions/favourites';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport StatusList from 'flavours/glitch/components/status_list';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { debounce } from 'lodash';\n\nconst messages = defineMessages({\n heading: { id: 'column.favourites', defaultMessage: 'Favourites' },\n});\n\nconst mapStateToProps = state => ({\n statusIds: state.getIn(['status_lists', 'favourites', 'items']),\n isLoading: state.getIn(['status_lists', 'favourites', 'isLoading'], true),\n hasMore: !!state.getIn(['status_lists', 'favourites', 'next']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Favourites extends ImmutablePureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n intl: PropTypes.object.isRequired,\n columnId: PropTypes.string,\n multiColumn: PropTypes.bool,\n hasMore: PropTypes.bool,\n isLoading: PropTypes.bool,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchFavouritedStatuses());\n }\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('FAVOURITES', {}));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = debounce(() => {\n this.props.dispatch(expandFavouritedStatuses());\n }, 300, { leading: true })\n\n render () {\n const { intl, statusIds, columnId, multiColumn, hasMore, isLoading } = this.props;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} name='favourites' label={intl.formatMessage(messages.heading)}>\n <ColumnHeader\n icon='star'\n title={intl.formatMessage(messages.heading)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n showBackButton\n />\n\n <StatusList\n trackScroll={!pinned}\n statusIds={statusIds}\n scrollKey={`favourited_statuses-${columnId}`}\n hasMore={hasMore}\n isLoading={isLoading}\n onLoadMore={this.handleLoadMore}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/favourites.js b/priv/static/packs/flavours/glitch/async/favourites.js index 3294a1998..eb1ecde74 100644 --- a/priv/static/packs/flavours/glitch/async/favourites.js +++ b/priv/static/packs/flavours/glitch/async/favourites.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{670:function(t,a,s){"use strict";s.r(a),s.d(a,"default",function(){return y});var o,e,c,n=s(1),r=s(6),i=s(0),p=s(2),u=(s(3),s(20)),d=s(5),l=s.n(d),b=s(26),h=s.n(b),O=s(288),j=s(25),f=s(295),m=s(624),v=s(639),I=s(888),w=s(24),y=Object(u.connect)(function(t,a){return{accountIds:t.getIn(["user_lists","favourited_by",a.params.statusId])}})((c=e=function(e){function t(){for(var t,a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return t=e.call.apply(e,[this].concat(s))||this,Object(p.a)(Object(i.a)(Object(i.a)(t)),"shouldUpdateScroll",function(t,a){var s=a.location;return!(((t||{}).location||{}).state||{}).mastodonModalOpen&&!(s.state&&s.state.mastodonModalOpen)}),t}Object(r.a)(t,e);var a=t.prototype;return a.componentWillMount=function(){this.props.dispatch(Object(j.s)(this.props.params.statusId))},a.componentWillReceiveProps=function(t){t.params.statusId!==this.props.params.statusId&&t.params.statusId&&this.props.dispatch(Object(j.s)(t.params.statusId))},a.render=function(){var t=this.props.accountIds;return t?Object(n.a)(v.a,{},void 0,Object(n.a)(I.a,{}),Object(n.a)(f.a,{scrollKey:"favourites",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(n.a)("div",{className:"scrollable"},void 0,t.map(function(t){return Object(n.a)(m.a,{id:t,withNote:!1},t)})))):Object(n.a)(v.a,{},void 0,Object(n.a)(O.a,{}))},t}(w.a),Object(p.a)(e,"propTypes",{params:l.a.object.isRequired,dispatch:l.a.func.isRequired,accountIds:h.a.list}),o=c))||o}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{671:function(t,a,s){"use strict";s.r(a),s.d(a,"default",function(){return y});var o,e,c,n=s(1),r=s(6),i=s(0),p=s(2),u=(s(3),s(20)),d=s(5),l=s.n(d),b=s(26),h=s.n(b),O=s(290),j=s(25),f=s(297),m=s(625),v=s(640),I=s(889),w=s(24),y=Object(u.connect)(function(t,a){return{accountIds:t.getIn(["user_lists","favourited_by",a.params.statusId])}})((c=e=function(e){function t(){for(var t,a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return t=e.call.apply(e,[this].concat(s))||this,Object(p.a)(Object(i.a)(Object(i.a)(t)),"shouldUpdateScroll",function(t,a){var s=a.location;return!(((t||{}).location||{}).state||{}).mastodonModalOpen&&!(s.state&&s.state.mastodonModalOpen)}),t}Object(r.a)(t,e);var a=t.prototype;return a.componentWillMount=function(){this.props.dispatch(Object(j.s)(this.props.params.statusId))},a.componentWillReceiveProps=function(t){t.params.statusId!==this.props.params.statusId&&t.params.statusId&&this.props.dispatch(Object(j.s)(t.params.statusId))},a.render=function(){var t=this.props.accountIds;return t?Object(n.a)(v.a,{},void 0,Object(n.a)(I.a,{}),Object(n.a)(f.a,{scrollKey:"favourites",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(n.a)("div",{className:"scrollable"},void 0,t.map(function(t){return Object(n.a)(m.a,{id:t,withNote:!1},t)})))):Object(n.a)(v.a,{},void 0,Object(n.a)(O.a,{}))},t}(w.a),Object(p.a)(e,"propTypes",{params:l.a.object.isRequired,dispatch:l.a.func.isRequired,accountIds:h.a.list}),o=c))||o}}]); //# sourceMappingURL=favourites.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/favourites.js.map b/priv/static/packs/flavours/glitch/async/favourites.js.map index 87c475d06..2399c3930 100644 --- a/priv/static/packs/flavours/glitch/async/favourites.js.map +++ b/priv/static/packs/flavours/glitch/async/favourites.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/favourites/index.js"],"names":["Favourites","connect","state","props","accountIds","getIn","params","statusId","prevRouterProps","_ref","location","mastodonModalOpen","componentWillMount","this","dispatch","fetchFavourites","componentWillReceiveProps","nextProps","render","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_12__","flavours_glitch_components_column_back_button__WEBPACK_IMPORTED_MODULE_13__","react_router_scroll_4__WEBPACK_IMPORTED_MODULE_10__","scrollKey","shouldUpdateScroll","className","map","id","flavours_glitch_containers_account_container__WEBPACK_IMPORTED_MODULE_11__","withNote","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_8__","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list"],"mappings":"2RAiBqBA,EADpBC,kBAJuB,SAACC,EAAOC,GAAR,MAAmB,CACzCC,WAAYF,EAAMG,MAAM,CAAC,aAAc,gBAAiBF,EAAMG,OAAOC,mOAsBhD,SAACC,EAADC,GAAmC,IAAfC,EAAeD,EAAfC,SACvC,UAAOF,GAAmB,IAAIE,UAAY,IAAIR,OAAS,IAAIS,qBAClDD,EAASR,OAASQ,EAASR,MAAMS,mEAZ5CC,mBAAA,WACEC,KAAKV,MAAMW,SAASC,YAAgBF,KAAKV,MAAMG,OAAOC,cAGxDS,0BAAA,SAA2BC,GACrBA,EAAUX,OAAOC,WAAaM,KAAKV,MAAMG,OAAOC,UAAYU,EAAUX,OAAOC,UAC/EM,KAAKV,MAAMW,SAASC,YAAgBE,EAAUX,OAAOC,cASzDW,OAAA,WAAU,IACAd,EAAeS,KAAKV,MAApBC,WAER,OAAKA,EASHe,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,IAEAH,OAAAC,EAAA,EAAAD,CAACI,EAAA,EAAD,CAAiBC,UAAU,aAAaC,mBAAoBZ,KAAKY,yBAAjE,EACEN,OAAAC,EAAA,EAAAD,CAAA,OAAKO,UAAU,mBAAf,EACGtB,EAAWuB,IAAI,SAAAC,GAAE,OAAIT,OAAAC,EAAA,EAAAD,CAACU,EAAA,EAAD,CAA2BD,GAAIA,EAAIE,UAAU,GAAtBF,QAZjDT,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACY,EAAA,EAAD,SA7B8BC,+BAEnB,CACjB1B,OAAQ2B,IAAUC,OAAOC,WACzBrB,SAAUmB,IAAUG,KAAKD,WACzB/B,WAAYiC,IAAmBC","file":"flavours/glitch/async/favourites.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport { fetchFavourites } from 'flavours/glitch/actions/interactions';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButton from 'flavours/glitch/components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst mapStateToProps = (state, props) => ({\n accountIds: state.getIn(['user_lists', 'favourited_by', props.params.statusId]),\n});\n\n@connect(mapStateToProps)\nexport default class Favourites extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchFavourites(this.props.params.statusId));\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {\n this.props.dispatch(fetchFavourites(nextProps.params.statusId));\n }\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { accountIds } = this.props;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column>\n <ColumnBackButton />\n\n <ScrollContainer scrollKey='favourites' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable'>\n {accountIds.map(id => <AccountContainer key={id} id={id} withNote={false} />)}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/favourites/index.js"],"names":["Favourites","connect","state","props","accountIds","getIn","params","statusId","prevRouterProps","_ref","location","mastodonModalOpen","componentWillMount","this","dispatch","fetchFavourites","componentWillReceiveProps","nextProps","render","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_12__","flavours_glitch_components_column_back_button__WEBPACK_IMPORTED_MODULE_13__","react_router_scroll_4__WEBPACK_IMPORTED_MODULE_10__","scrollKey","shouldUpdateScroll","className","map","id","flavours_glitch_containers_account_container__WEBPACK_IMPORTED_MODULE_11__","withNote","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_8__","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list"],"mappings":"2RAiBqBA,EADpBC,kBAJuB,SAACC,EAAOC,GAAR,MAAmB,CACzCC,WAAYF,EAAMG,MAAM,CAAC,aAAc,gBAAiBF,EAAMG,OAAOC,mOAsBhD,SAACC,EAADC,GAAmC,IAAfC,EAAeD,EAAfC,SACvC,UAAOF,GAAmB,IAAIE,UAAY,IAAIR,OAAS,IAAIS,qBAClDD,EAASR,OAASQ,EAASR,MAAMS,mEAZ5CC,mBAAA,WACEC,KAAKV,MAAMW,SAASC,YAAgBF,KAAKV,MAAMG,OAAOC,cAGxDS,0BAAA,SAA2BC,GACrBA,EAAUX,OAAOC,WAAaM,KAAKV,MAAMG,OAAOC,UAAYU,EAAUX,OAAOC,UAC/EM,KAAKV,MAAMW,SAASC,YAAgBE,EAAUX,OAAOC,cASzDW,OAAA,WAAU,IACAd,EAAeS,KAAKV,MAApBC,WAER,OAAKA,EASHe,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,IAEAH,OAAAC,EAAA,EAAAD,CAACI,EAAA,EAAD,CAAiBC,UAAU,aAAaC,mBAAoBZ,KAAKY,yBAAjE,EACEN,OAAAC,EAAA,EAAAD,CAAA,OAAKO,UAAU,mBAAf,EACGtB,EAAWuB,IAAI,SAAAC,GAAE,OAAIT,OAAAC,EAAA,EAAAD,CAACU,EAAA,EAAD,CAA2BD,GAAIA,EAAIE,UAAU,GAAtBF,QAZjDT,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACY,EAAA,EAAD,SA7B8BC,+BAEnB,CACjB1B,OAAQ2B,IAAUC,OAAOC,WACzBrB,SAAUmB,IAAUG,KAAKD,WACzB/B,WAAYiC,IAAmBC","file":"flavours/glitch/async/favourites.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport { fetchFavourites } from 'flavours/glitch/actions/interactions';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButton from 'flavours/glitch/components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst mapStateToProps = (state, props) => ({\n accountIds: state.getIn(['user_lists', 'favourited_by', props.params.statusId]),\n});\n\n@connect(mapStateToProps)\nexport default class Favourites extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchFavourites(this.props.params.statusId));\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {\n this.props.dispatch(fetchFavourites(nextProps.params.statusId));\n }\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { accountIds } = this.props;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column>\n <ColumnBackButton />\n\n <ScrollContainer scrollKey='favourites' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable'>\n {accountIds.map(id => <AccountContainer key={id} id={id} withNote={false} />)}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/follow_requests.js b/priv/static/packs/flavours/glitch/async/follow_requests.js index 1fa99e33d..891769291 100644 --- a/priv/static/packs/flavours/glitch/async/follow_requests.js +++ b/priv/static/packs/flavours/glitch/async/follow_requests.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{712:function(e,t,a){"use strict";a.r(t);var c,o,n,i,r,s,u=a(1),l=a(6),d=a(0),j=a(2),b=(a(3),a(20)),p=a(5),O=a.n(p),f=a(26),h=a.n(f),v=a(288),m=a(295),_=a(639),g=a(643),w=a(166),q=a(319),z=a(100),R=a(101),y=a(46),M=a(7),N=a(24),S=Object(M.f)({authorize:{id:"follow_request.authorize",defaultMessage:"Authorize"},reject:{id:"follow_request.reject",defaultMessage:"Reject"}}),k=Object(M.g)((n=o=function(e){function t(){return e.apply(this,arguments)||this}return Object(l.a)(t,e),t.prototype.render=function(){var e=this.props,t=e.intl,a=e.account,c=e.onAuthorize,o=e.onReject,n={__html:a.get("note_emojified")};return Object(u.a)("div",{className:"account-authorize__wrapper"},void 0,Object(u.a)("div",{className:"account-authorize"},void 0,Object(u.a)(q.a,{href:a.get("url"),to:"/accounts/"+a.get("id"),className:"detailed-status__display-name"},void 0,Object(u.a)("div",{className:"account-authorize__avatar"},void 0,Object(u.a)(z.a,{account:a,size:48})),Object(u.a)(R.a,{account:a})),Object(u.a)("div",{className:"account__header__content",dangerouslySetInnerHTML:n})),Object(u.a)("div",{className:"account--panel"},void 0,Object(u.a)("div",{className:"account--panel__button"},void 0,Object(u.a)(y.a,{title:t.formatMessage(S.authorize),icon:"check",onClick:c})),Object(u.a)("div",{className:"account--panel__button"},void 0,Object(u.a)(y.a,{title:t.formatMessage(S.reject),icon:"times",onClick:o}))))},t}(N.a),Object(j.a)(o,"propTypes",{account:h.a.map.isRequired,onAuthorize:O.a.func.isRequired,onReject:O.a.func.isRequired,intl:O.a.object.isRequired}),c=n))||c,A=a(14),I=Object(b.connect)(function(){var a=Object(w.d)();return function(e,t){return{account:a(e,t.id)}}},function(e,t){var a=t.id;return{onAuthorize:function(){e(Object(A.z)(a))},onReject:function(){e(Object(A.Q)(a))}}})(k);a.d(t,"default",function(){return T});var H=Object(M.f)({heading:{id:"column.follow_requests",defaultMessage:"Follow requests"}}),T=Object(b.connect)(function(e){return{accountIds:e.getIn(["user_lists","follow_requests","items"])}})(i=Object(M.g)((s=r=function(o){function e(){for(var a,e=arguments.length,t=new Array(e),c=0;c<e;c++)t[c]=arguments[c];return a=o.call.apply(o,[this].concat(t))||this,Object(j.a)(Object(d.a)(Object(d.a)(a)),"handleScroll",function(e){var t=e.target;t.scrollTop===t.scrollHeight-t.clientHeight&&a.props.dispatch(Object(A.D)())}),Object(j.a)(Object(d.a)(Object(d.a)(a)),"shouldUpdateScroll",function(e,t){var a=t.location;return!(((e||{}).location||{}).state||{}).mastodonModalOpen&&!(a.state&&a.state.mastodonModalOpen)}),a}Object(l.a)(e,o);var t=e.prototype;return t.componentWillMount=function(){this.props.dispatch(Object(A.H)())},t.render=function(){var e=this.props,t=e.intl,a=e.accountIds;return a?Object(u.a)(_.a,{name:"follow-requests",icon:"users",heading:t.formatMessage(H.heading)},void 0,Object(u.a)(g.a,{}),Object(u.a)(m.a,{scrollKey:"follow_requests",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(u.a)("div",{className:"scrollable",onScroll:this.handleScroll},void 0,a.map(function(e){return Object(u.a)(I,{id:e},e)})))):Object(u.a)(_.a,{name:"follow-requests"},void 0,Object(u.a)(v.a,{}))},e}(N.a),Object(j.a)(r,"propTypes",{params:O.a.object.isRequired,dispatch:O.a.func.isRequired,accountIds:h.a.list,intl:O.a.object.isRequired}),i=s))||i)||i}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{713:function(e,t,a){"use strict";a.r(t);var c,o,n,i,r,s,u=a(1),l=a(6),d=a(0),j=a(2),b=(a(3),a(20)),p=a(5),O=a.n(p),f=a(26),h=a.n(f),v=a(290),m=a(297),_=a(640),g=a(644),w=a(169),q=a(321),z=a(101),R=a(102),y=a(47),M=a(7),N=a(24),S=Object(M.f)({authorize:{id:"follow_request.authorize",defaultMessage:"Authorize"},reject:{id:"follow_request.reject",defaultMessage:"Reject"}}),k=Object(M.g)((n=o=function(e){function t(){return e.apply(this,arguments)||this}return Object(l.a)(t,e),t.prototype.render=function(){var e=this.props,t=e.intl,a=e.account,c=e.onAuthorize,o=e.onReject,n={__html:a.get("note_emojified")};return Object(u.a)("div",{className:"account-authorize__wrapper"},void 0,Object(u.a)("div",{className:"account-authorize"},void 0,Object(u.a)(q.a,{href:a.get("url"),to:"/accounts/"+a.get("id"),className:"detailed-status__display-name"},void 0,Object(u.a)("div",{className:"account-authorize__avatar"},void 0,Object(u.a)(z.a,{account:a,size:48})),Object(u.a)(R.a,{account:a})),Object(u.a)("div",{className:"account__header__content",dangerouslySetInnerHTML:n})),Object(u.a)("div",{className:"account--panel"},void 0,Object(u.a)("div",{className:"account--panel__button"},void 0,Object(u.a)(y.a,{title:t.formatMessage(S.authorize),icon:"check",onClick:c})),Object(u.a)("div",{className:"account--panel__button"},void 0,Object(u.a)(y.a,{title:t.formatMessage(S.reject),icon:"times",onClick:o}))))},t}(N.a),Object(j.a)(o,"propTypes",{account:h.a.map.isRequired,onAuthorize:O.a.func.isRequired,onReject:O.a.func.isRequired,intl:O.a.object.isRequired}),c=n))||c,A=a(14),I=Object(b.connect)(function(){var a=Object(w.d)();return function(e,t){return{account:a(e,t.id)}}},function(e,t){var a=t.id;return{onAuthorize:function(){e(Object(A.z)(a))},onReject:function(){e(Object(A.Q)(a))}}})(k);a.d(t,"default",function(){return T});var H=Object(M.f)({heading:{id:"column.follow_requests",defaultMessage:"Follow requests"}}),T=Object(b.connect)(function(e){return{accountIds:e.getIn(["user_lists","follow_requests","items"])}})(i=Object(M.g)((s=r=function(o){function e(){for(var a,e=arguments.length,t=new Array(e),c=0;c<e;c++)t[c]=arguments[c];return a=o.call.apply(o,[this].concat(t))||this,Object(j.a)(Object(d.a)(Object(d.a)(a)),"handleScroll",function(e){var t=e.target;t.scrollTop===t.scrollHeight-t.clientHeight&&a.props.dispatch(Object(A.D)())}),Object(j.a)(Object(d.a)(Object(d.a)(a)),"shouldUpdateScroll",function(e,t){var a=t.location;return!(((e||{}).location||{}).state||{}).mastodonModalOpen&&!(a.state&&a.state.mastodonModalOpen)}),a}Object(l.a)(e,o);var t=e.prototype;return t.componentWillMount=function(){this.props.dispatch(Object(A.H)())},t.render=function(){var e=this.props,t=e.intl,a=e.accountIds;return a?Object(u.a)(_.a,{name:"follow-requests",icon:"users",heading:t.formatMessage(H.heading)},void 0,Object(u.a)(g.a,{}),Object(u.a)(m.a,{scrollKey:"follow_requests",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(u.a)("div",{className:"scrollable",onScroll:this.handleScroll},void 0,a.map(function(e){return Object(u.a)(I,{id:e},e)})))):Object(u.a)(_.a,{name:"follow-requests"},void 0,Object(u.a)(v.a,{}))},e}(N.a),Object(j.a)(r,"propTypes",{params:O.a.object.isRequired,dispatch:O.a.func.isRequired,accountIds:h.a.list,intl:O.a.object.isRequired}),i=s))||i)||i}}]); //# sourceMappingURL=follow_requests.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/follow_requests.js.map b/priv/static/packs/flavours/glitch/async/follow_requests.js.map index 3ef12b103..48b69b5fa 100644 --- a/priv/static/packs/flavours/glitch/async/follow_requests.js.map +++ b/priv/static/packs/flavours/glitch/async/follow_requests.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/follow_requests/components/account_authorize.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/follow_requests/containers/account_authorize_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/follow_requests/index.js"],"names":["messages","defineMessages","authorize","id","defaultMessage","reject","AccountAuthorize","injectIntl","render","_this$props","this","props","intl","account","onAuthorize","onReject","content","__html","get","Object","jsx","className","permalink","href","to","avatar","size","display_name","dangerouslySetInnerHTML","icon_button","title","formatMessage","icon","onClick","ImmutablePureComponent","ImmutablePropTypes","map","isRequired","PropTypes","func","object","connect","getAccount","makeGetAccount","state","dispatch","_ref","authorizeFollowRequest","rejectFollowRequest","heading","FollowRequests","accountIds","getIn","e","_e$target","target","scrollTop","scrollHeight","clientHeight","_this","expandFollowRequests","prevRouterProps","location","mastodonModalOpen","componentWillMount","fetchFollowRequests","column","name","column_back_button_slim","react_router_scroll_4_es","scrollKey","shouldUpdateScroll","onScroll","handleScroll","account_authorize_container","loading_indicator","params","list"],"mappings":"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","file":"flavours/glitch/async/follow_requests.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Permalink from 'flavours/glitch/components/permalink';\nimport Avatar from 'flavours/glitch/components/avatar';\nimport DisplayName from 'flavours/glitch/components/display_name';\nimport IconButton from 'flavours/glitch/components/icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n authorize: { id: 'follow_request.authorize', defaultMessage: 'Authorize' },\n reject: { id: 'follow_request.reject', defaultMessage: 'Reject' },\n});\n\n@injectIntl\nexport default class AccountAuthorize extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onAuthorize: PropTypes.func.isRequired,\n onReject: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n render () {\n const { intl, account, onAuthorize, onReject } = this.props;\n const content = { __html: account.get('note_emojified') };\n\n return (\n <div className='account-authorize__wrapper'>\n <div className='account-authorize'>\n <Permalink href={account.get('url')} to={`/accounts/${account.get('id')}`} className='detailed-status__display-name'>\n <div className='account-authorize__avatar'><Avatar account={account} size={48} /></div>\n <DisplayName account={account} />\n </Permalink>\n\n <div className='account__header__content' dangerouslySetInnerHTML={content} />\n </div>\n\n <div className='account--panel'>\n <div className='account--panel__button'><IconButton title={intl.formatMessage(messages.authorize)} icon='check' onClick={onAuthorize} /></div>\n <div className='account--panel__button'><IconButton title={intl.formatMessage(messages.reject)} icon='times' onClick={onReject} /></div>\n </div>\n </div>\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport { makeGetAccount } from 'flavours/glitch/selectors';\nimport AccountAuthorize from '../components/account_authorize';\nimport { authorizeFollowRequest, rejectFollowRequest } from 'flavours/glitch/actions/accounts';\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, props) => ({\n account: getAccount(state, props.id),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { id }) => ({\n onAuthorize () {\n dispatch(authorizeFollowRequest(id));\n },\n\n onReject () {\n dispatch(rejectFollowRequest(id));\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(AccountAuthorize);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport AccountAuthorizeContainer from './containers/account_authorize_container';\nimport { fetchFollowRequests, expandFollowRequests } from 'flavours/glitch/actions/accounts';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n heading: { id: 'column.follow_requests', defaultMessage: 'Follow requests' },\n});\n\nconst mapStateToProps = state => ({\n accountIds: state.getIn(['user_lists', 'follow_requests', 'items']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class FollowRequests extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchFollowRequests());\n }\n\n handleScroll = (e) => {\n const { scrollTop, scrollHeight, clientHeight } = e.target;\n\n if (scrollTop === scrollHeight - clientHeight) {\n this.props.dispatch(expandFollowRequests());\n }\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { intl, accountIds } = this.props;\n\n if (!accountIds) {\n return (\n <Column name='follow-requests'>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column name='follow-requests' icon='users' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n\n <ScrollContainer scrollKey='follow_requests' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable' onScroll={this.handleScroll}>\n {accountIds.map(id =>\n <AccountAuthorizeContainer key={id} id={id} />\n )}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/follow_requests/components/account_authorize.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/follow_requests/containers/account_authorize_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/follow_requests/index.js"],"names":["messages","defineMessages","authorize","id","defaultMessage","reject","AccountAuthorize","injectIntl","render","_this$props","this","props","intl","account","onAuthorize","onReject","content","__html","get","Object","jsx","className","permalink","href","to","avatar","size","display_name","dangerouslySetInnerHTML","icon_button","title","formatMessage","icon","onClick","ImmutablePureComponent","ImmutablePropTypes","map","isRequired","PropTypes","func","object","connect","getAccount","makeGetAccount","state","dispatch","_ref","authorizeFollowRequest","rejectFollowRequest","heading","FollowRequests","accountIds","getIn","e","_e$target","target","scrollTop","scrollHeight","clientHeight","_this","expandFollowRequests","prevRouterProps","location","mastodonModalOpen","componentWillMount","fetchFollowRequests","column","name","column_back_button_slim","react_router_scroll_4_es","scrollKey","shouldUpdateScroll","onScroll","handleScroll","account_authorize_container","loading_indicator","params","list"],"mappings":"6RAUMA,EAAWC,YAAe,CAC9BC,UAAS,CAAAC,GAAA,2BAAAC,eAAA,aACTC,OAAM,CAAAF,GAAA,wBAAAC,eAAA,YAIaE,EADpBC,mHAUCC,OAAA,WAAU,IAAAC,EACyCC,KAAKC,MAA9CC,EADAH,EACAG,KAAMC,EADNJ,EACMI,QAASC,EADfL,EACeK,YAAaC,EAD5BN,EAC4BM,SAC9BC,EAAU,CAAEC,OAAQJ,EAAQK,IAAI,mBAEtC,OACEC,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,mCAAf,EACEF,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,0BAAf,EACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAWC,KAAMV,EAAQK,IAAI,OAAQM,GAAE,aAAeX,EAAQK,IAAI,MAASG,UAAU,sCAArF,EACEF,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,kCAAf,EAA2CF,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,CAAQZ,QAASA,EAASa,KAAM,MAC3EP,OAAAC,EAAA,EAAAD,CAACQ,EAAA,EAAD,CAAad,QAASA,KAGxBM,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,2BAA2BO,wBAAyBZ,KAGrEG,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,uBAAf,EACEF,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,+BAAf,EAAwCF,OAAAC,EAAA,EAAAD,CAACU,EAAA,EAAD,CAAYC,MAAOlB,EAAKmB,cAAc/B,EAASE,WAAY8B,KAAK,QAAQC,QAASnB,KACzHK,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,+BAAf,EAAwCF,OAAAC,EAAA,EAAAD,CAACU,EAAA,EAAD,CAAYC,MAAOlB,EAAKmB,cAAc/B,EAASK,QAAS2B,KAAK,QAAQC,QAASlB,WA1BlFmB,+BAEzB,CACjBrB,QAASsB,IAAmBC,IAAIC,WAChCvB,YAAawB,IAAUC,KAAKF,WAC5BtB,SAAUuB,IAAUC,KAAKF,WACzBzB,KAAM0B,IAAUE,OAAOH,8BCGZI,oBApBa,WAC1B,IAAMC,EAAaC,cAMnB,OAJwB,SAACC,EAAOjC,GAAR,MAAmB,CACzCE,QAAS6B,EAAWE,EAAOjC,EAAMR,OAMV,SAAC0C,EAADC,GAAA,IAAa3C,EAAb2C,EAAa3C,GAAb,MAAuB,CAChDW,YADgD,WAE9C+B,EAASE,YAAuB5C,KAGlCY,SALgD,WAM9C8B,EAASG,YAAoB7C,OAIlBsC,CAAiDnC,yCCZhE,IAAMN,EAAWC,YAAe,CAC9BgD,QAAO,CAAA9C,GAAA,yBAAAC,eAAA,qBASY8C,EAFpBT,kBAJuB,SAAAG,GAAK,MAAK,CAChCO,WAAYP,EAAMQ,MAAM,CAAC,aAAc,kBAAmB,eAI3D7C,2NAcgB,SAAC8C,GAAM,IAAAC,EAC8BD,EAAEE,OADhCD,EACZE,YADYF,EACDG,aADCH,EACaI,cAG/BC,EAAKhD,MAAMkC,SAASe,8EAIH,SAACC,EAADf,GAAmC,IAAfgB,EAAehB,EAAfgB,SACvC,UAAOD,GAAmB,IAAIC,UAAY,IAAIlB,OAAS,IAAImB,qBAClDD,EAASlB,OAASkB,EAASlB,MAAMmB,mEAd5CC,mBAAA,WACEtD,KAAKC,MAAMkC,SAASoB,kBAgBtBzD,OAAA,WAAU,IAAAC,EACqBC,KAAKC,MAA1BC,EADAH,EACAG,KAAMuC,EADN1C,EACM0C,WAEd,OAAKA,EASHhC,OAAAC,EAAA,EAAAD,CAAC+C,EAAA,EAAD,CAAQC,KAAK,kBAAkBnC,KAAK,QAAQiB,QAASrC,EAAKmB,cAAc/B,EAASiD,eAAjF,EACE9B,OAAAC,EAAA,EAAAD,CAACiD,EAAA,EAAD,IAEAjD,OAAAC,EAAA,EAAAD,CAACkD,EAAA,EAAD,CAAiBC,UAAU,kBAAkBC,mBAAoB7D,KAAK6D,yBAAtE,EACEpD,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,aAAamD,SAAU9D,KAAK+D,mBAA3C,EACGtB,EAAWf,IAAI,SAAAjC,GAAE,OAChBgB,OAAAC,EAAA,EAAAD,CAACuD,EAAD,CAAoCvE,GAAIA,GAARA,QAbtCgB,OAAAC,EAAA,EAAAD,CAAC+C,EAAA,EAAD,CAAQC,KAAK,wBAAb,EACEhD,OAAAC,EAAA,EAAAD,CAACwD,EAAA,EAAD,SAhCkCzC,+BAEvB,CACjB0C,OAAQtC,IAAUE,OAAOH,WACzBQ,SAAUP,IAAUC,KAAKF,WACzBc,WAAYhB,IAAmB0C,KAC/BjE,KAAM0B,IAAUE,OAAOH","file":"flavours/glitch/async/follow_requests.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Permalink from 'flavours/glitch/components/permalink';\nimport Avatar from 'flavours/glitch/components/avatar';\nimport DisplayName from 'flavours/glitch/components/display_name';\nimport IconButton from 'flavours/glitch/components/icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n authorize: { id: 'follow_request.authorize', defaultMessage: 'Authorize' },\n reject: { id: 'follow_request.reject', defaultMessage: 'Reject' },\n});\n\n@injectIntl\nexport default class AccountAuthorize extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onAuthorize: PropTypes.func.isRequired,\n onReject: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n render () {\n const { intl, account, onAuthorize, onReject } = this.props;\n const content = { __html: account.get('note_emojified') };\n\n return (\n <div className='account-authorize__wrapper'>\n <div className='account-authorize'>\n <Permalink href={account.get('url')} to={`/accounts/${account.get('id')}`} className='detailed-status__display-name'>\n <div className='account-authorize__avatar'><Avatar account={account} size={48} /></div>\n <DisplayName account={account} />\n </Permalink>\n\n <div className='account__header__content' dangerouslySetInnerHTML={content} />\n </div>\n\n <div className='account--panel'>\n <div className='account--panel__button'><IconButton title={intl.formatMessage(messages.authorize)} icon='check' onClick={onAuthorize} /></div>\n <div className='account--panel__button'><IconButton title={intl.formatMessage(messages.reject)} icon='times' onClick={onReject} /></div>\n </div>\n </div>\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport { makeGetAccount } from 'flavours/glitch/selectors';\nimport AccountAuthorize from '../components/account_authorize';\nimport { authorizeFollowRequest, rejectFollowRequest } from 'flavours/glitch/actions/accounts';\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, props) => ({\n account: getAccount(state, props.id),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { id }) => ({\n onAuthorize () {\n dispatch(authorizeFollowRequest(id));\n },\n\n onReject () {\n dispatch(rejectFollowRequest(id));\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(AccountAuthorize);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport AccountAuthorizeContainer from './containers/account_authorize_container';\nimport { fetchFollowRequests, expandFollowRequests } from 'flavours/glitch/actions/accounts';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n heading: { id: 'column.follow_requests', defaultMessage: 'Follow requests' },\n});\n\nconst mapStateToProps = state => ({\n accountIds: state.getIn(['user_lists', 'follow_requests', 'items']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class FollowRequests extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchFollowRequests());\n }\n\n handleScroll = (e) => {\n const { scrollTop, scrollHeight, clientHeight } = e.target;\n\n if (scrollTop === scrollHeight - clientHeight) {\n this.props.dispatch(expandFollowRequests());\n }\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { intl, accountIds } = this.props;\n\n if (!accountIds) {\n return (\n <Column name='follow-requests'>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column name='follow-requests' icon='users' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n\n <ScrollContainer scrollKey='follow_requests' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable' onScroll={this.handleScroll}>\n {accountIds.map(id =>\n <AccountAuthorizeContainer key={id} id={id} />\n )}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/followers.js b/priv/static/packs/flavours/glitch/async/followers.js index cb80693b8..3d73f3d6b 100644 --- a/priv/static/packs/flavours/glitch/async/followers.js +++ b/priv/static/packs/flavours/glitch/async/followers.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{667:function(a,t,o){"use strict";o.r(t),o.d(t,"default",function(){return S});var c,e,s,n=o(1),r=o(6),p=o(0),i=o(2),l=(o(3),o(20)),d=o(5),u=o.n(d),h=o(26),b=o.n(h),O=o(288),j=o(14),m=o(295),f=o(624),I=o(639),v=o(901),w=o(646),M=o(888),g=o(24),S=Object(l.connect)(function(a,t){return{accountIds:a.getIn(["user_lists","followers",t.params.accountId,"items"]),hasMore:!!a.getIn(["user_lists","followers",t.params.accountId,"next"])}})((s=e=function(e){function a(){for(var o,a=arguments.length,t=new Array(a),c=0;c<a;c++)t[c]=arguments[c];return o=e.call.apply(e,[this].concat(t))||this,Object(i.a)(Object(p.a)(Object(p.a)(o)),"handleScroll",function(a){var t=a.target;t.scrollTop===t.scrollHeight-t.clientHeight&&o.props.hasMore&&o.props.dispatch(Object(j.E)(o.props.params.accountId))}),Object(i.a)(Object(p.a)(Object(p.a)(o)),"handleLoadMore",function(a){a.preventDefault(),o.props.dispatch(Object(j.E)(o.props.params.accountId))}),Object(i.a)(Object(p.a)(Object(p.a)(o)),"shouldUpdateScroll",function(a,t){var o=t.location;return!(((a||{}).location||{}).state||{}).mastodonModalOpen&&!(o.state&&o.state.mastodonModalOpen)}),o}Object(r.a)(a,e);var t=a.prototype;return t.componentWillMount=function(){this.props.dispatch(Object(j.G)(this.props.params.accountId)),this.props.dispatch(Object(j.I)(this.props.params.accountId))},t.componentWillReceiveProps=function(a){a.params.accountId!==this.props.params.accountId&&a.params.accountId&&(this.props.dispatch(Object(j.G)(a.params.accountId)),this.props.dispatch(Object(j.I)(a.params.accountId)))},t.render=function(){var a=this.props,t=a.accountIds,o=a.hasMore,c=null;return t?(o&&(c=Object(n.a)(w.a,{onClick:this.handleLoadMore})),Object(n.a)(I.a,{},void 0,Object(n.a)(M.a,{}),Object(n.a)(m.a,{scrollKey:"followers",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(n.a)("div",{className:"scrollable",onScroll:this.handleScroll},void 0,Object(n.a)("div",{className:"followers"},void 0,Object(n.a)(v.a,{accountId:this.props.params.accountId,hideTabs:!0}),t.map(function(a){return Object(n.a)(f.a,{id:a,withNote:!1},a)}),c))))):Object(n.a)(I.a,{},void 0,Object(n.a)(O.a,{}))},a}(g.a),Object(i.a)(e,"propTypes",{params:u.a.object.isRequired,dispatch:u.a.func.isRequired,accountIds:b.a.list,hasMore:u.a.bool}),c=s))||c}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{668:function(a,t,o){"use strict";o.r(t),o.d(t,"default",function(){return S});var c,e,s,n=o(1),r=o(6),p=o(0),i=o(2),l=(o(3),o(20)),d=o(5),u=o.n(d),h=o(26),b=o.n(h),O=o(290),j=o(14),m=o(297),f=o(625),I=o(640),v=o(902),w=o(647),M=o(889),g=o(24),S=Object(l.connect)(function(a,t){return{accountIds:a.getIn(["user_lists","followers",t.params.accountId,"items"]),hasMore:!!a.getIn(["user_lists","followers",t.params.accountId,"next"])}})((s=e=function(e){function a(){for(var o,a=arguments.length,t=new Array(a),c=0;c<a;c++)t[c]=arguments[c];return o=e.call.apply(e,[this].concat(t))||this,Object(i.a)(Object(p.a)(Object(p.a)(o)),"handleScroll",function(a){var t=a.target;t.scrollTop===t.scrollHeight-t.clientHeight&&o.props.hasMore&&o.props.dispatch(Object(j.E)(o.props.params.accountId))}),Object(i.a)(Object(p.a)(Object(p.a)(o)),"handleLoadMore",function(a){a.preventDefault(),o.props.dispatch(Object(j.E)(o.props.params.accountId))}),Object(i.a)(Object(p.a)(Object(p.a)(o)),"shouldUpdateScroll",function(a,t){var o=t.location;return!(((a||{}).location||{}).state||{}).mastodonModalOpen&&!(o.state&&o.state.mastodonModalOpen)}),o}Object(r.a)(a,e);var t=a.prototype;return t.componentWillMount=function(){this.props.dispatch(Object(j.G)(this.props.params.accountId)),this.props.dispatch(Object(j.I)(this.props.params.accountId))},t.componentWillReceiveProps=function(a){a.params.accountId!==this.props.params.accountId&&a.params.accountId&&(this.props.dispatch(Object(j.G)(a.params.accountId)),this.props.dispatch(Object(j.I)(a.params.accountId)))},t.render=function(){var a=this.props,t=a.accountIds,o=a.hasMore,c=null;return t?(o&&(c=Object(n.a)(w.a,{onClick:this.handleLoadMore})),Object(n.a)(I.a,{},void 0,Object(n.a)(M.a,{}),Object(n.a)(m.a,{scrollKey:"followers",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(n.a)("div",{className:"scrollable",onScroll:this.handleScroll},void 0,Object(n.a)("div",{className:"followers"},void 0,Object(n.a)(v.a,{accountId:this.props.params.accountId,hideTabs:!0}),t.map(function(a){return Object(n.a)(f.a,{id:a,withNote:!1},a)}),c))))):Object(n.a)(I.a,{},void 0,Object(n.a)(O.a,{}))},a}(g.a),Object(i.a)(e,"propTypes",{params:u.a.object.isRequired,dispatch:u.a.func.isRequired,accountIds:b.a.list,hasMore:u.a.bool}),c=s))||c}}]); //# sourceMappingURL=followers.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/followers.js.map b/priv/static/packs/flavours/glitch/async/followers.js.map index ac6c84ae7..c66c2025a 100644 --- a/priv/static/packs/flavours/glitch/async/followers.js.map +++ b/priv/static/packs/flavours/glitch/async/followers.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/followers/index.js"],"names":["Followers","connect","state","props","accountIds","getIn","params","accountId","hasMore","e","_e$target","target","scrollTop","scrollHeight","clientHeight","_this","dispatch","expandFollowers","preventDefault","prevRouterProps","_ref","location","mastodonModalOpen","componentWillMount","this","fetchAccount","fetchFollowers","componentWillReceiveProps","nextProps","render","_this$props","loadMore","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_load_more__WEBPACK_IMPORTED_MODULE_14__","onClick","handleLoadMore","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_12__","flavours_glitch_components_column_back_button__WEBPACK_IMPORTED_MODULE_15__","react_router_scroll_4__WEBPACK_IMPORTED_MODULE_10__","scrollKey","shouldUpdateScroll","className","onScroll","handleScroll","flavours_glitch_features_account_timeline_containers_header_container__WEBPACK_IMPORTED_MODULE_13__","hideTabs","map","id","flavours_glitch_containers_account_container__WEBPACK_IMPORTED_MODULE_11__","withNote","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_8__","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list","bool"],"mappings":"6SAwBqBA,EADpBC,kBALuB,SAACC,EAAOC,GAAR,MAAmB,CACzCC,WAAYF,EAAMG,MAAM,CAAC,aAAc,YAAaF,EAAMG,OAAOC,UAAW,UAC5EC,UAAWN,EAAMG,MAAM,CAAC,aAAc,YAAaF,EAAMG,OAAOC,UAAW,2NAyB5D,SAACE,GAAM,IAAAC,EAC8BD,EAAEE,OADhCD,EACZE,YADYF,EACDG,aADCH,EACaI,cAEgBC,EAAKZ,MAAMK,SAC1DO,EAAKZ,MAAMa,SAASC,YAAgBF,EAAKZ,MAAMG,OAAOC,uEAIzC,SAACE,GAChBA,EAAES,iBACFH,EAAKZ,MAAMa,SAASC,YAAgBF,EAAKZ,MAAMG,OAAOC,2EAGnC,SAACY,EAADC,GAAmC,IAAfC,EAAeD,EAAfC,SACvC,UAAOF,GAAmB,IAAIE,UAAY,IAAInB,OAAS,IAAIoB,qBAClDD,EAASnB,OAASmB,EAASnB,MAAMoB,mEA3B5CC,mBAAA,WACEC,KAAKrB,MAAMa,SAASS,YAAaD,KAAKrB,MAAMG,OAAOC,YACnDiB,KAAKrB,MAAMa,SAASU,YAAeF,KAAKrB,MAAMG,OAAOC,eAGvDoB,0BAAA,SAA2BC,GACrBA,EAAUtB,OAAOC,YAAciB,KAAKrB,MAAMG,OAAOC,WAAaqB,EAAUtB,OAAOC,YACjFiB,KAAKrB,MAAMa,SAASS,YAAaG,EAAUtB,OAAOC,YAClDiB,KAAKrB,MAAMa,SAASU,YAAeE,EAAUtB,OAAOC,gBAsBxDsB,OAAA,WAAU,IAAAC,EACwBN,KAAKrB,MAA7BC,EADA0B,EACA1B,WAAYI,EADZsB,EACYtB,QAEhBuB,EAAW,KAEf,OAAK3B,GAQDI,IACFuB,EAAWC,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAUC,QAASX,KAAKY,kBAInCJ,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,UACEL,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,IAEAN,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAiBC,UAAU,YAAYC,mBAAoBjB,KAAKiB,yBAAhE,EACET,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,aAAaC,SAAUnB,KAAKoB,mBAA3C,EACEZ,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,kBAAf,EACEV,OAAAC,EAAA,EAAAD,CAACa,EAAA,EAAD,CAAiBtC,UAAWiB,KAAKrB,MAAMG,OAAOC,UAAWuC,UAAQ,IAChE1C,EAAW2C,IAAI,SAAAC,GAAE,OAAIhB,OAAAC,EAAA,EAAAD,CAACiB,EAAA,EAAD,CAA2BD,GAAIA,EAAIE,UAAU,GAAtBF,KAC5CjB,OAnBPC,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,UACEL,OAAAC,EAAA,EAAAD,CAACmB,EAAA,EAAD,SA/C6BC,+BAElB,CACjB9C,OAAQ+C,IAAUC,OAAOC,WACzBvC,SAAUqC,IAAUG,KAAKD,WACzBnD,WAAYqD,IAAmBC,KAC/BlD,QAAS6C,IAAUM","file":"flavours/glitch/async/followers.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport {\n fetchAccount,\n fetchFollowers,\n expandFollowers,\n} from 'flavours/glitch/actions/accounts';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';\nimport LoadMore from 'flavours/glitch/components/load_more';\nimport ColumnBackButton from 'flavours/glitch/components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst mapStateToProps = (state, props) => ({\n accountIds: state.getIn(['user_lists', 'followers', props.params.accountId, 'items']),\n hasMore: !!state.getIn(['user_lists', 'followers', props.params.accountId, 'next']),\n});\n\n@connect(mapStateToProps)\nexport default class Followers extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n hasMore: PropTypes.bool,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchAccount(this.props.params.accountId));\n this.props.dispatch(fetchFollowers(this.props.params.accountId));\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {\n this.props.dispatch(fetchAccount(nextProps.params.accountId));\n this.props.dispatch(fetchFollowers(nextProps.params.accountId));\n }\n }\n\n handleScroll = (e) => {\n const { scrollTop, scrollHeight, clientHeight } = e.target;\n\n if (scrollTop === scrollHeight - clientHeight && this.props.hasMore) {\n this.props.dispatch(expandFollowers(this.props.params.accountId));\n }\n }\n\n handleLoadMore = (e) => {\n e.preventDefault();\n this.props.dispatch(expandFollowers(this.props.params.accountId));\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { accountIds, hasMore } = this.props;\n\n let loadMore = null;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n if (hasMore) {\n loadMore = <LoadMore onClick={this.handleLoadMore} />;\n }\n\n return (\n <Column>\n <ColumnBackButton />\n\n <ScrollContainer scrollKey='followers' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable' onScroll={this.handleScroll}>\n <div className='followers'>\n <HeaderContainer accountId={this.props.params.accountId} hideTabs />\n {accountIds.map(id => <AccountContainer key={id} id={id} withNote={false} />)}\n {loadMore}\n </div>\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/followers/index.js"],"names":["Followers","connect","state","props","accountIds","getIn","params","accountId","hasMore","e","_e$target","target","scrollTop","scrollHeight","clientHeight","_this","dispatch","expandFollowers","preventDefault","prevRouterProps","_ref","location","mastodonModalOpen","componentWillMount","this","fetchAccount","fetchFollowers","componentWillReceiveProps","nextProps","render","_this$props","loadMore","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_load_more__WEBPACK_IMPORTED_MODULE_14__","onClick","handleLoadMore","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_12__","flavours_glitch_components_column_back_button__WEBPACK_IMPORTED_MODULE_15__","react_router_scroll_4__WEBPACK_IMPORTED_MODULE_10__","scrollKey","shouldUpdateScroll","className","onScroll","handleScroll","flavours_glitch_features_account_timeline_containers_header_container__WEBPACK_IMPORTED_MODULE_13__","hideTabs","map","id","flavours_glitch_containers_account_container__WEBPACK_IMPORTED_MODULE_11__","withNote","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_8__","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list","bool"],"mappings":"6SAwBqBA,EADpBC,kBALuB,SAACC,EAAOC,GAAR,MAAmB,CACzCC,WAAYF,EAAMG,MAAM,CAAC,aAAc,YAAaF,EAAMG,OAAOC,UAAW,UAC5EC,UAAWN,EAAMG,MAAM,CAAC,aAAc,YAAaF,EAAMG,OAAOC,UAAW,2NAyB5D,SAACE,GAAM,IAAAC,EAC8BD,EAAEE,OADhCD,EACZE,YADYF,EACDG,aADCH,EACaI,cAEgBC,EAAKZ,MAAMK,SAC1DO,EAAKZ,MAAMa,SAASC,YAAgBF,EAAKZ,MAAMG,OAAOC,uEAIzC,SAACE,GAChBA,EAAES,iBACFH,EAAKZ,MAAMa,SAASC,YAAgBF,EAAKZ,MAAMG,OAAOC,2EAGnC,SAACY,EAADC,GAAmC,IAAfC,EAAeD,EAAfC,SACvC,UAAOF,GAAmB,IAAIE,UAAY,IAAInB,OAAS,IAAIoB,qBAClDD,EAASnB,OAASmB,EAASnB,MAAMoB,mEA3B5CC,mBAAA,WACEC,KAAKrB,MAAMa,SAASS,YAAaD,KAAKrB,MAAMG,OAAOC,YACnDiB,KAAKrB,MAAMa,SAASU,YAAeF,KAAKrB,MAAMG,OAAOC,eAGvDoB,0BAAA,SAA2BC,GACrBA,EAAUtB,OAAOC,YAAciB,KAAKrB,MAAMG,OAAOC,WAAaqB,EAAUtB,OAAOC,YACjFiB,KAAKrB,MAAMa,SAASS,YAAaG,EAAUtB,OAAOC,YAClDiB,KAAKrB,MAAMa,SAASU,YAAeE,EAAUtB,OAAOC,gBAsBxDsB,OAAA,WAAU,IAAAC,EACwBN,KAAKrB,MAA7BC,EADA0B,EACA1B,WAAYI,EADZsB,EACYtB,QAEhBuB,EAAW,KAEf,OAAK3B,GAQDI,IACFuB,EAAWC,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAUC,QAASX,KAAKY,kBAInCJ,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,UACEL,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,IAEAN,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAiBC,UAAU,YAAYC,mBAAoBjB,KAAKiB,yBAAhE,EACET,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,aAAaC,SAAUnB,KAAKoB,mBAA3C,EACEZ,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,kBAAf,EACEV,OAAAC,EAAA,EAAAD,CAACa,EAAA,EAAD,CAAiBtC,UAAWiB,KAAKrB,MAAMG,OAAOC,UAAWuC,UAAQ,IAChE1C,EAAW2C,IAAI,SAAAC,GAAE,OAAIhB,OAAAC,EAAA,EAAAD,CAACiB,EAAA,EAAD,CAA2BD,GAAIA,EAAIE,UAAU,GAAtBF,KAC5CjB,OAnBPC,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,UACEL,OAAAC,EAAA,EAAAD,CAACmB,EAAA,EAAD,SA/C6BC,+BAElB,CACjB9C,OAAQ+C,IAAUC,OAAOC,WACzBvC,SAAUqC,IAAUG,KAAKD,WACzBnD,WAAYqD,IAAmBC,KAC/BlD,QAAS6C,IAAUM","file":"flavours/glitch/async/followers.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport {\n fetchAccount,\n fetchFollowers,\n expandFollowers,\n} from 'flavours/glitch/actions/accounts';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';\nimport LoadMore from 'flavours/glitch/components/load_more';\nimport ColumnBackButton from 'flavours/glitch/components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst mapStateToProps = (state, props) => ({\n accountIds: state.getIn(['user_lists', 'followers', props.params.accountId, 'items']),\n hasMore: !!state.getIn(['user_lists', 'followers', props.params.accountId, 'next']),\n});\n\n@connect(mapStateToProps)\nexport default class Followers extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n hasMore: PropTypes.bool,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchAccount(this.props.params.accountId));\n this.props.dispatch(fetchFollowers(this.props.params.accountId));\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {\n this.props.dispatch(fetchAccount(nextProps.params.accountId));\n this.props.dispatch(fetchFollowers(nextProps.params.accountId));\n }\n }\n\n handleScroll = (e) => {\n const { scrollTop, scrollHeight, clientHeight } = e.target;\n\n if (scrollTop === scrollHeight - clientHeight && this.props.hasMore) {\n this.props.dispatch(expandFollowers(this.props.params.accountId));\n }\n }\n\n handleLoadMore = (e) => {\n e.preventDefault();\n this.props.dispatch(expandFollowers(this.props.params.accountId));\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { accountIds, hasMore } = this.props;\n\n let loadMore = null;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n if (hasMore) {\n loadMore = <LoadMore onClick={this.handleLoadMore} />;\n }\n\n return (\n <Column>\n <ColumnBackButton />\n\n <ScrollContainer scrollKey='followers' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable' onScroll={this.handleScroll}>\n <div className='followers'>\n <HeaderContainer accountId={this.props.params.accountId} hideTabs />\n {accountIds.map(id => <AccountContainer key={id} id={id} withNote={false} />)}\n {loadMore}\n </div>\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/following.js b/priv/static/packs/flavours/glitch/async/following.js index 7307c8a39..82e0aeb45 100644 --- a/priv/static/packs/flavours/glitch/async/following.js +++ b/priv/static/packs/flavours/glitch/async/following.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{668:function(a,t,o){"use strict";o.r(t),o.d(t,"default",function(){return S});var c,e,s,n=o(1),r=o(6),p=o(0),i=o(2),l=(o(3),o(20)),d=o(5),u=o.n(d),h=o(26),b=o.n(h),O=o(288),j=o(14),m=o(295),f=o(624),I=o(639),v=o(901),w=o(646),g=o(888),M=o(24),S=Object(l.connect)(function(a,t){return{accountIds:a.getIn(["user_lists","following",t.params.accountId,"items"]),hasMore:!!a.getIn(["user_lists","following",t.params.accountId,"next"])}})((s=e=function(e){function a(){for(var o,a=arguments.length,t=new Array(a),c=0;c<a;c++)t[c]=arguments[c];return o=e.call.apply(e,[this].concat(t))||this,Object(i.a)(Object(p.a)(Object(p.a)(o)),"handleScroll",function(a){var t=a.target;t.scrollTop===t.scrollHeight-t.clientHeight&&o.props.hasMore&&o.props.dispatch(Object(j.F)(o.props.params.accountId))}),Object(i.a)(Object(p.a)(Object(p.a)(o)),"handleLoadMore",function(a){a.preventDefault(),o.props.dispatch(Object(j.F)(o.props.params.accountId))}),Object(i.a)(Object(p.a)(Object(p.a)(o)),"shouldUpdateScroll",function(a,t){var o=t.location;return!(((a||{}).location||{}).state||{}).mastodonModalOpen&&!(o.state&&o.state.mastodonModalOpen)}),o}Object(r.a)(a,e);var t=a.prototype;return t.componentWillMount=function(){this.props.dispatch(Object(j.G)(this.props.params.accountId)),this.props.dispatch(Object(j.J)(this.props.params.accountId))},t.componentWillReceiveProps=function(a){a.params.accountId!==this.props.params.accountId&&a.params.accountId&&(this.props.dispatch(Object(j.G)(a.params.accountId)),this.props.dispatch(Object(j.J)(a.params.accountId)))},t.render=function(){var a=this.props,t=a.accountIds,o=a.hasMore,c=null;return t?(o&&(c=Object(n.a)(w.a,{onClick:this.handleLoadMore})),Object(n.a)(I.a,{},void 0,Object(n.a)(g.a,{}),Object(n.a)(m.a,{scrollKey:"following",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(n.a)("div",{className:"scrollable",onScroll:this.handleScroll},void 0,Object(n.a)("div",{className:"following"},void 0,Object(n.a)(v.a,{accountId:this.props.params.accountId,hideTabs:!0}),t.map(function(a){return Object(n.a)(f.a,{id:a,withNote:!1},a)}),c))))):Object(n.a)(I.a,{},void 0,Object(n.a)(O.a,{}))},a}(M.a),Object(i.a)(e,"propTypes",{params:u.a.object.isRequired,dispatch:u.a.func.isRequired,accountIds:b.a.list,hasMore:u.a.bool}),c=s))||c}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{669:function(a,t,o){"use strict";o.r(t),o.d(t,"default",function(){return S});var c,e,s,n=o(1),r=o(6),p=o(0),i=o(2),l=(o(3),o(20)),d=o(5),u=o.n(d),h=o(26),b=o.n(h),O=o(290),j=o(14),m=o(297),f=o(625),I=o(640),v=o(902),w=o(647),g=o(889),M=o(24),S=Object(l.connect)(function(a,t){return{accountIds:a.getIn(["user_lists","following",t.params.accountId,"items"]),hasMore:!!a.getIn(["user_lists","following",t.params.accountId,"next"])}})((s=e=function(e){function a(){for(var o,a=arguments.length,t=new Array(a),c=0;c<a;c++)t[c]=arguments[c];return o=e.call.apply(e,[this].concat(t))||this,Object(i.a)(Object(p.a)(Object(p.a)(o)),"handleScroll",function(a){var t=a.target;t.scrollTop===t.scrollHeight-t.clientHeight&&o.props.hasMore&&o.props.dispatch(Object(j.F)(o.props.params.accountId))}),Object(i.a)(Object(p.a)(Object(p.a)(o)),"handleLoadMore",function(a){a.preventDefault(),o.props.dispatch(Object(j.F)(o.props.params.accountId))}),Object(i.a)(Object(p.a)(Object(p.a)(o)),"shouldUpdateScroll",function(a,t){var o=t.location;return!(((a||{}).location||{}).state||{}).mastodonModalOpen&&!(o.state&&o.state.mastodonModalOpen)}),o}Object(r.a)(a,e);var t=a.prototype;return t.componentWillMount=function(){this.props.dispatch(Object(j.G)(this.props.params.accountId)),this.props.dispatch(Object(j.J)(this.props.params.accountId))},t.componentWillReceiveProps=function(a){a.params.accountId!==this.props.params.accountId&&a.params.accountId&&(this.props.dispatch(Object(j.G)(a.params.accountId)),this.props.dispatch(Object(j.J)(a.params.accountId)))},t.render=function(){var a=this.props,t=a.accountIds,o=a.hasMore,c=null;return t?(o&&(c=Object(n.a)(w.a,{onClick:this.handleLoadMore})),Object(n.a)(I.a,{},void 0,Object(n.a)(g.a,{}),Object(n.a)(m.a,{scrollKey:"following",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(n.a)("div",{className:"scrollable",onScroll:this.handleScroll},void 0,Object(n.a)("div",{className:"following"},void 0,Object(n.a)(v.a,{accountId:this.props.params.accountId,hideTabs:!0}),t.map(function(a){return Object(n.a)(f.a,{id:a,withNote:!1},a)}),c))))):Object(n.a)(I.a,{},void 0,Object(n.a)(O.a,{}))},a}(M.a),Object(i.a)(e,"propTypes",{params:u.a.object.isRequired,dispatch:u.a.func.isRequired,accountIds:b.a.list,hasMore:u.a.bool}),c=s))||c}}]); //# sourceMappingURL=following.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/following.js.map b/priv/static/packs/flavours/glitch/async/following.js.map index 310fe4d76..63ce7d21c 100644 --- a/priv/static/packs/flavours/glitch/async/following.js.map +++ b/priv/static/packs/flavours/glitch/async/following.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/following/index.js"],"names":["Following","connect","state","props","accountIds","getIn","params","accountId","hasMore","e","_e$target","target","scrollTop","scrollHeight","clientHeight","_this","dispatch","expandFollowing","preventDefault","prevRouterProps","_ref","location","mastodonModalOpen","componentWillMount","this","fetchAccount","fetchFollowing","componentWillReceiveProps","nextProps","render","_this$props","loadMore","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_load_more__WEBPACK_IMPORTED_MODULE_14__","onClick","handleLoadMore","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_12__","flavours_glitch_components_column_back_button__WEBPACK_IMPORTED_MODULE_15__","react_router_scroll_4__WEBPACK_IMPORTED_MODULE_10__","scrollKey","shouldUpdateScroll","className","onScroll","handleScroll","flavours_glitch_features_account_timeline_containers_header_container__WEBPACK_IMPORTED_MODULE_13__","hideTabs","map","id","flavours_glitch_containers_account_container__WEBPACK_IMPORTED_MODULE_11__","withNote","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_8__","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list","bool"],"mappings":"6SAwBqBA,EADpBC,kBALuB,SAACC,EAAOC,GAAR,MAAmB,CACzCC,WAAYF,EAAMG,MAAM,CAAC,aAAc,YAAaF,EAAMG,OAAOC,UAAW,UAC5EC,UAAWN,EAAMG,MAAM,CAAC,aAAc,YAAaF,EAAMG,OAAOC,UAAW,2NAyB5D,SAACE,GAAM,IAAAC,EAC8BD,EAAEE,OADhCD,EACZE,YADYF,EACDG,aADCH,EACaI,cAEgBC,EAAKZ,MAAMK,SAC1DO,EAAKZ,MAAMa,SAASC,YAAgBF,EAAKZ,MAAMG,OAAOC,uEAIzC,SAACE,GAChBA,EAAES,iBACFH,EAAKZ,MAAMa,SAASC,YAAgBF,EAAKZ,MAAMG,OAAOC,2EAGnC,SAACY,EAADC,GAAmC,IAAfC,EAAeD,EAAfC,SACvC,UAAOF,GAAmB,IAAIE,UAAY,IAAInB,OAAS,IAAIoB,qBAClDD,EAASnB,OAASmB,EAASnB,MAAMoB,mEA3B5CC,mBAAA,WACEC,KAAKrB,MAAMa,SAASS,YAAaD,KAAKrB,MAAMG,OAAOC,YACnDiB,KAAKrB,MAAMa,SAASU,YAAeF,KAAKrB,MAAMG,OAAOC,eAGvDoB,0BAAA,SAA2BC,GACrBA,EAAUtB,OAAOC,YAAciB,KAAKrB,MAAMG,OAAOC,WAAaqB,EAAUtB,OAAOC,YACjFiB,KAAKrB,MAAMa,SAASS,YAAaG,EAAUtB,OAAOC,YAClDiB,KAAKrB,MAAMa,SAASU,YAAeE,EAAUtB,OAAOC,gBAsBxDsB,OAAA,WAAU,IAAAC,EACwBN,KAAKrB,MAA7BC,EADA0B,EACA1B,WAAYI,EADZsB,EACYtB,QAEhBuB,EAAW,KAEf,OAAK3B,GAQDI,IACFuB,EAAWC,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAUC,QAASX,KAAKY,kBAInCJ,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,UACEL,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,IAEAN,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAiBC,UAAU,YAAYC,mBAAoBjB,KAAKiB,yBAAhE,EACET,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,aAAaC,SAAUnB,KAAKoB,mBAA3C,EACEZ,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,kBAAf,EACEV,OAAAC,EAAA,EAAAD,CAACa,EAAA,EAAD,CAAiBtC,UAAWiB,KAAKrB,MAAMG,OAAOC,UAAWuC,UAAQ,IAChE1C,EAAW2C,IAAI,SAAAC,GAAE,OAAIhB,OAAAC,EAAA,EAAAD,CAACiB,EAAA,EAAD,CAA2BD,GAAIA,EAAIE,UAAU,GAAtBF,KAC5CjB,OAnBPC,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,UACEL,OAAAC,EAAA,EAAAD,CAACmB,EAAA,EAAD,SA/C6BC,+BAElB,CACjB9C,OAAQ+C,IAAUC,OAAOC,WACzBvC,SAAUqC,IAAUG,KAAKD,WACzBnD,WAAYqD,IAAmBC,KAC/BlD,QAAS6C,IAAUM","file":"flavours/glitch/async/following.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport {\n fetchAccount,\n fetchFollowing,\n expandFollowing,\n} from 'flavours/glitch/actions/accounts';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';\nimport LoadMore from 'flavours/glitch/components/load_more';\nimport ColumnBackButton from 'flavours/glitch/components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst mapStateToProps = (state, props) => ({\n accountIds: state.getIn(['user_lists', 'following', props.params.accountId, 'items']),\n hasMore: !!state.getIn(['user_lists', 'following', props.params.accountId, 'next']),\n});\n\n@connect(mapStateToProps)\nexport default class Following extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n hasMore: PropTypes.bool,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchAccount(this.props.params.accountId));\n this.props.dispatch(fetchFollowing(this.props.params.accountId));\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {\n this.props.dispatch(fetchAccount(nextProps.params.accountId));\n this.props.dispatch(fetchFollowing(nextProps.params.accountId));\n }\n }\n\n handleScroll = (e) => {\n const { scrollTop, scrollHeight, clientHeight } = e.target;\n\n if (scrollTop === scrollHeight - clientHeight && this.props.hasMore) {\n this.props.dispatch(expandFollowing(this.props.params.accountId));\n }\n }\n\n handleLoadMore = (e) => {\n e.preventDefault();\n this.props.dispatch(expandFollowing(this.props.params.accountId));\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { accountIds, hasMore } = this.props;\n\n let loadMore = null;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n if (hasMore) {\n loadMore = <LoadMore onClick={this.handleLoadMore} />;\n }\n\n return (\n <Column>\n <ColumnBackButton />\n\n <ScrollContainer scrollKey='following' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable' onScroll={this.handleScroll}>\n <div className='following'>\n <HeaderContainer accountId={this.props.params.accountId} hideTabs />\n {accountIds.map(id => <AccountContainer key={id} id={id} withNote={false} />)}\n {loadMore}\n </div>\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/following/index.js"],"names":["Following","connect","state","props","accountIds","getIn","params","accountId","hasMore","e","_e$target","target","scrollTop","scrollHeight","clientHeight","_this","dispatch","expandFollowing","preventDefault","prevRouterProps","_ref","location","mastodonModalOpen","componentWillMount","this","fetchAccount","fetchFollowing","componentWillReceiveProps","nextProps","render","_this$props","loadMore","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_load_more__WEBPACK_IMPORTED_MODULE_14__","onClick","handleLoadMore","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_12__","flavours_glitch_components_column_back_button__WEBPACK_IMPORTED_MODULE_15__","react_router_scroll_4__WEBPACK_IMPORTED_MODULE_10__","scrollKey","shouldUpdateScroll","className","onScroll","handleScroll","flavours_glitch_features_account_timeline_containers_header_container__WEBPACK_IMPORTED_MODULE_13__","hideTabs","map","id","flavours_glitch_containers_account_container__WEBPACK_IMPORTED_MODULE_11__","withNote","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_8__","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list","bool"],"mappings":"6SAwBqBA,EADpBC,kBALuB,SAACC,EAAOC,GAAR,MAAmB,CACzCC,WAAYF,EAAMG,MAAM,CAAC,aAAc,YAAaF,EAAMG,OAAOC,UAAW,UAC5EC,UAAWN,EAAMG,MAAM,CAAC,aAAc,YAAaF,EAAMG,OAAOC,UAAW,2NAyB5D,SAACE,GAAM,IAAAC,EAC8BD,EAAEE,OADhCD,EACZE,YADYF,EACDG,aADCH,EACaI,cAEgBC,EAAKZ,MAAMK,SAC1DO,EAAKZ,MAAMa,SAASC,YAAgBF,EAAKZ,MAAMG,OAAOC,uEAIzC,SAACE,GAChBA,EAAES,iBACFH,EAAKZ,MAAMa,SAASC,YAAgBF,EAAKZ,MAAMG,OAAOC,2EAGnC,SAACY,EAADC,GAAmC,IAAfC,EAAeD,EAAfC,SACvC,UAAOF,GAAmB,IAAIE,UAAY,IAAInB,OAAS,IAAIoB,qBAClDD,EAASnB,OAASmB,EAASnB,MAAMoB,mEA3B5CC,mBAAA,WACEC,KAAKrB,MAAMa,SAASS,YAAaD,KAAKrB,MAAMG,OAAOC,YACnDiB,KAAKrB,MAAMa,SAASU,YAAeF,KAAKrB,MAAMG,OAAOC,eAGvDoB,0BAAA,SAA2BC,GACrBA,EAAUtB,OAAOC,YAAciB,KAAKrB,MAAMG,OAAOC,WAAaqB,EAAUtB,OAAOC,YACjFiB,KAAKrB,MAAMa,SAASS,YAAaG,EAAUtB,OAAOC,YAClDiB,KAAKrB,MAAMa,SAASU,YAAeE,EAAUtB,OAAOC,gBAsBxDsB,OAAA,WAAU,IAAAC,EACwBN,KAAKrB,MAA7BC,EADA0B,EACA1B,WAAYI,EADZsB,EACYtB,QAEhBuB,EAAW,KAEf,OAAK3B,GAQDI,IACFuB,EAAWC,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAUC,QAASX,KAAKY,kBAInCJ,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,UACEL,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,IAEAN,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAiBC,UAAU,YAAYC,mBAAoBjB,KAAKiB,yBAAhE,EACET,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,aAAaC,SAAUnB,KAAKoB,mBAA3C,EACEZ,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,kBAAf,EACEV,OAAAC,EAAA,EAAAD,CAACa,EAAA,EAAD,CAAiBtC,UAAWiB,KAAKrB,MAAMG,OAAOC,UAAWuC,UAAQ,IAChE1C,EAAW2C,IAAI,SAAAC,GAAE,OAAIhB,OAAAC,EAAA,EAAAD,CAACiB,EAAA,EAAD,CAA2BD,GAAIA,EAAIE,UAAU,GAAtBF,KAC5CjB,OAnBPC,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,UACEL,OAAAC,EAAA,EAAAD,CAACmB,EAAA,EAAD,SA/C6BC,+BAElB,CACjB9C,OAAQ+C,IAAUC,OAAOC,WACzBvC,SAAUqC,IAAUG,KAAKD,WACzBnD,WAAYqD,IAAmBC,KAC/BlD,QAAS6C,IAAUM","file":"flavours/glitch/async/following.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport {\n fetchAccount,\n fetchFollowing,\n expandFollowing,\n} from 'flavours/glitch/actions/accounts';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';\nimport LoadMore from 'flavours/glitch/components/load_more';\nimport ColumnBackButton from 'flavours/glitch/components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst mapStateToProps = (state, props) => ({\n accountIds: state.getIn(['user_lists', 'following', props.params.accountId, 'items']),\n hasMore: !!state.getIn(['user_lists', 'following', props.params.accountId, 'next']),\n});\n\n@connect(mapStateToProps)\nexport default class Following extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n hasMore: PropTypes.bool,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchAccount(this.props.params.accountId));\n this.props.dispatch(fetchFollowing(this.props.params.accountId));\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {\n this.props.dispatch(fetchAccount(nextProps.params.accountId));\n this.props.dispatch(fetchFollowing(nextProps.params.accountId));\n }\n }\n\n handleScroll = (e) => {\n const { scrollTop, scrollHeight, clientHeight } = e.target;\n\n if (scrollTop === scrollHeight - clientHeight && this.props.hasMore) {\n this.props.dispatch(expandFollowing(this.props.params.accountId));\n }\n }\n\n handleLoadMore = (e) => {\n e.preventDefault();\n this.props.dispatch(expandFollowing(this.props.params.accountId));\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { accountIds, hasMore } = this.props;\n\n let loadMore = null;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n if (hasMore) {\n loadMore = <LoadMore onClick={this.handleLoadMore} />;\n }\n\n return (\n <Column>\n <ColumnBackButton />\n\n <ScrollContainer scrollKey='following' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable' onScroll={this.handleScroll}>\n <div className='following'>\n <HeaderContainer accountId={this.props.params.accountId} hideTabs />\n {accountIds.map(id => <AccountContainer key={id} id={id} withNote={false} />)}\n {loadMore}\n </div>\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/generic_not_found.js b/priv/static/packs/flavours/glitch/async/generic_not_found.js index 3ddb999ec..46f835a14 100644 --- a/priv/static/packs/flavours/glitch/async/generic_not_found.js +++ b/priv/static/packs/flavours/glitch/async/generic_not_found.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{671:function(n,a,t){"use strict";t.r(a);var c=t(1),e=(t(3),t(639)),o=t(898);a.default=function(){return Object(c.a)(e.a,{},void 0,Object(c.a)(o.a,{}))}}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{672:function(n,a,t){"use strict";t.r(a);var c=t(1),e=(t(3),t(640)),o=t(899);a.default=function(){return Object(c.a)(e.a,{},void 0,Object(c.a)(o.a,{}))}}}]); //# sourceMappingURL=generic_not_found.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/generic_not_found.js.map b/priv/static/packs/flavours/glitch/async/generic_not_found.js.map index c0739ad3c..0c658f42e 100644 --- a/priv/static/packs/flavours/glitch/async/generic_not_found.js.map +++ b/priv/static/packs/flavours/glitch/async/generic_not_found.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/generic_not_found/index.js"],"names":["GenericNotFound","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_2__","flavours_glitch_components_missing_indicator__WEBPACK_IMPORTED_MODULE_3__"],"mappings":"sIAUeA,UANS,kBACtBC,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD","file":"flavours/glitch/async/generic_not_found.js","sourcesContent":["import React from 'react';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport MissingIndicator from 'flavours/glitch/components/missing_indicator';\n\nconst GenericNotFound = () => (\n <Column>\n <MissingIndicator />\n </Column>\n);\n\nexport default GenericNotFound;\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/generic_not_found/index.js"],"names":["GenericNotFound","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_2__","flavours_glitch_components_missing_indicator__WEBPACK_IMPORTED_MODULE_3__"],"mappings":"sIAUeA,UANS,kBACtBC,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD","file":"flavours/glitch/async/generic_not_found.js","sourcesContent":["import React from 'react';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport MissingIndicator from 'flavours/glitch/components/missing_indicator';\n\nconst GenericNotFound = () => (\n <Column>\n <MissingIndicator />\n </Column>\n);\n\nexport default GenericNotFound;\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/getting_started.js b/priv/static/packs/flavours/glitch/async/getting_started.js index b37fd6c2a..64cfd2ce0 100644 --- a/priv/static/packs/flavours/glitch/async/getting_started.js +++ b/priv/static/packs/flavours/glitch/async/getting_started.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{663:function(t,e,i){"use strict";i.r(e),i.d(e,"default",function(){return N});var a,s,n,o,l=i(1),r=i(6),c=i(2),g=(i(3),i(639)),b=i(916),f=i(917),m=i(7),u=i(20),d=i(44),p=i(5),h=i.n(p),_=i(26),O=i.n(_),j=i(24),v=i(30),M=i(14),k=i(4),w=i(57),q=i(29),x=i(138),y=Object(m.f)(((a={heading:{id:"getting_started.heading",defaultMessage:"Getting started"},home_timeline:{id:"tabs_bar.home",defaultMessage:"Home"},notifications:{id:"tabs_bar.notifications",defaultMessage:"Notifications"},public_timeline:{id:"navigation_bar.public_timeline",defaultMessage:"Federated timeline"},navigation_subheading:{id:"column_subheading.navigation",defaultMessage:"Navigation"},settings_subheading:{id:"column_subheading.settings",defaultMessage:"Settings"},community_timeline:{id:"navigation_bar.community_timeline",defaultMessage:"Local timeline"},direct:{id:"navigation_bar.direct",defaultMessage:"Direct messages"},bookmarks:{id:"navigation_bar.bookmarks",defaultMessage:"Bookmarks"},preferences:{id:"navigation_bar.preferences",defaultMessage:"Preferences"},settings:{id:"navigation_bar.app_settings",defaultMessage:"App settings"},follow_requests:{id:"navigation_bar.follow_requests",defaultMessage:"Follow requests"},sign_out:{id:"navigation_bar.logout",defaultMessage:"Logout"},lists:{id:"navigation_bar.lists",defaultMessage:"Lists"},keyboard_shortcuts:{id:"navigation_bar.keyboard_shortcuts",defaultMessage:"Keyboard shortcuts"}}).lists={id:"navigation_bar.lists",defaultMessage:"Lists"},a.lists_subheading={id:"column_subheading.lists",defaultMessage:"Lists"},a.misc={id:"navigation_bar.misc",defaultMessage:"Misc"},a.menu={id:"getting_started.heading",defaultMessage:"Getting started"},a)),I=function(t,e){return 0===t?void 0:e&&e<=t?e+"+":t},N=Object(u.connect)(function(){var e=Object(w.a)([function(t){return t.get("lists")}],function(t){return t?t.toList().filter(function(t){return!!t}).sort(function(t,e){return t.get("title").localeCompare(e.get("title"))}):t});return function(t){return{lists:e(t),myAccount:t.getIn(["accounts",v.l]),columns:t.getIn(["settings","columns"]),unreadFollowRequests:t.getIn(["user_lists","follow_requests","items"],Object(k.List)()).size,unreadNotifications:t.getIn(["notifications","unread"])}}},function(t){return{fetchFollowRequests:function(){return t(Object(M.H)())},fetchLists:function(){return t(Object(q.I)())},openSettings:function(){return t(Object(d.d)("SETTINGS",{}))}}})(s=Object(m.g)((o=n=function(t){function e(){return t.apply(this,arguments)||this}Object(r.a)(e,t);var i=e.prototype;return i.componentWillMount=function(){this.props.fetchLists()},i.componentDidMount=function(){var t=this.props,e=t.myAccount,i=t.fetchFollowRequests;e.get("locked")&&i()},i.render=function(){var t=this.props,e=t.intl,i=t.myAccount,a=t.columns,s=t.multiColumn,n=t.unreadFollowRequests,o=t.unreadNotifications,r=t.lists,c=t.openSettings,u=[],d=[];return s&&(a.find(function(t){return"HOME"===t.get("id")})||u.push(Object(l.a)(b.a,{icon:"home",text:e.formatMessage(y.home_timeline),to:"/timelines/home"},"0")),a.find(function(t){return"NOTIFICATIONS"===t.get("id")})||u.push(Object(l.a)(b.a,{icon:"bell",text:e.formatMessage(y.notifications),badge:I(o),to:"/notifications"},"1")),a.find(function(t){return"COMMUNITY"===t.get("id")})||u.push(Object(l.a)(b.a,{icon:"users",text:e.formatMessage(y.community_timeline),to:"/timelines/public/local"},"2")),a.find(function(t){return"PUBLIC"===t.get("id")})||u.push(Object(l.a)(b.a,{icon:"globe",text:e.formatMessage(y.public_timeline),to:"/timelines/public"},"3"))),s&&a.find(function(t){return"DIRECT"===t.get("id")})||u.push(Object(l.a)(b.a,{icon:"envelope",text:e.formatMessage(y.direct),to:"/timelines/direct"},"4")),s&&a.find(function(t){return"BOOKMARKS"===t.get("id")})||u.push(Object(l.a)(b.a,{icon:"bookmark",text:e.formatMessage(y.bookmarks),to:"/bookmarks"},"5")),i.get("locked")&&u.push(Object(l.a)(b.a,{icon:"users",text:e.formatMessage(y.follow_requests),badge:I(n,40),to:"/follow_requests"},"6")),u.push(Object(l.a)(b.a,{icon:"ellipsis-h",text:e.formatMessage(y.misc),to:"/getting-started-misc"},"7")),d=d.concat([Object(l.a)("div",{},"8",Object(l.a)(b.a,{icon:"bars",text:e.formatMessage(y.lists),to:"/lists"},"9"),r.map(function(t){return Object(l.a)(b.a,{to:"/timelines/list/"+t.get("id"),icon:"list-ul",text:t.get("title")},(9+Number(t.get("id"))).toString())}))]),Object(l.a)(g.a,{name:"getting-started",icon:"asterisk",heading:e.formatMessage(y.heading),label:e.formatMessage(y.menu),hideHeadingOnMobile:!0},void 0,Object(l.a)("div",{className:"scrollable optionally-scrollable"},void 0,Object(l.a)("div",{className:"getting-started__wrapper"},void 0,Object(l.a)(f.a,{text:e.formatMessage(y.navigation_subheading)}),u,Object(l.a)(f.a,{text:e.formatMessage(y.lists_subheading)}),d,Object(l.a)(f.a,{text:e.formatMessage(y.settings_subheading)}),void 0!==x.b&&Object(l.a)(b.a,{icon:"cog",text:e.formatMessage(y.preferences),href:x.b}),Object(l.a)(b.a,{icon:"cogs",text:e.formatMessage(y.settings),onClick:c}),Object(l.a)(b.a,{icon:"sign-out",text:e.formatMessage(y.sign_out),href:x.d,method:"delete"})),Object(l.a)("div",{className:"getting-started__footer"},void 0,Object(l.a)("ul",{},void 0,v.h&&Object(l.a)("li",{},void 0,Object(l.a)("a",{href:"/invites",target:"_blank"},void 0,Object(l.a)(m.b,{id:"getting_started.invite",defaultMessage:"Invite people"}))," · "),Object(l.a)("li",{},void 0,Object(l.a)("a",{href:"/about/more",target:"_blank"},void 0,Object(l.a)(m.b,{id:"navigation_bar.info",defaultMessage:"About this instance"}))," · "),Object(l.a)("li",{},void 0,Object(l.a)("a",{href:"https://joinmastodon.org/apps",target:"_blank"},void 0,Object(l.a)(m.b,{id:"navigation_bar.apps",defaultMessage:"Mobile apps"}))," · "),Object(l.a)("li",{},void 0,Object(l.a)("a",{href:"/terms",target:"_blank"},void 0,Object(l.a)(m.b,{id:"getting_started.terms",defaultMessage:"Terms of service"}))," · "),Object(l.a)("li",{},void 0,Object(l.a)("a",{href:"https://docs.joinmastodon.org",target:"_blank"},void 0,Object(l.a)(m.b,{id:"getting_started.documentation",defaultMessage:"Documentation"})))),Object(l.a)("p",{},void 0,Object(l.a)(m.b,{id:"getting_started.open_source_notice",defaultMessage:"Glitchsoc is open source software, a friendly fork of {Mastodon}. You can contribute or report issues on GitHub at {github}.",values:{github:Object(l.a)("span",{},void 0,Object(l.a)("a",{href:"https://github.com/glitch-soc/mastodon",rel:"noopener",target:"_blank"},void 0,"glitch-soc/mastodon")," (v",v.p,")"),Mastodon:Object(l.a)("a",{href:"https://github.com/tootsuite/mastodon",rel:"noopener",target:"_blank"},void 0,"Mastodon")}})))))},e}(j.a),Object(c.a)(n,"propTypes",{intl:h.a.object.isRequired,myAccount:O.a.map.isRequired,columns:O.a.list,multiColumn:h.a.bool,fetchFollowRequests:h.a.func.isRequired,unreadFollowRequests:h.a.number,unreadNotifications:h.a.number,lists:O.a.list,fetchLists:h.a.func.isRequired,openSettings:h.a.func.isRequired}),s=o))||s)||s}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{664:function(e,t,a){"use strict";a.r(t),a.d(t,"default",function(){return I});var i,s,n,o,b=a(1),r=a(6),c=a(2),m=(a(3),a(640)),p=a(917),h=a(918),_=a(7),u=a(20),l=a(45),d=a(5),g=a.n(d),f=a(26),M=a.n(f),O=a(24),j=a(31),v=a(14),k=a(4),q=a(58),w=a(29),R=a(139),x=a(159),y=Object(_.f)(((i={heading:{id:"getting_started.heading",defaultMessage:"Getting started"},home_timeline:{id:"tabs_bar.home",defaultMessage:"Home"},notifications:{id:"tabs_bar.notifications",defaultMessage:"Notifications"},public_timeline:{id:"navigation_bar.public_timeline",defaultMessage:"Federated timeline"},navigation_subheading:{id:"column_subheading.navigation",defaultMessage:"Navigation"},settings_subheading:{id:"column_subheading.settings",defaultMessage:"Settings"},community_timeline:{id:"navigation_bar.community_timeline",defaultMessage:"Local timeline"},direct:{id:"navigation_bar.direct",defaultMessage:"Direct messages"},bookmarks:{id:"navigation_bar.bookmarks",defaultMessage:"Bookmarks"},preferences:{id:"navigation_bar.preferences",defaultMessage:"Preferences"},settings:{id:"navigation_bar.app_settings",defaultMessage:"App settings"},follow_requests:{id:"navigation_bar.follow_requests",defaultMessage:"Follow requests"},sign_out:{id:"navigation_bar.logout",defaultMessage:"Logout"},lists:{id:"navigation_bar.lists",defaultMessage:"Lists"},keyboard_shortcuts:{id:"navigation_bar.keyboard_shortcuts",defaultMessage:"Keyboard shortcuts"}}).lists={id:"navigation_bar.lists",defaultMessage:"Lists"},i.lists_subheading={id:"column_subheading.lists",defaultMessage:"Lists"},i.misc={id:"navigation_bar.misc",defaultMessage:"Misc"},i.menu={id:"getting_started.heading",defaultMessage:"Getting started"},i)),P=function(e,t){return 0===e?void 0:t&&t<=e?t+"+":e},I=Object(u.connect)(function(){var t=Object(q.a)([function(e){return e.get("lists")}],function(e){return e?e.toList().filter(function(e){return!!e}).sort(function(e,t){return e.get("title").localeCompare(t.get("title"))}):e});return function(e){return{lists:t(e),myAccount:e.getIn(["accounts",j.k]),columns:e.getIn(["settings","columns"]),unreadFollowRequests:e.getIn(["user_lists","follow_requests","items"],Object(k.List)()).size,unreadNotifications:e.getIn(["notifications","unread"]),customPanelEnabled:e.getIn(["custom_panel","enabled"]),customPanel:e.getIn(["custom_panel","panel"])}}},function(e){return{fetchFollowRequests:function(){return e(Object(v.H)())},fetchLists:function(){return e(Object(w.I)())},openSettings:function(){return e(Object(l.d)("SETTINGS",{}))},fetchPanel:function(){return e(Object(x.c)())},fetchPleromaConfig:function(){return e(Object(x.d)())}}})(s=Object(_.g)((o=n=function(e){function t(){return e.apply(this,arguments)||this}Object(r.a)(t,e);var a=t.prototype;return a.componentWillMount=function(){this.props.fetchLists()},a.componentDidMount=function(){var e=this.props,t=e.myAccount,a=e.fetchFollowRequests,i=e.fetchPleromaConfig,s=e.fetchPanel;t.get("locked")&&a(),i(),s()},a.render=function(){var e=this.props,t=e.intl,a=e.myAccount,i=e.columns,s=e.multiColumn,n=e.unreadFollowRequests,o=e.unreadNotifications,r=e.lists,c=e.openSettings,u=e.customPanelEnabled,l=e.customPanel,d=[],g=[];s&&(i.find(function(e){return"HOME"===e.get("id")})||d.push(Object(b.a)(p.a,{icon:"home",text:t.formatMessage(y.home_timeline),to:"/timelines/home"},"0")),i.find(function(e){return"NOTIFICATIONS"===e.get("id")})||d.push(Object(b.a)(p.a,{icon:"bell",text:t.formatMessage(y.notifications),badge:P(o),to:"/notifications"},"1")),i.find(function(e){return"COMMUNITY"===e.get("id")})||d.push(Object(b.a)(p.a,{icon:"users",text:t.formatMessage(y.community_timeline),to:"/timelines/public/local"},"2")),i.find(function(e){return"PUBLIC"===e.get("id")})||d.push(Object(b.a)(p.a,{icon:"globe",text:t.formatMessage(y.public_timeline),to:"/timelines/public"},"3"))),s&&i.find(function(e){return"DIRECT"===e.get("id")})||d.push(Object(b.a)(p.a,{icon:"envelope",text:t.formatMessage(y.direct),to:"/timelines/direct"},"4")),s&&i.find(function(e){return"BOOKMARKS"===e.get("id")})||d.push(Object(b.a)(p.a,{icon:"bookmark",text:t.formatMessage(y.bookmarks),to:"/bookmarks"},"5")),a.get("locked")&&d.push(Object(b.a)(p.a,{icon:"users",text:t.formatMessage(y.follow_requests),badge:P(n,40),to:"/follow_requests"},"6")),d.push(Object(b.a)(p.a,{icon:"ellipsis-h",text:t.formatMessage(y.misc),to:"/getting-started-misc"},"7")),g=g.concat([Object(b.a)("div",{},"8",Object(b.a)(p.a,{icon:"bars",text:t.formatMessage(y.lists),to:"/lists"},"9"),r.map(function(e){return Object(b.a)(p.a,{to:"/timelines/list/"+e.get("id"),icon:"list-ul",text:e.get("title")},(9+Number(e.get("id"))).toString())}))]);var f=u?Object(b.a)("div",{dangerouslySetInnerHTML:{__html:l},style:{marginLeft:-12,marginRight:-12}}):Object(b.a)("p",{},void 0,Object(b.a)("a",{href:"https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/FAQ.md",rel:"noopener",target:"_blank"},void 0,Object(b.a)(_.b,{id:"getting_started.faq",defaultMessage:"FAQ"}))," • ",Object(b.a)("a",{href:"https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/User-guide.md",rel:"noopener",target:"_blank"},void 0,Object(b.a)(_.b,{id:"getting_started.userguide",defaultMessage:"User Guide"}))," • ",Object(b.a)("a",{href:"https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md",rel:"noopener",target:"_blank"},void 0,Object(b.a)(_.b,{id:"getting_started.appsshort",defaultMessage:"Apps"}))," • ",Object(b.a)("a",{href:"https://pleroma.social"},void 0,Object(b.a)(_.b,{id:"getting_started.pleroma",defaultMessage:"Pleroma"})));return Object(b.a)(m.a,{name:"getting-started",icon:"asterisk",heading:t.formatMessage(y.heading),label:t.formatMessage(y.menu),hideHeadingOnMobile:!0},void 0,Object(b.a)("div",{className:"getting-started__wrapper scrollable"},void 0,Object(b.a)(h.a,{text:t.formatMessage(y.navigation_subheading)}),d,Object(b.a)(h.a,{text:t.formatMessage(y.lists_subheading)}),g,Object(b.a)(h.a,{text:t.formatMessage(y.settings_subheading)}),void 0!==R.b&&Object(b.a)(p.a,{icon:"cog",text:t.formatMessage(y.preferences),href:R.b}),Object(b.a)(p.a,{icon:"cogs",text:t.formatMessage(y.settings),onClick:c}),Object(b.a)(p.a,{icon:"sign-out",text:t.formatMessage(y.sign_out),href:R.d,method:"delete"})),Object(b.a)("div",{className:"getting-started getting-started__panel scrollable"},void 0,f),Object(b.a)("div",{className:"getting-started__footer scrollable"},void 0,Object(b.a)("p",{},void 0,Object(b.a)(_.b,{id:"getting_started.mastofe_notice",defaultMessage:"Mastofe is a libre distribution of the frontend from {glitchsoc}, a friendly fork of {mastodon}. You can contribute or report issues at {mastofe}.",values:{mastofe:Object(b.a)("a",{href:"https://git.pleroma.social/pleroma/mastofe",rel:"noopener",target:"_blank"},void 0,"Mastofe"),glitchsoc:Object(b.a)("a",{href:"https://github.com/glitch-soc/mastodon",rel:"noopener",target:"_blank"},void 0,"glitch-soc"),mastodon:Object(b.a)("a",{href:"https://github.com/tootsuite/mastodon",rel:"noopener",target:"_blank"},void 0,"Mastodon"),pleroma:Object(b.a)("a",{href:"https://pleroma.social",rel:"noopener",target:"_blank"},void 0,"Pleroma")}}))))},t}(O.a),Object(c.a)(n,"propTypes",{intl:g.a.object.isRequired,myAccount:M.a.map.isRequired,columns:M.a.list,multiColumn:g.a.bool,fetchFollowRequests:g.a.func.isRequired,unreadFollowRequests:g.a.number,unreadNotifications:g.a.number,lists:M.a.list,fetchLists:g.a.func.isRequired,openSettings:g.a.func.isRequired,fetchPanel:g.a.func.isRequired,fetchPleromaConfig:g.a.func.isRequired,customPanelEnabled:g.a.bool,customPanel:g.a.string.isRequired}),s=o))||s)||s}}]); //# sourceMappingURL=getting_started.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/getting_started.js.map b/priv/static/packs/flavours/glitch/async/getting_started.js.map index 858b70078..9798d47c8 100644 --- a/priv/static/packs/flavours/glitch/async/getting_started.js.map +++ b/priv/static/packs/flavours/glitch/async/getting_started.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/getting_started/index.js"],"names":["messages","defineMessages","_defineMessages","heading","id","defaultMessage","home_timeline","notifications","public_timeline","navigation_subheading","settings_subheading","community_timeline","direct","bookmarks","preferences","settings","follow_requests","sign_out","lists","keyboard_shortcuts","lists_subheading","misc","menu","badgeDisplay","number","limit","GettingStarted","connect","getOrderedLists","createSelector","state","get","toList","filter","item","sort","a","b","localeCompare","myAccount","getIn","me","columns","unreadFollowRequests","ImmutableList","size","unreadNotifications","dispatch","fetchFollowRequests","fetchLists","openSettings","openModal","injectIntl","componentWillMount","this","props","componentDidMount","_this$props","render","_this$props2","intl","multiColumn","navItems","listItems","find","push","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column_link__WEBPACK_IMPORTED_MODULE_5__","icon","text","formatMessage","to","badge","concat","map","list","Number","toString","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_4__","name","label","hideHeadingOnMobile","className","flavours_glitch_features_ui_components_column_subheading__WEBPACK_IMPORTED_MODULE_6__","undefined","preferencesLink","href","onClick","signOutLink","method","invitesEnabled","target","react_intl__WEBPACK_IMPORTED_MODULE_7__","values","github","rel","version","Mastodon","ImmutablePureComponent","PropTypes","object","isRequired","ImmutablePropTypes","bool","func"],"mappings":"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","file":"flavours/glitch/async/getting_started.js","sourcesContent":["import React from 'react';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnLink from 'flavours/glitch/features/ui/components/column_link';\nimport ColumnSubheading from 'flavours/glitch/features/ui/components/column_subheading';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { connect } from 'react-redux';\nimport { openModal } from 'flavours/glitch/actions/modal';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me, invitesEnabled, version } from 'flavours/glitch/util/initial_state';\nimport { fetchFollowRequests } from 'flavours/glitch/actions/accounts';\nimport { List as ImmutableList } from 'immutable';\nimport { createSelector } from 'reselect';\nimport { fetchLists } from 'flavours/glitch/actions/lists';\nimport { preferencesLink, profileLink, signOutLink } from 'flavours/glitch/util/backend_links';\n\nconst messages = defineMessages({\n heading: { id: 'getting_started.heading', defaultMessage: 'Getting started' },\n home_timeline: { id: 'tabs_bar.home', defaultMessage: 'Home' },\n notifications: { id: 'tabs_bar.notifications', defaultMessage: 'Notifications' },\n public_timeline: { id: 'navigation_bar.public_timeline', defaultMessage: 'Federated timeline' },\n navigation_subheading: { id: 'column_subheading.navigation', defaultMessage: 'Navigation' },\n settings_subheading: { id: 'column_subheading.settings', defaultMessage: 'Settings' },\n community_timeline: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },\n direct: { id: 'navigation_bar.direct', defaultMessage: 'Direct messages' },\n bookmarks: { id: 'navigation_bar.bookmarks', defaultMessage: 'Bookmarks' },\n preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },\n settings: { id: 'navigation_bar.app_settings', defaultMessage: 'App settings' },\n follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },\n sign_out: { id: 'navigation_bar.logout', defaultMessage: 'Logout' },\n lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' },\n keyboard_shortcuts: { id: 'navigation_bar.keyboard_shortcuts', defaultMessage: 'Keyboard shortcuts' },\n lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' },\n lists_subheading: { id: 'column_subheading.lists', defaultMessage: 'Lists' },\n misc: { id: 'navigation_bar.misc', defaultMessage: 'Misc' },\n menu: { id: 'getting_started.heading', defaultMessage: 'Getting started' },\n});\n\nconst makeMapStateToProps = () => {\n const getOrderedLists = createSelector([state => state.get('lists')], lists => {\n if (!lists) {\n return lists;\n }\n\n return lists.toList().filter(item => !!item).sort((a, b) => a.get('title').localeCompare(b.get('title')));\n });\n\n const mapStateToProps = state => ({\n lists: getOrderedLists(state),\n myAccount: state.getIn(['accounts', me]),\n columns: state.getIn(['settings', 'columns']),\n unreadFollowRequests: state.getIn(['user_lists', 'follow_requests', 'items'], ImmutableList()).size,\n unreadNotifications: state.getIn(['notifications', 'unread']),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = dispatch => ({\n fetchFollowRequests: () => dispatch(fetchFollowRequests()),\n fetchLists: () => dispatch(fetchLists()),\n openSettings: () => dispatch(openModal('SETTINGS', {})),\n});\n\nconst badgeDisplay = (number, limit) => {\n if (number === 0) {\n return undefined;\n } else if (limit && number >= limit) {\n return `${limit}+`;\n } else {\n return number;\n }\n};\n\n@connect(makeMapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class GettingStarted extends ImmutablePureComponent {\n\n static propTypes = {\n intl: PropTypes.object.isRequired,\n myAccount: ImmutablePropTypes.map.isRequired,\n columns: ImmutablePropTypes.list,\n multiColumn: PropTypes.bool,\n fetchFollowRequests: PropTypes.func.isRequired,\n unreadFollowRequests: PropTypes.number,\n unreadNotifications: PropTypes.number,\n lists: ImmutablePropTypes.list,\n fetchLists: PropTypes.func.isRequired,\n openSettings: PropTypes.func.isRequired,\n };\n\n componentWillMount () {\n this.props.fetchLists();\n }\n\n componentDidMount () {\n const { myAccount, fetchFollowRequests } = this.props;\n\n if (myAccount.get('locked')) {\n fetchFollowRequests();\n }\n }\n\n render () {\n const { intl, myAccount, columns, multiColumn, unreadFollowRequests, unreadNotifications, lists, openSettings } = this.props;\n\n const navItems = [];\n let listItems = [];\n\n if (multiColumn) {\n if (!columns.find(item => item.get('id') === 'HOME')) {\n navItems.push(<ColumnLink key='0' icon='home' text={intl.formatMessage(messages.home_timeline)} to='/timelines/home' />);\n }\n\n if (!columns.find(item => item.get('id') === 'NOTIFICATIONS')) {\n navItems.push(<ColumnLink key='1' icon='bell' text={intl.formatMessage(messages.notifications)} badge={badgeDisplay(unreadNotifications)} to='/notifications' />);\n }\n\n if (!columns.find(item => item.get('id') === 'COMMUNITY')) {\n navItems.push(<ColumnLink key='2' icon='users' text={intl.formatMessage(messages.community_timeline)} to='/timelines/public/local' />);\n }\n\n if (!columns.find(item => item.get('id') === 'PUBLIC')) {\n navItems.push(<ColumnLink key='3' icon='globe' text={intl.formatMessage(messages.public_timeline)} to='/timelines/public' />);\n }\n }\n\n if (!multiColumn || !columns.find(item => item.get('id') === 'DIRECT')) {\n navItems.push(<ColumnLink key='4' icon='envelope' text={intl.formatMessage(messages.direct)} to='/timelines/direct' />);\n }\n\n if (!multiColumn || !columns.find(item => item.get('id') === 'BOOKMARKS')) {\n navItems.push(<ColumnLink key='5' icon='bookmark' text={intl.formatMessage(messages.bookmarks)} to='/bookmarks' />);\n }\n\n if (myAccount.get('locked')) {\n navItems.push(<ColumnLink key='6' icon='users' text={intl.formatMessage(messages.follow_requests)} badge={badgeDisplay(unreadFollowRequests, 40)} to='/follow_requests' />);\n }\n\n navItems.push(<ColumnLink key='7' icon='ellipsis-h' text={intl.formatMessage(messages.misc)} to='/getting-started-misc' />);\n\n listItems = listItems.concat([\n <div key='8'>\n <ColumnLink key='9' icon='bars' text={intl.formatMessage(messages.lists)} to='/lists' />\n {lists.map(list =>\n <ColumnLink key={(9 + Number(list.get('id'))).toString()} to={`/timelines/list/${list.get('id')}`} icon='list-ul' text={list.get('title')} />\n )}\n </div>,\n ]);\n\n return (\n <Column name='getting-started' icon='asterisk' heading={intl.formatMessage(messages.heading)} label={intl.formatMessage(messages.menu)} hideHeadingOnMobile>\n <div className='scrollable optionally-scrollable'>\n <div className='getting-started__wrapper'>\n <ColumnSubheading text={intl.formatMessage(messages.navigation_subheading)} />\n {navItems}\n <ColumnSubheading text={intl.formatMessage(messages.lists_subheading)} />\n {listItems}\n <ColumnSubheading text={intl.formatMessage(messages.settings_subheading)} />\n { preferencesLink !== undefined && <ColumnLink icon='cog' text={intl.formatMessage(messages.preferences)} href={preferencesLink} /> }\n <ColumnLink icon='cogs' text={intl.formatMessage(messages.settings)} onClick={openSettings} />\n <ColumnLink icon='sign-out' text={intl.formatMessage(messages.sign_out)} href={signOutLink} method='delete' />\n </div>\n\n <div className='getting-started__footer'>\n <ul>\n {invitesEnabled && <li><a href='/invites' target='_blank'><FormattedMessage id='getting_started.invite' defaultMessage='Invite people' /></a> · </li>}\n <li><a href='/about/more' target='_blank'><FormattedMessage id='navigation_bar.info' defaultMessage='About this instance' /></a> · </li>\n <li><a href='https://joinmastodon.org/apps' target='_blank'><FormattedMessage id='navigation_bar.apps' defaultMessage='Mobile apps' /></a> · </li>\n <li><a href='/terms' target='_blank'><FormattedMessage id='getting_started.terms' defaultMessage='Terms of service' /></a> · </li>\n <li><a href='https://docs.joinmastodon.org' target='_blank'><FormattedMessage id='getting_started.documentation' defaultMessage='Documentation' /></a></li>\n </ul>\n\n <p>\n <FormattedMessage\n id='getting_started.open_source_notice'\n defaultMessage='Glitchsoc is open source software, a friendly fork of {Mastodon}. You can contribute or report issues on GitHub at {github}.'\n values={{\n github: <span><a href='https://github.com/glitch-soc/mastodon' rel='noopener' target='_blank'>glitch-soc/mastodon</a> (v{version})</span>,\n Mastodon: <a href='https://github.com/tootsuite/mastodon' rel='noopener' target='_blank'>Mastodon</a> }}\n />\n </p>\n </div>\n </div>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/getting_started/index.js"],"names":["messages","defineMessages","_defineMessages","heading","id","defaultMessage","home_timeline","notifications","public_timeline","navigation_subheading","settings_subheading","community_timeline","direct","bookmarks","preferences","settings","follow_requests","sign_out","lists","keyboard_shortcuts","lists_subheading","misc","menu","badgeDisplay","number","limit","GettingStarted","connect","getOrderedLists","createSelector","state","get","toList","filter","item","sort","a","b","localeCompare","myAccount","getIn","me","columns","unreadFollowRequests","ImmutableList","size","unreadNotifications","customPanelEnabled","customPanel","dispatch","fetchFollowRequests","fetchLists","openSettings","openModal","fetchPanel","fetchPleromaConfig","injectIntl","componentWillMount","this","props","componentDidMount","_this$props","render","_this$props2","intl","multiColumn","navItems","listItems","find","push","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column_link__WEBPACK_IMPORTED_MODULE_5__","icon","text","formatMessage","to","badge","concat","map","list","Number","toString","staticContent","dangerouslySetInnerHTML","__html","style","marginLeft","marginRight","href","rel","target","react_intl__WEBPACK_IMPORTED_MODULE_7__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_4__","name","label","hideHeadingOnMobile","className","flavours_glitch_features_ui_components_column_subheading__WEBPACK_IMPORTED_MODULE_6__","undefined","preferencesLink","onClick","signOutLink","method","values","mastofe","glitchsoc","mastodon","pleroma","ImmutablePureComponent","PropTypes","object","isRequired","ImmutablePropTypes","bool","func","string"],"mappings":"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","file":"flavours/glitch/async/getting_started.js","sourcesContent":["import React from 'react';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnLink from 'flavours/glitch/features/ui/components/column_link';\nimport ColumnSubheading from 'flavours/glitch/features/ui/components/column_subheading';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { connect } from 'react-redux';\nimport { openModal } from 'flavours/glitch/actions/modal';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me, invitesEnabled, version } from 'flavours/glitch/util/initial_state';\nimport { fetchFollowRequests } from 'flavours/glitch/actions/accounts';\nimport { List as ImmutableList } from 'immutable';\nimport { createSelector } from 'reselect';\nimport { fetchLists } from 'flavours/glitch/actions/lists';\nimport { preferencesLink, profileLink, signOutLink } from 'flavours/glitch/util/backend_links';\nimport { fetchPanel, fetchPleromaConfig } from 'mastodon/actions/pleroma';\n\nconst messages = defineMessages({\n heading: { id: 'getting_started.heading', defaultMessage: 'Getting started' },\n home_timeline: { id: 'tabs_bar.home', defaultMessage: 'Home' },\n notifications: { id: 'tabs_bar.notifications', defaultMessage: 'Notifications' },\n public_timeline: { id: 'navigation_bar.public_timeline', defaultMessage: 'Federated timeline' },\n navigation_subheading: { id: 'column_subheading.navigation', defaultMessage: 'Navigation' },\n settings_subheading: { id: 'column_subheading.settings', defaultMessage: 'Settings' },\n community_timeline: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },\n direct: { id: 'navigation_bar.direct', defaultMessage: 'Direct messages' },\n bookmarks: { id: 'navigation_bar.bookmarks', defaultMessage: 'Bookmarks' },\n preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },\n settings: { id: 'navigation_bar.app_settings', defaultMessage: 'App settings' },\n follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },\n sign_out: { id: 'navigation_bar.logout', defaultMessage: 'Logout' },\n lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' },\n keyboard_shortcuts: { id: 'navigation_bar.keyboard_shortcuts', defaultMessage: 'Keyboard shortcuts' },\n lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' },\n lists_subheading: { id: 'column_subheading.lists', defaultMessage: 'Lists' },\n misc: { id: 'navigation_bar.misc', defaultMessage: 'Misc' },\n menu: { id: 'getting_started.heading', defaultMessage: 'Getting started' },\n});\n\nconst makeMapStateToProps = () => {\n const getOrderedLists = createSelector([state => state.get('lists')], lists => {\n if (!lists) {\n return lists;\n }\n\n return lists.toList().filter(item => !!item).sort((a, b) => a.get('title').localeCompare(b.get('title')));\n });\n\n const mapStateToProps = state => ({\n lists: getOrderedLists(state),\n myAccount: state.getIn(['accounts', me]),\n columns: state.getIn(['settings', 'columns']),\n unreadFollowRequests: state.getIn(['user_lists', 'follow_requests', 'items'], ImmutableList()).size,\n unreadNotifications: state.getIn(['notifications', 'unread']),\n customPanelEnabled: state.getIn(['custom_panel', 'enabled']),\n customPanel: state.getIn(['custom_panel', 'panel']),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = dispatch => ({\n fetchFollowRequests: () => dispatch(fetchFollowRequests()),\n fetchLists: () => dispatch(fetchLists()),\n openSettings: () => dispatch(openModal('SETTINGS', {})),\n fetchPanel: () => dispatch(fetchPanel()),\n fetchPleromaConfig: () => dispatch(fetchPleromaConfig()),\n});\n\nconst badgeDisplay = (number, limit) => {\n if (number === 0) {\n return undefined;\n } else if (limit && number >= limit) {\n return `${limit}+`;\n } else {\n return number;\n }\n};\n\n@connect(makeMapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class GettingStarted extends ImmutablePureComponent {\n\n static propTypes = {\n intl: PropTypes.object.isRequired,\n myAccount: ImmutablePropTypes.map.isRequired,\n columns: ImmutablePropTypes.list,\n multiColumn: PropTypes.bool,\n fetchFollowRequests: PropTypes.func.isRequired,\n unreadFollowRequests: PropTypes.number,\n unreadNotifications: PropTypes.number,\n lists: ImmutablePropTypes.list,\n fetchLists: PropTypes.func.isRequired,\n openSettings: PropTypes.func.isRequired,\n fetchPanel: PropTypes.func.isRequired,\n fetchPleromaConfig: PropTypes.func.isRequired,\n customPanelEnabled: PropTypes.bool,\n customPanel: PropTypes.string.isRequired,\n };\n\n componentWillMount () {\n this.props.fetchLists();\n }\n\n componentDidMount () {\n const { myAccount, fetchFollowRequests, fetchPleromaConfig, fetchPanel } = this.props;\n\n if (myAccount.get('locked')) {\n fetchFollowRequests();\n }\n\n fetchPleromaConfig();\n fetchPanel();\n }\n\n render () {\n const { intl, myAccount, columns, multiColumn, unreadFollowRequests, unreadNotifications, lists, openSettings, customPanelEnabled, customPanel } = this.props;\n\n const navItems = [];\n let listItems = [];\n\n if (multiColumn) {\n if (!columns.find(item => item.get('id') === 'HOME')) {\n navItems.push(<ColumnLink key='0' icon='home' text={intl.formatMessage(messages.home_timeline)} to='/timelines/home' />);\n }\n\n if (!columns.find(item => item.get('id') === 'NOTIFICATIONS')) {\n navItems.push(<ColumnLink key='1' icon='bell' text={intl.formatMessage(messages.notifications)} badge={badgeDisplay(unreadNotifications)} to='/notifications' />);\n }\n\n if (!columns.find(item => item.get('id') === 'COMMUNITY')) {\n navItems.push(<ColumnLink key='2' icon='users' text={intl.formatMessage(messages.community_timeline)} to='/timelines/public/local' />);\n }\n\n if (!columns.find(item => item.get('id') === 'PUBLIC')) {\n navItems.push(<ColumnLink key='3' icon='globe' text={intl.formatMessage(messages.public_timeline)} to='/timelines/public' />);\n }\n }\n\n if (!multiColumn || !columns.find(item => item.get('id') === 'DIRECT')) {\n navItems.push(<ColumnLink key='4' icon='envelope' text={intl.formatMessage(messages.direct)} to='/timelines/direct' />);\n }\n\n if (!multiColumn || !columns.find(item => item.get('id') === 'BOOKMARKS')) {\n navItems.push(<ColumnLink key='5' icon='bookmark' text={intl.formatMessage(messages.bookmarks)} to='/bookmarks' />);\n }\n\n if (myAccount.get('locked')) {\n navItems.push(<ColumnLink key='6' icon='users' text={intl.formatMessage(messages.follow_requests)} badge={badgeDisplay(unreadFollowRequests, 40)} to='/follow_requests' />);\n }\n\n navItems.push(<ColumnLink key='7' icon='ellipsis-h' text={intl.formatMessage(messages.misc)} to='/getting-started-misc' />);\n\n listItems = listItems.concat([\n <div key='8'>\n <ColumnLink key='9' icon='bars' text={intl.formatMessage(messages.lists)} to='/lists' />\n {lists.map(list =>\n <ColumnLink key={(9 + Number(list.get('id'))).toString()} to={`/timelines/list/${list.get('id')}`} icon='list-ul' text={list.get('title')} />\n )}\n </div>,\n ]);\n\n const dot = ' • ';\n const staticContent = (customPanelEnabled ? <div dangerouslySetInnerHTML={{__html: customPanel}} style={{marginLeft: -12, marginRight: -12}} /> :\n <p>\n <a href='https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/FAQ.md' rel='noopener' target='_blank'><FormattedMessage id='getting_started.faq' defaultMessage='FAQ' /></a>\n {dot}\n <a href='https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/User-guide.md' rel='noopener' target='_blank'><FormattedMessage id='getting_started.userguide' defaultMessage='User Guide' /></a>\n {dot}\n <a href='https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md' rel='noopener' target='_blank'><FormattedMessage id='getting_started.appsshort' defaultMessage='Apps' /></a>\n {dot}\n <a href='https://pleroma.social'><FormattedMessage id='getting_started.pleroma' defaultMessage='Pleroma' /></a>\n </p>\n );\n\n return (\n <Column name='getting-started' icon='asterisk' heading={intl.formatMessage(messages.heading)} label={intl.formatMessage(messages.menu)} hideHeadingOnMobile>\n <div className='getting-started__wrapper scrollable'>\n <ColumnSubheading text={intl.formatMessage(messages.navigation_subheading)} />\n {navItems}\n <ColumnSubheading text={intl.formatMessage(messages.lists_subheading)} />\n {listItems}\n <ColumnSubheading text={intl.formatMessage(messages.settings_subheading)} />\n { preferencesLink !== undefined && <ColumnLink icon='cog' text={intl.formatMessage(messages.preferences)} href={preferencesLink} /> }\n <ColumnLink icon='cogs' text={intl.formatMessage(messages.settings)} onClick={openSettings} />\n <ColumnLink icon='sign-out' text={intl.formatMessage(messages.sign_out)} href={signOutLink} method='delete' />\n </div>\n\n <div className='getting-started getting-started__panel scrollable'>\n {staticContent}\n </div>\n\n <div className='getting-started__footer scrollable'>\n <p>\n <FormattedMessage\n id='getting_started.mastofe_notice'\n defaultMessage='Mastofe is a libre distribution of the frontend from {glitchsoc}, a friendly fork of {mastodon}. You can contribute or report issues at {mastofe}.'\n values={{\n mastofe: <a href='https://git.pleroma.social/pleroma/mastofe' rel='noopener' target='_blank'>Mastofe</a>,\n glitchsoc: <a href='https://github.com/glitch-soc/mastodon' rel='noopener' target='_blank'>glitch-soc</a>,\n mastodon: <a href='https://github.com/tootsuite/mastodon' rel='noopener' target='_blank'>Mastodon</a>,\n pleroma: <a href='https://pleroma.social' rel='noopener' target='_blank'>Pleroma</a>\n }}\n />\n </p>\n </div>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/getting_started_misc.js b/priv/static/packs/flavours/glitch/async/getting_started_misc.js index cbc2d2633..e05d31813 100644 --- a/priv/static/packs/flavours/glitch/async/getting_started_misc.js +++ b/priv/static/packs/flavours/glitch/async/getting_started_misc.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{679:function(e,a,t){"use strict";t.r(a),t.d(a,"default",function(){return v});var o,s,i,n,r=t(1),c=t(6),d=t(0),u=t(2),b=(t(3),t(5)),f=t.n(b),g=t(639),l=t(643),m=t(7),O=t(24),p=t(916),h=t(917),M=t(44),j=t(20),_=Object(m.f)(((o={heading:{id:"column.heading",defaultMessage:"Misc"},subheading:{id:"column.subheading",defaultMessage:"Miscellaneous options"},favourites:{id:"navigation_bar.favourites",defaultMessage:"Favourites"},blocks:{id:"navigation_bar.blocks",defaultMessage:"Blocked users"},domain_blocks:{id:"navigation_bar.domain_blocks",defaultMessage:"Hidden domains"},mutes:{id:"navigation_bar.mutes",defaultMessage:"Muted users"},info:{id:"navigation_bar.info",defaultMessage:"Extended information"},show_me_around:{id:"getting_started.onboarding",defaultMessage:"Show me around"},pins:{id:"navigation_bar.pins",defaultMessage:"Pinned toots"}}).info={id:"navigation_bar.info",defaultMessage:"Extended information"},o.keyboard_shortcuts={id:"navigation_bar.keyboard_shortcuts",defaultMessage:"Keyboard shortcuts"},o.featured_users={id:"navigation_bar.featured_users",defaultMessage:"Featured users"},o)),v=Object(j.connect)()(s=Object(m.g)((n=i=function(s){function e(){for(var a,e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return a=s.call.apply(s,[this].concat(t))||this,Object(u.a)(Object(d.a)(Object(d.a)(a)),"openOnboardingModal",function(e){a.props.dispatch(Object(M.d)("ONBOARDING"))}),Object(u.a)(Object(d.a)(Object(d.a)(a)),"openFeaturedAccountsModal",function(e){a.props.dispatch(Object(M.d)("PINNED_ACCOUNTS_EDITOR"))}),a}return Object(c.a)(e,s),e.prototype.render=function(){var e=this.props.intl;return Object(r.a)(g.a,{icon:"ellipsis-h",heading:e.formatMessage(_.heading)},void 0,Object(r.a)(l.a,{}),Object(r.a)("div",{className:"scrollable"},void 0,Object(r.a)(h.a,{text:e.formatMessage(_.subheading)}),Object(r.a)(p.a,{icon:"star",text:e.formatMessage(_.favourites),to:"/favourites"},"{i++}"),Object(r.a)(p.a,{icon:"thumb-tack",text:e.formatMessage(_.pins),to:"/pinned"},"{i++}"),Object(r.a)(p.a,{icon:"users",text:e.formatMessage(_.featured_users),onClick:this.openFeaturedAccountsModal},"{i++}"),Object(r.a)(p.a,{icon:"volume-off",text:e.formatMessage(_.mutes),to:"/mutes"},"{i++}"),Object(r.a)(p.a,{icon:"ban",text:e.formatMessage(_.blocks),to:"/blocks"},"{i++}"),Object(r.a)(p.a,{icon:"minus-circle",text:e.formatMessage(_.domain_blocks),to:"/domain_blocks"},"{i++}"),Object(r.a)(p.a,{icon:"question",text:e.formatMessage(_.keyboard_shortcuts),to:"/keyboard-shortcuts"},"{i++}"),Object(r.a)(p.a,{icon:"book",text:e.formatMessage(_.info),href:"/about/more"},"{i++}"),Object(r.a)(p.a,{icon:"hand-o-right",text:e.formatMessage(_.show_me_around),onClick:this.openOnboardingModal},"{i++}")))},e}(O.a),Object(u.a)(i,"propTypes",{intl:f.a.object.isRequired,dispatch:f.a.func.isRequired}),s=n))||s)||s}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{680:function(a,e,t){"use strict";t.r(e),t.d(e,"default",function(){return k});var o,i,s,n,c=t(1),r=t(6),d=t(0),u=t(2),b=(t(3),t(5)),l=t.n(b),f=t(640),g=t(644),h=t(7),O=t(24),_=t(917),p=t(918),m=t(45),j=t(20),v=t(159),M=Object(h.f)(((o={heading:{id:"column.heading",defaultMessage:"Misc"},subheading:{id:"column.subheading",defaultMessage:"Miscellaneous options"},favourites:{id:"navigation_bar.favourites",defaultMessage:"Favourites"},blocks:{id:"navigation_bar.blocks",defaultMessage:"Blocked users"},domain_blocks:{id:"navigation_bar.domain_blocks",defaultMessage:"Hidden domains"},mutes:{id:"navigation_bar.mutes",defaultMessage:"Muted users"},info:{id:"navigation_bar.info",defaultMessage:"Extended information"},show_me_around:{id:"getting_started.onboarding",defaultMessage:"Show me around"},pins:{id:"navigation_bar.pins",defaultMessage:"Pinned toots"}}).info={id:"navigation_bar.info",defaultMessage:"Extended information"},o.keyboard_shortcuts={id:"navigation_bar.keyboard_shortcuts",defaultMessage:"Keyboard shortcuts"},o.featured_users={id:"navigation_bar.featured_users",defaultMessage:"Featured users"},o.switch_to_vanilla={id:"navigation_bar.switch_to_vanilla",defaultMessage:"Switch to Vanilla Flavour"},o)),k=Object(j.connect)()(i=Object(h.g)((n=s=function(i){function a(){for(var e,a=arguments.length,t=new Array(a),o=0;o<a;o++)t[o]=arguments[o];return e=i.call.apply(i,[this].concat(t))||this,Object(u.a)(Object(d.a)(Object(d.a)(e)),"openOnboardingModal",function(a){e.props.dispatch(Object(m.d)("ONBOARDING"))}),Object(u.a)(Object(d.a)(Object(d.a)(e)),"openFeaturedAccountsModal",function(a){e.props.dispatch(Object(m.d)("PINNED_ACCOUNTS_EDITOR"))}),Object(u.a)(Object(d.a)(Object(d.a)(e)),"switch_flavour_vanilla",function(a){e.props.dispatch(Object(v.e)("vanilla"))}),e}return Object(r.a)(a,i),a.prototype.render=function(){var a=this.props.intl;return Object(c.a)(f.a,{icon:"ellipsis-h",heading:a.formatMessage(M.heading)},void 0,Object(c.a)(g.a,{}),Object(c.a)("div",{className:"scrollable"},void 0,Object(c.a)(p.a,{text:a.formatMessage(M.subheading)}),Object(c.a)(_.a,{icon:"star",text:a.formatMessage(M.favourites),to:"/favourites"},"{i++}"),Object(c.a)(_.a,{icon:"thumb-tack",text:a.formatMessage(M.pins),to:"/pinned"},"{i++}"),Object(c.a)(_.a,{icon:"users",text:a.formatMessage(M.featured_users),onClick:this.openFeaturedAccountsModal},"{i++}"),Object(c.a)(_.a,{icon:"volume-off",text:a.formatMessage(M.mutes),to:"/mutes"},"{i++}"),Object(c.a)(_.a,{icon:"ban",text:a.formatMessage(M.blocks),to:"/blocks"},"{i++}"),Object(c.a)(_.a,{icon:"minus-circle",text:a.formatMessage(M.domain_blocks),to:"/domain_blocks"},"{i++}"),Object(c.a)(_.a,{icon:"question",text:a.formatMessage(M.keyboard_shortcuts),to:"/keyboard-shortcuts"},"{i++}"),Object(c.a)(_.a,{icon:"book",text:a.formatMessage(M.info),href:"/about/more"},"{i++}"),Object(c.a)(_.a,{icon:"hand-o-right",text:a.formatMessage(M.show_me_around),onClick:this.openOnboardingModal},"{i++}"),Object(c.a)(_.a,{icon:"exchange",text:a.formatMessage(M.switch_to_vanilla),onClick:this.switch_flavour_vanilla},"{i++}")))},a}(O.a),Object(u.a)(s,"propTypes",{intl:l.a.object.isRequired,dispatch:l.a.func.isRequired,switchFlavour:l.a.func.isRequired}),i=n))||i)||i}}]); //# sourceMappingURL=getting_started_misc.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/getting_started_misc.js.map b/priv/static/packs/flavours/glitch/async/getting_started_misc.js.map index 483ff311f..48d59ad01 100644 --- a/priv/static/packs/flavours/glitch/async/getting_started_misc.js.map +++ b/priv/static/packs/flavours/glitch/async/getting_started_misc.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/getting_started_misc/index.js"],"names":["messages","defineMessages","_defineMessages","heading","id","defaultMessage","subheading","favourites","blocks","domain_blocks","mutes","info","show_me_around","pins","keyboard_shortcuts","featured_users","gettingStartedMisc","connect","injectIntl","e","_this","props","dispatch","openModal","render","intl","this","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_6__","icon","formatMessage","flavours_glitch_components_column_back_button_slim__WEBPACK_IMPORTED_MODULE_7__","className","flavours_glitch_features_ui_components_column_subheading__WEBPACK_IMPORTED_MODULE_11__","text","flavours_glitch_features_ui_components_column_link__WEBPACK_IMPORTED_MODULE_10__","to","onClick","openFeaturedAccountsModal","href","openOnboardingModal","ImmutablePureComponent","PropTypes","object","isRequired","func"],"mappings":"0QAWMA,EAAWC,cAAcC,EAAA,CAC7BC,QAAO,CAAAC,GAAA,iBAAAC,eAAA,QACPC,WAAU,CAAAF,GAAA,oBAAAC,eAAA,yBACVE,WAAU,CAAAH,GAAA,4BAAAC,eAAA,cACVG,OAAM,CAAAJ,GAAA,wBAAAC,eAAA,iBACNI,cAAa,CAAAL,GAAA,+BAAAC,eAAA,kBACbK,MAAK,CAAAN,GAAA,uBAAAC,eAAA,eACLM,KAAI,CAAAP,GAAA,sBAAAC,eAAA,wBACJO,eAAc,CAAAR,GAAA,6BAAAC,eAAA,kBACdQ,KAAI,CAAAT,GAAA,sBAAAC,eAAA,kBATyB,MAAAD,GAAA,sBAAAC,eAAA,wBAAAH,EAW7BY,mBAX6B,CAAAV,GAAA,oCAAAC,eAAA,sBAAAH,EAY7Ba,eAZ6B,CAAAX,GAAA,gCAAAC,eAAA,kBAAAH,IAiBVc,EAFpBC,sBACAC,kOAQuB,SAACC,GACrBC,EAAKC,MAAMC,SAASC,YAAU,qFAGJ,SAACJ,GAC3BC,EAAKC,MAAMC,SAASC,YAAU,mEAGhCC,OAAA,WAAU,IACAC,EAASC,KAAKL,MAAdI,KAIR,OACEE,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAQC,KAAK,aAAa3B,QAASsB,EAAKM,cAAc/B,EAASG,eAA/D,EACEwB,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,IAEAL,OAAAC,EAAA,EAAAD,CAAA,OAAKM,UAAU,mBAAf,EACEN,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBC,KAAMV,EAAKM,cAAc/B,EAASM,cACpDqB,OAAAC,EAAA,EAAAD,CAACS,EAAA,EAAD,CAAwBN,KAAK,OAAOK,KAAMV,EAAKM,cAAc/B,EAASO,YAAa8B,GAAG,eAAtE,SAChBV,OAAAC,EAAA,EAAAD,CAACS,EAAA,EAAD,CAAwBN,KAAK,aAAaK,KAAMV,EAAKM,cAAc/B,EAASa,MAAOwB,GAAG,WAAtE,SAChBV,OAAAC,EAAA,EAAAD,CAACS,EAAA,EAAD,CAAwBN,KAAK,QAAQK,KAAMV,EAAKM,cAAc/B,EAASe,gBAAiBuB,QAASZ,KAAKa,2BAAtF,SAChBZ,OAAAC,EAAA,EAAAD,CAACS,EAAA,EAAD,CAAwBN,KAAK,aAAaK,KAAMV,EAAKM,cAAc/B,EAASU,OAAQ2B,GAAG,UAAvE,SAChBV,OAAAC,EAAA,EAAAD,CAACS,EAAA,EAAD,CAAwBN,KAAK,MAAMK,KAAMV,EAAKM,cAAc/B,EAASQ,QAAS6B,GAAG,WAAjE,SAChBV,OAAAC,EAAA,EAAAD,CAACS,EAAA,EAAD,CAAwBN,KAAK,eAAeK,KAAMV,EAAKM,cAAc/B,EAASS,eAAgB4B,GAAG,kBAAjF,SAChBV,OAAAC,EAAA,EAAAD,CAACS,EAAA,EAAD,CAAwBN,KAAK,WAAWK,KAAMV,EAAKM,cAAc/B,EAASc,oBAAqBuB,GAAG,uBAAlF,SAChBV,OAAAC,EAAA,EAAAD,CAACS,EAAA,EAAD,CAAwBN,KAAK,OAAOK,KAAMV,EAAKM,cAAc/B,EAASW,MAAO6B,KAAK,eAAlE,SAChBb,OAAAC,EAAA,EAAAD,CAACS,EAAA,EAAD,CAAwBN,KAAK,eAAeK,KAAMV,EAAKM,cAAc/B,EAASY,gBAAiB0B,QAASZ,KAAKe,qBAA7F,eAlCsBC,+BAE3B,CACjBjB,KAAMkB,IAAUC,OAAOC,WACvBvB,SAAUqB,IAAUG,KAAKD","file":"flavours/glitch/async/getting_started_misc.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ColumnLink from 'flavours/glitch/features/ui/components/column_link';\nimport ColumnSubheading from 'flavours/glitch/features/ui/components/column_subheading';\nimport { openModal } from 'flavours/glitch/actions/modal';\nimport { connect } from 'react-redux';\n\nconst messages = defineMessages({\n heading: { id: 'column.heading', defaultMessage: 'Misc' },\n subheading: { id: 'column.subheading', defaultMessage: 'Miscellaneous options' },\n favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' },\n blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' },\n domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' },\n mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' },\n info: { id: 'navigation_bar.info', defaultMessage: 'Extended information' },\n show_me_around: { id: 'getting_started.onboarding', defaultMessage: 'Show me around' },\n pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' },\n info: { id: 'navigation_bar.info', defaultMessage: 'Extended information' },\n keyboard_shortcuts: { id: 'navigation_bar.keyboard_shortcuts', defaultMessage: 'Keyboard shortcuts' },\n featured_users: { id: 'navigation_bar.featured_users', defaultMessage: 'Featured users' },\n});\n\n@connect()\n@injectIntl\nexport default class gettingStartedMisc extends ImmutablePureComponent {\n\n static propTypes = {\n intl: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n };\n\n openOnboardingModal = (e) => {\n this.props.dispatch(openModal('ONBOARDING'));\n }\n\n openFeaturedAccountsModal = (e) => {\n this.props.dispatch(openModal('PINNED_ACCOUNTS_EDITOR'));\n }\n\n render () {\n const { intl } = this.props;\n\n let i = 1;\n\n return (\n <Column icon='ellipsis-h' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n\n <div className='scrollable'>\n <ColumnSubheading text={intl.formatMessage(messages.subheading)} />\n <ColumnLink key='{i++}' icon='star' text={intl.formatMessage(messages.favourites)} to='/favourites' />\n <ColumnLink key='{i++}' icon='thumb-tack' text={intl.formatMessage(messages.pins)} to='/pinned' />\n <ColumnLink key='{i++}' icon='users' text={intl.formatMessage(messages.featured_users)} onClick={this.openFeaturedAccountsModal} />\n <ColumnLink key='{i++}' icon='volume-off' text={intl.formatMessage(messages.mutes)} to='/mutes' />\n <ColumnLink key='{i++}' icon='ban' text={intl.formatMessage(messages.blocks)} to='/blocks' />\n <ColumnLink key='{i++}' icon='minus-circle' text={intl.formatMessage(messages.domain_blocks)} to='/domain_blocks' />\n <ColumnLink key='{i++}' icon='question' text={intl.formatMessage(messages.keyboard_shortcuts)} to='/keyboard-shortcuts' />\n <ColumnLink key='{i++}' icon='book' text={intl.formatMessage(messages.info)} href='/about/more' />\n <ColumnLink key='{i++}' icon='hand-o-right' text={intl.formatMessage(messages.show_me_around)} onClick={this.openOnboardingModal} />\n </div>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/getting_started_misc/index.js"],"names":["messages","defineMessages","_defineMessages","heading","id","defaultMessage","subheading","favourites","blocks","domain_blocks","mutes","info","show_me_around","pins","keyboard_shortcuts","featured_users","switch_to_vanilla","gettingStartedMisc","connect","injectIntl","e","_this","props","dispatch","openModal","switchFlavour","render","intl","this","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_6__","icon","formatMessage","flavours_glitch_components_column_back_button_slim__WEBPACK_IMPORTED_MODULE_7__","className","flavours_glitch_features_ui_components_column_subheading__WEBPACK_IMPORTED_MODULE_11__","text","flavours_glitch_features_ui_components_column_link__WEBPACK_IMPORTED_MODULE_10__","to","onClick","openFeaturedAccountsModal","href","openOnboardingModal","switch_flavour_vanilla","ImmutablePureComponent","PropTypes","object","isRequired","func"],"mappings":"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","file":"flavours/glitch/async/getting_started_misc.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ColumnLink from 'flavours/glitch/features/ui/components/column_link';\nimport ColumnSubheading from 'flavours/glitch/features/ui/components/column_subheading';\nimport { openModal } from 'flavours/glitch/actions/modal';\nimport { connect } from 'react-redux';\nimport { switchFlavour } from 'mastodon/actions/pleroma';\n\nconst messages = defineMessages({\n heading: { id: 'column.heading', defaultMessage: 'Misc' },\n subheading: { id: 'column.subheading', defaultMessage: 'Miscellaneous options' },\n favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' },\n blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' },\n domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' },\n mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' },\n info: { id: 'navigation_bar.info', defaultMessage: 'Extended information' },\n show_me_around: { id: 'getting_started.onboarding', defaultMessage: 'Show me around' },\n pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' },\n info: { id: 'navigation_bar.info', defaultMessage: 'Extended information' },\n keyboard_shortcuts: { id: 'navigation_bar.keyboard_shortcuts', defaultMessage: 'Keyboard shortcuts' },\n featured_users: { id: 'navigation_bar.featured_users', defaultMessage: 'Featured users' },\n switch_to_vanilla: { id: 'navigation_bar.switch_to_vanilla', defaultMessage: 'Switch to Vanilla Flavour' },\n});\n\n@connect()\n@injectIntl\nexport default class gettingStartedMisc extends ImmutablePureComponent {\n\n static propTypes = {\n intl: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n switchFlavour: PropTypes.func.isRequired,\n };\n\n openOnboardingModal = (e) => {\n this.props.dispatch(openModal('ONBOARDING'));\n }\n\n openFeaturedAccountsModal = (e) => {\n this.props.dispatch(openModal('PINNED_ACCOUNTS_EDITOR'));\n }\n\n switch_flavour_vanilla = (e) => {\n this.props.dispatch(switchFlavour('vanilla'));\n }\n\n render () {\n const { intl } = this.props;\n\n let i = 1;\n\n return (\n <Column icon='ellipsis-h' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n\n <div className='scrollable'>\n <ColumnSubheading text={intl.formatMessage(messages.subheading)} />\n <ColumnLink key='{i++}' icon='star' text={intl.formatMessage(messages.favourites)} to='/favourites' />\n <ColumnLink key='{i++}' icon='thumb-tack' text={intl.formatMessage(messages.pins)} to='/pinned' />\n <ColumnLink key='{i++}' icon='users' text={intl.formatMessage(messages.featured_users)} onClick={this.openFeaturedAccountsModal} />\n <ColumnLink key='{i++}' icon='volume-off' text={intl.formatMessage(messages.mutes)} to='/mutes' />\n <ColumnLink key='{i++}' icon='ban' text={intl.formatMessage(messages.blocks)} to='/blocks' />\n <ColumnLink key='{i++}' icon='minus-circle' text={intl.formatMessage(messages.domain_blocks)} to='/domain_blocks' />\n <ColumnLink key='{i++}' icon='question' text={intl.formatMessage(messages.keyboard_shortcuts)} to='/keyboard-shortcuts' />\n <ColumnLink key='{i++}' icon='book' text={intl.formatMessage(messages.info)} href='/about/more' />\n <ColumnLink key='{i++}' icon='hand-o-right' text={intl.formatMessage(messages.show_me_around)} onClick={this.openOnboardingModal} />\n <ColumnLink key='{i++}' icon='exchange' text={intl.formatMessage(messages.switch_to_vanilla)} onClick={this.switch_flavour_vanilla} />\n </div>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/hashtag_timeline.js b/priv/static/packs/flavours/glitch/async/hashtag_timeline.js index e20e7150a..e6d5e00a2 100644 --- a/priv/static/packs/flavours/glitch/async/hashtag_timeline.js +++ b/priv/static/packs/flavours/glitch/async/hashtag_timeline.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{716:function(t,e,a){"use strict";a.r(e);var n,s,i=a(1),o=a(6),c=a(0),r=a(2),u=a(951),l=a.n(u),d=a(3),h=a.n(d),g=a(20),p=a(625),b=a(429),m=a(427),O=a(7),f=a(390),j=a.n(f),v=a(952),_=a.n(v),y=Object(O.g)(n=function(s){function t(){for(var a,t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return a=s.call.apply(s,[this].concat(e))||this,Object(r.a)(Object(c.a)(Object(c.a)(a)),"state",{open:a.hasTags()}),Object(r.a)(Object(c.a)(Object(c.a)(a)),"onSelect",function(e){return function(t){a.props.onChange(["tags",e],t)}}),Object(r.a)(Object(c.a)(Object(c.a)(a)),"onToggle",function(){a.state.open&&a.hasTags()&&a.props.onChange("tags",{}),a.setState({open:!a.state.open})}),a}Object(o.a)(t,s);var e=t.prototype;return e.hasTags=function(){var e=this;return["all","any","none"].map(function(t){return 0<e.tags(t).length}).includes(!0)},e.tags=function(t){var e=this.props.settings.getIn(["tags",t])||[];return e.toJSON?e.toJSON():e},e.modeSelect=function(t){return Object(i.a)("div",{className:"column-settings__section"},void 0,this.modeLabel(t),Object(i.a)(_.a,{isMulti:!0,autoFocus:!0,value:this.tags(t),settings:this.props.settings,settingPath:["tags",t],onChange:this.onSelect(t),loadOptions:this.props.onLoad,classNamePrefix:"column-settings__hashtag-select",name:"tags"}))},e.modeLabel=function(t){switch(t){case"any":return Object(i.a)(O.b,{id:"hashtag.column_settings.tag_mode.any",defaultMessage:"Any of these"});case"all":return Object(i.a)(O.b,{id:"hashtag.column_settings.tag_mode.all",defaultMessage:"All of these"});case"none":return Object(i.a)(O.b,{id:"hashtag.column_settings.tag_mode.none",defaultMessage:"None of these"})}return""},e.render=function(){return Object(i.a)("div",{},void 0,Object(i.a)("div",{className:"column-settings__row"},void 0,Object(i.a)("div",{className:"setting-toggle"},void 0,Object(i.a)(j.a,{id:"hashtag.column_settings.tag_toggle",onChange:this.onToggle,checked:this.state.open}),Object(i.a)("span",{className:"setting-toggle__label"},void 0,Object(i.a)(O.b,{id:"hashtag.column_settings.tag_toggle",defaultMessage:"Include additional tags in this column"})))),this.state.open&&Object(i.a)("div",{className:"column-settings__hashtags"},void 0,this.modeSelect("any"),this.modeSelect("all"),this.modeSelect("none")))},t}(h.a.PureComponent))||n,M=a(202),I=a(10),w=Object(g.connect)(function(t,e){var a=e.columnId,n=t.getIn(["settings","columns"]),s=n.findIndex(function(t){return t.get("uuid")===a});return a&&0<=s?{settings:n.get(s).get("params")}:{}},function(a,t){var n=t.columnId;return{onChange:function(t,e){a(Object(M.f)(n,t,e))},onLoad:function(t){return Object(I.a)().get("/api/v2/search",{params:{q:t}}).then(function(t){return(t.data.hashtags||[]).map(function(t){return{value:t.name,label:"#"+t.name}})})}}})(y),C=a(31),S=a(400);a.d(e,"default",function(){return N});var N=Object(g.connect)(function(t,e){return{hasUnread:0<t.getIn(["timelines","hashtag:"+e.params.id,"unread"])}})(s=function(n){function t(){for(var s,t=arguments.length,e=new Array(t),a=0;a<t;a++)e[a]=arguments[a];return s=n.call.apply(n,[this].concat(e))||this,Object(r.a)(Object(c.a)(Object(c.a)(s)),"disconnects",[]),Object(r.a)(Object(c.a)(Object(c.a)(s)),"handlePin",function(){var t=s.props,e=t.columnId,a=t.dispatch;a(e?Object(M.h)(e):Object(M.e)("HASHTAG",{id:s.props.params.id}))}),Object(r.a)(Object(c.a)(Object(c.a)(s)),"title",function(){var t=[s.props.params.id];return s.additionalFor("any")&&t.push(" ",Object(i.a)(O.b,{id:"hashtag.column_header.tag_mode.any",values:{additional:s.additionalFor("any")},defaultMessage:"or {additional}"})),s.additionalFor("all")&&t.push(" ",Object(i.a)(O.b,{id:"hashtag.column_header.tag_mode.all",values:{additional:s.additionalFor("all")},defaultMessage:"and {additional}"})),s.additionalFor("none")&&t.push(" ",Object(i.a)(O.b,{id:"hashtag.column_header.tag_mode.none",values:{additional:s.additionalFor("none")},defaultMessage:"without {additional}"})),t}),Object(r.a)(Object(c.a)(Object(c.a)(s)),"additionalFor",function(t){var e=s.props.params.tags;return e&&0<(e[t]||[]).length?e[t].map(function(t){return t.value}).join("/"):""}),Object(r.a)(Object(c.a)(Object(c.a)(s)),"handleMove",function(t){var e=s.props,a=e.columnId;(0,e.dispatch)(Object(M.g)(a,t))}),Object(r.a)(Object(c.a)(Object(c.a)(s)),"handleHeaderClick",function(){s.column.scrollTop()}),Object(r.a)(Object(c.a)(Object(c.a)(s)),"setRef",function(t){s.column=t}),Object(r.a)(Object(c.a)(Object(c.a)(s)),"handleLoadMore",function(t){var e=s.props.params,a=e.id,n=e.tags;s.props.dispatch(Object(C.q)(a,{maxId:t,tags:n}))}),s}Object(o.a)(t,n);var e=t.prototype;return e._subscribe=function(e,a,t){var n=this;void 0===t&&(t={});var s=(t.any||[]).map(function(t){return t.value}),o=(t.all||[]).map(function(t){return t.value}),i=(t.none||[]).map(function(t){return t.value});[a].concat(s).map(function(t){n.disconnects.push(e(Object(S.c)(a,t,function(t){var e=t.tags.map(function(t){return t.name});return o.filter(function(t){return e.includes(t)}).length===o.length&&0===i.filter(function(t){return e.includes(t)}).length})))})},e._unsubscribe=function(){this.disconnects.map(function(t){return t()}),this.disconnects=[]},e.componentDidMount=function(){var t=this.props.dispatch,e=this.props.params,a=e.id,n=e.tags;t(Object(C.q)(a,{tags:n}))},e.componentWillReceiveProps=function(t){var e=this.props,a=e.dispatch,n=e.params,s=t.params,o=s.id,i=s.tags;o===n.id&&l()(i,n.tags)||(this._unsubscribe(),this._subscribe(a,o,i),this.props.dispatch(Object(C.i)("hashtag:"+o)),this.props.dispatch(Object(C.q)(o,{tags:i})))},e.componentWillUnmount=function(){this._unsubscribe()},e.render=function(){var t=this.props,e=t.hasUnread,a=t.columnId,n=t.multiColumn,s=this.props.params.id,o=!!a;return h.a.createElement(b.a,{ref:this.setRef,name:"hashtag",label:"#"+s},Object(i.a)(m.a,{icon:"hashtag",active:e,title:this.title(),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:o,multiColumn:n,showBackButton:!0},void 0,a&&Object(i.a)(w,{columnId:a})),Object(i.a)(p.a,{trackScroll:!o,scrollKey:"hashtag_timeline-"+a,timelineId:"hashtag:"+s,onLoadMore:this.handleLoadMore,emptyMessage:Object(i.a)(O.b,{id:"empty_column.hashtag",defaultMessage:"There is nothing in this hashtag yet."})}))},t}(h.a.PureComponent))||s}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{717:function(t,e,a){"use strict";a.r(e);var n,s,i=a(1),o=a(6),c=a(0),r=a(2),u=a(952),l=a.n(u),d=a(3),h=a.n(d),g=a(20),p=a(626),b=a(430),m=a(428),O=a(7),f=a(391),j=a.n(f),v=a(953),_=a.n(v),y=Object(O.g)(n=function(s){function t(){for(var a,t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return a=s.call.apply(s,[this].concat(e))||this,Object(r.a)(Object(c.a)(Object(c.a)(a)),"state",{open:a.hasTags()}),Object(r.a)(Object(c.a)(Object(c.a)(a)),"onSelect",function(e){return function(t){a.props.onChange(["tags",e],t)}}),Object(r.a)(Object(c.a)(Object(c.a)(a)),"onToggle",function(){a.state.open&&a.hasTags()&&a.props.onChange("tags",{}),a.setState({open:!a.state.open})}),a}Object(o.a)(t,s);var e=t.prototype;return e.hasTags=function(){var e=this;return["all","any","none"].map(function(t){return 0<e.tags(t).length}).includes(!0)},e.tags=function(t){var e=this.props.settings.getIn(["tags",t])||[];return e.toJSON?e.toJSON():e},e.modeSelect=function(t){return Object(i.a)("div",{className:"column-settings__section"},void 0,this.modeLabel(t),Object(i.a)(_.a,{isMulti:!0,autoFocus:!0,value:this.tags(t),settings:this.props.settings,settingPath:["tags",t],onChange:this.onSelect(t),loadOptions:this.props.onLoad,classNamePrefix:"column-settings__hashtag-select",name:"tags"}))},e.modeLabel=function(t){switch(t){case"any":return Object(i.a)(O.b,{id:"hashtag.column_settings.tag_mode.any",defaultMessage:"Any of these"});case"all":return Object(i.a)(O.b,{id:"hashtag.column_settings.tag_mode.all",defaultMessage:"All of these"});case"none":return Object(i.a)(O.b,{id:"hashtag.column_settings.tag_mode.none",defaultMessage:"None of these"})}return""},e.render=function(){return Object(i.a)("div",{},void 0,Object(i.a)("div",{className:"column-settings__row"},void 0,Object(i.a)("div",{className:"setting-toggle"},void 0,Object(i.a)(j.a,{id:"hashtag.column_settings.tag_toggle",onChange:this.onToggle,checked:this.state.open}),Object(i.a)("span",{className:"setting-toggle__label"},void 0,Object(i.a)(O.b,{id:"hashtag.column_settings.tag_toggle",defaultMessage:"Include additional tags in this column"})))),this.state.open&&Object(i.a)("div",{className:"column-settings__hashtags"},void 0,this.modeSelect("any"),this.modeSelect("all"),this.modeSelect("none")))},t}(h.a.PureComponent))||n,M=a(205),I=a(10),w=Object(g.connect)(function(t,e){var a=e.columnId,n=t.getIn(["settings","columns"]),s=n.findIndex(function(t){return t.get("uuid")===a});return a&&0<=s?{settings:n.get(s).get("params")}:{}},function(a,t){var n=t.columnId;return{onChange:function(t,e){a(Object(M.f)(n,t,e))},onLoad:function(t){return Object(I.a)().get("/api/v2/search",{params:{q:t}}).then(function(t){return(t.data.hashtags||[]).map(function(t){return{value:t.name,label:"#"+t.name}})})}}})(y),C=a(32),S=a(401);a.d(e,"default",function(){return N});var N=Object(g.connect)(function(t,e){return{hasUnread:0<t.getIn(["timelines","hashtag:"+e.params.id,"unread"])}})(s=function(n){function t(){for(var s,t=arguments.length,e=new Array(t),a=0;a<t;a++)e[a]=arguments[a];return s=n.call.apply(n,[this].concat(e))||this,Object(r.a)(Object(c.a)(Object(c.a)(s)),"disconnects",[]),Object(r.a)(Object(c.a)(Object(c.a)(s)),"handlePin",function(){var t=s.props,e=t.columnId,a=t.dispatch;a(e?Object(M.h)(e):Object(M.e)("HASHTAG",{id:s.props.params.id}))}),Object(r.a)(Object(c.a)(Object(c.a)(s)),"title",function(){var t=[s.props.params.id];return s.additionalFor("any")&&t.push(" ",Object(i.a)(O.b,{id:"hashtag.column_header.tag_mode.any",values:{additional:s.additionalFor("any")},defaultMessage:"or {additional}"})),s.additionalFor("all")&&t.push(" ",Object(i.a)(O.b,{id:"hashtag.column_header.tag_mode.all",values:{additional:s.additionalFor("all")},defaultMessage:"and {additional}"})),s.additionalFor("none")&&t.push(" ",Object(i.a)(O.b,{id:"hashtag.column_header.tag_mode.none",values:{additional:s.additionalFor("none")},defaultMessage:"without {additional}"})),t}),Object(r.a)(Object(c.a)(Object(c.a)(s)),"additionalFor",function(t){var e=s.props.params.tags;return e&&0<(e[t]||[]).length?e[t].map(function(t){return t.value}).join("/"):""}),Object(r.a)(Object(c.a)(Object(c.a)(s)),"handleMove",function(t){var e=s.props,a=e.columnId;(0,e.dispatch)(Object(M.g)(a,t))}),Object(r.a)(Object(c.a)(Object(c.a)(s)),"handleHeaderClick",function(){s.column.scrollTop()}),Object(r.a)(Object(c.a)(Object(c.a)(s)),"setRef",function(t){s.column=t}),Object(r.a)(Object(c.a)(Object(c.a)(s)),"handleLoadMore",function(t){var e=s.props.params,a=e.id,n=e.tags;s.props.dispatch(Object(C.q)(a,{maxId:t,tags:n}))}),s}Object(o.a)(t,n);var e=t.prototype;return e._subscribe=function(e,a,t){var n=this;void 0===t&&(t={});var s=(t.any||[]).map(function(t){return t.value}),o=(t.all||[]).map(function(t){return t.value}),i=(t.none||[]).map(function(t){return t.value});[a].concat(s).map(function(t){n.disconnects.push(e(Object(S.c)(a,t,function(t){var e=t.tags.map(function(t){return t.name});return o.filter(function(t){return e.includes(t)}).length===o.length&&0===i.filter(function(t){return e.includes(t)}).length})))})},e._unsubscribe=function(){this.disconnects.map(function(t){return t()}),this.disconnects=[]},e.componentDidMount=function(){var t=this.props.dispatch,e=this.props.params,a=e.id,n=e.tags;t(Object(C.q)(a,{tags:n}))},e.componentWillReceiveProps=function(t){var e=this.props,a=e.dispatch,n=e.params,s=t.params,o=s.id,i=s.tags;o===n.id&&l()(i,n.tags)||(this._unsubscribe(),this._subscribe(a,o,i),this.props.dispatch(Object(C.i)("hashtag:"+o)),this.props.dispatch(Object(C.q)(o,{tags:i})))},e.componentWillUnmount=function(){this._unsubscribe()},e.render=function(){var t=this.props,e=t.hasUnread,a=t.columnId,n=t.multiColumn,s=this.props.params.id,o=!!a;return h.a.createElement(b.a,{ref:this.setRef,name:"hashtag",label:"#"+s},Object(i.a)(m.a,{icon:"hashtag",active:e,title:this.title(),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:o,multiColumn:n,showBackButton:!0},void 0,a&&Object(i.a)(w,{columnId:a})),Object(i.a)(p.a,{trackScroll:!o,scrollKey:"hashtag_timeline-"+a,timelineId:"hashtag:"+s,onLoadMore:this.handleLoadMore,emptyMessage:Object(i.a)(O.b,{id:"empty_column.hashtag",defaultMessage:"There is nothing in this hashtag yet."})}))},t}(h.a.PureComponent))||s}}]); //# sourceMappingURL=hashtag_timeline.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/hashtag_timeline.js.map b/priv/static/packs/flavours/glitch/async/hashtag_timeline.js.map index e1f3188ba..b5ae9f62f 100644 --- a/priv/static/packs/flavours/glitch/async/hashtag_timeline.js.map +++ b/priv/static/packs/flavours/glitch/async/hashtag_timeline.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/hashtag_timeline/components/column_settings.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/hashtag_timeline/containers/column_settings_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/hashtag_timeline/index.js"],"names":["ColumnSettings","injectIntl","open","_this","hasTags","mode","value","props","onChange","state","setState","_this2","this","map","tags","length","includes","settings","getIn","toJSON","modeSelect","Object","jsx","className","modeLabel","Async_default","a","isMulti","autoFocus","settingPath","onSelect","loadOptions","onLoad","classNamePrefix","name","index_es","id","defaultMessage","render","component_default","onToggle","checked","React","PureComponent","connect","_ref","columnId","columns","index","findIndex","c","get","dispatch","_ref2","key","changeColumnParams","api","params","q","then","response","data","hashtags","tag","label","HashtagTimeline","hasUnread","_this$props","removeColumn","addColumn","title","additionalFor","push","values","additional","join","dir","_this$props2","moveColumn","column","scrollTop","maxId","_this$props$params","expandHashtagTimeline","_subscribe","any","all","none","concat","disconnects","connectHashtagStream","status","filter","_unsubscribe","disconnect","componentDidMount","_this$props$params2","componentWillReceiveProps","nextProps","_this$props3","_nextProps$params","isEqual_default","clearTimeline","componentWillUnmount","_this$props4","multiColumn","pinned","react_default","createElement","ref","setRef","column_header","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","showBackButton","column_settings_container","status_list_container","trackScroll","scrollKey","timelineId","onLoadMore","handleLoadMore","emptyMessage"],"mappings":"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","file":"flavours/glitch/async/hashtag_timeline.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { injectIntl, FormattedMessage } from 'react-intl';\nimport Toggle from 'react-toggle';\nimport AsyncSelect from 'react-select/lib/Async';\n\n@injectIntl\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n onLoad: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n state = {\n open: this.hasTags(),\n };\n\n hasTags () {\n return ['all', 'any', 'none'].map(mode => this.tags(mode).length > 0).includes(true);\n }\n\n tags (mode) {\n let tags = this.props.settings.getIn(['tags', mode]) || [];\n if (tags.toJSON) {\n return tags.toJSON();\n } else {\n return tags;\n }\n };\n\n onSelect = (mode) => {\n return (value) => {\n this.props.onChange(['tags', mode], value);\n };\n };\n\n onToggle = () => {\n if (this.state.open && this.hasTags()) {\n this.props.onChange('tags', {});\n }\n this.setState({ open: !this.state.open });\n };\n\n modeSelect (mode) {\n return (\n <div className='column-settings__section'>\n {this.modeLabel(mode)}\n <AsyncSelect\n isMulti\n autoFocus\n value={this.tags(mode)}\n settings={this.props.settings}\n settingPath={['tags', mode]}\n onChange={this.onSelect(mode)}\n loadOptions={this.props.onLoad}\n classNamePrefix='column-settings__hashtag-select'\n name='tags'\n />\n </div>\n );\n }\n\n modeLabel (mode) {\n switch(mode) {\n case 'any': return <FormattedMessage id='hashtag.column_settings.tag_mode.any' defaultMessage='Any of these' />;\n case 'all': return <FormattedMessage id='hashtag.column_settings.tag_mode.all' defaultMessage='All of these' />;\n case 'none': return <FormattedMessage id='hashtag.column_settings.tag_mode.none' defaultMessage='None of these' />;\n }\n return '';\n };\n\n render () {\n return (\n <div>\n <div className='column-settings__row'>\n <div className='setting-toggle'>\n <Toggle\n id='hashtag.column_settings.tag_toggle'\n onChange={this.onToggle}\n checked={this.state.open}\n />\n <span className='setting-toggle__label'>\n <FormattedMessage id='hashtag.column_settings.tag_toggle' defaultMessage='Include additional tags in this column' />\n </span>\n </div>\n </div>\n {this.state.open &&\n <div className='column-settings__hashtags'>\n {this.modeSelect('any')}\n {this.modeSelect('all')}\n {this.modeSelect('none')}\n </div>\n }\n </div>\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeColumnParams } from 'flavours/glitch/actions/columns';\nimport api from 'flavours/glitch/util/api';\n\nconst mapStateToProps = (state, { columnId }) => {\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === columnId);\n\n if (!(columnId && index >= 0)) {\n return {};\n }\n\n return { settings: columns.get(index).get('params') };\n};\n\nconst mapDispatchToProps = (dispatch, { columnId }) => ({\n onChange (key, value) {\n dispatch(changeColumnParams(columnId, key, value));\n },\n\n onLoad (value) {\n return api().get('/api/v2/search', { params: { q: value } }).then(response => {\n return (response.data.hashtags || []).map((tag) => {\n return { value: tag.name, label: `#${tag.name}` };\n });\n });\n },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { expandHashtagTimeline, clearTimeline } from 'flavours/glitch/actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport { FormattedMessage } from 'react-intl';\nimport { connectHashtagStream } from 'flavours/glitch/actions/streaming';\nimport { isEqual } from 'lodash';\n\nconst mapStateToProps = (state, props) => ({\n hasUnread: state.getIn(['timelines', `hashtag:${props.params.id}`, 'unread']) > 0,\n});\n\n@connect(mapStateToProps)\nexport default class HashtagTimeline extends React.PureComponent {\n\n disconnects = [];\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n columnId: PropTypes.string,\n dispatch: PropTypes.func.isRequired,\n hasUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n };\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('HASHTAG', { id: this.props.params.id }));\n }\n }\n\n title = () => {\n let title = [this.props.params.id];\n if (this.additionalFor('any')) {\n title.push(' ', <FormattedMessage id='hashtag.column_header.tag_mode.any' values={{ additional: this.additionalFor('any') }} defaultMessage='or {additional}' />);\n }\n if (this.additionalFor('all')) {\n title.push(' ', <FormattedMessage id='hashtag.column_header.tag_mode.all' values={{ additional: this.additionalFor('all') }} defaultMessage='and {additional}' />);\n }\n if (this.additionalFor('none')) {\n title.push(' ', <FormattedMessage id='hashtag.column_header.tag_mode.none' values={{ additional: this.additionalFor('none') }} defaultMessage='without {additional}' />);\n }\n return title;\n }\n\n additionalFor = (mode) => {\n const { tags } = this.props.params;\n\n if (tags && (tags[mode] || []).length > 0) {\n return tags[mode].map(tag => tag.value).join('/');\n } else {\n return '';\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n _subscribe (dispatch, id, tags = {}) {\n let any = (tags.any || []).map(tag => tag.value);\n let all = (tags.all || []).map(tag => tag.value);\n let none = (tags.none || []).map(tag => tag.value);\n\n [id, ...any].map((tag) => {\n this.disconnects.push(dispatch(connectHashtagStream(id, tag, (status) => {\n let tags = status.tags.map(tag => tag.name);\n return all.filter(tag => tags.includes(tag)).length === all.length &&\n none.filter(tag => tags.includes(tag)).length === 0;\n })));\n });\n }\n\n _unsubscribe () {\n this.disconnects.map(disconnect => disconnect());\n this.disconnects = [];\n }\n\n componentDidMount () {\n const { dispatch } = this.props;\n const { id, tags } = this.props.params;\n\n dispatch(expandHashtagTimeline(id, { tags }));\n }\n\n componentWillReceiveProps (nextProps) {\n const { dispatch, params } = this.props;\n const { id, tags } = nextProps.params;\n if (id !== params.id || !isEqual(tags, params.tags)) {\n this._unsubscribe();\n this._subscribe(dispatch, id, tags);\n this.props.dispatch(clearTimeline(`hashtag:${id}`));\n this.props.dispatch(expandHashtagTimeline(id, { tags }));\n }\n }\n\n componentWillUnmount () {\n this._unsubscribe();\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n const { id, tags } = this.props.params;\n this.props.dispatch(expandHashtagTimeline(id, { maxId, tags }));\n }\n\n render () {\n const { hasUnread, columnId, multiColumn } = this.props;\n const { id } = this.props.params;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} name='hashtag' label={`#${id}`}>\n <ColumnHeader\n icon='hashtag'\n active={hasUnread}\n title={this.title()}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n showBackButton\n >\n {columnId && <ColumnSettingsContainer columnId={columnId} />}\n </ColumnHeader>\n\n <StatusListContainer\n trackScroll={!pinned}\n scrollKey={`hashtag_timeline-${columnId}`}\n timelineId={`hashtag:${id}`}\n onLoadMore={this.handleLoadMore}\n emptyMessage={<FormattedMessage id='empty_column.hashtag' defaultMessage='There is nothing in this hashtag yet.' />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/hashtag_timeline/components/column_settings.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/hashtag_timeline/containers/column_settings_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/hashtag_timeline/index.js"],"names":["ColumnSettings","injectIntl","open","_this","hasTags","mode","value","props","onChange","state","setState","_this2","this","map","tags","length","includes","settings","getIn","toJSON","modeSelect","Object","jsx","className","modeLabel","Async_default","a","isMulti","autoFocus","settingPath","onSelect","loadOptions","onLoad","classNamePrefix","name","index_es","id","defaultMessage","render","component_default","onToggle","checked","React","PureComponent","connect","_ref","columnId","columns","index","findIndex","c","get","dispatch","_ref2","key","changeColumnParams","api","params","q","then","response","data","hashtags","tag","label","HashtagTimeline","hasUnread","_this$props","removeColumn","addColumn","title","additionalFor","push","values","additional","join","dir","_this$props2","moveColumn","column","scrollTop","maxId","_this$props$params","expandHashtagTimeline","_subscribe","any","all","none","concat","disconnects","connectHashtagStream","status","filter","_unsubscribe","disconnect","componentDidMount","_this$props$params2","componentWillReceiveProps","nextProps","_this$props3","_nextProps$params","isEqual_default","clearTimeline","componentWillUnmount","_this$props4","multiColumn","pinned","react_default","createElement","ref","setRef","column_header","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","showBackButton","column_settings_container","status_list_container","trackScroll","scrollKey","timelineId","onLoadMore","handleLoadMore","emptyMessage"],"mappings":"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","file":"flavours/glitch/async/hashtag_timeline.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { injectIntl, FormattedMessage } from 'react-intl';\nimport Toggle from 'react-toggle';\nimport AsyncSelect from 'react-select/lib/Async';\n\n@injectIntl\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n onLoad: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n state = {\n open: this.hasTags(),\n };\n\n hasTags () {\n return ['all', 'any', 'none'].map(mode => this.tags(mode).length > 0).includes(true);\n }\n\n tags (mode) {\n let tags = this.props.settings.getIn(['tags', mode]) || [];\n if (tags.toJSON) {\n return tags.toJSON();\n } else {\n return tags;\n }\n };\n\n onSelect = (mode) => {\n return (value) => {\n this.props.onChange(['tags', mode], value);\n };\n };\n\n onToggle = () => {\n if (this.state.open && this.hasTags()) {\n this.props.onChange('tags', {});\n }\n this.setState({ open: !this.state.open });\n };\n\n modeSelect (mode) {\n return (\n <div className='column-settings__section'>\n {this.modeLabel(mode)}\n <AsyncSelect\n isMulti\n autoFocus\n value={this.tags(mode)}\n settings={this.props.settings}\n settingPath={['tags', mode]}\n onChange={this.onSelect(mode)}\n loadOptions={this.props.onLoad}\n classNamePrefix='column-settings__hashtag-select'\n name='tags'\n />\n </div>\n );\n }\n\n modeLabel (mode) {\n switch(mode) {\n case 'any': return <FormattedMessage id='hashtag.column_settings.tag_mode.any' defaultMessage='Any of these' />;\n case 'all': return <FormattedMessage id='hashtag.column_settings.tag_mode.all' defaultMessage='All of these' />;\n case 'none': return <FormattedMessage id='hashtag.column_settings.tag_mode.none' defaultMessage='None of these' />;\n }\n return '';\n };\n\n render () {\n return (\n <div>\n <div className='column-settings__row'>\n <div className='setting-toggle'>\n <Toggle\n id='hashtag.column_settings.tag_toggle'\n onChange={this.onToggle}\n checked={this.state.open}\n />\n <span className='setting-toggle__label'>\n <FormattedMessage id='hashtag.column_settings.tag_toggle' defaultMessage='Include additional tags in this column' />\n </span>\n </div>\n </div>\n {this.state.open &&\n <div className='column-settings__hashtags'>\n {this.modeSelect('any')}\n {this.modeSelect('all')}\n {this.modeSelect('none')}\n </div>\n }\n </div>\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeColumnParams } from 'flavours/glitch/actions/columns';\nimport api from 'flavours/glitch/util/api';\n\nconst mapStateToProps = (state, { columnId }) => {\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === columnId);\n\n if (!(columnId && index >= 0)) {\n return {};\n }\n\n return { settings: columns.get(index).get('params') };\n};\n\nconst mapDispatchToProps = (dispatch, { columnId }) => ({\n onChange (key, value) {\n dispatch(changeColumnParams(columnId, key, value));\n },\n\n onLoad (value) {\n return api().get('/api/v2/search', { params: { q: value } }).then(response => {\n return (response.data.hashtags || []).map((tag) => {\n return { value: tag.name, label: `#${tag.name}` };\n });\n });\n },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { expandHashtagTimeline, clearTimeline } from 'flavours/glitch/actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport { FormattedMessage } from 'react-intl';\nimport { connectHashtagStream } from 'flavours/glitch/actions/streaming';\nimport { isEqual } from 'lodash';\n\nconst mapStateToProps = (state, props) => ({\n hasUnread: state.getIn(['timelines', `hashtag:${props.params.id}`, 'unread']) > 0,\n});\n\n@connect(mapStateToProps)\nexport default class HashtagTimeline extends React.PureComponent {\n\n disconnects = [];\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n columnId: PropTypes.string,\n dispatch: PropTypes.func.isRequired,\n hasUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n };\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('HASHTAG', { id: this.props.params.id }));\n }\n }\n\n title = () => {\n let title = [this.props.params.id];\n if (this.additionalFor('any')) {\n title.push(' ', <FormattedMessage id='hashtag.column_header.tag_mode.any' values={{ additional: this.additionalFor('any') }} defaultMessage='or {additional}' />);\n }\n if (this.additionalFor('all')) {\n title.push(' ', <FormattedMessage id='hashtag.column_header.tag_mode.all' values={{ additional: this.additionalFor('all') }} defaultMessage='and {additional}' />);\n }\n if (this.additionalFor('none')) {\n title.push(' ', <FormattedMessage id='hashtag.column_header.tag_mode.none' values={{ additional: this.additionalFor('none') }} defaultMessage='without {additional}' />);\n }\n return title;\n }\n\n additionalFor = (mode) => {\n const { tags } = this.props.params;\n\n if (tags && (tags[mode] || []).length > 0) {\n return tags[mode].map(tag => tag.value).join('/');\n } else {\n return '';\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n _subscribe (dispatch, id, tags = {}) {\n let any = (tags.any || []).map(tag => tag.value);\n let all = (tags.all || []).map(tag => tag.value);\n let none = (tags.none || []).map(tag => tag.value);\n\n [id, ...any].map((tag) => {\n this.disconnects.push(dispatch(connectHashtagStream(id, tag, (status) => {\n let tags = status.tags.map(tag => tag.name);\n return all.filter(tag => tags.includes(tag)).length === all.length &&\n none.filter(tag => tags.includes(tag)).length === 0;\n })));\n });\n }\n\n _unsubscribe () {\n this.disconnects.map(disconnect => disconnect());\n this.disconnects = [];\n }\n\n componentDidMount () {\n const { dispatch } = this.props;\n const { id, tags } = this.props.params;\n\n dispatch(expandHashtagTimeline(id, { tags }));\n }\n\n componentWillReceiveProps (nextProps) {\n const { dispatch, params } = this.props;\n const { id, tags } = nextProps.params;\n if (id !== params.id || !isEqual(tags, params.tags)) {\n this._unsubscribe();\n this._subscribe(dispatch, id, tags);\n this.props.dispatch(clearTimeline(`hashtag:${id}`));\n this.props.dispatch(expandHashtagTimeline(id, { tags }));\n }\n }\n\n componentWillUnmount () {\n this._unsubscribe();\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n const { id, tags } = this.props.params;\n this.props.dispatch(expandHashtagTimeline(id, { maxId, tags }));\n }\n\n render () {\n const { hasUnread, columnId, multiColumn } = this.props;\n const { id } = this.props.params;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} name='hashtag' label={`#${id}`}>\n <ColumnHeader\n icon='hashtag'\n active={hasUnread}\n title={this.title()}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n showBackButton\n >\n {columnId && <ColumnSettingsContainer columnId={columnId} />}\n </ColumnHeader>\n\n <StatusListContainer\n trackScroll={!pinned}\n scrollKey={`hashtag_timeline-${columnId}`}\n timelineId={`hashtag:${id}`}\n onLoadMore={this.handleLoadMore}\n emptyMessage={<FormattedMessage id='empty_column.hashtag' defaultMessage='There is nothing in this hashtag yet.' />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/home_timeline.js b/priv/static/packs/flavours/glitch/async/home_timeline.js index efec5841f..a5a2414e6 100644 --- a/priv/static/packs/flavours/glitch/async/home_timeline.js +++ b/priv/static/packs/flavours/glitch/async/home_timeline.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{717:function(e,t,n){"use strict";n.r(t);var i,o,s=n(1),a=n(6),c=n(0),l=n(2),r=n(3),u=n.n(r),d=n(20),h=n(31),m=n(625),b=n(429),g=n(427),p=n(202),f=n(7),O=n(910),j=n(911),_=Object(f.f)({filter_regex:{id:"home.column_settings.filter_regex",defaultMessage:"Filter out by regular expressions"},settings:{id:"home.settings",defaultMessage:"Column settings"}}),v=Object(f.g)(i=function(e){function t(){return e.apply(this,arguments)||this}return Object(a.a)(t,e),t.prototype.render=function(){var e=this.props,t=e.settings,n=e.onChange,i=e.intl;return Object(s.a)("div",{},void 0,Object(s.a)("span",{className:"column-settings__section"},void 0,Object(s.a)(f.b,{id:"home.column_settings.basic",defaultMessage:"Basic"})),Object(s.a)("div",{className:"column-settings__row"},void 0,Object(s.a)(O.a,{prefix:"home_timeline",settings:t,settingPath:["shows","reblog"],onChange:n,label:Object(s.a)(f.b,{id:"home.column_settings.show_reblogs",defaultMessage:"Show boosts"})})),Object(s.a)("div",{className:"column-settings__row"},void 0,Object(s.a)(O.a,{prefix:"home_timeline",settings:t,settingPath:["shows","reply"],onChange:n,label:Object(s.a)(f.b,{id:"home.column_settings.show_replies",defaultMessage:"Show replies"})})),Object(s.a)("div",{className:"column-settings__row"},void 0,Object(s.a)(O.a,{prefix:"home_timeline",settings:t,settingPath:["shows","direct"],onChange:n,label:Object(s.a)(f.b,{id:"home.column_settings.show_direct",defaultMessage:"Show DMs"})})),Object(s.a)("span",{className:"column-settings__section"},void 0,Object(s.a)(f.b,{id:"home.column_settings.advanced",defaultMessage:"Advanced"})),Object(s.a)("div",{className:"column-settings__row"},void 0,Object(s.a)(j.a,{prefix:"home_timeline",settings:t,settingPath:["regex","body"],onChange:n,label:i.formatMessage(_.filter_regex)})))},t}(u.a.PureComponent))||i,M=n(82),w=Object(d.connect)(function(e){return{settings:e.getIn(["settings","home"])}},function(n){return{onChange:function(e,t){n(Object(M.c)(["home"].concat(e),t))},onSave:function(){n(Object(M.d)())}}})(v),P=n(386);n.d(t,"default",function(){return y});var C=Object(f.f)({title:{id:"column.home",defaultMessage:"Home"}}),y=Object(d.connect)(function(e){return{hasUnread:0<e.getIn(["timelines","home","unread"]),isPartial:null===e.getIn(["timelines","home","items",0],null)}})(o=Object(f.g)(o=function(o){function e(){for(var i,e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return i=o.call.apply(o,[this].concat(t))||this,Object(l.a)(Object(c.a)(Object(c.a)(i)),"handlePin",function(){var e=i.props,t=e.columnId,n=e.dispatch;n(t?Object(p.h)(t):Object(p.e)("HOME",{}))}),Object(l.a)(Object(c.a)(Object(c.a)(i)),"handleMove",function(e){var t=i.props,n=t.columnId;(0,t.dispatch)(Object(p.g)(n,e))}),Object(l.a)(Object(c.a)(Object(c.a)(i)),"handleHeaderClick",function(){i.column.scrollTop()}),Object(l.a)(Object(c.a)(Object(c.a)(i)),"setRef",function(e){i.column=e}),Object(l.a)(Object(c.a)(Object(c.a)(i)),"handleLoadMore",function(e){i.props.dispatch(Object(h.r)({maxId:e}))}),i}Object(a.a)(e,o);var t=e.prototype;return t.componentDidMount=function(){this._checkIfReloadNeeded(!1,this.props.isPartial)},t.componentDidUpdate=function(e){this._checkIfReloadNeeded(e.isPartial,this.props.isPartial)},t.componentWillUnmount=function(){this._stopPolling()},t._checkIfReloadNeeded=function(e,t){var n=this.props.dispatch;e!==t&&(!e&&t?this.polling=setInterval(function(){n(Object(h.r)())},3e3):e&&!t&&this._stopPolling())},t._stopPolling=function(){this.polling&&(clearInterval(this.polling),this.polling=null)},t.render=function(){var e=this.props,t=e.intl,n=e.hasUnread,i=e.columnId,o=e.multiColumn,a=!!i;return u.a.createElement(b.a,{ref:this.setRef,name:"home",label:t.formatMessage(C.title)},Object(s.a)(g.a,{icon:"home",active:n,title:t.formatMessage(C.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:a,multiColumn:o},void 0,Object(s.a)(w,{})),Object(s.a)(m.a,{trackScroll:!a,scrollKey:"home_timeline-"+i,onLoadMore:this.handleLoadMore,timelineId:"home",emptyMessage:Object(s.a)(f.b,{id:"empty_column.home",defaultMessage:"Your home timeline is empty! Visit {public} or use search to get started and meet other users.",values:{public:Object(s.a)(P.a,{to:"/timelines/public"},void 0,Object(s.a)(f.b,{id:"empty_column.home.public_timeline",defaultMessage:"the public timeline"}))}})}))},e}(u.a.PureComponent))||o)||o}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{718:function(e,t,n){"use strict";n.r(t);var i,o,s=n(1),a=n(6),c=n(0),l=n(2),r=n(3),u=n.n(r),d=n(20),h=n(32),m=n(626),b=n(430),g=n(428),p=n(205),f=n(7),O=n(911),j=n(912),_=Object(f.f)({filter_regex:{id:"home.column_settings.filter_regex",defaultMessage:"Filter out by regular expressions"},settings:{id:"home.settings",defaultMessage:"Column settings"}}),v=Object(f.g)(i=function(e){function t(){return e.apply(this,arguments)||this}return Object(a.a)(t,e),t.prototype.render=function(){var e=this.props,t=e.settings,n=e.onChange,i=e.intl;return Object(s.a)("div",{},void 0,Object(s.a)("span",{className:"column-settings__section"},void 0,Object(s.a)(f.b,{id:"home.column_settings.basic",defaultMessage:"Basic"})),Object(s.a)("div",{className:"column-settings__row"},void 0,Object(s.a)(O.a,{prefix:"home_timeline",settings:t,settingPath:["shows","reblog"],onChange:n,label:Object(s.a)(f.b,{id:"home.column_settings.show_reblogs",defaultMessage:"Show boosts"})})),Object(s.a)("div",{className:"column-settings__row"},void 0,Object(s.a)(O.a,{prefix:"home_timeline",settings:t,settingPath:["shows","reply"],onChange:n,label:Object(s.a)(f.b,{id:"home.column_settings.show_replies",defaultMessage:"Show replies"})})),Object(s.a)("div",{className:"column-settings__row"},void 0,Object(s.a)(O.a,{prefix:"home_timeline",settings:t,settingPath:["shows","direct"],onChange:n,label:Object(s.a)(f.b,{id:"home.column_settings.show_direct",defaultMessage:"Show DMs"})})),Object(s.a)("span",{className:"column-settings__section"},void 0,Object(s.a)(f.b,{id:"home.column_settings.advanced",defaultMessage:"Advanced"})),Object(s.a)("div",{className:"column-settings__row"},void 0,Object(s.a)(j.a,{prefix:"home_timeline",settings:t,settingPath:["regex","body"],onChange:n,label:i.formatMessage(_.filter_regex)})))},t}(u.a.PureComponent))||i,M=n(84),w=Object(d.connect)(function(e){return{settings:e.getIn(["settings","home"])}},function(n){return{onChange:function(e,t){n(Object(M.c)(["home"].concat(e),t))},onSave:function(){n(Object(M.d)())}}})(v),P=n(388);n.d(t,"default",function(){return y});var C=Object(f.f)({title:{id:"column.home",defaultMessage:"Home"}}),y=Object(d.connect)(function(e){return{hasUnread:0<e.getIn(["timelines","home","unread"]),isPartial:null===e.getIn(["timelines","home","items",0],null)}})(o=Object(f.g)(o=function(o){function e(){for(var i,e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return i=o.call.apply(o,[this].concat(t))||this,Object(l.a)(Object(c.a)(Object(c.a)(i)),"handlePin",function(){var e=i.props,t=e.columnId,n=e.dispatch;n(t?Object(p.h)(t):Object(p.e)("HOME",{}))}),Object(l.a)(Object(c.a)(Object(c.a)(i)),"handleMove",function(e){var t=i.props,n=t.columnId;(0,t.dispatch)(Object(p.g)(n,e))}),Object(l.a)(Object(c.a)(Object(c.a)(i)),"handleHeaderClick",function(){i.column.scrollTop()}),Object(l.a)(Object(c.a)(Object(c.a)(i)),"setRef",function(e){i.column=e}),Object(l.a)(Object(c.a)(Object(c.a)(i)),"handleLoadMore",function(e){i.props.dispatch(Object(h.r)({maxId:e}))}),i}Object(a.a)(e,o);var t=e.prototype;return t.componentDidMount=function(){this._checkIfReloadNeeded(!1,this.props.isPartial)},t.componentDidUpdate=function(e){this._checkIfReloadNeeded(e.isPartial,this.props.isPartial)},t.componentWillUnmount=function(){this._stopPolling()},t._checkIfReloadNeeded=function(e,t){var n=this.props.dispatch;e!==t&&(!e&&t?this.polling=setInterval(function(){n(Object(h.r)())},3e3):e&&!t&&this._stopPolling())},t._stopPolling=function(){this.polling&&(clearInterval(this.polling),this.polling=null)},t.render=function(){var e=this.props,t=e.intl,n=e.hasUnread,i=e.columnId,o=e.multiColumn,a=!!i;return u.a.createElement(b.a,{ref:this.setRef,name:"home",label:t.formatMessage(C.title)},Object(s.a)(g.a,{icon:"home",active:n,title:t.formatMessage(C.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:a,multiColumn:o},void 0,Object(s.a)(w,{})),Object(s.a)(m.a,{trackScroll:!a,scrollKey:"home_timeline-"+i,onLoadMore:this.handleLoadMore,timelineId:"home",emptyMessage:Object(s.a)(f.b,{id:"empty_column.home",defaultMessage:"Your home timeline is empty! Visit {public} or use search to get started and meet other users.",values:{public:Object(s.a)(P.a,{to:"/timelines/public"},void 0,Object(s.a)(f.b,{id:"empty_column.home.public_timeline",defaultMessage:"the public timeline"}))}})}))},e}(u.a.PureComponent))||o)||o}}]); //# sourceMappingURL=home_timeline.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/home_timeline.js.map b/priv/static/packs/flavours/glitch/async/home_timeline.js.map index a1fe64700..f116942b6 100644 --- a/priv/static/packs/flavours/glitch/async/home_timeline.js.map +++ b/priv/static/packs/flavours/glitch/async/home_timeline.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/home_timeline/containers/column_settings_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/home_timeline/index.js"],"names":["messages","defineMessages","filter_regex","id","defaultMessage","settings","ColumnSettings","injectIntl","render","_this$props","this","props","onChange","intl","Object","jsx","className","index_es","setting_toggle","prefix","settingPath","label","setting_text","formatMessage","React","PureComponent","connect","state","getIn","dispatch","path","checked","changeSetting","concat","onSave","saveSettings","title","HomeTimeline","hasUnread","isPartial","_this","columnId","removeColumn","addColumn","dir","_this$props2","moveColumn","column","scrollTop","c","maxId","expandHomeTimeline","componentDidMount","_checkIfReloadNeeded","componentDidUpdate","prevProps","componentWillUnmount","_stopPolling","wasPartial","polling","setInterval","clearInterval","_this$props3","multiColumn","pinned","react_default","a","createElement","ref","setRef","name","column_header","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","column_settings_container","status_list_container","trackScroll","scrollKey","onLoadMore","handleLoadMore","timelineId","emptyMessage","values","public","Link","to"],"mappings":"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","file":"flavours/glitch/async/home_timeline.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport SettingToggle from 'flavours/glitch/features/notifications/components/setting_toggle';\nimport SettingText from 'flavours/glitch/components/setting_text';\n\nconst messages = defineMessages({\n filter_regex: { id: 'home.column_settings.filter_regex', defaultMessage: 'Filter out by regular expressions' },\n settings: { id: 'home.settings', defaultMessage: 'Column settings' },\n});\n\n@injectIntl\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n render () {\n const { settings, onChange, intl } = this.props;\n\n return (\n <div>\n <span className='column-settings__section'><FormattedMessage id='home.column_settings.basic' defaultMessage='Basic' /></span>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'reblog']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_reblogs' defaultMessage='Show boosts' />} />\n </div>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'reply']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_replies' defaultMessage='Show replies' />} />\n </div>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'direct']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_direct' defaultMessage='Show DMs' />} />\n </div>\n\n <span className='column-settings__section'><FormattedMessage id='home.column_settings.advanced' defaultMessage='Advanced' /></span>\n\n <div className='column-settings__row'>\n <SettingText prefix='home_timeline' settings={settings} settingPath={['regex', 'body']} onChange={onChange} label={intl.formatMessage(messages.filter_regex)} />\n </div>\n </div>\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting, saveSettings } from 'flavours/glitch/actions/settings';\n\nconst mapStateToProps = state => ({\n settings: state.getIn(['settings', 'home']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onChange (path, checked) {\n dispatch(changeSetting(['home', ...path], checked));\n },\n\n onSave () {\n dispatch(saveSettings());\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { expandHomeTimeline } from 'flavours/glitch/actions/timelines';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { Link } from 'react-router-dom';\n\nconst messages = defineMessages({\n title: { id: 'column.home', defaultMessage: 'Home' },\n});\n\nconst mapStateToProps = state => ({\n hasUnread: state.getIn(['timelines', 'home', 'unread']) > 0,\n isPartial: state.getIn(['timelines', 'home', 'items', 0], null) === null,\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class HomeTimeline extends React.PureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hasUnread: PropTypes.bool,\n isPartial: PropTypes.bool,\n columnId: PropTypes.string,\n multiColumn: PropTypes.bool,\n };\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('HOME', {}));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n this.props.dispatch(expandHomeTimeline({ maxId }));\n }\n\n componentDidMount () {\n this._checkIfReloadNeeded(false, this.props.isPartial);\n }\n\n componentDidUpdate (prevProps) {\n this._checkIfReloadNeeded(prevProps.isPartial, this.props.isPartial);\n }\n\n componentWillUnmount () {\n this._stopPolling();\n }\n\n _checkIfReloadNeeded (wasPartial, isPartial) {\n const { dispatch } = this.props;\n\n if (wasPartial === isPartial) {\n return;\n } else if (!wasPartial && isPartial) {\n this.polling = setInterval(() => {\n dispatch(expandHomeTimeline());\n }, 3000);\n } else if (wasPartial && !isPartial) {\n this._stopPolling();\n }\n }\n\n _stopPolling () {\n if (this.polling) {\n clearInterval(this.polling);\n this.polling = null;\n }\n }\n\n render () {\n const { intl, hasUnread, columnId, multiColumn } = this.props;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} name='home' label={intl.formatMessage(messages.title)}>\n <ColumnHeader\n icon='home'\n active={hasUnread}\n title={intl.formatMessage(messages.title)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n >\n <ColumnSettingsContainer />\n </ColumnHeader>\n\n <StatusListContainer\n trackScroll={!pinned}\n scrollKey={`home_timeline-${columnId}`}\n onLoadMore={this.handleLoadMore}\n timelineId='home'\n emptyMessage={<FormattedMessage id='empty_column.home' defaultMessage='Your home timeline is empty! Visit {public} or use search to get started and meet other users.' values={{ public: <Link to='/timelines/public'><FormattedMessage id='empty_column.home.public_timeline' defaultMessage='the public timeline' /></Link> }} />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/home_timeline/containers/column_settings_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/home_timeline/index.js"],"names":["messages","defineMessages","filter_regex","id","defaultMessage","settings","ColumnSettings","injectIntl","render","_this$props","this","props","onChange","intl","Object","jsx","className","index_es","setting_toggle","prefix","settingPath","label","setting_text","formatMessage","React","PureComponent","connect","state","getIn","dispatch","path","checked","changeSetting","concat","onSave","saveSettings","title","HomeTimeline","hasUnread","isPartial","_this","columnId","removeColumn","addColumn","dir","_this$props2","moveColumn","column","scrollTop","c","maxId","expandHomeTimeline","componentDidMount","_checkIfReloadNeeded","componentDidUpdate","prevProps","componentWillUnmount","_stopPolling","wasPartial","polling","setInterval","clearInterval","_this$props3","multiColumn","pinned","react_default","a","createElement","ref","setRef","name","column_header","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","column_settings_container","status_list_container","trackScroll","scrollKey","onLoadMore","handleLoadMore","timelineId","emptyMessage","values","public","Link","to"],"mappings":"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","file":"flavours/glitch/async/home_timeline.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport SettingToggle from 'flavours/glitch/features/notifications/components/setting_toggle';\nimport SettingText from 'flavours/glitch/components/setting_text';\n\nconst messages = defineMessages({\n filter_regex: { id: 'home.column_settings.filter_regex', defaultMessage: 'Filter out by regular expressions' },\n settings: { id: 'home.settings', defaultMessage: 'Column settings' },\n});\n\n@injectIntl\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n render () {\n const { settings, onChange, intl } = this.props;\n\n return (\n <div>\n <span className='column-settings__section'><FormattedMessage id='home.column_settings.basic' defaultMessage='Basic' /></span>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'reblog']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_reblogs' defaultMessage='Show boosts' />} />\n </div>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'reply']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_replies' defaultMessage='Show replies' />} />\n </div>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='home_timeline' settings={settings} settingPath={['shows', 'direct']} onChange={onChange} label={<FormattedMessage id='home.column_settings.show_direct' defaultMessage='Show DMs' />} />\n </div>\n\n <span className='column-settings__section'><FormattedMessage id='home.column_settings.advanced' defaultMessage='Advanced' /></span>\n\n <div className='column-settings__row'>\n <SettingText prefix='home_timeline' settings={settings} settingPath={['regex', 'body']} onChange={onChange} label={intl.formatMessage(messages.filter_regex)} />\n </div>\n </div>\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting, saveSettings } from 'flavours/glitch/actions/settings';\n\nconst mapStateToProps = state => ({\n settings: state.getIn(['settings', 'home']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onChange (path, checked) {\n dispatch(changeSetting(['home', ...path], checked));\n },\n\n onSave () {\n dispatch(saveSettings());\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { expandHomeTimeline } from 'flavours/glitch/actions/timelines';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { Link } from 'react-router-dom';\n\nconst messages = defineMessages({\n title: { id: 'column.home', defaultMessage: 'Home' },\n});\n\nconst mapStateToProps = state => ({\n hasUnread: state.getIn(['timelines', 'home', 'unread']) > 0,\n isPartial: state.getIn(['timelines', 'home', 'items', 0], null) === null,\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class HomeTimeline extends React.PureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hasUnread: PropTypes.bool,\n isPartial: PropTypes.bool,\n columnId: PropTypes.string,\n multiColumn: PropTypes.bool,\n };\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('HOME', {}));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n this.props.dispatch(expandHomeTimeline({ maxId }));\n }\n\n componentDidMount () {\n this._checkIfReloadNeeded(false, this.props.isPartial);\n }\n\n componentDidUpdate (prevProps) {\n this._checkIfReloadNeeded(prevProps.isPartial, this.props.isPartial);\n }\n\n componentWillUnmount () {\n this._stopPolling();\n }\n\n _checkIfReloadNeeded (wasPartial, isPartial) {\n const { dispatch } = this.props;\n\n if (wasPartial === isPartial) {\n return;\n } else if (!wasPartial && isPartial) {\n this.polling = setInterval(() => {\n dispatch(expandHomeTimeline());\n }, 3000);\n } else if (wasPartial && !isPartial) {\n this._stopPolling();\n }\n }\n\n _stopPolling () {\n if (this.polling) {\n clearInterval(this.polling);\n this.polling = null;\n }\n }\n\n render () {\n const { intl, hasUnread, columnId, multiColumn } = this.props;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} name='home' label={intl.formatMessage(messages.title)}>\n <ColumnHeader\n icon='home'\n active={hasUnread}\n title={intl.formatMessage(messages.title)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n >\n <ColumnSettingsContainer />\n </ColumnHeader>\n\n <StatusListContainer\n trackScroll={!pinned}\n scrollKey={`home_timeline-${columnId}`}\n onLoadMore={this.handleLoadMore}\n timelineId='home'\n emptyMessage={<FormattedMessage id='empty_column.home' defaultMessage='Your home timeline is empty! Visit {public} or use search to get started and meet other users.' values={{ public: <Link to='/timelines/public'><FormattedMessage id='empty_column.home.public_timeline' defaultMessage='the public timeline' /></Link> }} />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/keyboard_shortcuts.js b/priv/static/packs/flavours/glitch/async/keyboard_shortcuts.js index 3afdee4ef..8e5f61751 100644 --- a/priv/static/packs/flavours/glitch/async/keyboard_shortcuts.js +++ b/priv/static/packs/flavours/glitch/async/keyboard_shortcuts.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{664:function(t,e,d){"use strict";d.r(e),d.d(e,"default",function(){return l});var a,o,b,c=d(1),i=d(6),s=d(2),j=(d(3),d(639)),r=d(643),O=d(7),v=d(5),u=d.n(v),n=d(24),k=Object(O.f)({heading:{id:"keyboard_shortcuts.heading",defaultMessage:"Keyboard Shortcuts"}}),l=Object(O.g)((b=o=function(t){function e(){return t.apply(this,arguments)||this}return Object(i.a)(e,t),e.prototype.render=function(){var t=this.props.intl;return Object(c.a)(j.a,{icon:"question",heading:t.formatMessage(k.heading)},void 0,Object(c.a)(r.a,{}),Object(c.a)("div",{className:"keyboard-shortcuts scrollable optionally-scrollable"},void 0,Object(c.a)("table",{},void 0,Object(c.a)("thead",{},void 0,Object(c.a)("tr",{},void 0,Object(c.a)("th",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.hotkey",defaultMessage:"Hotkey"})),Object(c.a)("th",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.description",defaultMessage:"Description"})))),Object(c.a)("tbody",{},void 0,Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"r")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.reply",defaultMessage:"to reply"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"m")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.mention",defaultMessage:"to mention author"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"p")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.profile",defaultMessage:"to open author's profile"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"f")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.favourite",defaultMessage:"to favourite"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"b")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.boost",defaultMessage:"to boost"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"enter"),", ",Object(c.a)("kbd",{},void 0,"o")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.enter",defaultMessage:"to open status"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"x")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.toggle_hidden",defaultMessage:"to show/hide text behind CW"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"up"),", ",Object(c.a)("kbd",{},void 0,"k")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.up",defaultMessage:"to move up in the list"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"down"),", ",Object(c.a)("kbd",{},void 0,"j")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.down",defaultMessage:"to move down in the list"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"1"),"-",Object(c.a)("kbd",{},void 0,"9")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.column",defaultMessage:"to focus a status in one of the columns"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"n")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.compose",defaultMessage:"to focus the compose textarea"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"alt"),"+",Object(c.a)("kbd",{},void 0,"n")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.toot",defaultMessage:"to start a brand new toot"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"backspace")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.back",defaultMessage:"to navigate back"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"s")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.search",defaultMessage:"to focus search"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"esc")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.unfocus",defaultMessage:"to un-focus compose textarea/search"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"?")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.legend",defaultMessage:"to display this legend"})))))))},e}(n.a),Object(s.a)(o,"propTypes",{intl:u.a.object.isRequired,multiColumn:u.a.bool}),a=b))||a}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{665:function(t,e,d){"use strict";d.r(e),d.d(e,"default",function(){return l});var a,o,b,c=d(1),i=d(6),s=d(2),j=(d(3),d(640)),r=d(644),O=d(7),v=d(5),u=d.n(v),n=d(24),k=Object(O.f)({heading:{id:"keyboard_shortcuts.heading",defaultMessage:"Keyboard Shortcuts"}}),l=Object(O.g)((b=o=function(t){function e(){return t.apply(this,arguments)||this}return Object(i.a)(e,t),e.prototype.render=function(){var t=this.props.intl;return Object(c.a)(j.a,{icon:"question",heading:t.formatMessage(k.heading)},void 0,Object(c.a)(r.a,{}),Object(c.a)("div",{className:"keyboard-shortcuts scrollable optionally-scrollable"},void 0,Object(c.a)("table",{},void 0,Object(c.a)("thead",{},void 0,Object(c.a)("tr",{},void 0,Object(c.a)("th",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.hotkey",defaultMessage:"Hotkey"})),Object(c.a)("th",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.description",defaultMessage:"Description"})))),Object(c.a)("tbody",{},void 0,Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"r")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.reply",defaultMessage:"to reply"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"m")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.mention",defaultMessage:"to mention author"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"p")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.profile",defaultMessage:"to open author's profile"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"f")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.favourite",defaultMessage:"to favourite"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"b")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.boost",defaultMessage:"to boost"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"enter"),", ",Object(c.a)("kbd",{},void 0,"o")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.enter",defaultMessage:"to open status"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"x")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.toggle_hidden",defaultMessage:"to show/hide text behind CW"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"up"),", ",Object(c.a)("kbd",{},void 0,"k")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.up",defaultMessage:"to move up in the list"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"down"),", ",Object(c.a)("kbd",{},void 0,"j")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.down",defaultMessage:"to move down in the list"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"1"),"-",Object(c.a)("kbd",{},void 0,"9")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.column",defaultMessage:"to focus a status in one of the columns"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"n")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.compose",defaultMessage:"to focus the compose textarea"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"alt"),"+",Object(c.a)("kbd",{},void 0,"n")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.toot",defaultMessage:"to start a brand new toot"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"backspace")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.back",defaultMessage:"to navigate back"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"s")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.search",defaultMessage:"to focus search"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"esc")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.unfocus",defaultMessage:"to un-focus compose textarea/search"}))),Object(c.a)("tr",{},void 0,Object(c.a)("td",{},void 0,Object(c.a)("kbd",{},void 0,"?")),Object(c.a)("td",{},void 0,Object(c.a)(O.b,{id:"keyboard_shortcuts.legend",defaultMessage:"to display this legend"})))))))},e}(n.a),Object(s.a)(o,"propTypes",{intl:u.a.object.isRequired,multiColumn:u.a.bool}),a=b))||a}}]); //# sourceMappingURL=keyboard_shortcuts.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/keyboard_shortcuts.js.map b/priv/static/packs/flavours/glitch/async/keyboard_shortcuts.js.map index 21ba34dbc..a1d4558a5 100644 --- a/priv/static/packs/flavours/glitch/async/keyboard_shortcuts.js.map +++ b/priv/static/packs/flavours/glitch/async/keyboard_shortcuts.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","KeyboardShortcuts","injectIntl","render","intl","this","props","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_4__","icon","formatMessage","flavours_glitch_components_column_back_button_slim__WEBPACK_IMPORTED_MODULE_5__","className","react_intl__WEBPACK_IMPORTED_MODULE_6__","ImmutablePureComponent","PropTypes","object","isRequired","multiColumn","bool"],"mappings":"+NAOMA,EAAWC,YAAe,CAC9BC,QAAO,CAAAC,GAAA,6BAAAC,eAAA,wBAIYC,EADpBC,mHAQCC,OAAA,WAAU,IACAC,EAASC,KAAKC,MAAdF,KAER,OACEG,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAQC,KAAK,WAAWZ,QAASM,EAAKO,cAAcf,EAASE,eAA7D,EACES,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,IACAL,OAAAC,EAAA,EAAAD,CAAA,OAAKM,UAAU,4DAAf,EACEN,OAAAC,EAAA,EAAAD,CAAA,kBACEA,OAAAC,EAAA,EAAAD,CAAA,kBACEA,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,4BAA4BC,eAAe,YACpEO,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,iCAAiCC,eAAe,mBAG7EO,OAAAC,EAAA,EAAAD,CAAA,kBACEA,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,sBACJA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,2BAA2BC,eAAe,eAErEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,sBACJA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,6BAA6BC,eAAe,wBAEvEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,sBACJA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,6BAA6BC,eAAe,+BAEvEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,sBACJA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,+BAA+BC,eAAe,mBAEzEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,sBACJA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,2BAA2BC,eAAe,eAErEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,yBAAJ,KAAsBA,OAAAC,EAAA,EAAAD,CAAA,sBACtBA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,2BAA2BC,eAAe,qBAErEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,sBACJA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,mCAAmCC,eAAe,kCAE7EO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,sBAAJ,KAAmBA,OAAAC,EAAA,EAAAD,CAAA,sBACnBA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,wBAAwBC,eAAe,6BAElEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,wBAAJ,KAAqBA,OAAAC,EAAA,EAAAD,CAAA,sBACrBA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,0BAA0BC,eAAe,+BAEpEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,qBAAJ,IAAiBA,OAAAC,EAAA,EAAAD,CAAA,sBACjBA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,4BAA4BC,eAAe,8CAEtEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,sBACJA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,6BAA6BC,eAAe,oCAEvEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,uBAAJ,IAAmBA,OAAAC,EAAA,EAAAD,CAAA,sBACnBA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,0BAA0BC,eAAe,gCAEpEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,8BACJA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,0BAA0BC,eAAe,uBAEpEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,sBACJA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,4BAA4BC,eAAe,sBAEtEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,wBACJA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,6BAA6BC,eAAe,0CAEvEO,OAAAC,EAAA,EAAAD,CAAA,eACEA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAAA,sBACJA,OAAAC,EAAA,EAAAD,CAAA,eAAIA,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAkBf,GAAG,4BAA4BC,eAAe,qCApFrCe,+BAE1B,CACjBX,KAAMY,IAAUC,OAAOC,WACvBC,YAAaH,IAAUI","file":"flavours/glitch/async/keyboard_shortcuts.js","sourcesContent":["import React from 'react';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n heading: { id: 'keyboard_shortcuts.heading', defaultMessage: 'Keyboard Shortcuts' },\n});\n\n@injectIntl\nexport default class KeyboardShortcuts extends ImmutablePureComponent {\n\n static propTypes = {\n intl: PropTypes.object.isRequired,\n multiColumn: PropTypes.bool,\n };\n\n render () {\n const { intl } = this.props;\n\n return (\n <Column icon='question' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n <div className='keyboard-shortcuts scrollable optionally-scrollable'>\n <table>\n <thead>\n <tr>\n <th><FormattedMessage id='keyboard_shortcuts.hotkey' defaultMessage='Hotkey' /></th>\n <th><FormattedMessage id='keyboard_shortcuts.description' defaultMessage='Description' /></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><kbd>r</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.reply' defaultMessage='to reply' /></td>\n </tr>\n <tr>\n <td><kbd>m</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.mention' defaultMessage='to mention author' /></td>\n </tr>\n <tr>\n <td><kbd>p</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.profile' defaultMessage=\"to open author's profile\" /></td>\n </tr>\n <tr>\n <td><kbd>f</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.favourite' defaultMessage='to favourite' /></td>\n </tr>\n <tr>\n <td><kbd>b</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.boost' defaultMessage='to boost' /></td>\n </tr>\n <tr>\n <td><kbd>enter</kbd>, <kbd>o</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.enter' defaultMessage='to open status' /></td>\n </tr>\n <tr>\n <td><kbd>x</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.toggle_hidden' defaultMessage='to show/hide text behind CW' /></td>\n </tr>\n <tr>\n <td><kbd>up</kbd>, <kbd>k</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.up' defaultMessage='to move up in the list' /></td>\n </tr>\n <tr>\n <td><kbd>down</kbd>, <kbd>j</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.down' defaultMessage='to move down in the list' /></td>\n </tr>\n <tr>\n <td><kbd>1</kbd>-<kbd>9</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.column' defaultMessage='to focus a status in one of the columns' /></td>\n </tr>\n <tr>\n <td><kbd>n</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.compose' defaultMessage='to focus the compose textarea' /></td>\n </tr>\n <tr>\n <td><kbd>alt</kbd>+<kbd>n</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.toot' defaultMessage='to start a brand new toot' /></td>\n </tr>\n <tr>\n <td><kbd>backspace</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.back' defaultMessage='to navigate back' /></td>\n </tr>\n <tr>\n <td><kbd>s</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.search' defaultMessage='to focus search' /></td>\n </tr>\n <tr>\n <td><kbd>esc</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.unfocus' defaultMessage='to un-focus compose textarea/search' /></td>\n </tr>\n <tr>\n <td><kbd>?</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.legend' defaultMessage='to display this legend' /></td>\n </tr>\n </tbody>\n </table>\n </div>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","KeyboardShortcuts","injectIntl","render","intl","this","props","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_4__","icon","formatMessage","flavours_glitch_components_column_back_button_slim__WEBPACK_IMPORTED_MODULE_5__","className","react_intl__WEBPACK_IMPORTED_MODULE_6__","ImmutablePureComponent","PropTypes","object","isRequired","multiColumn","bool"],"mappings":"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","file":"flavours/glitch/async/keyboard_shortcuts.js","sourcesContent":["import React from 'react';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n heading: { id: 'keyboard_shortcuts.heading', defaultMessage: 'Keyboard Shortcuts' },\n});\n\n@injectIntl\nexport default class KeyboardShortcuts extends ImmutablePureComponent {\n\n static propTypes = {\n intl: PropTypes.object.isRequired,\n multiColumn: PropTypes.bool,\n };\n\n render () {\n const { intl } = this.props;\n\n return (\n <Column icon='question' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n <div className='keyboard-shortcuts scrollable optionally-scrollable'>\n <table>\n <thead>\n <tr>\n <th><FormattedMessage id='keyboard_shortcuts.hotkey' defaultMessage='Hotkey' /></th>\n <th><FormattedMessage id='keyboard_shortcuts.description' defaultMessage='Description' /></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><kbd>r</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.reply' defaultMessage='to reply' /></td>\n </tr>\n <tr>\n <td><kbd>m</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.mention' defaultMessage='to mention author' /></td>\n </tr>\n <tr>\n <td><kbd>p</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.profile' defaultMessage=\"to open author's profile\" /></td>\n </tr>\n <tr>\n <td><kbd>f</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.favourite' defaultMessage='to favourite' /></td>\n </tr>\n <tr>\n <td><kbd>b</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.boost' defaultMessage='to boost' /></td>\n </tr>\n <tr>\n <td><kbd>enter</kbd>, <kbd>o</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.enter' defaultMessage='to open status' /></td>\n </tr>\n <tr>\n <td><kbd>x</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.toggle_hidden' defaultMessage='to show/hide text behind CW' /></td>\n </tr>\n <tr>\n <td><kbd>up</kbd>, <kbd>k</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.up' defaultMessage='to move up in the list' /></td>\n </tr>\n <tr>\n <td><kbd>down</kbd>, <kbd>j</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.down' defaultMessage='to move down in the list' /></td>\n </tr>\n <tr>\n <td><kbd>1</kbd>-<kbd>9</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.column' defaultMessage='to focus a status in one of the columns' /></td>\n </tr>\n <tr>\n <td><kbd>n</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.compose' defaultMessage='to focus the compose textarea' /></td>\n </tr>\n <tr>\n <td><kbd>alt</kbd>+<kbd>n</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.toot' defaultMessage='to start a brand new toot' /></td>\n </tr>\n <tr>\n <td><kbd>backspace</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.back' defaultMessage='to navigate back' /></td>\n </tr>\n <tr>\n <td><kbd>s</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.search' defaultMessage='to focus search' /></td>\n </tr>\n <tr>\n <td><kbd>esc</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.unfocus' defaultMessage='to un-focus compose textarea/search' /></td>\n </tr>\n <tr>\n <td><kbd>?</kbd></td>\n <td><FormattedMessage id='keyboard_shortcuts.legend' defaultMessage='to display this legend' /></td>\n </tr>\n </tbody>\n </table>\n </div>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/list_editor.js b/priv/static/packs/flavours/glitch/async/list_editor.js index 6fb31bfcb..b0321aeae 100644 --- a/priv/static/packs/flavours/glitch/async/list_editor.js +++ b/priv/static/packs/flavours/glitch/async/list_editor.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{705:function(t,n,e){"use strict";e.r(n);var i,c,a,o,r=e(1),u=e(6),s=e(2),d=e(3),l=e.n(d),b=e(5),f=e.n(b),j=e(26),O=e.n(j),p=e(20),m=e(24),v=e(7),h=e(29),g=e(166),I=e(962),C=Object(v.g)(Object(p.connect)(function(){var c=Object(g.d)();return function(t,n){var e=n.accountId,i=n.added;return{account:c(t,e),added:void 0===i?t.getIn(["listEditor","accounts","items"]).includes(e):i}}},function(t,n){var e=n.accountId;return{onRemove:function(){return t(Object(h.K)(e))},onAdd:function(){return t(Object(h.B)(e))}}})(I.a)),R=e(963),_=Object(v.g)(Object(p.connect)(function(t){return{value:t.getIn(["listEditor","suggestions","value"])}},function(n){return{onSubmit:function(t){return n(Object(h.H)(t))},onClear:function(){return n(Object(h.E)())},onChange:function(t){return n(Object(h.D)(t))}}})(R.a)),w=e(0),y=e(46),k=Object(v.f)({title:{id:"lists.edit.submit",defaultMessage:"Change title"}}),q=Object(p.connect)(function(t){return{value:t.getIn(["listEditor","title"]),disabled:!t.getIn(["listEditor","isChanged"])}},function(n){return{onChange:function(t){return n(Object(h.C)(t))},onSubmit:function(){return n(Object(h.P)(!1))}}})(i=Object(v.g)(i=function(c){function t(){for(var n,t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return n=c.call.apply(c,[this].concat(e))||this,Object(s.a)(Object(w.a)(Object(w.a)(n)),"handleChange",function(t){n.props.onChange(t.target.value)}),Object(s.a)(Object(w.a)(Object(w.a)(n)),"handleSubmit",function(t){t.preventDefault(),n.props.onSubmit()}),Object(s.a)(Object(w.a)(Object(w.a)(n)),"handleClick",function(){n.props.onSubmit()}),n}return Object(u.a)(t,c),t.prototype.render=function(){var t=this.props,n=t.value,e=t.disabled,i=t.intl.formatMessage(k.title);return Object(r.a)("form",{className:"column-inline-form",onSubmit:this.handleSubmit},void 0,Object(r.a)("input",{className:"setting-text",value:n,onChange:this.handleChange}),Object(r.a)(y.a,{disabled:e,icon:"check",title:i,onClick:this.handleClick}))},t}(l.a.PureComponent))||i)||i,E=e(107),S=e(45),N=e.n(S);e.d(n,"default",function(){return x});var x=Object(p.connect)(function(t){return{accountIds:t.getIn(["listEditor","accounts","items"]),searchAccountIds:t.getIn(["listEditor","suggestions","items"])}},function(n){return{onInitialize:function(t){return n(Object(h.O)(t))},onClear:function(){return n(Object(h.E)())},onReset:function(){return n(Object(h.M)())}}})(c=Object(v.g)((o=a=function(t){function n(){return t.apply(this,arguments)||this}Object(u.a)(n,t);var e=n.prototype;return e.componentDidMount=function(){var t=this.props;(0,t.onInitialize)(t.listId)},e.componentWillUnmount=function(){(0,this.props.onReset)()},e.render=function(){var t=this.props,n=t.accountIds,e=t.searchAccountIds,i=t.onClear,c=0<e.size;return Object(r.a)("div",{className:"modal-root__modal list-editor"},void 0,Object(r.a)(q,{}),Object(r.a)(_,{}),Object(r.a)("div",{className:"drawer__pager"},void 0,Object(r.a)("div",{className:"drawer__inner list-editor__accounts"},void 0,n.map(function(t){return Object(r.a)(C,{accountId:t,added:!0},t)})),c&&Object(r.a)("div",{role:"button",tabIndex:"-1",className:"drawer__backdrop",onClick:i}),Object(r.a)(E.a,{defaultStyle:{x:-100},style:{x:N()(c?0:-100,{stiffness:210,damping:20})}},void 0,function(t){var n=t.x;return Object(r.a)("div",{className:"drawer__inner backdrop",style:{transform:0===n?null:"translateX("+n+"%)",visibility:-100===n?"hidden":"visible"}},void 0,e.map(function(t){return Object(r.a)(C,{accountId:t},t)}))})))},n}(m.a),Object(s.a)(a,"propTypes",{listId:f.a.string.isRequired,onClose:f.a.func.isRequired,intl:f.a.object.isRequired,onInitialize:f.a.func.isRequired,onClear:f.a.func.isRequired,onReset:f.a.func.isRequired,accountIds:O.a.list.isRequired,searchAccountIds:O.a.list.isRequired}),c=o))||c)||c}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{706:function(t,n,e){"use strict";e.r(n);var i,c,a,o,r=e(1),u=e(6),s=e(2),d=e(3),l=e.n(d),b=e(5),f=e.n(b),j=e(26),O=e.n(j),p=e(20),m=e(24),v=e(7),h=e(29),g=e(169),I=e(963),C=Object(v.g)(Object(p.connect)(function(){var c=Object(g.d)();return function(t,n){var e=n.accountId,i=n.added;return{account:c(t,e),added:void 0===i?t.getIn(["listEditor","accounts","items"]).includes(e):i}}},function(t,n){var e=n.accountId;return{onRemove:function(){return t(Object(h.K)(e))},onAdd:function(){return t(Object(h.B)(e))}}})(I.a)),R=e(964),_=Object(v.g)(Object(p.connect)(function(t){return{value:t.getIn(["listEditor","suggestions","value"])}},function(n){return{onSubmit:function(t){return n(Object(h.H)(t))},onClear:function(){return n(Object(h.E)())},onChange:function(t){return n(Object(h.D)(t))}}})(R.a)),w=e(0),y=e(47),k=Object(v.f)({title:{id:"lists.edit.submit",defaultMessage:"Change title"}}),q=Object(p.connect)(function(t){return{value:t.getIn(["listEditor","title"]),disabled:!t.getIn(["listEditor","isChanged"])}},function(n){return{onChange:function(t){return n(Object(h.C)(t))},onSubmit:function(){return n(Object(h.P)(!1))}}})(i=Object(v.g)(i=function(c){function t(){for(var n,t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return n=c.call.apply(c,[this].concat(e))||this,Object(s.a)(Object(w.a)(Object(w.a)(n)),"handleChange",function(t){n.props.onChange(t.target.value)}),Object(s.a)(Object(w.a)(Object(w.a)(n)),"handleSubmit",function(t){t.preventDefault(),n.props.onSubmit()}),Object(s.a)(Object(w.a)(Object(w.a)(n)),"handleClick",function(){n.props.onSubmit()}),n}return Object(u.a)(t,c),t.prototype.render=function(){var t=this.props,n=t.value,e=t.disabled,i=t.intl.formatMessage(k.title);return Object(r.a)("form",{className:"column-inline-form",onSubmit:this.handleSubmit},void 0,Object(r.a)("input",{className:"setting-text",value:n,onChange:this.handleChange}),Object(r.a)(y.a,{disabled:e,icon:"check",title:i,onClick:this.handleClick}))},t}(l.a.PureComponent))||i)||i,E=e(108),S=e(46),N=e.n(S);e.d(n,"default",function(){return x});var x=Object(p.connect)(function(t){return{accountIds:t.getIn(["listEditor","accounts","items"]),searchAccountIds:t.getIn(["listEditor","suggestions","items"])}},function(n){return{onInitialize:function(t){return n(Object(h.O)(t))},onClear:function(){return n(Object(h.E)())},onReset:function(){return n(Object(h.M)())}}})(c=Object(v.g)((o=a=function(t){function n(){return t.apply(this,arguments)||this}Object(u.a)(n,t);var e=n.prototype;return e.componentDidMount=function(){var t=this.props;(0,t.onInitialize)(t.listId)},e.componentWillUnmount=function(){(0,this.props.onReset)()},e.render=function(){var t=this.props,n=t.accountIds,e=t.searchAccountIds,i=t.onClear,c=0<e.size;return Object(r.a)("div",{className:"modal-root__modal list-editor"},void 0,Object(r.a)(q,{}),Object(r.a)(_,{}),Object(r.a)("div",{className:"drawer__pager"},void 0,Object(r.a)("div",{className:"drawer__inner list-editor__accounts"},void 0,n.map(function(t){return Object(r.a)(C,{accountId:t,added:!0},t)})),c&&Object(r.a)("div",{role:"button",tabIndex:"-1",className:"drawer__backdrop",onClick:i}),Object(r.a)(E.a,{defaultStyle:{x:-100},style:{x:N()(c?0:-100,{stiffness:210,damping:20})}},void 0,function(t){var n=t.x;return Object(r.a)("div",{className:"drawer__inner backdrop",style:{transform:0===n?null:"translateX("+n+"%)",visibility:-100===n?"hidden":"visible"}},void 0,e.map(function(t){return Object(r.a)(C,{accountId:t},t)}))})))},n}(m.a),Object(s.a)(a,"propTypes",{listId:f.a.string.isRequired,onClose:f.a.func.isRequired,intl:f.a.object.isRequired,onInitialize:f.a.func.isRequired,onClear:f.a.func.isRequired,onReset:f.a.func.isRequired,accountIds:O.a.list.isRequired,searchAccountIds:O.a.list.isRequired}),c=o))||c)||c}}]); //# sourceMappingURL=list_editor.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/list_editor.js.map b/priv/static/packs/flavours/glitch/async/list_editor.js.map index 029525fba..06fe4ac6d 100644 --- a/priv/static/packs/flavours/glitch/async/list_editor.js.map +++ b/priv/static/packs/flavours/glitch/async/list_editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/list_editor/containers/account_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/list_editor/containers/search_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/list_editor/components/edit_list_form.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/list_editor/index.js"],"names":["injectIntl","connect","getAccount","makeGetAccount","state","_ref","accountId","added","account","getIn","includes","dispatch","_ref2","onRemove","removeFromListEditor","onAdd","addToListEditor","Account","value","onSubmit","fetchListSuggestions","onClear","clearListSuggestions","onChange","changeListSuggestions","Search","messages","defineMessages","title","id","defaultMessage","ListForm","disabled","changeListEditorTitle","submitListEditor","e","_this","props","target","preventDefault","render","_this$props","this","intl","formatMessage","Object","jsx","className","handleSubmit","handleChange","icon_button","icon","onClick","handleClick","React","PureComponent","ListEditor","accountIds","searchAccountIds","onInitialize","listId","setupListEditor","onReset","resetListEditor","componentDidMount","componentWillUnmount","_this$props2","showSearch","size","edit_list_form_ListForm","search_container","map","account_container","role","tabIndex","optional_motion","defaultStyle","x","style","spring","stiffness","damping","transform","visibility","ImmutablePureComponent","PropTypes","string","isRequired","onClose","func","object","ImmutablePropTypes","list"],"mappings":"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","file":"flavours/glitch/async/list_editor.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport { makeGetAccount } from 'flavours/glitch/selectors';\nimport { injectIntl } from 'react-intl';\nimport { removeFromListEditor, addToListEditor } from 'flavours/glitch/actions/lists';\nimport Account from '../components/account';\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, { accountId, added }) => ({\n account: getAccount(state, accountId),\n added: typeof added === 'undefined' ? state.getIn(['listEditor', 'accounts', 'items']).includes(accountId) : added,\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { accountId }) => ({\n onRemove: () => dispatch(removeFromListEditor(accountId)),\n onAdd: () => dispatch(addToListEditor(accountId)),\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { injectIntl } from 'react-intl';\nimport { fetchListSuggestions, clearListSuggestions, changeListSuggestions } from '../../../actions/lists';\nimport Search from '../components/search';\n\nconst mapStateToProps = state => ({\n value: state.getIn(['listEditor', 'suggestions', 'value']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n onSubmit: value => dispatch(fetchListSuggestions(value)),\n onClear: () => dispatch(clearListSuggestions()),\n onChange: value => dispatch(changeListSuggestions(value)),\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(Search));\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { changeListEditorTitle, submitListEditor } from 'flavours/glitch/actions/lists';\nimport IconButton from 'flavours/glitch/components/icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\n\nconst messages = defineMessages({\n title: { id: 'lists.edit.submit', defaultMessage: 'Change title' },\n});\n\nconst mapStateToProps = state => ({\n value: state.getIn(['listEditor', 'title']),\n disabled: !state.getIn(['listEditor', 'isChanged']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n onChange: value => dispatch(changeListEditorTitle(value)),\n onSubmit: () => dispatch(submitListEditor(false)),\n});\n\n@connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class ListForm extends React.PureComponent {\n\n static propTypes = {\n value: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n intl: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n };\n\n handleChange = e => {\n this.props.onChange(e.target.value);\n }\n\n handleSubmit = e => {\n e.preventDefault();\n this.props.onSubmit();\n }\n\n handleClick = () => {\n this.props.onSubmit();\n }\n\n render () {\n const { value, disabled, intl } = this.props;\n\n const title = intl.formatMessage(messages.title);\n\n return (\n <form className='column-inline-form' onSubmit={this.handleSubmit}>\n <input\n className='setting-text'\n value={value}\n onChange={this.handleChange}\n />\n\n <IconButton\n disabled={disabled}\n icon='check'\n title={title}\n onClick={this.handleClick}\n />\n </form>\n );\n }\n\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { injectIntl } from 'react-intl';\nimport { setupListEditor, clearListSuggestions, resetListEditor } from 'flavours/glitch/actions/lists';\nimport AccountContainer from './containers/account_container';\nimport SearchContainer from './containers/search_container';\nimport EditListForm from './components/edit_list_form';\nimport Motion from 'flavours/glitch/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nconst mapStateToProps = state => ({\n accountIds: state.getIn(['listEditor', 'accounts', 'items']),\n searchAccountIds: state.getIn(['listEditor', 'suggestions', 'items']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n onInitialize: listId => dispatch(setupListEditor(listId)),\n onClear: () => dispatch(clearListSuggestions()),\n onReset: () => dispatch(resetListEditor()),\n});\n\n@connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class ListEditor extends ImmutablePureComponent {\n\n static propTypes = {\n listId: PropTypes.string.isRequired,\n onClose: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n onInitialize: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n onReset: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list.isRequired,\n searchAccountIds: ImmutablePropTypes.list.isRequired,\n };\n\n componentDidMount () {\n const { onInitialize, listId } = this.props;\n onInitialize(listId);\n }\n\n componentWillUnmount () {\n const { onReset } = this.props;\n onReset();\n }\n\n render () {\n const { accountIds, searchAccountIds, onClear } = this.props;\n const showSearch = searchAccountIds.size > 0;\n\n return (\n <div className='modal-root__modal list-editor'>\n <EditListForm />\n\n <SearchContainer />\n\n <div className='drawer__pager'>\n <div className='drawer__inner list-editor__accounts'>\n {accountIds.map(accountId => <AccountContainer key={accountId} accountId={accountId} added />)}\n </div>\n\n {showSearch && <div role='button' tabIndex='-1' className='drawer__backdrop' onClick={onClear} />}\n\n <Motion defaultStyle={{ x: -100 }} style={{ x: spring(showSearch ? 0 : -100, { stiffness: 210, damping: 20 }) }}>\n {({ x }) =>\n (<div className='drawer__inner backdrop' style={{ transform: x === 0 ? null : `translateX(${x}%)`, visibility: x === -100 ? 'hidden' : 'visible' }}>\n {searchAccountIds.map(accountId => <AccountContainer key={accountId} accountId={accountId} />)}\n </div>)\n }\n </Motion>\n </div>\n </div>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/list_editor/containers/account_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/list_editor/containers/search_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/list_editor/components/edit_list_form.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/list_editor/index.js"],"names":["injectIntl","connect","getAccount","makeGetAccount","state","_ref","accountId","added","account","getIn","includes","dispatch","_ref2","onRemove","removeFromListEditor","onAdd","addToListEditor","Account","value","onSubmit","fetchListSuggestions","onClear","clearListSuggestions","onChange","changeListSuggestions","Search","messages","defineMessages","title","id","defaultMessage","ListForm","disabled","changeListEditorTitle","submitListEditor","e","_this","props","target","preventDefault","render","_this$props","this","intl","formatMessage","Object","jsx","className","handleSubmit","handleChange","icon_button","icon","onClick","handleClick","React","PureComponent","ListEditor","accountIds","searchAccountIds","onInitialize","listId","setupListEditor","onReset","resetListEditor","componentDidMount","componentWillUnmount","_this$props2","showSearch","size","edit_list_form_ListForm","search_container","map","account_container","role","tabIndex","optional_motion","defaultStyle","x","style","spring","stiffness","damping","transform","visibility","ImmutablePureComponent","PropTypes","string","isRequired","onClose","func","object","ImmutablePropTypes","list"],"mappings":"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","file":"flavours/glitch/async/list_editor.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport { makeGetAccount } from 'flavours/glitch/selectors';\nimport { injectIntl } from 'react-intl';\nimport { removeFromListEditor, addToListEditor } from 'flavours/glitch/actions/lists';\nimport Account from '../components/account';\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, { accountId, added }) => ({\n account: getAccount(state, accountId),\n added: typeof added === 'undefined' ? state.getIn(['listEditor', 'accounts', 'items']).includes(accountId) : added,\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { accountId }) => ({\n onRemove: () => dispatch(removeFromListEditor(accountId)),\n onAdd: () => dispatch(addToListEditor(accountId)),\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { injectIntl } from 'react-intl';\nimport { fetchListSuggestions, clearListSuggestions, changeListSuggestions } from '../../../actions/lists';\nimport Search from '../components/search';\n\nconst mapStateToProps = state => ({\n value: state.getIn(['listEditor', 'suggestions', 'value']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n onSubmit: value => dispatch(fetchListSuggestions(value)),\n onClear: () => dispatch(clearListSuggestions()),\n onChange: value => dispatch(changeListSuggestions(value)),\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(Search));\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { changeListEditorTitle, submitListEditor } from 'flavours/glitch/actions/lists';\nimport IconButton from 'flavours/glitch/components/icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\n\nconst messages = defineMessages({\n title: { id: 'lists.edit.submit', defaultMessage: 'Change title' },\n});\n\nconst mapStateToProps = state => ({\n value: state.getIn(['listEditor', 'title']),\n disabled: !state.getIn(['listEditor', 'isChanged']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n onChange: value => dispatch(changeListEditorTitle(value)),\n onSubmit: () => dispatch(submitListEditor(false)),\n});\n\n@connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class ListForm extends React.PureComponent {\n\n static propTypes = {\n value: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n intl: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n };\n\n handleChange = e => {\n this.props.onChange(e.target.value);\n }\n\n handleSubmit = e => {\n e.preventDefault();\n this.props.onSubmit();\n }\n\n handleClick = () => {\n this.props.onSubmit();\n }\n\n render () {\n const { value, disabled, intl } = this.props;\n\n const title = intl.formatMessage(messages.title);\n\n return (\n <form className='column-inline-form' onSubmit={this.handleSubmit}>\n <input\n className='setting-text'\n value={value}\n onChange={this.handleChange}\n />\n\n <IconButton\n disabled={disabled}\n icon='check'\n title={title}\n onClick={this.handleClick}\n />\n </form>\n );\n }\n\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { injectIntl } from 'react-intl';\nimport { setupListEditor, clearListSuggestions, resetListEditor } from 'flavours/glitch/actions/lists';\nimport AccountContainer from './containers/account_container';\nimport SearchContainer from './containers/search_container';\nimport EditListForm from './components/edit_list_form';\nimport Motion from 'flavours/glitch/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nconst mapStateToProps = state => ({\n accountIds: state.getIn(['listEditor', 'accounts', 'items']),\n searchAccountIds: state.getIn(['listEditor', 'suggestions', 'items']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n onInitialize: listId => dispatch(setupListEditor(listId)),\n onClear: () => dispatch(clearListSuggestions()),\n onReset: () => dispatch(resetListEditor()),\n});\n\n@connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class ListEditor extends ImmutablePureComponent {\n\n static propTypes = {\n listId: PropTypes.string.isRequired,\n onClose: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n onInitialize: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n onReset: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list.isRequired,\n searchAccountIds: ImmutablePropTypes.list.isRequired,\n };\n\n componentDidMount () {\n const { onInitialize, listId } = this.props;\n onInitialize(listId);\n }\n\n componentWillUnmount () {\n const { onReset } = this.props;\n onReset();\n }\n\n render () {\n const { accountIds, searchAccountIds, onClear } = this.props;\n const showSearch = searchAccountIds.size > 0;\n\n return (\n <div className='modal-root__modal list-editor'>\n <EditListForm />\n\n <SearchContainer />\n\n <div className='drawer__pager'>\n <div className='drawer__inner list-editor__accounts'>\n {accountIds.map(accountId => <AccountContainer key={accountId} accountId={accountId} added />)}\n </div>\n\n {showSearch && <div role='button' tabIndex='-1' className='drawer__backdrop' onClick={onClear} />}\n\n <Motion defaultStyle={{ x: -100 }} style={{ x: spring(showSearch ? 0 : -100, { stiffness: 210, damping: 20 }) }}>\n {({ x }) =>\n (<div className='drawer__inner backdrop' style={{ transform: x === 0 ? null : `translateX(${x}%)`, visibility: x === -100 ? 'hidden' : 'visible' }}>\n {searchAccountIds.map(accountId => <AccountContainer key={accountId} accountId={accountId} />)}\n </div>)\n }\n </Motion>\n </div>\n </div>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/list_timeline.js b/priv/static/packs/flavours/glitch/async/list_timeline.js index fa77ead77..f9a8a09a8 100644 --- a/priv/static/packs/flavours/glitch/async/list_timeline.js +++ b/priv/static/packs/flavours/glitch/async/list_timeline.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{661:function(e,t,a){"use strict";a.r(t),a.d(t,"default",function(){return N});var i,s,l,r=a(1),n=a(6),c=a(0),o=a(2),d=a(3),p=a.n(d),b=a(20),u=a(5),j=a.n(u),O=a(625),h=a(429),m=a(427),f=a(202),v=a(7),g=a(400),_=a(31),y=a(29),M=a(44),C=a(898),I=a(288),k=Object(v.f)({deleteMessage:{id:"confirmations.delete_list.message",defaultMessage:"Are you sure you want to permanently delete this list?"},deleteConfirm:{id:"confirmations.delete_list.confirm",defaultMessage:"Delete"},all_replies:{id:"lists.replies_policy.all_replies",defaultMessage:"any followed user"},no_replies:{id:"lists.replies_policy.no_replies",defaultMessage:"no one"},list_replies:{id:"lists.replies_policy.list_replies",defaultMessage:"members of the list"}}),N=Object(b.connect)(function(e,t){return{list:e.getIn(["lists",t.params.id]),hasUnread:0<e.getIn(["timelines","list:"+t.params.id,"unread"])}})(i=Object(v.g)((l=s=function(i){function e(){for(var l,e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return l=i.call.apply(i,[this].concat(t))||this,Object(o.a)(Object(c.a)(Object(c.a)(l)),"handlePin",function(){var e=l.props,t=e.columnId,a=e.dispatch;t?a(Object(f.h)(t)):(a(Object(f.e)("LIST",{id:l.props.params.id})),l.context.router.history.push("/"))}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"handleMove",function(e){var t=l.props,a=t.columnId;(0,t.dispatch)(Object(f.g)(a,e))}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"handleHeaderClick",function(){l.column.scrollTop()}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"setRef",function(e){l.column=e}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"handleLoadMore",function(e){var t=l.props.params.id;l.props.dispatch(Object(_.s)(t,{maxId:e}))}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"handleEditClick",function(){l.props.dispatch(Object(M.d)("LIST_EDITOR",{listId:l.props.params.id}))}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"handleDeleteClick",function(){var e=l.props,t=e.dispatch,a=e.columnId,i=e.intl,s=l.props.params.id;t(Object(M.d)("CONFIRM",{message:i.formatMessage(k.deleteMessage),confirm:i.formatMessage(k.deleteConfirm),onConfirm:function(){t(Object(y.F)(s)),a?t(Object(f.h)(a)):l.context.router.history.push("/lists")}}))}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"handleRepliesPolicyChange",function(e){var t=e.target,a=l.props,i=(a.dispatch,a.list,l.props.params.id);l.props.dispatch(Object(y.Q)(i,void 0,!1,t.value))}),l}Object(n.a)(e,i);var t=e.prototype;return t.componentDidMount=function(){var e=this.props.dispatch,t=this.props.params.id;e(Object(y.G)(t)),e(Object(_.s)(t)),this.disconnect=e(Object(g.d)(t))},t.componentWillUnmount=function(){this.disconnect&&(this.disconnect(),this.disconnect=null)},t.render=function(){var t=this,e=this.props,a=e.hasUnread,i=e.columnId,s=e.multiColumn,l=e.list,n=(e.intl,this.props.params.id),c=!!i,o=l?l.get("title"):n,d=l?l.get("replies_policy"):void 0;return void 0===l?Object(r.a)(h.a,{},void 0,Object(r.a)("div",{className:"scrollable"},void 0,Object(r.a)(I.a,{}))):!1===l?Object(r.a)(h.a,{},void 0,Object(r.a)("div",{className:"scrollable"},void 0,Object(r.a)(C.a,{}))):p.a.createElement(h.a,{ref:this.setRef,label:o},Object(r.a)(m.a,{icon:"list-ul",active:a,title:o,onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:c,multiColumn:s},void 0,Object(r.a)("div",{className:"column-header__links"},void 0,Object(r.a)("button",{className:"text-btn column-header__setting-btn",tabIndex:"0",onClick:this.handleEditClick},void 0,Object(r.a)("i",{className:"fa fa-pencil"})," ",Object(r.a)(v.b,{id:"lists.edit",defaultMessage:"Edit list"})),Object(r.a)("button",{className:"text-btn column-header__setting-btn",tabIndex:"0",onClick:this.handleDeleteClick},void 0,Object(r.a)("i",{className:"fa fa-trash"})," ",Object(r.a)(v.b,{id:"lists.delete",defaultMessage:"Delete list"}))),void 0!==d&&Object(r.a)("div",{},void 0,Object(r.a)("div",{className:"column-settings__row"},void 0,Object(r.a)("fieldset",{},void 0,Object(r.a)("legend",{},void 0,Object(r.a)(v.b,{id:"lists.replies_policy.title",defaultMessage:"Show replies to:"})),["no_replies","list_replies","all_replies"].map(function(e){return Object(r.a)("div",{className:"setting-radio"},void 0,Object(r.a)("input",{className:"setting-radio__input",id:["setting","radio",n,e].join("-"),type:"radio",value:e,checked:d===e,onChange:t.handleRepliesPolicyChange}),Object(r.a)("label",{className:"setting-radio__label",htmlFor:["setting","radio",n,e].join("-")},void 0,p.a.createElement(v.b,k[e])))})))),Object(r.a)("hr",{})),Object(r.a)(O.a,{trackScroll:!c,scrollKey:"list_timeline-"+i,timelineId:"list:"+n,onLoadMore:this.handleLoadMore,emptyMessage:Object(r.a)(v.b,{id:"empty_column.list",defaultMessage:"There is nothing in this list yet."})}))},e}(p.a.PureComponent),Object(o.a)(s,"contextTypes",{router:j.a.object}),i=l))||i)||i}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{662:function(e,t,a){"use strict";a.r(t),a.d(t,"default",function(){return N});var i,s,l,r=a(1),n=a(6),c=a(0),o=a(2),d=a(3),p=a.n(d),b=a(20),u=a(5),j=a.n(u),O=a(626),h=a(430),m=a(428),f=a(205),v=a(7),g=a(401),_=a(32),y=a(29),M=a(45),C=a(899),I=a(290),k=Object(v.f)({deleteMessage:{id:"confirmations.delete_list.message",defaultMessage:"Are you sure you want to permanently delete this list?"},deleteConfirm:{id:"confirmations.delete_list.confirm",defaultMessage:"Delete"},all_replies:{id:"lists.replies_policy.all_replies",defaultMessage:"any followed user"},no_replies:{id:"lists.replies_policy.no_replies",defaultMessage:"no one"},list_replies:{id:"lists.replies_policy.list_replies",defaultMessage:"members of the list"}}),N=Object(b.connect)(function(e,t){return{list:e.getIn(["lists",t.params.id]),hasUnread:0<e.getIn(["timelines","list:"+t.params.id,"unread"])}})(i=Object(v.g)((l=s=function(i){function e(){for(var l,e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return l=i.call.apply(i,[this].concat(t))||this,Object(o.a)(Object(c.a)(Object(c.a)(l)),"handlePin",function(){var e=l.props,t=e.columnId,a=e.dispatch;t?a(Object(f.h)(t)):(a(Object(f.e)("LIST",{id:l.props.params.id})),l.context.router.history.push("/"))}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"handleMove",function(e){var t=l.props,a=t.columnId;(0,t.dispatch)(Object(f.g)(a,e))}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"handleHeaderClick",function(){l.column.scrollTop()}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"setRef",function(e){l.column=e}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"handleLoadMore",function(e){var t=l.props.params.id;l.props.dispatch(Object(_.s)(t,{maxId:e}))}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"handleEditClick",function(){l.props.dispatch(Object(M.d)("LIST_EDITOR",{listId:l.props.params.id}))}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"handleDeleteClick",function(){var e=l.props,t=e.dispatch,a=e.columnId,i=e.intl,s=l.props.params.id;t(Object(M.d)("CONFIRM",{message:i.formatMessage(k.deleteMessage),confirm:i.formatMessage(k.deleteConfirm),onConfirm:function(){t(Object(y.F)(s)),a?t(Object(f.h)(a)):l.context.router.history.push("/lists")}}))}),Object(o.a)(Object(c.a)(Object(c.a)(l)),"handleRepliesPolicyChange",function(e){var t=e.target,a=l.props,i=(a.dispatch,a.list,l.props.params.id);l.props.dispatch(Object(y.Q)(i,void 0,!1,t.value))}),l}Object(n.a)(e,i);var t=e.prototype;return t.componentDidMount=function(){var e=this.props.dispatch,t=this.props.params.id;e(Object(y.G)(t)),e(Object(_.s)(t)),this.disconnect=e(Object(g.d)(t))},t.componentWillUnmount=function(){this.disconnect&&(this.disconnect(),this.disconnect=null)},t.render=function(){var t=this,e=this.props,a=e.hasUnread,i=e.columnId,s=e.multiColumn,l=e.list,n=(e.intl,this.props.params.id),c=!!i,o=l?l.get("title"):n,d=l?l.get("replies_policy"):void 0;return void 0===l?Object(r.a)(h.a,{},void 0,Object(r.a)("div",{className:"scrollable"},void 0,Object(r.a)(I.a,{}))):!1===l?Object(r.a)(h.a,{},void 0,Object(r.a)("div",{className:"scrollable"},void 0,Object(r.a)(C.a,{}))):p.a.createElement(h.a,{ref:this.setRef,label:o},Object(r.a)(m.a,{icon:"list-ul",active:a,title:o,onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:c,multiColumn:s},void 0,Object(r.a)("div",{className:"column-header__links"},void 0,Object(r.a)("button",{className:"text-btn column-header__setting-btn",tabIndex:"0",onClick:this.handleEditClick},void 0,Object(r.a)("i",{className:"fa fa-pencil"})," ",Object(r.a)(v.b,{id:"lists.edit",defaultMessage:"Edit list"})),Object(r.a)("button",{className:"text-btn column-header__setting-btn",tabIndex:"0",onClick:this.handleDeleteClick},void 0,Object(r.a)("i",{className:"fa fa-trash"})," ",Object(r.a)(v.b,{id:"lists.delete",defaultMessage:"Delete list"}))),void 0!==d&&Object(r.a)("div",{},void 0,Object(r.a)("div",{className:"column-settings__row"},void 0,Object(r.a)("fieldset",{},void 0,Object(r.a)("legend",{},void 0,Object(r.a)(v.b,{id:"lists.replies_policy.title",defaultMessage:"Show replies to:"})),["no_replies","list_replies","all_replies"].map(function(e){return Object(r.a)("div",{className:"setting-radio"},void 0,Object(r.a)("input",{className:"setting-radio__input",id:["setting","radio",n,e].join("-"),type:"radio",value:e,checked:d===e,onChange:t.handleRepliesPolicyChange}),Object(r.a)("label",{className:"setting-radio__label",htmlFor:["setting","radio",n,e].join("-")},void 0,p.a.createElement(v.b,k[e])))})))),Object(r.a)("hr",{})),Object(r.a)(O.a,{trackScroll:!c,scrollKey:"list_timeline-"+i,timelineId:"list:"+n,onLoadMore:this.handleLoadMore,emptyMessage:Object(r.a)(v.b,{id:"empty_column.list",defaultMessage:"There is nothing in this list yet."})}))},e}(p.a.PureComponent),Object(o.a)(s,"contextTypes",{router:j.a.object}),i=l))||i)||i}}]); //# sourceMappingURL=list_timeline.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/list_timeline.js.map b/priv/static/packs/flavours/glitch/async/list_timeline.js.map index f305a5d6c..9d1634d93 100644 --- a/priv/static/packs/flavours/glitch/async/list_timeline.js.map +++ b/priv/static/packs/flavours/glitch/async/list_timeline.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/list_timeline/index.js"],"names":["messages","defineMessages","deleteMessage","id","defaultMessage","deleteConfirm","all_replies","no_replies","list_replies","ListTimeline","connect","state","props","list","getIn","params","hasUnread","injectIntl","_this$props","_this","columnId","dispatch","removeColumn","addColumn","context","router","history","push","dir","_this$props2","moveColumn","column","scrollTop","c","maxId","expandListTimeline","openModal","listId","_this$props3","intl","message","formatMessage","confirm","onConfirm","deleteList","_ref","target","_this$props4","updateList","undefined","value","componentDidMount","this","fetchList","disconnect","connectListStream","componentWillUnmount","render","_this2","_this$props5","multiColumn","pinned","title","get","replies_policy","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_column__WEBPACK_IMPORTED_MODULE_8__","className","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_17__","flavours_glitch_components_missing_indicator__WEBPACK_IMPORTED_MODULE_16__","react__WEBPACK_IMPORTED_MODULE_4___default","a","createElement","ref","setRef","label","flavours_glitch_components_column_header__WEBPACK_IMPORTED_MODULE_9__","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","tabIndex","handleEditClick","react_intl__WEBPACK_IMPORTED_MODULE_11__","handleDeleteClick","map","policy","join","type","checked","onChange","handleRepliesPolicyChange","htmlFor","flavours_glitch_features_ui_containers_status_list_container__WEBPACK_IMPORTED_MODULE_7__","trackScroll","scrollKey","timelineId","onLoadMore","handleLoadMore","emptyMessage","React","PureComponent","PropTypes","object"],"mappings":"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","file":"flavours/glitch/async/list_timeline.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport { FormattedMessage, defineMessages, injectIntl } from 'react-intl';\nimport { connectListStream } from 'flavours/glitch/actions/streaming';\nimport { expandListTimeline } from 'flavours/glitch/actions/timelines';\nimport { fetchList, deleteList, updateList } from 'flavours/glitch/actions/lists';\nimport { openModal } from 'flavours/glitch/actions/modal';\nimport MissingIndicator from 'flavours/glitch/components/missing_indicator';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\n\nconst messages = defineMessages({\n deleteMessage: { id: 'confirmations.delete_list.message', defaultMessage: 'Are you sure you want to permanently delete this list?' },\n deleteConfirm: { id: 'confirmations.delete_list.confirm', defaultMessage: 'Delete' },\n all_replies: { id: 'lists.replies_policy.all_replies', defaultMessage: 'any followed user' },\n no_replies: { id: 'lists.replies_policy.no_replies', defaultMessage: 'no one' },\n list_replies: { id: 'lists.replies_policy.list_replies', defaultMessage: 'members of the list' },\n});\n\nconst mapStateToProps = (state, props) => ({\n list: state.getIn(['lists', props.params.id]),\n hasUnread: state.getIn(['timelines', `list:${props.params.id}`, 'unread']) > 0,\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class ListTimeline extends React.PureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n columnId: PropTypes.string,\n hasUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n list: PropTypes.oneOfType([ImmutablePropTypes.map, PropTypes.bool]),\n intl: PropTypes.object.isRequired,\n };\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('LIST', { id: this.props.params.id }));\n this.context.router.history.push('/');\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n componentDidMount () {\n const { dispatch } = this.props;\n const { id } = this.props.params;\n\n dispatch(fetchList(id));\n dispatch(expandListTimeline(id));\n\n this.disconnect = dispatch(connectListStream(id));\n }\n\n componentWillUnmount () {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n const { id } = this.props.params;\n this.props.dispatch(expandListTimeline(id, { maxId }));\n }\n\n handleEditClick = () => {\n this.props.dispatch(openModal('LIST_EDITOR', { listId: this.props.params.id }));\n }\n\n handleDeleteClick = () => {\n const { dispatch, columnId, intl } = this.props;\n const { id } = this.props.params;\n\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: () => {\n dispatch(deleteList(id));\n\n if (!!columnId) {\n dispatch(removeColumn(columnId));\n } else {\n this.context.router.history.push('/lists');\n }\n },\n }));\n }\n\n handleRepliesPolicyChange = ({ target }) => {\n const { dispatch, list } = this.props;\n const { id } = this.props.params;\n this.props.dispatch(updateList(id, undefined, false, target.value));\n }\n\n render () {\n const { hasUnread, columnId, multiColumn, list, intl } = this.props;\n const { id } = this.props.params;\n const pinned = !!columnId;\n const title = list ? list.get('title') : id;\n const replies_policy = list ? list.get('replies_policy') : undefined;\n\n if (typeof list === 'undefined') {\n return (\n <Column>\n <div className='scrollable'>\n <LoadingIndicator />\n </div>\n </Column>\n );\n } else if (list === false) {\n return (\n <Column>\n <div className='scrollable'>\n <MissingIndicator />\n </div>\n </Column>\n );\n }\n\n return (\n <Column ref={this.setRef} label={title}>\n <ColumnHeader\n icon='list-ul'\n active={hasUnread}\n title={title}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n >\n <div className='column-header__links'>\n <button className='text-btn column-header__setting-btn' tabIndex='0' onClick={this.handleEditClick}>\n <i className='fa fa-pencil' /> <FormattedMessage id='lists.edit' defaultMessage='Edit list' />\n </button>\n\n <button className='text-btn column-header__setting-btn' tabIndex='0' onClick={this.handleDeleteClick}>\n <i className='fa fa-trash' /> <FormattedMessage id='lists.delete' defaultMessage='Delete list' />\n </button>\n </div>\n\n { replies_policy !== undefined && (\n <div>\n <div className='column-settings__row'>\n <fieldset>\n <legend><FormattedMessage id='lists.replies_policy.title' defaultMessage='Show replies to:' /></legend>\n { ['no_replies', 'list_replies', 'all_replies'].map(policy => (\n <div className='setting-radio'>\n <input className='setting-radio__input' id={['setting', 'radio', id, policy].join('-')} type='radio' value={policy} checked={replies_policy === policy} onChange={this.handleRepliesPolicyChange} />\n <label className='setting-radio__label' htmlFor={['setting', 'radio', id, policy].join('-')}>\n <FormattedMessage {...messages[policy]} />\n </label>\n </div>\n ))}\n </fieldset>\n </div>\n </div>\n )}\n\n <hr />\n </ColumnHeader>\n\n <StatusListContainer\n trackScroll={!pinned}\n scrollKey={`list_timeline-${columnId}`}\n timelineId={`list:${id}`}\n onLoadMore={this.handleLoadMore}\n emptyMessage={<FormattedMessage id='empty_column.list' defaultMessage='There is nothing in this list yet.' />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/list_timeline/index.js"],"names":["messages","defineMessages","deleteMessage","id","defaultMessage","deleteConfirm","all_replies","no_replies","list_replies","ListTimeline","connect","state","props","list","getIn","params","hasUnread","injectIntl","_this$props","_this","columnId","dispatch","removeColumn","addColumn","context","router","history","push","dir","_this$props2","moveColumn","column","scrollTop","c","maxId","expandListTimeline","openModal","listId","_this$props3","intl","message","formatMessage","confirm","onConfirm","deleteList","_ref","target","_this$props4","updateList","undefined","value","componentDidMount","this","fetchList","disconnect","connectListStream","componentWillUnmount","render","_this2","_this$props5","multiColumn","pinned","title","get","replies_policy","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_column__WEBPACK_IMPORTED_MODULE_8__","className","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_17__","flavours_glitch_components_missing_indicator__WEBPACK_IMPORTED_MODULE_16__","react__WEBPACK_IMPORTED_MODULE_4___default","a","createElement","ref","setRef","label","flavours_glitch_components_column_header__WEBPACK_IMPORTED_MODULE_9__","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","tabIndex","handleEditClick","react_intl__WEBPACK_IMPORTED_MODULE_11__","handleDeleteClick","map","policy","join","type","checked","onChange","handleRepliesPolicyChange","htmlFor","flavours_glitch_features_ui_containers_status_list_container__WEBPACK_IMPORTED_MODULE_7__","trackScroll","scrollKey","timelineId","onLoadMore","handleLoadMore","emptyMessage","React","PureComponent","PropTypes","object"],"mappings":"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","file":"flavours/glitch/async/list_timeline.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport { FormattedMessage, defineMessages, injectIntl } from 'react-intl';\nimport { connectListStream } from 'flavours/glitch/actions/streaming';\nimport { expandListTimeline } from 'flavours/glitch/actions/timelines';\nimport { fetchList, deleteList, updateList } from 'flavours/glitch/actions/lists';\nimport { openModal } from 'flavours/glitch/actions/modal';\nimport MissingIndicator from 'flavours/glitch/components/missing_indicator';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\n\nconst messages = defineMessages({\n deleteMessage: { id: 'confirmations.delete_list.message', defaultMessage: 'Are you sure you want to permanently delete this list?' },\n deleteConfirm: { id: 'confirmations.delete_list.confirm', defaultMessage: 'Delete' },\n all_replies: { id: 'lists.replies_policy.all_replies', defaultMessage: 'any followed user' },\n no_replies: { id: 'lists.replies_policy.no_replies', defaultMessage: 'no one' },\n list_replies: { id: 'lists.replies_policy.list_replies', defaultMessage: 'members of the list' },\n});\n\nconst mapStateToProps = (state, props) => ({\n list: state.getIn(['lists', props.params.id]),\n hasUnread: state.getIn(['timelines', `list:${props.params.id}`, 'unread']) > 0,\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class ListTimeline extends React.PureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n columnId: PropTypes.string,\n hasUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n list: PropTypes.oneOfType([ImmutablePropTypes.map, PropTypes.bool]),\n intl: PropTypes.object.isRequired,\n };\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('LIST', { id: this.props.params.id }));\n this.context.router.history.push('/');\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n componentDidMount () {\n const { dispatch } = this.props;\n const { id } = this.props.params;\n\n dispatch(fetchList(id));\n dispatch(expandListTimeline(id));\n\n this.disconnect = dispatch(connectListStream(id));\n }\n\n componentWillUnmount () {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n const { id } = this.props.params;\n this.props.dispatch(expandListTimeline(id, { maxId }));\n }\n\n handleEditClick = () => {\n this.props.dispatch(openModal('LIST_EDITOR', { listId: this.props.params.id }));\n }\n\n handleDeleteClick = () => {\n const { dispatch, columnId, intl } = this.props;\n const { id } = this.props.params;\n\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: () => {\n dispatch(deleteList(id));\n\n if (!!columnId) {\n dispatch(removeColumn(columnId));\n } else {\n this.context.router.history.push('/lists');\n }\n },\n }));\n }\n\n handleRepliesPolicyChange = ({ target }) => {\n const { dispatch, list } = this.props;\n const { id } = this.props.params;\n this.props.dispatch(updateList(id, undefined, false, target.value));\n }\n\n render () {\n const { hasUnread, columnId, multiColumn, list, intl } = this.props;\n const { id } = this.props.params;\n const pinned = !!columnId;\n const title = list ? list.get('title') : id;\n const replies_policy = list ? list.get('replies_policy') : undefined;\n\n if (typeof list === 'undefined') {\n return (\n <Column>\n <div className='scrollable'>\n <LoadingIndicator />\n </div>\n </Column>\n );\n } else if (list === false) {\n return (\n <Column>\n <div className='scrollable'>\n <MissingIndicator />\n </div>\n </Column>\n );\n }\n\n return (\n <Column ref={this.setRef} label={title}>\n <ColumnHeader\n icon='list-ul'\n active={hasUnread}\n title={title}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n >\n <div className='column-header__links'>\n <button className='text-btn column-header__setting-btn' tabIndex='0' onClick={this.handleEditClick}>\n <i className='fa fa-pencil' /> <FormattedMessage id='lists.edit' defaultMessage='Edit list' />\n </button>\n\n <button className='text-btn column-header__setting-btn' tabIndex='0' onClick={this.handleDeleteClick}>\n <i className='fa fa-trash' /> <FormattedMessage id='lists.delete' defaultMessage='Delete list' />\n </button>\n </div>\n\n { replies_policy !== undefined && (\n <div>\n <div className='column-settings__row'>\n <fieldset>\n <legend><FormattedMessage id='lists.replies_policy.title' defaultMessage='Show replies to:' /></legend>\n { ['no_replies', 'list_replies', 'all_replies'].map(policy => (\n <div className='setting-radio'>\n <input className='setting-radio__input' id={['setting', 'radio', id, policy].join('-')} type='radio' value={policy} checked={replies_policy === policy} onChange={this.handleRepliesPolicyChange} />\n <label className='setting-radio__label' htmlFor={['setting', 'radio', id, policy].join('-')}>\n <FormattedMessage {...messages[policy]} />\n </label>\n </div>\n ))}\n </fieldset>\n </div>\n </div>\n )}\n\n <hr />\n </ColumnHeader>\n\n <StatusListContainer\n trackScroll={!pinned}\n scrollKey={`list_timeline-${columnId}`}\n timelineId={`list:${id}`}\n onLoadMore={this.handleLoadMore}\n emptyMessage={<FormattedMessage id='empty_column.list' defaultMessage='There is nothing in this list yet.' />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/lists.js b/priv/static/packs/flavours/glitch/async/lists.js index a3d7e7a0a..71685ed8b 100644 --- a/priv/static/packs/flavours/glitch/async/lists.js +++ b/priv/static/packs/flavours/glitch/async/lists.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{662:function(t,e,i){"use strict";i.r(e),i.d(e,"default",function(){return k});var n,a,s,c=i(1),r=i(6),o=i(2),u=(i(3),i(20)),l=i(5),d=i.n(l),b=i(26),p=i.n(b),f=i(288),g=i(639),j=i(643),O=i(29),h=i(7),m=i(24),v=i(916),w=i(917),M=i(961),q=i(57),y=Object(h.f)({heading:{id:"column.lists",defaultMessage:"Lists"},subheading:{id:"lists.subheading",defaultMessage:"Your lists"}}),R=Object(q.a)([function(t){return t.get("lists")}],function(t){return t?t.toList().filter(function(t){return!!t}).sort(function(t,e){return t.get("title").localeCompare(e.get("title"))}):t}),k=Object(u.connect)(function(t){return{lists:R(t)}})(n=Object(h.g)((s=a=function(t){function e(){return t.apply(this,arguments)||this}Object(r.a)(e,t);var i=e.prototype;return i.componentWillMount=function(){this.props.dispatch(Object(O.I)())},i.render=function(){var t=this.props,e=t.intl,i=t.lists;return i?Object(c.a)(g.a,{icon:"bars",heading:e.formatMessage(y.heading)},void 0,Object(c.a)(j.a,{}),Object(c.a)(M.a,{}),Object(c.a)("div",{className:"scrollable"},void 0,Object(c.a)(w.a,{text:e.formatMessage(y.subheading)}),i.map(function(t){return Object(c.a)(v.a,{to:"/timelines/list/"+t.get("id"),icon:"list-ul",text:t.get("title")},t.get("id"))}))):Object(c.a)(g.a,{},void 0,Object(c.a)(f.a,{}))},e}(m.a),Object(o.a)(a,"propTypes",{params:d.a.object.isRequired,dispatch:d.a.func.isRequired,lists:p.a.list,intl:d.a.object.isRequired}),n=s))||n)||n}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{663:function(t,e,i){"use strict";i.r(e),i.d(e,"default",function(){return k});var n,a,s,c=i(1),r=i(6),o=i(2),u=(i(3),i(20)),l=i(5),d=i.n(l),b=i(26),p=i.n(b),f=i(290),g=i(640),j=i(644),O=i(29),h=i(7),m=i(24),v=i(917),w=i(918),M=i(962),q=i(58),y=Object(h.f)({heading:{id:"column.lists",defaultMessage:"Lists"},subheading:{id:"lists.subheading",defaultMessage:"Your lists"}}),R=Object(q.a)([function(t){return t.get("lists")}],function(t){return t?t.toList().filter(function(t){return!!t}).sort(function(t,e){return t.get("title").localeCompare(e.get("title"))}):t}),k=Object(u.connect)(function(t){return{lists:R(t)}})(n=Object(h.g)((s=a=function(t){function e(){return t.apply(this,arguments)||this}Object(r.a)(e,t);var i=e.prototype;return i.componentWillMount=function(){this.props.dispatch(Object(O.I)())},i.render=function(){var t=this.props,e=t.intl,i=t.lists;return i?Object(c.a)(g.a,{icon:"bars",heading:e.formatMessage(y.heading)},void 0,Object(c.a)(j.a,{}),Object(c.a)(M.a,{}),Object(c.a)("div",{className:"scrollable"},void 0,Object(c.a)(w.a,{text:e.formatMessage(y.subheading)}),i.map(function(t){return Object(c.a)(v.a,{to:"/timelines/list/"+t.get("id"),icon:"list-ul",text:t.get("title")},t.get("id"))}))):Object(c.a)(g.a,{},void 0,Object(c.a)(f.a,{}))},e}(m.a),Object(o.a)(a,"propTypes",{params:d.a.object.isRequired,dispatch:d.a.func.isRequired,lists:p.a.list,intl:d.a.object.isRequired}),n=s))||n)||n}}]); //# sourceMappingURL=lists.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/lists.js.map b/priv/static/packs/flavours/glitch/async/lists.js.map index 2e31b8d36..59a3c5e68 100644 --- a/priv/static/packs/flavours/glitch/async/lists.js.map +++ b/priv/static/packs/flavours/glitch/async/lists.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/lists/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","subheading","getOrderedLists","createSelector","state","get","lists","toList","filter","item","sort","a","b","localeCompare","Lists","connect","injectIntl","componentWillMount","this","props","dispatch","fetchLists","render","_this$props","intl","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_8__","icon","formatMessage","flavours_glitch_components_column_back_button_slim__WEBPACK_IMPORTED_MODULE_9__","_components_new_list_form__WEBPACK_IMPORTED_MODULE_15__","className","flavours_glitch_features_ui_components_column_subheading__WEBPACK_IMPORTED_MODULE_14__","text","map","list","flavours_glitch_features_ui_components_column_link__WEBPACK_IMPORTED_MODULE_13__","to","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_7__","ImmutablePureComponent","params","PropTypes","object","isRequired","func","ImmutablePropTypes"],"mappings":"4SAeMA,EAAWC,YAAe,CAC9BC,QAAO,CAAAC,GAAA,eAAAC,eAAA,SACPC,WAAU,CAAAF,GAAA,mBAAAC,eAAA,gBAGNE,EAAkBC,YAAe,CAAC,SAAAC,GAAK,OAAIA,EAAMC,IAAI,WAAW,SAAAC,GACpE,OAAKA,EAIEA,EAAMC,SAASC,OAAO,SAAAC,GAAI,QAAMA,IAAMC,KAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAEN,IAAI,SAASQ,cAAcD,EAAEP,IAAI,YAHtFC,IAYUQ,EAFpBC,kBAJuB,SAAAX,GAAK,MAAK,CAChCE,MAAOJ,EAAgBE,QAIxBY,2HAUCC,mBAAA,WACEC,KAAKC,MAAMC,SAASC,kBAGtBC,OAAA,WAAU,IAAAC,EACgBL,KAAKC,MAArBK,EADAD,EACAC,KAAMlB,EADNiB,EACMjB,MAEd,OAAKA,EASHmB,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAQC,KAAK,OAAO9B,QAAS0B,EAAKK,cAAcjC,EAASE,eAAzD,EACE2B,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,IAEAL,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,IAEAN,OAAAC,EAAA,EAAAD,CAAA,OAAKO,UAAU,mBAAf,EACEP,OAAAC,EAAA,EAAAD,CAACQ,EAAA,EAAD,CAAkBC,KAAMV,EAAKK,cAAcjC,EAASK,cAEnDK,EAAM6B,IAAI,SAAAC,GAAI,OACbX,OAAAC,EAAA,EAAAD,CAACY,EAAA,EAAD,CAAiCC,GAAE,mBAAqBF,EAAK/B,IAAI,MAASuB,KAAK,UAAUM,KAAME,EAAK/B,IAAI,UAAvF+B,EAAK/B,IAAI,WAhB9BoB,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACc,EAAA,EAAD,SAnByBC,+BAEd,CACjBC,OAAQC,IAAUC,OAAOC,WACzBxB,SAAUsB,IAAUG,KAAKD,WACzBtC,MAAOwC,IAAmBV,KAC1BZ,KAAMkB,IAAUC,OAAOC","file":"flavours/glitch/async/lists.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport { fetchLists } from 'flavours/glitch/actions/lists';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ColumnLink from 'flavours/glitch/features/ui/components/column_link';\nimport ColumnSubheading from 'flavours/glitch/features/ui/components/column_subheading';\nimport NewListForm from './components/new_list_form';\nimport { createSelector } from 'reselect';\n\nconst messages = defineMessages({\n heading: { id: 'column.lists', defaultMessage: 'Lists' },\n subheading: { id: 'lists.subheading', defaultMessage: 'Your lists' },\n});\n\nconst getOrderedLists = createSelector([state => state.get('lists')], lists => {\n if (!lists) {\n return lists;\n }\n\n return lists.toList().filter(item => !!item).sort((a, b) => a.get('title').localeCompare(b.get('title')));\n});\n\nconst mapStateToProps = state => ({\n lists: getOrderedLists(state),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Lists extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n lists: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchLists());\n }\n\n render () {\n const { intl, lists } = this.props;\n\n if (!lists) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column icon='bars' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n\n <NewListForm />\n\n <div className='scrollable'>\n <ColumnSubheading text={intl.formatMessage(messages.subheading)} />\n\n {lists.map(list =>\n <ColumnLink key={list.get('id')} to={`/timelines/list/${list.get('id')}`} icon='list-ul' text={list.get('title')} />\n )}\n </div>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/lists/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","subheading","getOrderedLists","createSelector","state","get","lists","toList","filter","item","sort","a","b","localeCompare","Lists","connect","injectIntl","componentWillMount","this","props","dispatch","fetchLists","render","_this$props","intl","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_8__","icon","formatMessage","flavours_glitch_components_column_back_button_slim__WEBPACK_IMPORTED_MODULE_9__","_components_new_list_form__WEBPACK_IMPORTED_MODULE_15__","className","flavours_glitch_features_ui_components_column_subheading__WEBPACK_IMPORTED_MODULE_14__","text","map","list","flavours_glitch_features_ui_components_column_link__WEBPACK_IMPORTED_MODULE_13__","to","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_7__","ImmutablePureComponent","params","PropTypes","object","isRequired","func","ImmutablePropTypes"],"mappings":"4SAeMA,EAAWC,YAAe,CAC9BC,QAAO,CAAAC,GAAA,eAAAC,eAAA,SACPC,WAAU,CAAAF,GAAA,mBAAAC,eAAA,gBAGNE,EAAkBC,YAAe,CAAC,SAAAC,GAAK,OAAIA,EAAMC,IAAI,WAAW,SAAAC,GACpE,OAAKA,EAIEA,EAAMC,SAASC,OAAO,SAAAC,GAAI,QAAMA,IAAMC,KAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAEN,IAAI,SAASQ,cAAcD,EAAEP,IAAI,YAHtFC,IAYUQ,EAFpBC,kBAJuB,SAAAX,GAAK,MAAK,CAChCE,MAAOJ,EAAgBE,QAIxBY,2HAUCC,mBAAA,WACEC,KAAKC,MAAMC,SAASC,kBAGtBC,OAAA,WAAU,IAAAC,EACgBL,KAAKC,MAArBK,EADAD,EACAC,KAAMlB,EADNiB,EACMjB,MAEd,OAAKA,EASHmB,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAQC,KAAK,OAAO9B,QAAS0B,EAAKK,cAAcjC,EAASE,eAAzD,EACE2B,OAAAC,EAAA,EAAAD,CAACK,EAAA,EAAD,IAEAL,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,IAEAN,OAAAC,EAAA,EAAAD,CAAA,OAAKO,UAAU,mBAAf,EACEP,OAAAC,EAAA,EAAAD,CAACQ,EAAA,EAAD,CAAkBC,KAAMV,EAAKK,cAAcjC,EAASK,cAEnDK,EAAM6B,IAAI,SAAAC,GAAI,OACbX,OAAAC,EAAA,EAAAD,CAACY,EAAA,EAAD,CAAiCC,GAAE,mBAAqBF,EAAK/B,IAAI,MAASuB,KAAK,UAAUM,KAAME,EAAK/B,IAAI,UAAvF+B,EAAK/B,IAAI,WAhB9BoB,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACc,EAAA,EAAD,SAnByBC,+BAEd,CACjBC,OAAQC,IAAUC,OAAOC,WACzBxB,SAAUsB,IAAUG,KAAKD,WACzBtC,MAAOwC,IAAmBV,KAC1BZ,KAAMkB,IAAUC,OAAOC","file":"flavours/glitch/async/lists.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport { fetchLists } from 'flavours/glitch/actions/lists';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ColumnLink from 'flavours/glitch/features/ui/components/column_link';\nimport ColumnSubheading from 'flavours/glitch/features/ui/components/column_subheading';\nimport NewListForm from './components/new_list_form';\nimport { createSelector } from 'reselect';\n\nconst messages = defineMessages({\n heading: { id: 'column.lists', defaultMessage: 'Lists' },\n subheading: { id: 'lists.subheading', defaultMessage: 'Your lists' },\n});\n\nconst getOrderedLists = createSelector([state => state.get('lists')], lists => {\n if (!lists) {\n return lists;\n }\n\n return lists.toList().filter(item => !!item).sort((a, b) => a.get('title').localeCompare(b.get('title')));\n});\n\nconst mapStateToProps = state => ({\n lists: getOrderedLists(state),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Lists extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n lists: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchLists());\n }\n\n render () {\n const { intl, lists } = this.props;\n\n if (!lists) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column icon='bars' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n\n <NewListForm />\n\n <div className='scrollable'>\n <ColumnSubheading text={intl.formatMessage(messages.subheading)} />\n\n {lists.map(list =>\n <ColumnLink key={list.get('id')} to={`/timelines/list/${list.get('id')}`} icon='list-ul' text={list.get('title')} />\n )}\n </div>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/mute_modal.js b/priv/static/packs/flavours/glitch/async/mute_modal.js index 6626c0e52..526989b44 100644 --- a/priv/static/packs/flavours/glitch/async/mute_modal.js +++ b/priv/static/packs/flavours/glitch/async/mute_modal.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{677:function(t,e,n){"use strict";n.r(e),n.d(e,"default",function(){return g});var o,c=n(1),i=n(6),s=n(0),u=n(2),a=n(3),r=n.n(a),l=n(20),d=n(7),b=n(390),f=n.n(b),m=n(85),O=n(44),j=n(14),p=n(66),g=Object(l.connect)(function(t){return{isSubmitting:t.getIn(["reports","new","isSubmitting"]),account:t.getIn(["mutes","new","account"]),notifications:t.getIn(["mutes","new","notifications"])}},function(n){return{onConfirm:function(t,e){n(Object(j.O)(t.get("id"),e))},onClose:function(){n(Object(O.c)())},onToggleNotifications:function(){n(Object(p.h)())}}})(o=Object(d.g)(o=function(a){function t(){for(var e,t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return e=a.call.apply(a,[this].concat(n))||this,Object(u.a)(Object(s.a)(Object(s.a)(e)),"handleClick",function(){e.props.onClose(),e.props.onConfirm(e.props.account,e.props.notifications)}),Object(u.a)(Object(s.a)(Object(s.a)(e)),"handleCancel",function(){e.props.onClose()}),Object(u.a)(Object(s.a)(Object(s.a)(e)),"setRef",function(t){e.button=t}),Object(u.a)(Object(s.a)(Object(s.a)(e)),"toggleNotifications",function(){e.props.onToggleNotifications()}),e}Object(i.a)(t,a);var e=t.prototype;return e.componentDidMount=function(){this.button.focus()},e.render=function(){var t=this.props,e=t.account,n=t.notifications;return Object(c.a)("div",{className:"modal-root__modal mute-modal"},void 0,Object(c.a)("div",{className:"mute-modal__container"},void 0,Object(c.a)("p",{},void 0,Object(c.a)(d.b,{id:"confirmations.mute.message",defaultMessage:"Are you sure you want to mute {name}?",values:{name:Object(c.a)("strong",{},void 0,"@",e.get("acct"))}})),Object(c.a)("div",{},void 0,Object(c.a)("label",{htmlFor:"mute-modal__hide-notifications-checkbox"},void 0,Object(c.a)(d.b,{id:"mute_modal.hide_notifications",defaultMessage:"Hide notifications from this user?"})," ",Object(c.a)(f.a,{id:"mute-modal__hide-notifications-checkbox",checked:n,onChange:this.toggleNotifications})))),Object(c.a)("div",{className:"mute-modal__action-bar"},void 0,Object(c.a)(m.a,{onClick:this.handleCancel,className:"mute-modal__cancel-button"},void 0,Object(c.a)(d.b,{id:"confirmation_modal.cancel",defaultMessage:"Cancel"})),r.a.createElement(m.a,{onClick:this.handleClick,ref:this.setRef},Object(c.a)(d.b,{id:"confirmations.mute.confirm",defaultMessage:"Mute"}))))},t}(r.a.PureComponent))||o)||o}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{678:function(t,e,n){"use strict";n.r(e),n.d(e,"default",function(){return g});var o,c=n(1),i=n(6),s=n(0),u=n(2),a=n(3),r=n.n(a),l=n(20),d=n(7),b=n(391),f=n.n(b),m=n(87),O=n(45),j=n(14),p=n(67),g=Object(l.connect)(function(t){return{isSubmitting:t.getIn(["reports","new","isSubmitting"]),account:t.getIn(["mutes","new","account"]),notifications:t.getIn(["mutes","new","notifications"])}},function(n){return{onConfirm:function(t,e){n(Object(j.O)(t.get("id"),e))},onClose:function(){n(Object(O.c)())},onToggleNotifications:function(){n(Object(p.h)())}}})(o=Object(d.g)(o=function(a){function t(){for(var e,t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return e=a.call.apply(a,[this].concat(n))||this,Object(u.a)(Object(s.a)(Object(s.a)(e)),"handleClick",function(){e.props.onClose(),e.props.onConfirm(e.props.account,e.props.notifications)}),Object(u.a)(Object(s.a)(Object(s.a)(e)),"handleCancel",function(){e.props.onClose()}),Object(u.a)(Object(s.a)(Object(s.a)(e)),"setRef",function(t){e.button=t}),Object(u.a)(Object(s.a)(Object(s.a)(e)),"toggleNotifications",function(){e.props.onToggleNotifications()}),e}Object(i.a)(t,a);var e=t.prototype;return e.componentDidMount=function(){this.button.focus()},e.render=function(){var t=this.props,e=t.account,n=t.notifications;return Object(c.a)("div",{className:"modal-root__modal mute-modal"},void 0,Object(c.a)("div",{className:"mute-modal__container"},void 0,Object(c.a)("p",{},void 0,Object(c.a)(d.b,{id:"confirmations.mute.message",defaultMessage:"Are you sure you want to mute {name}?",values:{name:Object(c.a)("strong",{},void 0,"@",e.get("acct"))}})),Object(c.a)("div",{},void 0,Object(c.a)("label",{htmlFor:"mute-modal__hide-notifications-checkbox"},void 0,Object(c.a)(d.b,{id:"mute_modal.hide_notifications",defaultMessage:"Hide notifications from this user?"})," ",Object(c.a)(f.a,{id:"mute-modal__hide-notifications-checkbox",checked:n,onChange:this.toggleNotifications})))),Object(c.a)("div",{className:"mute-modal__action-bar"},void 0,Object(c.a)(m.a,{onClick:this.handleCancel,className:"mute-modal__cancel-button"},void 0,Object(c.a)(d.b,{id:"confirmation_modal.cancel",defaultMessage:"Cancel"})),r.a.createElement(m.a,{onClick:this.handleClick,ref:this.setRef},Object(c.a)(d.b,{id:"confirmations.mute.confirm",defaultMessage:"Mute"}))))},t}(r.a.PureComponent))||o)||o}}]); //# sourceMappingURL=mute_modal.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/mute_modal.js.map b/priv/static/packs/flavours/glitch/async/mute_modal.js.map index 0fcd80d50..9e082c645 100644 --- a/priv/static/packs/flavours/glitch/async/mute_modal.js.map +++ b/priv/static/packs/flavours/glitch/async/mute_modal.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/ui/components/mute_modal.js"],"names":["MuteModal","connect","state","isSubmitting","getIn","account","notifications","dispatch","onConfirm","muteAccount","get","onClose","closeModal","onToggleNotifications","toggleHideNotifications","injectIntl","_this","props","c","button","componentDidMount","this","focus","render","_this$props","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","className","react_intl__WEBPACK_IMPORTED_MODULE_6__","id","defaultMessage","values","name","htmlFor","react_toggle__WEBPACK_IMPORTED_MODULE_7___default","a","checked","onChange","toggleNotifications","flavours_glitch_components_button__WEBPACK_IMPORTED_MODULE_8__","onClick","handleCancel","react__WEBPACK_IMPORTED_MODULE_4___default","createElement","handleClick","ref","setRef","React","PureComponent"],"mappings":"2PAqCqBA,EAFpBC,kBAxBuB,SAAAC,GACtB,MAAO,CACLC,aAAcD,EAAME,MAAM,CAAC,UAAW,MAAO,iBAC7CC,QAASH,EAAME,MAAM,CAAC,QAAS,MAAO,YACtCE,cAAeJ,EAAME,MAAM,CAAC,QAAS,MAAO,oBAIrB,SAAAG,GACzB,MAAO,CACLC,UADK,SACKH,EAASC,GACjBC,EAASE,YAAYJ,EAAQK,IAAI,MAAOJ,KAG1CK,QALK,WAMHJ,EAASK,gBAGXC,sBATK,WAUHN,EAASO,qBAMdC,uNAiBe,WACZC,EAAKC,MAAMN,UACXK,EAAKC,MAAMT,UAAUQ,EAAKC,MAAMZ,QAASW,EAAKC,MAAMX,wEAGvC,WACbU,EAAKC,MAAMN,6DAGJ,SAACO,GACRF,EAAKG,OAASD,kEAGM,WACpBF,EAAKC,MAAMJ,wEAlBbO,kBAAA,WACEC,KAAKF,OAAOG,WAoBdC,OAAA,WAAU,IAAAC,EAC2BH,KAAKJ,MAAhCZ,EADAmB,EACAnB,QAASC,EADTkB,EACSlB,cAEjB,OACEmB,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,qCAAf,EACEF,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,8BAAf,EACEF,OAAAC,EAAA,EAAAD,CAAA,cACEA,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CACEC,GAAG,6BACHC,eAAe,wCACfC,OAAQ,CAAEC,KAAMP,OAAAC,EAAA,EAAAD,CAAA,uBAAUpB,EAAQK,IAAI,aAG1Ce,OAAAC,EAAA,EAAAD,CAAA,gBACEA,OAAAC,EAAA,EAAAD,CAAA,SAAOQ,QAAQ,gDAAf,EACER,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBC,GAAG,gCAAgCC,eAAe,uCACnE,IACDL,OAAAC,EAAA,EAAAD,CAACS,EAAAC,EAAD,CAAQN,GAAG,0CAA0CO,QAAS9B,EAAe+B,SAAUhB,KAAKiB,yBAKlGb,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,+BAAf,EACEF,OAAAC,EAAA,EAAAD,CAACc,EAAA,EAAD,CAAQC,QAASnB,KAAKoB,aAAcd,UAAU,kCAA9C,EACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBC,GAAG,4BAA4BC,eAAe,YAElEY,EAAAP,EAAAQ,cAACJ,EAAA,EAAD,CAAQC,QAASnB,KAAKuB,YAAaC,IAAKxB,KAAKyB,QAC3CrB,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBC,GAAG,6BAA6BC,eAAe,gBA5DtCiB,IAAMC","file":"flavours/glitch/async/mute_modal.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { injectIntl, FormattedMessage } from 'react-intl';\nimport Toggle from 'react-toggle';\nimport Button from 'flavours/glitch/components/button';\nimport { closeModal } from 'flavours/glitch/actions/modal';\nimport { muteAccount } from 'flavours/glitch/actions/accounts';\nimport { toggleHideNotifications } from 'flavours/glitch/actions/mutes';\n\n\nconst mapStateToProps = state => {\n return {\n isSubmitting: state.getIn(['reports', 'new', 'isSubmitting']),\n account: state.getIn(['mutes', 'new', 'account']),\n notifications: state.getIn(['mutes', 'new', 'notifications']),\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onConfirm(account, notifications) {\n dispatch(muteAccount(account.get('id'), notifications));\n },\n\n onClose() {\n dispatch(closeModal());\n },\n\n onToggleNotifications() {\n dispatch(toggleHideNotifications());\n },\n };\n};\n\n@connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class MuteModal extends React.PureComponent {\n\n static propTypes = {\n isSubmitting: PropTypes.bool.isRequired,\n account: PropTypes.object.isRequired,\n notifications: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n onConfirm: PropTypes.func.isRequired,\n onToggleNotifications: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n componentDidMount() {\n this.button.focus();\n }\n\n handleClick = () => {\n this.props.onClose();\n this.props.onConfirm(this.props.account, this.props.notifications);\n }\n\n handleCancel = () => {\n this.props.onClose();\n }\n\n setRef = (c) => {\n this.button = c;\n }\n\n toggleNotifications = () => {\n this.props.onToggleNotifications();\n }\n\n render () {\n const { account, notifications } = this.props;\n\n return (\n <div className='modal-root__modal mute-modal'>\n <div className='mute-modal__container'>\n <p>\n <FormattedMessage\n id='confirmations.mute.message'\n defaultMessage='Are you sure you want to mute {name}?'\n values={{ name: <strong>@{account.get('acct')}</strong> }}\n />\n </p>\n <div>\n <label htmlFor='mute-modal__hide-notifications-checkbox'>\n <FormattedMessage id='mute_modal.hide_notifications' defaultMessage='Hide notifications from this user?' />\n {' '}\n <Toggle id='mute-modal__hide-notifications-checkbox' checked={notifications} onChange={this.toggleNotifications} />\n </label>\n </div>\n </div>\n\n <div className='mute-modal__action-bar'>\n <Button onClick={this.handleCancel} className='mute-modal__cancel-button'>\n <FormattedMessage id='confirmation_modal.cancel' defaultMessage='Cancel' />\n </Button>\n <Button onClick={this.handleClick} ref={this.setRef}>\n <FormattedMessage id='confirmations.mute.confirm' defaultMessage='Mute' />\n </Button>\n </div>\n </div>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/ui/components/mute_modal.js"],"names":["MuteModal","connect","state","isSubmitting","getIn","account","notifications","dispatch","onConfirm","muteAccount","get","onClose","closeModal","onToggleNotifications","toggleHideNotifications","injectIntl","_this","props","c","button","componentDidMount","this","focus","render","_this$props","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","className","react_intl__WEBPACK_IMPORTED_MODULE_6__","id","defaultMessage","values","name","htmlFor","react_toggle__WEBPACK_IMPORTED_MODULE_7___default","a","checked","onChange","toggleNotifications","flavours_glitch_components_button__WEBPACK_IMPORTED_MODULE_8__","onClick","handleCancel","react__WEBPACK_IMPORTED_MODULE_4___default","createElement","handleClick","ref","setRef","React","PureComponent"],"mappings":"2PAqCqBA,EAFpBC,kBAxBuB,SAAAC,GACtB,MAAO,CACLC,aAAcD,EAAME,MAAM,CAAC,UAAW,MAAO,iBAC7CC,QAASH,EAAME,MAAM,CAAC,QAAS,MAAO,YACtCE,cAAeJ,EAAME,MAAM,CAAC,QAAS,MAAO,oBAIrB,SAAAG,GACzB,MAAO,CACLC,UADK,SACKH,EAASC,GACjBC,EAASE,YAAYJ,EAAQK,IAAI,MAAOJ,KAG1CK,QALK,WAMHJ,EAASK,gBAGXC,sBATK,WAUHN,EAASO,qBAMdC,uNAiBe,WACZC,EAAKC,MAAMN,UACXK,EAAKC,MAAMT,UAAUQ,EAAKC,MAAMZ,QAASW,EAAKC,MAAMX,wEAGvC,WACbU,EAAKC,MAAMN,6DAGJ,SAACO,GACRF,EAAKG,OAASD,kEAGM,WACpBF,EAAKC,MAAMJ,wEAlBbO,kBAAA,WACEC,KAAKF,OAAOG,WAoBdC,OAAA,WAAU,IAAAC,EAC2BH,KAAKJ,MAAhCZ,EADAmB,EACAnB,QAASC,EADTkB,EACSlB,cAEjB,OACEmB,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,qCAAf,EACEF,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,8BAAf,EACEF,OAAAC,EAAA,EAAAD,CAAA,cACEA,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CACEC,GAAG,6BACHC,eAAe,wCACfC,OAAQ,CAAEC,KAAMP,OAAAC,EAAA,EAAAD,CAAA,uBAAUpB,EAAQK,IAAI,aAG1Ce,OAAAC,EAAA,EAAAD,CAAA,gBACEA,OAAAC,EAAA,EAAAD,CAAA,SAAOQ,QAAQ,gDAAf,EACER,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBC,GAAG,gCAAgCC,eAAe,uCACnE,IACDL,OAAAC,EAAA,EAAAD,CAACS,EAAAC,EAAD,CAAQN,GAAG,0CAA0CO,QAAS9B,EAAe+B,SAAUhB,KAAKiB,yBAKlGb,OAAAC,EAAA,EAAAD,CAAA,OAAKE,UAAU,+BAAf,EACEF,OAAAC,EAAA,EAAAD,CAACc,EAAA,EAAD,CAAQC,QAASnB,KAAKoB,aAAcd,UAAU,kCAA9C,EACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBC,GAAG,4BAA4BC,eAAe,YAElEY,EAAAP,EAAAQ,cAACJ,EAAA,EAAD,CAAQC,QAASnB,KAAKuB,YAAaC,IAAKxB,KAAKyB,QAC3CrB,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CAAkBC,GAAG,6BAA6BC,eAAe,gBA5DtCiB,IAAMC","file":"flavours/glitch/async/mute_modal.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { injectIntl, FormattedMessage } from 'react-intl';\nimport Toggle from 'react-toggle';\nimport Button from 'flavours/glitch/components/button';\nimport { closeModal } from 'flavours/glitch/actions/modal';\nimport { muteAccount } from 'flavours/glitch/actions/accounts';\nimport { toggleHideNotifications } from 'flavours/glitch/actions/mutes';\n\n\nconst mapStateToProps = state => {\n return {\n isSubmitting: state.getIn(['reports', 'new', 'isSubmitting']),\n account: state.getIn(['mutes', 'new', 'account']),\n notifications: state.getIn(['mutes', 'new', 'notifications']),\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n onConfirm(account, notifications) {\n dispatch(muteAccount(account.get('id'), notifications));\n },\n\n onClose() {\n dispatch(closeModal());\n },\n\n onToggleNotifications() {\n dispatch(toggleHideNotifications());\n },\n };\n};\n\n@connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class MuteModal extends React.PureComponent {\n\n static propTypes = {\n isSubmitting: PropTypes.bool.isRequired,\n account: PropTypes.object.isRequired,\n notifications: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n onConfirm: PropTypes.func.isRequired,\n onToggleNotifications: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n componentDidMount() {\n this.button.focus();\n }\n\n handleClick = () => {\n this.props.onClose();\n this.props.onConfirm(this.props.account, this.props.notifications);\n }\n\n handleCancel = () => {\n this.props.onClose();\n }\n\n setRef = (c) => {\n this.button = c;\n }\n\n toggleNotifications = () => {\n this.props.onToggleNotifications();\n }\n\n render () {\n const { account, notifications } = this.props;\n\n return (\n <div className='modal-root__modal mute-modal'>\n <div className='mute-modal__container'>\n <p>\n <FormattedMessage\n id='confirmations.mute.message'\n defaultMessage='Are you sure you want to mute {name}?'\n values={{ name: <strong>@{account.get('acct')}</strong> }}\n />\n </p>\n <div>\n <label htmlFor='mute-modal__hide-notifications-checkbox'>\n <FormattedMessage id='mute_modal.hide_notifications' defaultMessage='Hide notifications from this user?' />\n {' '}\n <Toggle id='mute-modal__hide-notifications-checkbox' checked={notifications} onChange={this.toggleNotifications} />\n </label>\n </div>\n </div>\n\n <div className='mute-modal__action-bar'>\n <Button onClick={this.handleCancel} className='mute-modal__cancel-button'>\n <FormattedMessage id='confirmation_modal.cancel' defaultMessage='Cancel' />\n </Button>\n <Button onClick={this.handleClick} ref={this.setRef}>\n <FormattedMessage id='confirmations.mute.confirm' defaultMessage='Mute' />\n </Button>\n </div>\n </div>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/mutes.js b/priv/static/packs/flavours/glitch/async/mutes.js index 5e66aa7c2..4f67fcb4e 100644 --- a/priv/static/packs/flavours/glitch/async/mutes.js +++ b/priv/static/packs/flavours/glitch/async/mutes.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{675:function(t,e,a){"use strict";a.r(e),a.d(e,"default",function(){return y});var c,n,o,s=a(1),i=a(6),r=a(0),l=a(2),u=(a(3),a(20)),d=a(5),p=a.n(d),b=a(26),j=a.n(b),O=a(288),h=a(295),f=a(639),m=a(643),v=a(624),g=a(66),w=a(7),M=a(24),S=Object(w.f)({heading:{id:"column.mutes",defaultMessage:"Muted users"}}),y=Object(u.connect)(function(t){return{accountIds:t.getIn(["user_lists","mutes","items"])}})(c=Object(w.g)((o=n=function(n){function t(){for(var a,t=arguments.length,e=new Array(t),c=0;c<t;c++)e[c]=arguments[c];return a=n.call.apply(n,[this].concat(e))||this,Object(l.a)(Object(r.a)(Object(r.a)(a)),"handleScroll",function(t){var e=t.target;e.scrollTop===e.scrollHeight-e.clientHeight&&a.props.dispatch(Object(g.e)())}),Object(l.a)(Object(r.a)(Object(r.a)(a)),"shouldUpdateScroll",function(t,e){var a=e.location;return!(((t||{}).location||{}).state||{}).mastodonModalOpen&&!(a.state&&a.state.mastodonModalOpen)}),a}Object(i.a)(t,n);var e=t.prototype;return e.componentWillMount=function(){this.props.dispatch(Object(g.f)())},e.render=function(){var t=this.props,e=t.intl,a=t.accountIds;return a?Object(s.a)(f.a,{name:"mutes",icon:"volume-off",heading:e.formatMessage(S.heading)},void 0,Object(s.a)(m.a,{}),Object(s.a)(h.a,{scrollKey:"mutes",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(s.a)("div",{className:"scrollable mutes",onScroll:this.handleScroll},void 0,a.map(function(t){return Object(s.a)(v.a,{id:t},t)})))):Object(s.a)(f.a,{},void 0,Object(s.a)(O.a,{}))},t}(M.a),Object(l.a)(n,"propTypes",{params:p.a.object.isRequired,dispatch:p.a.func.isRequired,accountIds:j.a.list,intl:p.a.object.isRequired}),c=o))||c)||c}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{676:function(t,e,a){"use strict";a.r(e),a.d(e,"default",function(){return y});var c,n,o,s=a(1),i=a(6),r=a(0),l=a(2),u=(a(3),a(20)),d=a(5),p=a.n(d),b=a(26),j=a.n(b),O=a(290),h=a(297),f=a(640),m=a(644),v=a(625),g=a(67),w=a(7),M=a(24),S=Object(w.f)({heading:{id:"column.mutes",defaultMessage:"Muted users"}}),y=Object(u.connect)(function(t){return{accountIds:t.getIn(["user_lists","mutes","items"])}})(c=Object(w.g)((o=n=function(n){function t(){for(var a,t=arguments.length,e=new Array(t),c=0;c<t;c++)e[c]=arguments[c];return a=n.call.apply(n,[this].concat(e))||this,Object(l.a)(Object(r.a)(Object(r.a)(a)),"handleScroll",function(t){var e=t.target;e.scrollTop===e.scrollHeight-e.clientHeight&&a.props.dispatch(Object(g.e)())}),Object(l.a)(Object(r.a)(Object(r.a)(a)),"shouldUpdateScroll",function(t,e){var a=e.location;return!(((t||{}).location||{}).state||{}).mastodonModalOpen&&!(a.state&&a.state.mastodonModalOpen)}),a}Object(i.a)(t,n);var e=t.prototype;return e.componentWillMount=function(){this.props.dispatch(Object(g.f)())},e.render=function(){var t=this.props,e=t.intl,a=t.accountIds;return a?Object(s.a)(f.a,{name:"mutes",icon:"volume-off",heading:e.formatMessage(S.heading)},void 0,Object(s.a)(m.a,{}),Object(s.a)(h.a,{scrollKey:"mutes",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(s.a)("div",{className:"scrollable mutes",onScroll:this.handleScroll},void 0,a.map(function(t){return Object(s.a)(v.a,{id:t},t)})))):Object(s.a)(f.a,{},void 0,Object(s.a)(O.a,{}))},t}(M.a),Object(l.a)(n,"propTypes",{params:p.a.object.isRequired,dispatch:p.a.func.isRequired,accountIds:j.a.list,intl:p.a.object.isRequired}),c=o))||c)||c}}]); //# sourceMappingURL=mutes.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/mutes.js.map b/priv/static/packs/flavours/glitch/async/mutes.js.map index 725b1fd0f..acfd0fb82 100644 --- a/priv/static/packs/flavours/glitch/async/mutes.js.map +++ b/priv/static/packs/flavours/glitch/async/mutes.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/mutes/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","Mutes","connect","state","accountIds","getIn","injectIntl","e","_e$target","target","scrollTop","scrollHeight","clientHeight","_this","props","dispatch","expandMutes","prevRouterProps","_ref","location","mastodonModalOpen","componentWillMount","this","fetchMutes","render","_this$props","intl","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_10__","name","icon","formatMessage","flavours_glitch_components_column_back_button_slim__WEBPACK_IMPORTED_MODULE_11__","react_router_scroll_4__WEBPACK_IMPORTED_MODULE_9__","scrollKey","shouldUpdateScroll","className","onScroll","handleScroll","map","flavours_glitch_containers_account_container__WEBPACK_IMPORTED_MODULE_12__","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_8__","ImmutablePureComponent","params","PropTypes","object","isRequired","func","ImmutablePropTypes","list"],"mappings":"kSAaMA,EAAWC,YAAe,CAC9BC,QAAO,CAAAC,GAAA,eAAAC,eAAA,iBASYC,EAFpBC,kBAJuB,SAAAC,GAAK,MAAK,CAChCC,WAAYD,EAAME,MAAM,CAAC,aAAc,QAAS,eAIjDC,2NAcgB,SAACC,GAAM,IAAAC,EAC8BD,EAAEE,OADhCD,EACZE,YADYF,EACDG,aADCH,EACaI,cAG/BC,EAAKC,MAAMC,SAASC,8EAIH,SAACC,EAADC,GAAmC,IAAfC,EAAeD,EAAfC,SACvC,UAAOF,GAAmB,IAAIE,UAAY,IAAIhB,OAAS,IAAIiB,qBAClDD,EAAShB,OAASgB,EAAShB,MAAMiB,mEAd5CC,mBAAA,WACEC,KAAKR,MAAMC,SAASQ,kBAgBtBC,OAAA,WAAU,IAAAC,EACqBH,KAAKR,MAA1BY,EADAD,EACAC,KAAMtB,EADNqB,EACMrB,WAEd,OAAKA,EASHuB,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAQC,KAAK,QAAQC,KAAK,aAAajC,QAAS4B,EAAKM,cAAcpC,EAASE,eAA5E,EACE6B,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,IACAN,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAiBC,UAAU,QAAQC,mBAAoBd,KAAKc,yBAA5D,EACET,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,mBAAmBC,SAAUhB,KAAKiB,mBAAjD,EACGnC,EAAWoC,IAAI,SAAAzC,GAAE,OAChB4B,OAAAC,EAAA,EAAAD,CAACc,EAAA,EAAD,CAA2B1C,GAAIA,GAARA,QAZ7B4B,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACe,EAAA,EAAD,SAhCyBC,+BAEd,CACjBC,OAAQC,IAAUC,OAAOC,WACzBhC,SAAU8B,IAAUG,KAAKD,WACzB3C,WAAY6C,IAAmBC,KAC/BxB,KAAMmB,IAAUC,OAAOC","file":"flavours/glitch/async/mutes.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport { fetchMutes, expandMutes } from 'flavours/glitch/actions/mutes';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n heading: { id: 'column.mutes', defaultMessage: 'Muted users' },\n});\n\nconst mapStateToProps = state => ({\n accountIds: state.getIn(['user_lists', 'mutes', 'items']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Mutes extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchMutes());\n }\n\n handleScroll = (e) => {\n const { scrollTop, scrollHeight, clientHeight } = e.target;\n\n if (scrollTop === scrollHeight - clientHeight) {\n this.props.dispatch(expandMutes());\n }\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { intl, accountIds } = this.props;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column name='mutes' icon='volume-off' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n <ScrollContainer scrollKey='mutes' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable mutes' onScroll={this.handleScroll}>\n {accountIds.map(id =>\n <AccountContainer key={id} id={id} />\n )}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/mutes/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","Mutes","connect","state","accountIds","getIn","injectIntl","e","_e$target","target","scrollTop","scrollHeight","clientHeight","_this","props","dispatch","expandMutes","prevRouterProps","_ref","location","mastodonModalOpen","componentWillMount","this","fetchMutes","render","_this$props","intl","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_10__","name","icon","formatMessage","flavours_glitch_components_column_back_button_slim__WEBPACK_IMPORTED_MODULE_11__","react_router_scroll_4__WEBPACK_IMPORTED_MODULE_9__","scrollKey","shouldUpdateScroll","className","onScroll","handleScroll","map","flavours_glitch_containers_account_container__WEBPACK_IMPORTED_MODULE_12__","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_8__","ImmutablePureComponent","params","PropTypes","object","isRequired","func","ImmutablePropTypes","list"],"mappings":"kSAaMA,EAAWC,YAAe,CAC9BC,QAAO,CAAAC,GAAA,eAAAC,eAAA,iBASYC,EAFpBC,kBAJuB,SAAAC,GAAK,MAAK,CAChCC,WAAYD,EAAME,MAAM,CAAC,aAAc,QAAS,eAIjDC,2NAcgB,SAACC,GAAM,IAAAC,EAC8BD,EAAEE,OADhCD,EACZE,YADYF,EACDG,aADCH,EACaI,cAG/BC,EAAKC,MAAMC,SAASC,8EAIH,SAACC,EAADC,GAAmC,IAAfC,EAAeD,EAAfC,SACvC,UAAOF,GAAmB,IAAIE,UAAY,IAAIhB,OAAS,IAAIiB,qBAClDD,EAAShB,OAASgB,EAAShB,MAAMiB,mEAd5CC,mBAAA,WACEC,KAAKR,MAAMC,SAASQ,kBAgBtBC,OAAA,WAAU,IAAAC,EACqBH,KAAKR,MAA1BY,EADAD,EACAC,KAAMtB,EADNqB,EACMrB,WAEd,OAAKA,EASHuB,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,CAAQC,KAAK,QAAQC,KAAK,aAAajC,QAAS4B,EAAKM,cAAcpC,EAASE,eAA5E,EACE6B,OAAAC,EAAA,EAAAD,CAACM,EAAA,EAAD,IACAN,OAAAC,EAAA,EAAAD,CAACO,EAAA,EAAD,CAAiBC,UAAU,QAAQC,mBAAoBd,KAAKc,yBAA5D,EACET,OAAAC,EAAA,EAAAD,CAAA,OAAKU,UAAU,mBAAmBC,SAAUhB,KAAKiB,mBAAjD,EACGnC,EAAWoC,IAAI,SAAAzC,GAAE,OAChB4B,OAAAC,EAAA,EAAAD,CAACc,EAAA,EAAD,CAA2B1C,GAAIA,GAARA,QAZ7B4B,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACe,EAAA,EAAD,SAhCyBC,+BAEd,CACjBC,OAAQC,IAAUC,OAAOC,WACzBhC,SAAU8B,IAAUG,KAAKD,WACzB3C,WAAY6C,IAAmBC,KAC/BxB,KAAMmB,IAAUC,OAAOC","file":"flavours/glitch/async/mutes.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport { fetchMutes, expandMutes } from 'flavours/glitch/actions/mutes';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n heading: { id: 'column.mutes', defaultMessage: 'Muted users' },\n});\n\nconst mapStateToProps = state => ({\n accountIds: state.getIn(['user_lists', 'mutes', 'items']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Mutes extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchMutes());\n }\n\n handleScroll = (e) => {\n const { scrollTop, scrollHeight, clientHeight } = e.target;\n\n if (scrollTop === scrollHeight - clientHeight) {\n this.props.dispatch(expandMutes());\n }\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { intl, accountIds } = this.props;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column name='mutes' icon='volume-off' heading={intl.formatMessage(messages.heading)}>\n <ColumnBackButtonSlim />\n <ScrollContainer scrollKey='mutes' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable mutes' onScroll={this.handleScroll}>\n {accountIds.map(id =>\n <AccountContainer key={id} id={id} />\n )}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/notifications.js b/priv/static/packs/flavours/glitch/async/notifications.js index 48c44150a..c1252cfce 100644 --- a/priv/static/packs/flavours/glitch/async/notifications.js +++ b/priv/static/packs/flavours/glitch/async/notifications.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{699:function(t,e,n){"use strict";n.r(e);var p=n(1),i=n(6),a=n(0),s=n(2),o=n(53),c=n.n(o),l=n(3),O=n.n(l),r=n(20),j=n(429),v=n(427),f=n(33),u=n(202),d=n(166),b=n(5),g=n.n(b),h=n(26),m=n.n(h),M=n(24),C=n(632),w=n(7),_=n(176),y=n(319),k=n(624),P=n(528),N=function(o){function t(){for(var i,t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return i=o.call.apply(o,[this].concat(e))||this,Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleMoveUp",function(){var t=i.props,e=t.notification;(0,t.onMoveUp)(e.get("id"))}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleMoveDown",function(){var t=i.props,e=t.notification;(0,t.onMoveDown)(e.get("id"))}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleOpen",function(){i.handleOpenProfile()}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleOpenProfile",function(){var t=i.props.notification;i.context.router.history.push("/accounts/"+t.getIn(["account","id"]))}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleMention",function(t){t.preventDefault();var e=i.props,n=e.notification;(0,e.onMention)(n.get("account"),i.context.router.history)}),i}Object(i.a)(t,o);var e=t.prototype;return e.getHandlers=function(){return{moveUp:this.handleMoveUp,moveDown:this.handleMoveDown,open:this.handleOpen,openProfile:this.handleOpenProfile,mention:this.handleMention,reply:this.handleMention}},e.render=function(){var t=this.props,e=t.account,n=t.notification,i=t.hidden,o=e.get("display_name_html")||e.get("username"),a=Object(p.a)("bdi",{},void 0,Object(p.a)(y.a,{className:"notification__display-name",href:e.get("url"),title:e.get("acct"),to:"/accounts/"+e.get("id"),dangerouslySetInnerHTML:{__html:o}}));return Object(p.a)(_.HotKeys,{handlers:this.getHandlers()},void 0,Object(p.a)("div",{className:"notification notification-follow focusable",tabIndex:"0"},void 0,Object(p.a)("div",{className:"notification__message"},void 0,Object(p.a)("div",{className:"notification__favourite-icon-wrapper"},void 0,Object(p.a)("i",{className:"fa fa-fw fa-user-plus"})),Object(p.a)(w.b,{id:"notification.follow",defaultMessage:"{name} followed you",values:{name:a}})),Object(p.a)(k.a,{hidden:i,id:e.get("id"),withNote:!1}),Object(p.a)(P.a,{notification:n})))},t}(M.a);Object(s.a)(N,"propTypes",{hidden:g.a.bool,id:g.a.string.isRequired,account:m.a.map.isRequired,notification:m.a.map.isRequired});var I=function(t){function e(){return t.apply(this,arguments)||this}return Object(i.a)(e,t),e.prototype.render=function(){var t=this.props,e=t.hidden,n=t.notification,i=t.onMoveDown,o=t.onMoveUp,a=t.onMention,s=t.getScrollPosition,c=t.updateScrollBottom;switch(n.get("type")){case"follow":return Object(p.a)(N,{hidden:e,id:n.get("id"),account:n.get("account"),notification:n,onMoveDown:i,onMoveUp:o,onMention:a});case"mention":return Object(p.a)(C.a,{containerId:n.get("id"),hidden:e,id:n.get("status"),notification:n,onMoveDown:i,onMoveUp:o,onMention:a,contextType:"notifications",getScrollPosition:s,updateScrollBottom:c,withDismiss:!0});case"favourite":return Object(p.a)(C.a,{containerId:n.get("id"),hidden:e,id:n.get("status"),account:n.get("account"),prepend:"favourite",muted:!0,notification:n,onMoveDown:i,onMoveUp:o,onMention:a,getScrollPosition:s,updateScrollBottom:c,withDismiss:!0});case"reblog":return Object(p.a)(C.a,{containerId:n.get("id"),hidden:e,id:n.get("status"),account:n.get("account"),prepend:"reblog",muted:!0,notification:n,onMoveDown:i,onMoveUp:o,onMention:a,getScrollPosition:s,updateScrollBottom:c,withDismiss:!0});default:return null}},e}(M.a);Object(s.a)(I,"propTypes",{notification:m.a.map.isRequired,hidden:g.a.bool,onMoveUp:g.a.func.isRequired,onMoveDown:g.a.func.isRequired,onMention:g.a.func.isRequired,getScrollPosition:g.a.func,updateScrollBottom:g.a.func});var S,x,U,D,F=n(19),q=Object(r.connect)(function(){var n=Object(d.e)();return function(t,e){return{notification:n(t,e.notification,e.accountId),notifCleaning:t.getIn(["notifications","cleaningMode"])}}},function(n){return{onMention:function(t,e){n(Object(F.U)(t,e))}}})(I),T=function(t){function e(){return t.apply(this,arguments)||this}return Object(i.a)(e,t),e.prototype.render=function(){return Object(p.a)("button",{className:"text-btn column-header__setting-btn",tabIndex:"0",onClick:this.props.onClick},void 0,Object(p.a)("i",{className:"fa fa-eraser"})," ",Object(p.a)(w.b,{id:"notifications.clear",defaultMessage:"Clear notifications"}))},e}(O.a.Component),A=n(910),L=function(o){function t(){for(var n,t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return n=o.call.apply(o,[this].concat(e))||this,Object(s.a)(Object(a.a)(Object(a.a)(n)),"onPushChange",function(t,e){n.props.onChange(["push"].concat(t),e)}),n}return Object(i.a)(t,o),t.prototype.render=function(){var t=this.props,e=t.settings,n=t.pushSettings,i=t.onChange,o=t.onClear,a=Object(p.a)(w.b,{id:"notifications.column_settings.filter_bar.show",defaultMessage:"Show"}),s=Object(p.a)(w.b,{id:"notifications.column_settings.filter_bar.advanced",defaultMessage:"Display all categories"}),c=Object(p.a)(w.b,{id:"notifications.column_settings.alert",defaultMessage:"Desktop notifications"}),l=Object(p.a)(w.b,{id:"notifications.column_settings.show",defaultMessage:"Show in column"}),r=Object(p.a)(w.b,{id:"notifications.column_settings.sound",defaultMessage:"Play sound"}),f=n.get("browserSupport")&&n.get("isSubscribed"),u=f&&Object(p.a)(w.b,{id:"notifications.column_settings.push",defaultMessage:"Push notifications"}),d=f&&Object(p.a)(w.b,{id:"notifications.column_settings.push_meta",defaultMessage:"This device"});return Object(p.a)("div",{},void 0,Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(T,{onClick:o})),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-filter-bar"},void 0,Object(p.a)("span",{id:"notifications-filter-bar",className:"column-settings__section"},void 0,Object(p.a)(w.b,{id:"notifications.column_settings.filter_bar.category",defaultMessage:"Quick filter bar"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(A.a,{id:"show-filter-bar",prefix:"notifications",settings:e,settingPath:["quickFilter","show"],onChange:i,label:a}),Object(p.a)(A.a,{id:"show-filter-bar",prefix:"notifications",settings:e,settingPath:["quickFilter","advanced"],onChange:i,label:s}))),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-follow"},void 0,Object(p.a)("span",{id:"notifications-follow",className:"column-settings__section"},void 0,Object(p.a)(w.b,{id:"notifications.column_settings.follow",defaultMessage:"New followers:"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(A.a,{prefix:"notifications_desktop",settings:e,settingPath:["alerts","follow"],onChange:i,label:c}),f&&Object(p.a)(A.a,{prefix:"notifications_push",settings:n,settingPath:["alerts","follow"],meta:d,onChange:this.onPushChange,label:u}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["shows","follow"],onChange:i,label:l}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["sounds","follow"],onChange:i,label:r}))),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-favourite"},void 0,Object(p.a)("span",{id:"notifications-favourite",className:"column-settings__section"},void 0,Object(p.a)(w.b,{id:"notifications.column_settings.favourite",defaultMessage:"Favourites:"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(A.a,{prefix:"notifications_desktop",settings:e,settingPath:["alerts","favourite"],onChange:i,label:c}),f&&Object(p.a)(A.a,{prefix:"notifications_push",settings:n,settingPath:["alerts","favourite"],meta:d,onChange:this.onPushChange,label:u}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["shows","favourite"],onChange:i,label:l}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["sounds","favourite"],onChange:i,label:r}))),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-mention"},void 0,Object(p.a)("span",{id:"notifications-mention",className:"column-settings__section"},void 0,Object(p.a)(w.b,{id:"notifications.column_settings.mention",defaultMessage:"Mentions:"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(A.a,{prefix:"notifications_desktop",settings:e,settingPath:["alerts","mention"],onChange:i,label:c}),f&&Object(p.a)(A.a,{prefix:"notifications_push",settings:n,settingPath:["alerts","mention"],meta:d,onChange:this.onPushChange,label:u}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["shows","mention"],onChange:i,label:l}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["sounds","mention"],onChange:i,label:r}))),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-reblog"},void 0,Object(p.a)("span",{id:"notifications-reblog",className:"column-settings__section"},void 0,Object(p.a)(w.b,{id:"notifications.column_settings.reblog",defaultMessage:"Boosts:"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(A.a,{prefix:"notifications_desktop",settings:e,settingPath:["alerts","reblog"],onChange:i,label:c}),f&&Object(p.a)(A.a,{prefix:"notifications_push",settings:n,settingPath:["alerts","reblog"],meta:d,onChange:this.onPushChange,label:u}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["shows","reblog"],onChange:i,label:l}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["sounds","reblog"],onChange:i,label:r}))))},t}(O.a.PureComponent),R=n(82),B=n(180),H=n(44),z=Object(w.f)({clearMessage:{id:"notifications.clear_confirmation",defaultMessage:"Are you sure you want to permanently clear all your notifications?"},clearConfirm:{id:"notifications.clear",defaultMessage:"Clear notifications"}}),E=Object(w.g)(Object(r.connect)(function(t){return{settings:t.getIn(["settings","notifications"]),pushSettings:t.get("push_notifications")}},function(n,t){var e=t.intl;return{onChange:function(t,e){"push"===t[0]?n(Object(B.e)(t.slice(1),e)):"quickFilter"===t[0]?(n(Object(R.c)(["notifications"].concat(t),e)),n(Object(f.z)("all"))):n(Object(R.c)(["notifications"].concat(t),e))},onClear:function(){n(Object(H.d)("CONFIRM",{message:e.formatMessage(z.clearMessage),confirm:e.formatMessage(z.clearConfirm),onConfirm:function(){return n(Object(f.q)())}}))}}})(L)),G=Object(w.f)({mentions:{id:"notifications.filter.mentions",defaultMessage:"Mentions"},favourites:{id:"notifications.filter.favourites",defaultMessage:"Favourites"},boosts:{id:"notifications.filter.boosts",defaultMessage:"Boosts"},follows:{id:"notifications.filter.follows",defaultMessage:"Follows"}}),J=Object(w.g)(S=function(t){function e(){return t.apply(this,arguments)||this}Object(i.a)(e,t);var n=e.prototype;return n.onClick=function(t){var e=this;return function(){return e.props.selectFilter(t)}},n.render=function(){var t=this.props,e=t.selectedFilter,n=t.advancedMode,i=t.intl;return n?Object(p.a)("div",{className:"notification__filter-bar"},void 0,Object(p.a)("button",{className:"all"===e?"active":"",onClick:this.onClick("all")},void 0,Object(p.a)(w.b,{id:"notifications.filter.all",defaultMessage:"All"})),Object(p.a)("button",{className:"mention"===e?"active":"",onClick:this.onClick("mention"),title:i.formatMessage(G.mentions)},void 0,Object(p.a)("i",{className:"fa fa-fw fa-at"})),Object(p.a)("button",{className:"favourite"===e?"active":"",onClick:this.onClick("favourite"),title:i.formatMessage(G.favourites)},void 0,Object(p.a)("i",{className:"fa fa-fw fa-star"})),Object(p.a)("button",{className:"reblog"===e?"active":"",onClick:this.onClick("reblog"),title:i.formatMessage(G.boosts)},void 0,Object(p.a)("i",{className:"fa fa-fw fa-retweet"})),Object(p.a)("button",{className:"follow"===e?"active":"",onClick:this.onClick("follow"),title:i.formatMessage(G.follows)},void 0,Object(p.a)("i",{className:"fa fa-fw fa-user-plus"}))):Object(p.a)("div",{className:"notification__filter-bar"},void 0,Object(p.a)("button",{className:"all"===e?"active":"",onClick:this.onClick("all")},void 0,Object(p.a)(w.b,{id:"notifications.filter.all",defaultMessage:"All"})),Object(p.a)("button",{className:"mention"===e?"active":"",onClick:this.onClick("mention")},void 0,Object(p.a)(w.b,{id:"notifications.filter.mentions",defaultMessage:"Mentions"})))},e}(O.a.PureComponent))||S,K=Object(r.connect)(function(t){return{selectedFilter:t.getIn(["settings","notifications","quickFilter","active"]),advancedMode:t.getIn(["settings","notifications","quickFilter","advanced"])}},function(e){return{selectFilter:function(t){e(Object(f.z)(t))}}})(J),Q=n(57),W=n(4),Y=n(648),V=n(649);n.d(e,"default",function(){return $});var X=Object(w.f)({title:{id:"column.notifications",defaultMessage:"Notifications"}}),Z=Object(Q.a)([function(t){return t.getIn(["settings","notifications","quickFilter","show"])},function(t){return t.getIn(["settings","notifications","quickFilter","active"])},function(t){return Object(W.List)(t.getIn(["settings","notifications","shows"]).filter(function(t){return!t}).keys())},function(t){return t.getIn(["notifications","items"])}],function(t,e,n,i){return t&&"all"!==e?i.filter(function(t){return null!==t&&e===t.get("type")}):i.filterNot(function(t){return null!==t&&n.includes(t.get("type"))})}),$=Object(r.connect)(function(t){return{showFilterBar:t.getIn(["settings","notifications","quickFilter","show"]),notifications:Z(t),localSettings:t.get("local_settings"),isLoading:t.getIn(["notifications","isLoading"],!0),isUnread:0<t.getIn(["notifications","unread"]),hasMore:t.getIn(["notifications","hasMore"]),notifCleaningActive:t.getIn(["notifications","cleaningMode"])}},function(e){return{onEnterCleaningMode:function(t){e(Object(f.s)(t))},onMount:function(){e(Object(f.w)())},onUnmount:function(){e(Object(f.A)())},dispatch:e}})(x=Object(w.g)((D=U=function(o){function t(){for(var i,t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return i=o.call.apply(o,[this].concat(e))||this,Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleLoadGap",function(t){i.props.dispatch(Object(f.t)({maxId:t}))}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleLoadOlder",c()(function(){var t=i.props.notifications.last();i.props.dispatch(Object(f.t)({maxId:t&&t.get("id")}))},300,{leading:!0})),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleScrollToTop",c()(function(){i.props.dispatch(Object(f.y)(!0))},100)),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleScroll",c()(function(){i.props.dispatch(Object(f.y)(!1))},100)),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handlePin",function(){var t=i.props,e=t.columnId,n=t.dispatch;n(e?Object(u.h)(e):Object(u.e)("NOTIFICATIONS",{}))}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleMove",function(t){var e=i.props,n=e.columnId;(0,e.dispatch)(Object(u.g)(n,t))}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleHeaderClick",function(){i.column.scrollTop()}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"setColumnRef",function(t){i.column=t}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleMoveUp",function(e){var t=i.props.notifications.findIndex(function(t){return null!==t&&t.get("id")===e})-1;i._selectChild(t)}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleMoveDown",function(e){var t=i.props.notifications.findIndex(function(t){return null!==t&&t.get("id")===e})+1;i._selectChild(t)}),i}Object(i.a)(t,o);var e=t.prototype;return e._selectChild=function(t){var e=this.column.node.querySelector("article:nth-of-type("+(t+1)+") .focusable");e&&e.focus()},e.componentDidMount=function(){var t=this.props.onMount;t&&t()},e.componentWillUnmount=function(){var t=this.props.onUnmount;t&&t()},e.render=function(){var n=this,t=this.props,e=t.intl,i=t.notifications,o=t.shouldUpdateScroll,a=t.isLoading,s=t.isUnread,c=t.columnId,l=t.multiColumn,r=t.hasMore,f=t.showFilterBar,u=!!c,d=Object(p.a)(w.b,{id:"empty_column.notifications",defaultMessage:"You don't have any notifications yet. Interact with others to start the conversation."}),b=null,g=f?Object(p.a)(K,{}):null;b=a&&this.scrollableContent?this.scrollableContent:0<i.size||r?i.map(function(t,e){return null===t?Object(p.a)(V.a,{disabled:a,maxId:0<e?i.getIn([e-1,"id"]):null,onClick:n.handleLoadGap},"gap:"+i.getIn([e+1,"id"])):Object(p.a)(q,{notification:t,accountId:t.get("account"),onMoveUp:n.handleMoveUp,onMoveDown:n.handleMoveDown},t.get("id"))}):null,this.scrollableContent=b;var h=Object(p.a)(Y.a,{scrollKey:"notifications-"+c,trackScroll:!u,isLoading:a,showLoading:a&&0===i.size,hasMore:r,emptyMessage:d,onLoadMore:this.handleLoadOlder,onScrollToTop:this.handleScrollToTop,onScroll:this.handleScroll,shouldUpdateScroll:o},void 0,b);return O.a.createElement(j.a,{ref:this.setColumnRef,name:"notifications",extraClasses:this.props.notifCleaningActive?"notif-cleaning":null,label:e.formatMessage(X.title)},Object(p.a)(v.a,{icon:"bell",active:s,title:e.formatMessage(X.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:u,multiColumn:l,localSettings:this.props.localSettings,notifCleaning:!0,notifCleaningActive:this.props.notifCleaningActive,onEnterCleaningMode:this.props.onEnterCleaningMode},void 0,Object(p.a)(E,{})),g,h)},t}(O.a.PureComponent),Object(s.a)(U,"defaultProps",{trackScroll:!0}),x=D))||x)||x}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{700:function(t,e,n){"use strict";n.r(e);var p=n(1),i=n(6),a=n(0),s=n(2),o=n(54),c=n.n(o),l=n(3),O=n.n(l),r=n(20),j=n(430),v=n(428),f=n(34),u=n(205),d=n(169),b=n(5),g=n.n(b),h=n(26),m=n.n(h),M=n(24),C=n(633),w=n(7),_=n(179),y=n(321),k=n(625),P=n(529),N=function(o){function t(){for(var i,t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return i=o.call.apply(o,[this].concat(e))||this,Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleMoveUp",function(){var t=i.props,e=t.notification;(0,t.onMoveUp)(e.get("id"))}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleMoveDown",function(){var t=i.props,e=t.notification;(0,t.onMoveDown)(e.get("id"))}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleOpen",function(){i.handleOpenProfile()}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleOpenProfile",function(){var t=i.props.notification;i.context.router.history.push("/accounts/"+t.getIn(["account","id"]))}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleMention",function(t){t.preventDefault();var e=i.props,n=e.notification;(0,e.onMention)(n.get("account"),i.context.router.history)}),i}Object(i.a)(t,o);var e=t.prototype;return e.getHandlers=function(){return{moveUp:this.handleMoveUp,moveDown:this.handleMoveDown,open:this.handleOpen,openProfile:this.handleOpenProfile,mention:this.handleMention,reply:this.handleMention}},e.render=function(){var t=this.props,e=t.account,n=t.notification,i=t.hidden,o=e.get("display_name_html")||e.get("username"),a=Object(p.a)("bdi",{},void 0,Object(p.a)(y.a,{className:"notification__display-name",href:e.get("url"),title:e.get("acct"),to:"/accounts/"+e.get("id"),dangerouslySetInnerHTML:{__html:o}}));return Object(p.a)(_.HotKeys,{handlers:this.getHandlers()},void 0,Object(p.a)("div",{className:"notification notification-follow focusable",tabIndex:"0"},void 0,Object(p.a)("div",{className:"notification__message"},void 0,Object(p.a)("div",{className:"notification__favourite-icon-wrapper"},void 0,Object(p.a)("i",{className:"fa fa-fw fa-user-plus"})),Object(p.a)(w.b,{id:"notification.follow",defaultMessage:"{name} followed you",values:{name:a}})),Object(p.a)(k.a,{hidden:i,id:e.get("id"),withNote:!1}),Object(p.a)(P.a,{notification:n})))},t}(M.a);Object(s.a)(N,"propTypes",{hidden:g.a.bool,id:g.a.string.isRequired,account:m.a.map.isRequired,notification:m.a.map.isRequired});var I=function(t){function e(){return t.apply(this,arguments)||this}return Object(i.a)(e,t),e.prototype.render=function(){var t=this.props,e=t.hidden,n=t.notification,i=t.onMoveDown,o=t.onMoveUp,a=t.onMention,s=t.getScrollPosition,c=t.updateScrollBottom;switch(n.get("type")){case"follow":return Object(p.a)(N,{hidden:e,id:n.get("id"),account:n.get("account"),notification:n,onMoveDown:i,onMoveUp:o,onMention:a});case"mention":return Object(p.a)(C.a,{containerId:n.get("id"),hidden:e,id:n.get("status"),notification:n,onMoveDown:i,onMoveUp:o,onMention:a,contextType:"notifications",getScrollPosition:s,updateScrollBottom:c,withDismiss:!0});case"favourite":return Object(p.a)(C.a,{containerId:n.get("id"),hidden:e,id:n.get("status"),account:n.get("account"),prepend:"favourite",muted:!0,notification:n,onMoveDown:i,onMoveUp:o,onMention:a,getScrollPosition:s,updateScrollBottom:c,withDismiss:!0});case"reblog":return Object(p.a)(C.a,{containerId:n.get("id"),hidden:e,id:n.get("status"),account:n.get("account"),prepend:"reblog",muted:!0,notification:n,onMoveDown:i,onMoveUp:o,onMention:a,getScrollPosition:s,updateScrollBottom:c,withDismiss:!0});default:return null}},e}(M.a);Object(s.a)(I,"propTypes",{notification:m.a.map.isRequired,hidden:g.a.bool,onMoveUp:g.a.func.isRequired,onMoveDown:g.a.func.isRequired,onMention:g.a.func.isRequired,getScrollPosition:g.a.func,updateScrollBottom:g.a.func});var S,x,U,D,F=n(19),q=Object(r.connect)(function(){var n=Object(d.e)();return function(t,e){return{notification:n(t,e.notification,e.accountId),notifCleaning:t.getIn(["notifications","cleaningMode"])}}},function(n){return{onMention:function(t,e){n(Object(F.U)(t,e))}}})(I),T=function(t){function e(){return t.apply(this,arguments)||this}return Object(i.a)(e,t),e.prototype.render=function(){return Object(p.a)("button",{className:"text-btn column-header__setting-btn",tabIndex:"0",onClick:this.props.onClick},void 0,Object(p.a)("i",{className:"fa fa-eraser"})," ",Object(p.a)(w.b,{id:"notifications.clear",defaultMessage:"Clear notifications"}))},e}(O.a.Component),A=n(911),L=function(o){function t(){for(var n,t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return n=o.call.apply(o,[this].concat(e))||this,Object(s.a)(Object(a.a)(Object(a.a)(n)),"onPushChange",function(t,e){n.props.onChange(["push"].concat(t),e)}),n}return Object(i.a)(t,o),t.prototype.render=function(){var t=this.props,e=t.settings,n=t.pushSettings,i=t.onChange,o=t.onClear,a=Object(p.a)(w.b,{id:"notifications.column_settings.filter_bar.show",defaultMessage:"Show"}),s=Object(p.a)(w.b,{id:"notifications.column_settings.filter_bar.advanced",defaultMessage:"Display all categories"}),c=Object(p.a)(w.b,{id:"notifications.column_settings.alert",defaultMessage:"Desktop notifications"}),l=Object(p.a)(w.b,{id:"notifications.column_settings.show",defaultMessage:"Show in column"}),r=Object(p.a)(w.b,{id:"notifications.column_settings.sound",defaultMessage:"Play sound"}),f=n.get("browserSupport")&&n.get("isSubscribed"),u=f&&Object(p.a)(w.b,{id:"notifications.column_settings.push",defaultMessage:"Push notifications"}),d=f&&Object(p.a)(w.b,{id:"notifications.column_settings.push_meta",defaultMessage:"This device"});return Object(p.a)("div",{},void 0,Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(T,{onClick:o})),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-filter-bar"},void 0,Object(p.a)("span",{id:"notifications-filter-bar",className:"column-settings__section"},void 0,Object(p.a)(w.b,{id:"notifications.column_settings.filter_bar.category",defaultMessage:"Quick filter bar"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(A.a,{id:"show-filter-bar",prefix:"notifications",settings:e,settingPath:["quickFilter","show"],onChange:i,label:a}),Object(p.a)(A.a,{id:"show-filter-bar",prefix:"notifications",settings:e,settingPath:["quickFilter","advanced"],onChange:i,label:s}))),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-follow"},void 0,Object(p.a)("span",{id:"notifications-follow",className:"column-settings__section"},void 0,Object(p.a)(w.b,{id:"notifications.column_settings.follow",defaultMessage:"New followers:"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(A.a,{prefix:"notifications_desktop",settings:e,settingPath:["alerts","follow"],onChange:i,label:c}),f&&Object(p.a)(A.a,{prefix:"notifications_push",settings:n,settingPath:["alerts","follow"],meta:d,onChange:this.onPushChange,label:u}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["shows","follow"],onChange:i,label:l}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["sounds","follow"],onChange:i,label:r}))),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-favourite"},void 0,Object(p.a)("span",{id:"notifications-favourite",className:"column-settings__section"},void 0,Object(p.a)(w.b,{id:"notifications.column_settings.favourite",defaultMessage:"Favourites:"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(A.a,{prefix:"notifications_desktop",settings:e,settingPath:["alerts","favourite"],onChange:i,label:c}),f&&Object(p.a)(A.a,{prefix:"notifications_push",settings:n,settingPath:["alerts","favourite"],meta:d,onChange:this.onPushChange,label:u}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["shows","favourite"],onChange:i,label:l}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["sounds","favourite"],onChange:i,label:r}))),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-mention"},void 0,Object(p.a)("span",{id:"notifications-mention",className:"column-settings__section"},void 0,Object(p.a)(w.b,{id:"notifications.column_settings.mention",defaultMessage:"Mentions:"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(A.a,{prefix:"notifications_desktop",settings:e,settingPath:["alerts","mention"],onChange:i,label:c}),f&&Object(p.a)(A.a,{prefix:"notifications_push",settings:n,settingPath:["alerts","mention"],meta:d,onChange:this.onPushChange,label:u}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["shows","mention"],onChange:i,label:l}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["sounds","mention"],onChange:i,label:r}))),Object(p.a)("div",{role:"group","aria-labelledby":"notifications-reblog"},void 0,Object(p.a)("span",{id:"notifications-reblog",className:"column-settings__section"},void 0,Object(p.a)(w.b,{id:"notifications.column_settings.reblog",defaultMessage:"Boosts:"})),Object(p.a)("div",{className:"column-settings__row"},void 0,Object(p.a)(A.a,{prefix:"notifications_desktop",settings:e,settingPath:["alerts","reblog"],onChange:i,label:c}),f&&Object(p.a)(A.a,{prefix:"notifications_push",settings:n,settingPath:["alerts","reblog"],meta:d,onChange:this.onPushChange,label:u}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["shows","reblog"],onChange:i,label:l}),Object(p.a)(A.a,{prefix:"notifications",settings:e,settingPath:["sounds","reblog"],onChange:i,label:r}))))},t}(O.a.PureComponent),R=n(84),B=n(184),H=n(45),z=Object(w.f)({clearMessage:{id:"notifications.clear_confirmation",defaultMessage:"Are you sure you want to permanently clear all your notifications?"},clearConfirm:{id:"notifications.clear",defaultMessage:"Clear notifications"}}),E=Object(w.g)(Object(r.connect)(function(t){return{settings:t.getIn(["settings","notifications"]),pushSettings:t.get("push_notifications")}},function(n,t){var e=t.intl;return{onChange:function(t,e){"push"===t[0]?n(Object(B.e)(t.slice(1),e)):"quickFilter"===t[0]?(n(Object(R.c)(["notifications"].concat(t),e)),n(Object(f.z)("all"))):n(Object(R.c)(["notifications"].concat(t),e))},onClear:function(){n(Object(H.d)("CONFIRM",{message:e.formatMessage(z.clearMessage),confirm:e.formatMessage(z.clearConfirm),onConfirm:function(){return n(Object(f.q)())}}))}}})(L)),G=Object(w.f)({mentions:{id:"notifications.filter.mentions",defaultMessage:"Mentions"},favourites:{id:"notifications.filter.favourites",defaultMessage:"Favourites"},boosts:{id:"notifications.filter.boosts",defaultMessage:"Boosts"},follows:{id:"notifications.filter.follows",defaultMessage:"Follows"}}),J=Object(w.g)(S=function(t){function e(){return t.apply(this,arguments)||this}Object(i.a)(e,t);var n=e.prototype;return n.onClick=function(t){var e=this;return function(){return e.props.selectFilter(t)}},n.render=function(){var t=this.props,e=t.selectedFilter,n=t.advancedMode,i=t.intl;return n?Object(p.a)("div",{className:"notification__filter-bar"},void 0,Object(p.a)("button",{className:"all"===e?"active":"",onClick:this.onClick("all")},void 0,Object(p.a)(w.b,{id:"notifications.filter.all",defaultMessage:"All"})),Object(p.a)("button",{className:"mention"===e?"active":"",onClick:this.onClick("mention"),title:i.formatMessage(G.mentions)},void 0,Object(p.a)("i",{className:"fa fa-fw fa-at"})),Object(p.a)("button",{className:"favourite"===e?"active":"",onClick:this.onClick("favourite"),title:i.formatMessage(G.favourites)},void 0,Object(p.a)("i",{className:"fa fa-fw fa-star"})),Object(p.a)("button",{className:"reblog"===e?"active":"",onClick:this.onClick("reblog"),title:i.formatMessage(G.boosts)},void 0,Object(p.a)("i",{className:"fa fa-fw fa-retweet"})),Object(p.a)("button",{className:"follow"===e?"active":"",onClick:this.onClick("follow"),title:i.formatMessage(G.follows)},void 0,Object(p.a)("i",{className:"fa fa-fw fa-user-plus"}))):Object(p.a)("div",{className:"notification__filter-bar"},void 0,Object(p.a)("button",{className:"all"===e?"active":"",onClick:this.onClick("all")},void 0,Object(p.a)(w.b,{id:"notifications.filter.all",defaultMessage:"All"})),Object(p.a)("button",{className:"mention"===e?"active":"",onClick:this.onClick("mention")},void 0,Object(p.a)(w.b,{id:"notifications.filter.mentions",defaultMessage:"Mentions"})))},e}(O.a.PureComponent))||S,K=Object(r.connect)(function(t){return{selectedFilter:t.getIn(["settings","notifications","quickFilter","active"]),advancedMode:t.getIn(["settings","notifications","quickFilter","advanced"])}},function(e){return{selectFilter:function(t){e(Object(f.z)(t))}}})(J),Q=n(58),W=n(4),Y=n(649),V=n(650);n.d(e,"default",function(){return $});var X=Object(w.f)({title:{id:"column.notifications",defaultMessage:"Notifications"}}),Z=Object(Q.a)([function(t){return t.getIn(["settings","notifications","quickFilter","show"])},function(t){return t.getIn(["settings","notifications","quickFilter","active"])},function(t){return Object(W.List)(t.getIn(["settings","notifications","shows"]).filter(function(t){return!t}).keys())},function(t){return t.getIn(["notifications","items"])}],function(t,e,n,i){return t&&"all"!==e?i.filter(function(t){return null!==t&&e===t.get("type")}):i.filterNot(function(t){return null!==t&&n.includes(t.get("type"))})}),$=Object(r.connect)(function(t){return{showFilterBar:t.getIn(["settings","notifications","quickFilter","show"]),notifications:Z(t),localSettings:t.get("local_settings"),isLoading:t.getIn(["notifications","isLoading"],!0),isUnread:0<t.getIn(["notifications","unread"]),hasMore:t.getIn(["notifications","hasMore"]),notifCleaningActive:t.getIn(["notifications","cleaningMode"])}},function(e){return{onEnterCleaningMode:function(t){e(Object(f.s)(t))},onMount:function(){e(Object(f.w)())},onUnmount:function(){e(Object(f.A)())},dispatch:e}})(x=Object(w.g)((D=U=function(o){function t(){for(var i,t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return i=o.call.apply(o,[this].concat(e))||this,Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleLoadGap",function(t){i.props.dispatch(Object(f.t)({maxId:t}))}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleLoadOlder",c()(function(){var t=i.props.notifications.last();i.props.dispatch(Object(f.t)({maxId:t&&t.get("id")}))},300,{leading:!0})),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleScrollToTop",c()(function(){i.props.dispatch(Object(f.y)(!0))},100)),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleScroll",c()(function(){i.props.dispatch(Object(f.y)(!1))},100)),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handlePin",function(){var t=i.props,e=t.columnId,n=t.dispatch;n(e?Object(u.h)(e):Object(u.e)("NOTIFICATIONS",{}))}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleMove",function(t){var e=i.props,n=e.columnId;(0,e.dispatch)(Object(u.g)(n,t))}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleHeaderClick",function(){i.column.scrollTop()}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"setColumnRef",function(t){i.column=t}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleMoveUp",function(e){var t=i.props.notifications.findIndex(function(t){return null!==t&&t.get("id")===e})-1;i._selectChild(t)}),Object(s.a)(Object(a.a)(Object(a.a)(i)),"handleMoveDown",function(e){var t=i.props.notifications.findIndex(function(t){return null!==t&&t.get("id")===e})+1;i._selectChild(t)}),i}Object(i.a)(t,o);var e=t.prototype;return e._selectChild=function(t){var e=this.column.node.querySelector("article:nth-of-type("+(t+1)+") .focusable");e&&e.focus()},e.componentDidMount=function(){var t=this.props.onMount;t&&t()},e.componentWillUnmount=function(){var t=this.props.onUnmount;t&&t()},e.render=function(){var n=this,t=this.props,e=t.intl,i=t.notifications,o=t.shouldUpdateScroll,a=t.isLoading,s=t.isUnread,c=t.columnId,l=t.multiColumn,r=t.hasMore,f=t.showFilterBar,u=!!c,d=Object(p.a)(w.b,{id:"empty_column.notifications",defaultMessage:"You don't have any notifications yet. Interact with others to start the conversation."}),b=null,g=f?Object(p.a)(K,{}):null;b=a&&this.scrollableContent?this.scrollableContent:0<i.size||r?i.map(function(t,e){return null===t?Object(p.a)(V.a,{disabled:a,maxId:0<e?i.getIn([e-1,"id"]):null,onClick:n.handleLoadGap},"gap:"+i.getIn([e+1,"id"])):Object(p.a)(q,{notification:t,accountId:t.get("account"),onMoveUp:n.handleMoveUp,onMoveDown:n.handleMoveDown},t.get("id"))}):null,this.scrollableContent=b;var h=Object(p.a)(Y.a,{scrollKey:"notifications-"+c,trackScroll:!u,isLoading:a,showLoading:a&&0===i.size,hasMore:r,emptyMessage:d,onLoadMore:this.handleLoadOlder,onScrollToTop:this.handleScrollToTop,onScroll:this.handleScroll,shouldUpdateScroll:o},void 0,b);return O.a.createElement(j.a,{ref:this.setColumnRef,name:"notifications",extraClasses:this.props.notifCleaningActive?"notif-cleaning":null,label:e.formatMessage(X.title)},Object(p.a)(v.a,{icon:"bell",active:s,title:e.formatMessage(X.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:u,multiColumn:l,localSettings:this.props.localSettings,notifCleaning:!0,notifCleaningActive:this.props.notifCleaningActive,onEnterCleaningMode:this.props.onEnterCleaningMode},void 0,Object(p.a)(E,{})),g,h)},t}(O.a.PureComponent),Object(s.a)(U,"defaultProps",{trackScroll:!0}),x=D))||x)||x}}]); //# sourceMappingURL=notifications.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/notifications.js.map b/priv/static/packs/flavours/glitch/async/notifications.js.map index ec155e81e..c840b71c7 100644 --- a/priv/static/packs/flavours/glitch/async/notifications.js.map +++ b/priv/static/packs/flavours/glitch/async/notifications.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/notifications/components/follow.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/notifications/components/notification.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/notifications/containers/notification_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/notifications/components/clear_column_button.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/notifications/components/column_settings.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/notifications/containers/column_settings_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/notifications/components/filter_bar.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/notifications/containers/filter_bar_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/notifications/index.js"],"names":["NotificationFollow","_this$props","_this","props","notification","onMoveUp","get","_this$props2","onMoveDown","handleOpenProfile","context","router","history","push","getIn","e","preventDefault","_this$props3","onMention","getHandlers","moveUp","this","handleMoveUp","moveDown","handleMoveDown","open","handleOpen","openProfile","mention","handleMention","reply","render","_this$props4","account","hidden","displayName","link","Object","jsx","permalink","className","href","title","to","dangerouslySetInnerHTML","__html","react_hotkeys_index_es","handlers","tabIndex","index_es","id","defaultMessage","values","name","account_container","withNote","overlay_container","ImmutablePureComponent","PropTypes","bool","string","isRequired","ImmutablePropTypes","map","Notification","getScrollPosition","updateScrollBottom","follow_NotificationFollow","status_container","containerId","contextType","withDismiss","prepend","muted","func","connect","getNotification","makeGetNotification","state","accountId","notifCleaning","dispatch","mentionCompose","ClearColumnButton","onClick","React","Component","ColumnSettings","path","checked","onChange","concat","settings","pushSettings","onClear","filterShowStr","filterAdvancedStr","alertStr","showStr","soundStr","showPushSettings","pushStr","pushMeta","clear_column_button_ClearColumnButton","role","aria-labelledby","setting_toggle","prefix","settingPath","label","meta","onPushChange","PureComponent","messages","defineMessages","clearMessage","clearConfirm","injectIntl","_ref","intl","changePushNotifications","slice","changeSetting","setFilter","openModal","message","formatMessage","confirm","onConfirm","clearNotifications","tooltips","mentions","favourites","boosts","follows","FilterBar","notificationType","selectFilter","selectedFilter","advancedMode","newActiveFilter","getNotifications","createSelector","ImmutableList","filter","item","keys","showFilterBar","allowedType","excludedTypes","notifications","filterNot","includes","Notifications","localSettings","isLoading","isUnread","hasMore","notifCleaningActive","onEnterCleaningMode","yes","enterNotificationClearingMode","onMount","mountNotifications","onUnmount","unmountNotifications","maxId","expandNotifications","debounce_default","last","leading","scrollTopNotifications","columnId","removeColumn","addColumn","dir","moveColumn","column","scrollTop","c","elementIndex","findIndex","_selectChild","index","element","node","querySelector","focus","componentDidMount","componentWillUnmount","_this2","shouldUpdateScroll","multiColumn","pinned","emptyMessage","scrollableContent","filterBarContainer","filter_bar_container","size","load_gap","disabled","handleLoadGap","notification_container","scrollContainer","scrollable_list","scrollKey","trackScroll","showLoading","onLoadMore","handleLoadOlder","onScrollToTop","handleScrollToTop","onScroll","handleScroll","react_default","a","createElement","ref","setColumnRef","extraClasses","column_header","icon","active","onPin","handlePin","onMove","handleMove","handleHeaderClick","column_settings_container"],"mappings":"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","file":"flavours/glitch/async/notifications.js","sourcesContent":["// Package imports.\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { HotKeys } from 'react-hotkeys';\n\n// Our imports.\nimport Permalink from 'flavours/glitch/components/permalink';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport NotificationOverlayContainer from '../containers/overlay_container';\n\nexport default class NotificationFollow extends ImmutablePureComponent {\n\n static propTypes = {\n hidden: PropTypes.bool,\n id: PropTypes.string.isRequired,\n account: ImmutablePropTypes.map.isRequired,\n notification: ImmutablePropTypes.map.isRequired,\n };\n\n handleMoveUp = () => {\n const { notification, onMoveUp } = this.props;\n onMoveUp(notification.get('id'));\n }\n\n handleMoveDown = () => {\n const { notification, onMoveDown } = this.props;\n onMoveDown(notification.get('id'));\n }\n\n handleOpen = () => {\n this.handleOpenProfile();\n }\n\n handleOpenProfile = () => {\n const { notification } = this.props;\n this.context.router.history.push(`/accounts/${notification.getIn(['account', 'id'])}`);\n }\n\n handleMention = e => {\n e.preventDefault();\n\n const { notification, onMention } = this.props;\n onMention(notification.get('account'), this.context.router.history);\n }\n\n getHandlers () {\n return {\n moveUp: this.handleMoveUp,\n moveDown: this.handleMoveDown,\n open: this.handleOpen,\n openProfile: this.handleOpenProfile,\n mention: this.handleMention,\n reply: this.handleMention,\n };\n }\n\n render () {\n const { account, notification, hidden } = this.props;\n\n // Links to the display name.\n const displayName = account.get('display_name_html') || account.get('username');\n const link = (\n <bdi><Permalink\n className='notification__display-name'\n href={account.get('url')}\n title={account.get('acct')}\n to={`/accounts/${account.get('id')}`}\n dangerouslySetInnerHTML={{ __html: displayName }}\n /></bdi>\n );\n\n // Renders.\n return (\n <HotKeys handlers={this.getHandlers()}>\n <div className='notification notification-follow focusable' tabIndex='0'>\n <div className='notification__message'>\n <div className='notification__favourite-icon-wrapper'>\n <i className='fa fa-fw fa-user-plus' />\n </div>\n\n <FormattedMessage\n id='notification.follow'\n defaultMessage='{name} followed you'\n values={{ name: link }}\n />\n </div>\n\n <AccountContainer hidden={hidden} id={account.get('id')} withNote={false} />\n <NotificationOverlayContainer notification={notification} />\n </div>\n </HotKeys>\n );\n }\n\n}\n","// Package imports.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\n// Our imports,\nimport StatusContainer from 'flavours/glitch/containers/status_container';\nimport NotificationFollow from './follow';\n\nexport default class Notification extends ImmutablePureComponent {\n\n static propTypes = {\n notification: ImmutablePropTypes.map.isRequired,\n hidden: PropTypes.bool,\n onMoveUp: PropTypes.func.isRequired,\n onMoveDown: PropTypes.func.isRequired,\n onMention: PropTypes.func.isRequired,\n getScrollPosition: PropTypes.func,\n updateScrollBottom: PropTypes.func,\n };\n\n render () {\n const {\n hidden,\n notification,\n onMoveDown,\n onMoveUp,\n onMention,\n getScrollPosition,\n updateScrollBottom,\n } = this.props;\n\n switch(notification.get('type')) {\n case 'follow':\n return (\n <NotificationFollow\n hidden={hidden}\n id={notification.get('id')}\n account={notification.get('account')}\n notification={notification}\n onMoveDown={onMoveDown}\n onMoveUp={onMoveUp}\n onMention={onMention}\n />\n );\n case 'mention':\n return (\n <StatusContainer\n containerId={notification.get('id')}\n hidden={hidden}\n id={notification.get('status')}\n notification={notification}\n onMoveDown={onMoveDown}\n onMoveUp={onMoveUp}\n onMention={onMention}\n contextType='notifications'\n getScrollPosition={getScrollPosition}\n updateScrollBottom={updateScrollBottom}\n withDismiss\n />\n );\n case 'favourite':\n return (\n <StatusContainer\n containerId={notification.get('id')}\n hidden={hidden}\n id={notification.get('status')}\n account={notification.get('account')}\n prepend='favourite'\n muted\n notification={notification}\n onMoveDown={onMoveDown}\n onMoveUp={onMoveUp}\n onMention={onMention}\n getScrollPosition={getScrollPosition}\n updateScrollBottom={updateScrollBottom}\n withDismiss\n />\n );\n case 'reblog':\n return (\n <StatusContainer\n containerId={notification.get('id')}\n hidden={hidden}\n id={notification.get('status')}\n account={notification.get('account')}\n prepend='reblog'\n muted\n notification={notification}\n onMoveDown={onMoveDown}\n onMoveUp={onMoveUp}\n onMention={onMention}\n getScrollPosition={getScrollPosition}\n updateScrollBottom={updateScrollBottom}\n withDismiss\n />\n );\n default:\n return null;\n }\n }\n\n}\n","// Package imports.\nimport { connect } from 'react-redux';\n\n// Our imports.\nimport { makeGetNotification } from 'flavours/glitch/selectors';\nimport Notification from '../components/notification';\nimport { mentionCompose } from 'flavours/glitch/actions/compose';\n\nconst makeMapStateToProps = () => {\n const getNotification = makeGetNotification();\n\n const mapStateToProps = (state, props) => ({\n notification: getNotification(state, props.notification, props.accountId),\n notifCleaning: state.getIn(['notifications', 'cleaningMode']),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = dispatch => ({\n onMention: (account, router) => {\n dispatch(mentionCompose(account, router));\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(Notification);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\n\nexport default class ClearColumnButton extends React.Component {\n\n static propTypes = {\n onClick: PropTypes.func.isRequired,\n };\n\n render () {\n return (\n <button className='text-btn column-header__setting-btn' tabIndex='0' onClick={this.props.onClick}><i className='fa fa-eraser' /> <FormattedMessage id='notifications.clear' defaultMessage='Clear notifications' /></button>\n );\n }\n\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { FormattedMessage } from 'react-intl';\nimport ClearColumnButton from './clear_column_button';\nimport SettingToggle from './setting_toggle';\n\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n pushSettings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n };\n\n onPushChange = (path, checked) => {\n this.props.onChange(['push', ...path], checked);\n }\n\n render () {\n const { settings, pushSettings, onChange, onClear } = this.props;\n\n const filterShowStr = <FormattedMessage id='notifications.column_settings.filter_bar.show' defaultMessage='Show' />;\n const filterAdvancedStr = <FormattedMessage id='notifications.column_settings.filter_bar.advanced' defaultMessage='Display all categories' />;\n const alertStr = <FormattedMessage id='notifications.column_settings.alert' defaultMessage='Desktop notifications' />;\n const showStr = <FormattedMessage id='notifications.column_settings.show' defaultMessage='Show in column' />;\n const soundStr = <FormattedMessage id='notifications.column_settings.sound' defaultMessage='Play sound' />;\n\n const showPushSettings = pushSettings.get('browserSupport') && pushSettings.get('isSubscribed');\n const pushStr = showPushSettings && <FormattedMessage id='notifications.column_settings.push' defaultMessage='Push notifications' />;\n const pushMeta = showPushSettings && <FormattedMessage id='notifications.column_settings.push_meta' defaultMessage='This device' />;\n\n return (\n <div>\n <div className='column-settings__row'>\n <ClearColumnButton onClick={onClear} />\n </div>\n\n <div role='group' aria-labelledby='notifications-filter-bar'>\n <span id='notifications-filter-bar' className='column-settings__section'>\n <FormattedMessage id='notifications.column_settings.filter_bar.category' defaultMessage='Quick filter bar' />\n </span>\n <div className='column-settings__row'>\n <SettingToggle id='show-filter-bar' prefix='notifications' settings={settings} settingPath={['quickFilter', 'show']} onChange={onChange} label={filterShowStr} />\n <SettingToggle id='show-filter-bar' prefix='notifications' settings={settings} settingPath={['quickFilter', 'advanced']} onChange={onChange} label={filterAdvancedStr} />\n </div>\n </div>\n\n <div role='group' aria-labelledby='notifications-follow'>\n <span id='notifications-follow' className='column-settings__section'><FormattedMessage id='notifications.column_settings.follow' defaultMessage='New followers:' /></span>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'follow']} onChange={onChange} label={alertStr} />\n {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['alerts', 'follow']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />}\n <SettingToggle prefix='notifications' settings={settings} settingPath={['shows', 'follow']} onChange={onChange} label={showStr} />\n <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'follow']} onChange={onChange} label={soundStr} />\n </div>\n </div>\n\n <div role='group' aria-labelledby='notifications-favourite'>\n <span id='notifications-favourite' className='column-settings__section'><FormattedMessage id='notifications.column_settings.favourite' defaultMessage='Favourites:' /></span>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'favourite']} onChange={onChange} label={alertStr} />\n {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['alerts', 'favourite']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />}\n <SettingToggle prefix='notifications' settings={settings} settingPath={['shows', 'favourite']} onChange={onChange} label={showStr} />\n <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'favourite']} onChange={onChange} label={soundStr} />\n </div>\n </div>\n\n <div role='group' aria-labelledby='notifications-mention'>\n <span id='notifications-mention' className='column-settings__section'><FormattedMessage id='notifications.column_settings.mention' defaultMessage='Mentions:' /></span>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'mention']} onChange={onChange} label={alertStr} />\n {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['alerts', 'mention']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />}\n <SettingToggle prefix='notifications' settings={settings} settingPath={['shows', 'mention']} onChange={onChange} label={showStr} />\n <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'mention']} onChange={onChange} label={soundStr} />\n </div>\n </div>\n\n <div role='group' aria-labelledby='notifications-reblog'>\n <span id='notifications-reblog' className='column-settings__section'><FormattedMessage id='notifications.column_settings.reblog' defaultMessage='Boosts:' /></span>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'reblog']} onChange={onChange} label={alertStr} />\n {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['alerts', 'reblog']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />}\n <SettingToggle prefix='notifications' settings={settings} settingPath={['shows', 'reblog']} onChange={onChange} label={showStr} />\n <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'reblog']} onChange={onChange} label={soundStr} />\n </div>\n </div>\n </div>\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting } from 'flavours/glitch/actions/settings';\nimport { setFilter } from 'flavours/glitch/actions/notifications';\nimport { clearNotifications } from 'flavours/glitch/actions/notifications';\nimport { changeAlerts as changePushNotifications } from 'flavours/glitch/actions/push_notifications';\nimport { openModal } from 'flavours/glitch/actions/modal';\n\nconst messages = defineMessages({\n clearMessage: { id: 'notifications.clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all your notifications?' },\n clearConfirm: { id: 'notifications.clear', defaultMessage: 'Clear notifications' },\n});\n\nconst mapStateToProps = state => ({\n settings: state.getIn(['settings', 'notifications']),\n pushSettings: state.get('push_notifications'),\n});\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onChange (path, checked) {\n if (path[0] === 'push') {\n dispatch(changePushNotifications(path.slice(1), checked));\n } else if (path[0] === 'quickFilter') {\n dispatch(changeSetting(['notifications', ...path], checked));\n dispatch(setFilter('all'));\n } else {\n dispatch(changeSetting(['notifications', ...path], checked));\n }\n },\n\n onClear () {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.clearMessage),\n confirm: intl.formatMessage(messages.clearConfirm),\n onConfirm: () => dispatch(clearNotifications()),\n }));\n },\n\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(ColumnSettings));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\n\nconst tooltips = defineMessages({\n mentions: { id: 'notifications.filter.mentions', defaultMessage: 'Mentions' },\n favourites: { id: 'notifications.filter.favourites', defaultMessage: 'Favourites' },\n boosts: { id: 'notifications.filter.boosts', defaultMessage: 'Boosts' },\n follows: { id: 'notifications.filter.follows', defaultMessage: 'Follows' },\n});\n\nexport default @injectIntl\nclass FilterBar extends React.PureComponent {\n\n static propTypes = {\n selectFilter: PropTypes.func.isRequired,\n selectedFilter: PropTypes.string.isRequired,\n advancedMode: PropTypes.bool.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n onClick (notificationType) {\n return () => this.props.selectFilter(notificationType);\n }\n\n render () {\n const { selectedFilter, advancedMode, intl } = this.props;\n const renderedElement = !advancedMode ? (\n <div className='notification__filter-bar'>\n <button\n className={selectedFilter === 'all' ? 'active' : ''}\n onClick={this.onClick('all')}\n >\n <FormattedMessage\n id='notifications.filter.all'\n defaultMessage='All'\n />\n </button>\n <button\n className={selectedFilter === 'mention' ? 'active' : ''}\n onClick={this.onClick('mention')}\n >\n <FormattedMessage\n id='notifications.filter.mentions'\n defaultMessage='Mentions'\n />\n </button>\n </div>\n ) : (\n <div className='notification__filter-bar'>\n <button\n className={selectedFilter === 'all' ? 'active' : ''}\n onClick={this.onClick('all')}\n >\n <FormattedMessage\n id='notifications.filter.all'\n defaultMessage='All'\n />\n </button>\n <button\n className={selectedFilter === 'mention' ? 'active' : ''}\n onClick={this.onClick('mention')}\n title={intl.formatMessage(tooltips.mentions)}\n >\n <i className='fa fa-fw fa-at' />\n </button>\n <button\n className={selectedFilter === 'favourite' ? 'active' : ''}\n onClick={this.onClick('favourite')}\n title={intl.formatMessage(tooltips.favourites)}\n >\n <i className='fa fa-fw fa-star' />\n </button>\n <button\n className={selectedFilter === 'reblog' ? 'active' : ''}\n onClick={this.onClick('reblog')}\n title={intl.formatMessage(tooltips.boosts)}\n >\n <i className='fa fa-fw fa-retweet' />\n </button>\n <button\n className={selectedFilter === 'follow' ? 'active' : ''}\n onClick={this.onClick('follow')}\n title={intl.formatMessage(tooltips.follows)}\n >\n <i className='fa fa-fw fa-user-plus' />\n </button>\n </div>\n );\n return renderedElement;\n }\n\n}\n","import { connect } from 'react-redux';\nimport FilterBar from '../components/filter_bar';\nimport { setFilter } from '../../../actions/notifications';\n\nconst makeMapStateToProps = state => ({\n selectedFilter: state.getIn(['settings', 'notifications', 'quickFilter', 'active']),\n advancedMode: state.getIn(['settings', 'notifications', 'quickFilter', 'advanced']),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n selectFilter (newActiveFilter) {\n dispatch(setFilter(newActiveFilter));\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(FilterBar);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport {\n enterNotificationClearingMode,\n expandNotifications,\n scrollTopNotifications,\n mountNotifications,\n unmountNotifications,\n} from 'flavours/glitch/actions/notifications';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport NotificationContainer from './containers/notification_container';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport FilterBarContainer from './containers/filter_bar_container';\nimport { createSelector } from 'reselect';\nimport { List as ImmutableList } from 'immutable';\nimport { debounce } from 'lodash';\nimport ScrollableList from 'flavours/glitch/components/scrollable_list';\nimport LoadGap from 'flavours/glitch/components/load_gap';\n\nconst messages = defineMessages({\n title: { id: 'column.notifications', defaultMessage: 'Notifications' },\n});\n\nconst getNotifications = createSelector([\n state => state.getIn(['settings', 'notifications', 'quickFilter', 'show']),\n state => state.getIn(['settings', 'notifications', 'quickFilter', 'active']),\n state => ImmutableList(state.getIn(['settings', 'notifications', 'shows']).filter(item => !item).keys()),\n state => state.getIn(['notifications', 'items']),\n], (showFilterBar, allowedType, excludedTypes, notifications) => {\n if (!showFilterBar || allowedType === 'all') {\n // used if user changed the notification settings after loading the notifications from the server\n // otherwise a list of notifications will come pre-filtered from the backend\n // we need to turn it off for FilterBar in order not to block ourselves from seeing a specific category\n return notifications.filterNot(item => item !== null && excludedTypes.includes(item.get('type')));\n }\n return notifications.filter(item => item !== null && allowedType === item.get('type'));\n});\n\nconst mapStateToProps = state => ({\n showFilterBar: state.getIn(['settings', 'notifications', 'quickFilter', 'show']),\n notifications: getNotifications(state),\n localSettings: state.get('local_settings'),\n isLoading: state.getIn(['notifications', 'isLoading'], true),\n isUnread: state.getIn(['notifications', 'unread']) > 0,\n hasMore: state.getIn(['notifications', 'hasMore']),\n notifCleaningActive: state.getIn(['notifications', 'cleaningMode']),\n});\n\n/* glitch */\nconst mapDispatchToProps = dispatch => ({\n onEnterCleaningMode(yes) {\n dispatch(enterNotificationClearingMode(yes));\n },\n onMount() {\n dispatch(mountNotifications());\n },\n onUnmount() {\n dispatch(unmountNotifications());\n },\n dispatch,\n});\n\n@connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class Notifications extends React.PureComponent {\n\n static propTypes = {\n columnId: PropTypes.string,\n notifications: ImmutablePropTypes.list.isRequired,\n showFilterBar: PropTypes.bool.isRequired,\n dispatch: PropTypes.func.isRequired,\n shouldUpdateScroll: PropTypes.func,\n intl: PropTypes.object.isRequired,\n isLoading: PropTypes.bool,\n isUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n hasMore: PropTypes.bool,\n localSettings: ImmutablePropTypes.map,\n notifCleaningActive: PropTypes.bool,\n onEnterCleaningMode: PropTypes.func,\n onMount: PropTypes.func,\n onUnmount: PropTypes.func,\n };\n\n static defaultProps = {\n trackScroll: true,\n };\n\n handleLoadGap = (maxId) => {\n this.props.dispatch(expandNotifications({ maxId }));\n };\n\n handleLoadOlder = debounce(() => {\n const last = this.props.notifications.last();\n this.props.dispatch(expandNotifications({ maxId: last && last.get('id') }));\n }, 300, { leading: true });\n\n handleScrollToTop = debounce(() => {\n this.props.dispatch(scrollTopNotifications(true));\n }, 100);\n\n handleScroll = debounce(() => {\n this.props.dispatch(scrollTopNotifications(false));\n }, 100);\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('NOTIFICATIONS', {}));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n setColumnRef = c => {\n this.column = c;\n }\n\n handleMoveUp = id => {\n const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) - 1;\n this._selectChild(elementIndex);\n }\n\n handleMoveDown = id => {\n const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) + 1;\n this._selectChild(elementIndex);\n }\n\n _selectChild (index) {\n const element = this.column.node.querySelector(`article:nth-of-type(${index + 1}) .focusable`);\n\n if (element) {\n element.focus();\n }\n }\n\n componentDidMount () {\n const { onMount } = this.props;\n if (onMount) {\n onMount();\n }\n }\n\n componentWillUnmount () {\n const { onUnmount } = this.props;\n if (onUnmount) {\n onUnmount();\n }\n }\n\n render () {\n const { intl, notifications, shouldUpdateScroll, isLoading, isUnread, columnId, multiColumn, hasMore, showFilterBar } = this.props;\n const pinned = !!columnId;\n const emptyMessage = <FormattedMessage id='empty_column.notifications' defaultMessage=\"You don't have any notifications yet. Interact with others to start the conversation.\" />;\n\n let scrollableContent = null;\n\n const filterBarContainer = showFilterBar\n ? (<FilterBarContainer />)\n : null;\n\n if (isLoading && this.scrollableContent) {\n scrollableContent = this.scrollableContent;\n } else if (notifications.size > 0 || hasMore) {\n scrollableContent = notifications.map((item, index) => item === null ? (\n <LoadGap\n key={'gap:' + notifications.getIn([index + 1, 'id'])}\n disabled={isLoading}\n maxId={index > 0 ? notifications.getIn([index - 1, 'id']) : null}\n onClick={this.handleLoadGap}\n />\n ) : (\n <NotificationContainer\n key={item.get('id')}\n notification={item}\n accountId={item.get('account')}\n onMoveUp={this.handleMoveUp}\n onMoveDown={this.handleMoveDown}\n />\n ));\n } else {\n scrollableContent = null;\n }\n\n this.scrollableContent = scrollableContent;\n\n const scrollContainer = (\n <ScrollableList\n scrollKey={`notifications-${columnId}`}\n trackScroll={!pinned}\n isLoading={isLoading}\n showLoading={isLoading && notifications.size === 0}\n hasMore={hasMore}\n emptyMessage={emptyMessage}\n onLoadMore={this.handleLoadOlder}\n onScrollToTop={this.handleScrollToTop}\n onScroll={this.handleScroll}\n shouldUpdateScroll={shouldUpdateScroll}\n >\n {scrollableContent}\n </ScrollableList>\n );\n\n return (\n <Column\n ref={this.setColumnRef}\n name='notifications'\n extraClasses={this.props.notifCleaningActive ? 'notif-cleaning' : null}\n label={intl.formatMessage(messages.title)}\n >\n <ColumnHeader\n icon='bell'\n active={isUnread}\n title={intl.formatMessage(messages.title)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n localSettings={this.props.localSettings}\n notifCleaning\n notifCleaningActive={this.props.notifCleaningActive} // this is used to toggle the header text\n onEnterCleaningMode={this.props.onEnterCleaningMode}\n >\n <ColumnSettingsContainer />\n </ColumnHeader>\n {filterBarContainer}\n {scrollContainer}\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/follow.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/notification.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/containers/notification_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/clear_column_button.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/column_settings.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/containers/column_settings_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/components/filter_bar.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/containers/filter_bar_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/notifications/index.js"],"names":["NotificationFollow","_this$props","_this","props","notification","onMoveUp","get","_this$props2","onMoveDown","handleOpenProfile","context","router","history","push","getIn","e","preventDefault","_this$props3","onMention","getHandlers","moveUp","this","handleMoveUp","moveDown","handleMoveDown","open","handleOpen","openProfile","mention","handleMention","reply","render","_this$props4","account","hidden","displayName","link","Object","jsx","permalink","className","href","title","to","dangerouslySetInnerHTML","__html","react_hotkeys_index_es","handlers","tabIndex","index_es","id","defaultMessage","values","name","account_container","withNote","overlay_container","ImmutablePureComponent","PropTypes","bool","string","isRequired","ImmutablePropTypes","map","Notification","getScrollPosition","updateScrollBottom","follow_NotificationFollow","status_container","containerId","contextType","withDismiss","prepend","muted","func","connect","getNotification","makeGetNotification","state","accountId","notifCleaning","dispatch","mentionCompose","ClearColumnButton","onClick","React","Component","ColumnSettings","path","checked","onChange","concat","settings","pushSettings","onClear","filterShowStr","filterAdvancedStr","alertStr","showStr","soundStr","showPushSettings","pushStr","pushMeta","clear_column_button_ClearColumnButton","role","aria-labelledby","setting_toggle","prefix","settingPath","label","meta","onPushChange","PureComponent","messages","defineMessages","clearMessage","clearConfirm","injectIntl","_ref","intl","changePushNotifications","slice","changeSetting","setFilter","openModal","message","formatMessage","confirm","onConfirm","clearNotifications","tooltips","mentions","favourites","boosts","follows","FilterBar","notificationType","selectFilter","selectedFilter","advancedMode","newActiveFilter","getNotifications","createSelector","ImmutableList","filter","item","keys","showFilterBar","allowedType","excludedTypes","notifications","filterNot","includes","Notifications","localSettings","isLoading","isUnread","hasMore","notifCleaningActive","onEnterCleaningMode","yes","enterNotificationClearingMode","onMount","mountNotifications","onUnmount","unmountNotifications","maxId","expandNotifications","debounce_default","last","leading","scrollTopNotifications","columnId","removeColumn","addColumn","dir","moveColumn","column","scrollTop","c","elementIndex","findIndex","_selectChild","index","element","node","querySelector","focus","componentDidMount","componentWillUnmount","_this2","shouldUpdateScroll","multiColumn","pinned","emptyMessage","scrollableContent","filterBarContainer","filter_bar_container","size","load_gap","disabled","handleLoadGap","notification_container","scrollContainer","scrollable_list","scrollKey","trackScroll","showLoading","onLoadMore","handleLoadOlder","onScrollToTop","handleScrollToTop","onScroll","handleScroll","react_default","a","createElement","ref","setColumnRef","extraClasses","column_header","icon","active","onPin","handlePin","onMove","handleMove","handleHeaderClick","column_settings_container"],"mappings":"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","file":"flavours/glitch/async/notifications.js","sourcesContent":["// Package imports.\nimport React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { HotKeys } from 'react-hotkeys';\n\n// Our imports.\nimport Permalink from 'flavours/glitch/components/permalink';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport NotificationOverlayContainer from '../containers/overlay_container';\n\nexport default class NotificationFollow extends ImmutablePureComponent {\n\n static propTypes = {\n hidden: PropTypes.bool,\n id: PropTypes.string.isRequired,\n account: ImmutablePropTypes.map.isRequired,\n notification: ImmutablePropTypes.map.isRequired,\n };\n\n handleMoveUp = () => {\n const { notification, onMoveUp } = this.props;\n onMoveUp(notification.get('id'));\n }\n\n handleMoveDown = () => {\n const { notification, onMoveDown } = this.props;\n onMoveDown(notification.get('id'));\n }\n\n handleOpen = () => {\n this.handleOpenProfile();\n }\n\n handleOpenProfile = () => {\n const { notification } = this.props;\n this.context.router.history.push(`/accounts/${notification.getIn(['account', 'id'])}`);\n }\n\n handleMention = e => {\n e.preventDefault();\n\n const { notification, onMention } = this.props;\n onMention(notification.get('account'), this.context.router.history);\n }\n\n getHandlers () {\n return {\n moveUp: this.handleMoveUp,\n moveDown: this.handleMoveDown,\n open: this.handleOpen,\n openProfile: this.handleOpenProfile,\n mention: this.handleMention,\n reply: this.handleMention,\n };\n }\n\n render () {\n const { account, notification, hidden } = this.props;\n\n // Links to the display name.\n const displayName = account.get('display_name_html') || account.get('username');\n const link = (\n <bdi><Permalink\n className='notification__display-name'\n href={account.get('url')}\n title={account.get('acct')}\n to={`/accounts/${account.get('id')}`}\n dangerouslySetInnerHTML={{ __html: displayName }}\n /></bdi>\n );\n\n // Renders.\n return (\n <HotKeys handlers={this.getHandlers()}>\n <div className='notification notification-follow focusable' tabIndex='0'>\n <div className='notification__message'>\n <div className='notification__favourite-icon-wrapper'>\n <i className='fa fa-fw fa-user-plus' />\n </div>\n\n <FormattedMessage\n id='notification.follow'\n defaultMessage='{name} followed you'\n values={{ name: link }}\n />\n </div>\n\n <AccountContainer hidden={hidden} id={account.get('id')} withNote={false} />\n <NotificationOverlayContainer notification={notification} />\n </div>\n </HotKeys>\n );\n }\n\n}\n","// Package imports.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\n// Our imports,\nimport StatusContainer from 'flavours/glitch/containers/status_container';\nimport NotificationFollow from './follow';\n\nexport default class Notification extends ImmutablePureComponent {\n\n static propTypes = {\n notification: ImmutablePropTypes.map.isRequired,\n hidden: PropTypes.bool,\n onMoveUp: PropTypes.func.isRequired,\n onMoveDown: PropTypes.func.isRequired,\n onMention: PropTypes.func.isRequired,\n getScrollPosition: PropTypes.func,\n updateScrollBottom: PropTypes.func,\n };\n\n render () {\n const {\n hidden,\n notification,\n onMoveDown,\n onMoveUp,\n onMention,\n getScrollPosition,\n updateScrollBottom,\n } = this.props;\n\n switch(notification.get('type')) {\n case 'follow':\n return (\n <NotificationFollow\n hidden={hidden}\n id={notification.get('id')}\n account={notification.get('account')}\n notification={notification}\n onMoveDown={onMoveDown}\n onMoveUp={onMoveUp}\n onMention={onMention}\n />\n );\n case 'mention':\n return (\n <StatusContainer\n containerId={notification.get('id')}\n hidden={hidden}\n id={notification.get('status')}\n notification={notification}\n onMoveDown={onMoveDown}\n onMoveUp={onMoveUp}\n onMention={onMention}\n contextType='notifications'\n getScrollPosition={getScrollPosition}\n updateScrollBottom={updateScrollBottom}\n withDismiss\n />\n );\n case 'favourite':\n return (\n <StatusContainer\n containerId={notification.get('id')}\n hidden={hidden}\n id={notification.get('status')}\n account={notification.get('account')}\n prepend='favourite'\n muted\n notification={notification}\n onMoveDown={onMoveDown}\n onMoveUp={onMoveUp}\n onMention={onMention}\n getScrollPosition={getScrollPosition}\n updateScrollBottom={updateScrollBottom}\n withDismiss\n />\n );\n case 'reblog':\n return (\n <StatusContainer\n containerId={notification.get('id')}\n hidden={hidden}\n id={notification.get('status')}\n account={notification.get('account')}\n prepend='reblog'\n muted\n notification={notification}\n onMoveDown={onMoveDown}\n onMoveUp={onMoveUp}\n onMention={onMention}\n getScrollPosition={getScrollPosition}\n updateScrollBottom={updateScrollBottom}\n withDismiss\n />\n );\n default:\n return null;\n }\n }\n\n}\n","// Package imports.\nimport { connect } from 'react-redux';\n\n// Our imports.\nimport { makeGetNotification } from 'flavours/glitch/selectors';\nimport Notification from '../components/notification';\nimport { mentionCompose } from 'flavours/glitch/actions/compose';\n\nconst makeMapStateToProps = () => {\n const getNotification = makeGetNotification();\n\n const mapStateToProps = (state, props) => ({\n notification: getNotification(state, props.notification, props.accountId),\n notifCleaning: state.getIn(['notifications', 'cleaningMode']),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = dispatch => ({\n onMention: (account, router) => {\n dispatch(mentionCompose(account, router));\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(Notification);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\n\nexport default class ClearColumnButton extends React.Component {\n\n static propTypes = {\n onClick: PropTypes.func.isRequired,\n };\n\n render () {\n return (\n <button className='text-btn column-header__setting-btn' tabIndex='0' onClick={this.props.onClick}><i className='fa fa-eraser' /> <FormattedMessage id='notifications.clear' defaultMessage='Clear notifications' /></button>\n );\n }\n\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { FormattedMessage } from 'react-intl';\nimport ClearColumnButton from './clear_column_button';\nimport SettingToggle from './setting_toggle';\n\nexport default class ColumnSettings extends React.PureComponent {\n\n static propTypes = {\n settings: ImmutablePropTypes.map.isRequired,\n pushSettings: ImmutablePropTypes.map.isRequired,\n onChange: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n };\n\n onPushChange = (path, checked) => {\n this.props.onChange(['push', ...path], checked);\n }\n\n render () {\n const { settings, pushSettings, onChange, onClear } = this.props;\n\n const filterShowStr = <FormattedMessage id='notifications.column_settings.filter_bar.show' defaultMessage='Show' />;\n const filterAdvancedStr = <FormattedMessage id='notifications.column_settings.filter_bar.advanced' defaultMessage='Display all categories' />;\n const alertStr = <FormattedMessage id='notifications.column_settings.alert' defaultMessage='Desktop notifications' />;\n const showStr = <FormattedMessage id='notifications.column_settings.show' defaultMessage='Show in column' />;\n const soundStr = <FormattedMessage id='notifications.column_settings.sound' defaultMessage='Play sound' />;\n\n const showPushSettings = pushSettings.get('browserSupport') && pushSettings.get('isSubscribed');\n const pushStr = showPushSettings && <FormattedMessage id='notifications.column_settings.push' defaultMessage='Push notifications' />;\n const pushMeta = showPushSettings && <FormattedMessage id='notifications.column_settings.push_meta' defaultMessage='This device' />;\n\n return (\n <div>\n <div className='column-settings__row'>\n <ClearColumnButton onClick={onClear} />\n </div>\n\n <div role='group' aria-labelledby='notifications-filter-bar'>\n <span id='notifications-filter-bar' className='column-settings__section'>\n <FormattedMessage id='notifications.column_settings.filter_bar.category' defaultMessage='Quick filter bar' />\n </span>\n <div className='column-settings__row'>\n <SettingToggle id='show-filter-bar' prefix='notifications' settings={settings} settingPath={['quickFilter', 'show']} onChange={onChange} label={filterShowStr} />\n <SettingToggle id='show-filter-bar' prefix='notifications' settings={settings} settingPath={['quickFilter', 'advanced']} onChange={onChange} label={filterAdvancedStr} />\n </div>\n </div>\n\n <div role='group' aria-labelledby='notifications-follow'>\n <span id='notifications-follow' className='column-settings__section'><FormattedMessage id='notifications.column_settings.follow' defaultMessage='New followers:' /></span>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'follow']} onChange={onChange} label={alertStr} />\n {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['alerts', 'follow']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />}\n <SettingToggle prefix='notifications' settings={settings} settingPath={['shows', 'follow']} onChange={onChange} label={showStr} />\n <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'follow']} onChange={onChange} label={soundStr} />\n </div>\n </div>\n\n <div role='group' aria-labelledby='notifications-favourite'>\n <span id='notifications-favourite' className='column-settings__section'><FormattedMessage id='notifications.column_settings.favourite' defaultMessage='Favourites:' /></span>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'favourite']} onChange={onChange} label={alertStr} />\n {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['alerts', 'favourite']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />}\n <SettingToggle prefix='notifications' settings={settings} settingPath={['shows', 'favourite']} onChange={onChange} label={showStr} />\n <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'favourite']} onChange={onChange} label={soundStr} />\n </div>\n </div>\n\n <div role='group' aria-labelledby='notifications-mention'>\n <span id='notifications-mention' className='column-settings__section'><FormattedMessage id='notifications.column_settings.mention' defaultMessage='Mentions:' /></span>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'mention']} onChange={onChange} label={alertStr} />\n {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['alerts', 'mention']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />}\n <SettingToggle prefix='notifications' settings={settings} settingPath={['shows', 'mention']} onChange={onChange} label={showStr} />\n <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'mention']} onChange={onChange} label={soundStr} />\n </div>\n </div>\n\n <div role='group' aria-labelledby='notifications-reblog'>\n <span id='notifications-reblog' className='column-settings__section'><FormattedMessage id='notifications.column_settings.reblog' defaultMessage='Boosts:' /></span>\n\n <div className='column-settings__row'>\n <SettingToggle prefix='notifications_desktop' settings={settings} settingPath={['alerts', 'reblog']} onChange={onChange} label={alertStr} />\n {showPushSettings && <SettingToggle prefix='notifications_push' settings={pushSettings} settingPath={['alerts', 'reblog']} meta={pushMeta} onChange={this.onPushChange} label={pushStr} />}\n <SettingToggle prefix='notifications' settings={settings} settingPath={['shows', 'reblog']} onChange={onChange} label={showStr} />\n <SettingToggle prefix='notifications' settings={settings} settingPath={['sounds', 'reblog']} onChange={onChange} label={soundStr} />\n </div>\n </div>\n </div>\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ColumnSettings from '../components/column_settings';\nimport { changeSetting } from 'flavours/glitch/actions/settings';\nimport { setFilter } from 'flavours/glitch/actions/notifications';\nimport { clearNotifications } from 'flavours/glitch/actions/notifications';\nimport { changeAlerts as changePushNotifications } from 'flavours/glitch/actions/push_notifications';\nimport { openModal } from 'flavours/glitch/actions/modal';\n\nconst messages = defineMessages({\n clearMessage: { id: 'notifications.clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all your notifications?' },\n clearConfirm: { id: 'notifications.clear', defaultMessage: 'Clear notifications' },\n});\n\nconst mapStateToProps = state => ({\n settings: state.getIn(['settings', 'notifications']),\n pushSettings: state.get('push_notifications'),\n});\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onChange (path, checked) {\n if (path[0] === 'push') {\n dispatch(changePushNotifications(path.slice(1), checked));\n } else if (path[0] === 'quickFilter') {\n dispatch(changeSetting(['notifications', ...path], checked));\n dispatch(setFilter('all'));\n } else {\n dispatch(changeSetting(['notifications', ...path], checked));\n }\n },\n\n onClear () {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.clearMessage),\n confirm: intl.formatMessage(messages.clearConfirm),\n onConfirm: () => dispatch(clearNotifications()),\n }));\n },\n\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(ColumnSettings));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\n\nconst tooltips = defineMessages({\n mentions: { id: 'notifications.filter.mentions', defaultMessage: 'Mentions' },\n favourites: { id: 'notifications.filter.favourites', defaultMessage: 'Favourites' },\n boosts: { id: 'notifications.filter.boosts', defaultMessage: 'Boosts' },\n follows: { id: 'notifications.filter.follows', defaultMessage: 'Follows' },\n});\n\nexport default @injectIntl\nclass FilterBar extends React.PureComponent {\n\n static propTypes = {\n selectFilter: PropTypes.func.isRequired,\n selectedFilter: PropTypes.string.isRequired,\n advancedMode: PropTypes.bool.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n onClick (notificationType) {\n return () => this.props.selectFilter(notificationType);\n }\n\n render () {\n const { selectedFilter, advancedMode, intl } = this.props;\n const renderedElement = !advancedMode ? (\n <div className='notification__filter-bar'>\n <button\n className={selectedFilter === 'all' ? 'active' : ''}\n onClick={this.onClick('all')}\n >\n <FormattedMessage\n id='notifications.filter.all'\n defaultMessage='All'\n />\n </button>\n <button\n className={selectedFilter === 'mention' ? 'active' : ''}\n onClick={this.onClick('mention')}\n >\n <FormattedMessage\n id='notifications.filter.mentions'\n defaultMessage='Mentions'\n />\n </button>\n </div>\n ) : (\n <div className='notification__filter-bar'>\n <button\n className={selectedFilter === 'all' ? 'active' : ''}\n onClick={this.onClick('all')}\n >\n <FormattedMessage\n id='notifications.filter.all'\n defaultMessage='All'\n />\n </button>\n <button\n className={selectedFilter === 'mention' ? 'active' : ''}\n onClick={this.onClick('mention')}\n title={intl.formatMessage(tooltips.mentions)}\n >\n <i className='fa fa-fw fa-at' />\n </button>\n <button\n className={selectedFilter === 'favourite' ? 'active' : ''}\n onClick={this.onClick('favourite')}\n title={intl.formatMessage(tooltips.favourites)}\n >\n <i className='fa fa-fw fa-star' />\n </button>\n <button\n className={selectedFilter === 'reblog' ? 'active' : ''}\n onClick={this.onClick('reblog')}\n title={intl.formatMessage(tooltips.boosts)}\n >\n <i className='fa fa-fw fa-retweet' />\n </button>\n <button\n className={selectedFilter === 'follow' ? 'active' : ''}\n onClick={this.onClick('follow')}\n title={intl.formatMessage(tooltips.follows)}\n >\n <i className='fa fa-fw fa-user-plus' />\n </button>\n </div>\n );\n return renderedElement;\n }\n\n}\n","import { connect } from 'react-redux';\nimport FilterBar from '../components/filter_bar';\nimport { setFilter } from '../../../actions/notifications';\n\nconst makeMapStateToProps = state => ({\n selectedFilter: state.getIn(['settings', 'notifications', 'quickFilter', 'active']),\n advancedMode: state.getIn(['settings', 'notifications', 'quickFilter', 'advanced']),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n selectFilter (newActiveFilter) {\n dispatch(setFilter(newActiveFilter));\n },\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(FilterBar);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport {\n enterNotificationClearingMode,\n expandNotifications,\n scrollTopNotifications,\n mountNotifications,\n unmountNotifications,\n} from 'flavours/glitch/actions/notifications';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport NotificationContainer from './containers/notification_container';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport FilterBarContainer from './containers/filter_bar_container';\nimport { createSelector } from 'reselect';\nimport { List as ImmutableList } from 'immutable';\nimport { debounce } from 'lodash';\nimport ScrollableList from 'flavours/glitch/components/scrollable_list';\nimport LoadGap from 'flavours/glitch/components/load_gap';\n\nconst messages = defineMessages({\n title: { id: 'column.notifications', defaultMessage: 'Notifications' },\n});\n\nconst getNotifications = createSelector([\n state => state.getIn(['settings', 'notifications', 'quickFilter', 'show']),\n state => state.getIn(['settings', 'notifications', 'quickFilter', 'active']),\n state => ImmutableList(state.getIn(['settings', 'notifications', 'shows']).filter(item => !item).keys()),\n state => state.getIn(['notifications', 'items']),\n], (showFilterBar, allowedType, excludedTypes, notifications) => {\n if (!showFilterBar || allowedType === 'all') {\n // used if user changed the notification settings after loading the notifications from the server\n // otherwise a list of notifications will come pre-filtered from the backend\n // we need to turn it off for FilterBar in order not to block ourselves from seeing a specific category\n return notifications.filterNot(item => item !== null && excludedTypes.includes(item.get('type')));\n }\n return notifications.filter(item => item !== null && allowedType === item.get('type'));\n});\n\nconst mapStateToProps = state => ({\n showFilterBar: state.getIn(['settings', 'notifications', 'quickFilter', 'show']),\n notifications: getNotifications(state),\n localSettings: state.get('local_settings'),\n isLoading: state.getIn(['notifications', 'isLoading'], true),\n isUnread: state.getIn(['notifications', 'unread']) > 0,\n hasMore: state.getIn(['notifications', 'hasMore']),\n notifCleaningActive: state.getIn(['notifications', 'cleaningMode']),\n});\n\n/* glitch */\nconst mapDispatchToProps = dispatch => ({\n onEnterCleaningMode(yes) {\n dispatch(enterNotificationClearingMode(yes));\n },\n onMount() {\n dispatch(mountNotifications());\n },\n onUnmount() {\n dispatch(unmountNotifications());\n },\n dispatch,\n});\n\n@connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class Notifications extends React.PureComponent {\n\n static propTypes = {\n columnId: PropTypes.string,\n notifications: ImmutablePropTypes.list.isRequired,\n showFilterBar: PropTypes.bool.isRequired,\n dispatch: PropTypes.func.isRequired,\n shouldUpdateScroll: PropTypes.func,\n intl: PropTypes.object.isRequired,\n isLoading: PropTypes.bool,\n isUnread: PropTypes.bool,\n multiColumn: PropTypes.bool,\n hasMore: PropTypes.bool,\n localSettings: ImmutablePropTypes.map,\n notifCleaningActive: PropTypes.bool,\n onEnterCleaningMode: PropTypes.func,\n onMount: PropTypes.func,\n onUnmount: PropTypes.func,\n };\n\n static defaultProps = {\n trackScroll: true,\n };\n\n handleLoadGap = (maxId) => {\n this.props.dispatch(expandNotifications({ maxId }));\n };\n\n handleLoadOlder = debounce(() => {\n const last = this.props.notifications.last();\n this.props.dispatch(expandNotifications({ maxId: last && last.get('id') }));\n }, 300, { leading: true });\n\n handleScrollToTop = debounce(() => {\n this.props.dispatch(scrollTopNotifications(true));\n }, 100);\n\n handleScroll = debounce(() => {\n this.props.dispatch(scrollTopNotifications(false));\n }, 100);\n\n handlePin = () => {\n const { columnId, dispatch } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('NOTIFICATIONS', {}));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n setColumnRef = c => {\n this.column = c;\n }\n\n handleMoveUp = id => {\n const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) - 1;\n this._selectChild(elementIndex);\n }\n\n handleMoveDown = id => {\n const elementIndex = this.props.notifications.findIndex(item => item !== null && item.get('id') === id) + 1;\n this._selectChild(elementIndex);\n }\n\n _selectChild (index) {\n const element = this.column.node.querySelector(`article:nth-of-type(${index + 1}) .focusable`);\n\n if (element) {\n element.focus();\n }\n }\n\n componentDidMount () {\n const { onMount } = this.props;\n if (onMount) {\n onMount();\n }\n }\n\n componentWillUnmount () {\n const { onUnmount } = this.props;\n if (onUnmount) {\n onUnmount();\n }\n }\n\n render () {\n const { intl, notifications, shouldUpdateScroll, isLoading, isUnread, columnId, multiColumn, hasMore, showFilterBar } = this.props;\n const pinned = !!columnId;\n const emptyMessage = <FormattedMessage id='empty_column.notifications' defaultMessage=\"You don't have any notifications yet. Interact with others to start the conversation.\" />;\n\n let scrollableContent = null;\n\n const filterBarContainer = showFilterBar\n ? (<FilterBarContainer />)\n : null;\n\n if (isLoading && this.scrollableContent) {\n scrollableContent = this.scrollableContent;\n } else if (notifications.size > 0 || hasMore) {\n scrollableContent = notifications.map((item, index) => item === null ? (\n <LoadGap\n key={'gap:' + notifications.getIn([index + 1, 'id'])}\n disabled={isLoading}\n maxId={index > 0 ? notifications.getIn([index - 1, 'id']) : null}\n onClick={this.handleLoadGap}\n />\n ) : (\n <NotificationContainer\n key={item.get('id')}\n notification={item}\n accountId={item.get('account')}\n onMoveUp={this.handleMoveUp}\n onMoveDown={this.handleMoveDown}\n />\n ));\n } else {\n scrollableContent = null;\n }\n\n this.scrollableContent = scrollableContent;\n\n const scrollContainer = (\n <ScrollableList\n scrollKey={`notifications-${columnId}`}\n trackScroll={!pinned}\n isLoading={isLoading}\n showLoading={isLoading && notifications.size === 0}\n hasMore={hasMore}\n emptyMessage={emptyMessage}\n onLoadMore={this.handleLoadOlder}\n onScrollToTop={this.handleScrollToTop}\n onScroll={this.handleScroll}\n shouldUpdateScroll={shouldUpdateScroll}\n >\n {scrollableContent}\n </ScrollableList>\n );\n\n return (\n <Column\n ref={this.setColumnRef}\n name='notifications'\n extraClasses={this.props.notifCleaningActive ? 'notif-cleaning' : null}\n label={intl.formatMessage(messages.title)}\n >\n <ColumnHeader\n icon='bell'\n active={isUnread}\n title={intl.formatMessage(messages.title)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n localSettings={this.props.localSettings}\n notifCleaning\n notifCleaningActive={this.props.notifCleaningActive} // this is used to toggle the header text\n onEnterCleaningMode={this.props.onEnterCleaningMode}\n >\n <ColumnSettingsContainer />\n </ColumnHeader>\n {filterBarContainer}\n {scrollContainer}\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/onboarding_modal.js b/priv/static/packs/flavours/glitch/async/onboarding_modal.js index 6f137f931..d3df97c43 100644 --- a/priv/static/packs/flavours/glitch/async/onboarding_modal.js +++ b/priv/static/packs/flavours/glitch/async/onboarding_modal.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{676:function(e,a,t){"use strict";t.r(a),t.d(a,"default",function(){return A});var o,i=t(6),d=t(0),c=t(2),s=t(1),n=t(3),r=t.n(n),l=t(20),b=t(7),u=t(155),g=t.n(u),m=t(12),p=t.n(m),v=t(319),j=t(653),O=t(948),f=t(971),h=t(629),_=t(30),w=Object(b.f)({home_title:{id:"column.home",defaultMessage:"Home"},notifications_title:{id:"column.notifications",defaultMessage:"Notifications"},local_title:{id:"column.community",defaultMessage:"Local timeline"},federated_title:{id:"column.public",defaultMessage:"Federated timeline"}}),y=function(e){var a=e.acct,t=e.domain;return Object(s.a)("div",{className:"onboarding-modal__page onboarding-modal__page-one"},void 0,Object(s.a)("div",{style:{flex:"0 0 auto"}},void 0,Object(s.a)("div",{className:"onboarding-modal__page-one__elephant-friend"})),Object(s.a)("div",{},void 0,Object(s.a)("h1",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_one.welcome",defaultMessage:"Welcome to {domain}!",values:{domain:t}})),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_one.federation",defaultMessage:'{domain} is an "instance" of Mastodon. Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.',values:{domain:t}})),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_one.handle",defaultMessage:"You are on {domain}, so your full handle is {handle}",values:{domain:t,handle:Object(s.a)("strong",{},void 0,"@",a,"@",t)}}))))},M=function(e){var a=e.intl,t=e.myAccount;return Object(s.a)("div",{className:"onboarding-modal__page onboarding-modal__page-two"},void 0,Object(s.a)("div",{className:"figure non-interactive"},void 0,Object(s.a)("div",{className:"pseudo-drawer"},void 0,Object(s.a)(O.a,{account:t}),Object(s.a)(j.a,{intl:a,privacy:"public",text:"Awoo! #introductions"}))),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_two.compose",defaultMessage:"Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below."})))},N=function(e){var a=e.intl,t=e.myAccount;return Object(s.a)("div",{className:"onboarding-modal__page onboarding-modal__page-three"},void 0,Object(s.a)("div",{className:"figure non-interactive"},void 0,Object(s.a)(f.a,{intl:a}),Object(s.a)("div",{className:"pseudo-drawer"},void 0,Object(s.a)(O.a,{account:t}))),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_three.search",defaultMessage:"Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",values:{illustration:Object(s.a)(v.a,{to:"/timelines/tag/illustration",href:"/tags/illustration"},void 0,"#illustration"),introductions:Object(s.a)(v.a,{to:"/timelines/tag/introductions",href:"/tags/introductions"},void 0,"#introductions")}})),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_three.profile",defaultMessage:"Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences."})))},k=function(e){var a=e.domain,t=e.intl;return Object(s.a)("div",{className:"onboarding-modal__page onboarding-modal__page-four"},void 0,Object(s.a)("div",{className:"onboarding-modal__page-four__columns"},void 0,Object(s.a)("div",{className:"row"},void 0,Object(s.a)("div",{},void 0,Object(s.a)("div",{className:"figure non-interactive"},void 0,Object(s.a)(h.a,{icon:"home",type:t.formatMessage(w.home_title)})),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_four.home",defaultMessage:"The home timeline shows posts from people you follow."}))),Object(s.a)("div",{},void 0,Object(s.a)("div",{className:"figure non-interactive"},void 0,Object(s.a)(h.a,{icon:"bell",type:t.formatMessage(w.notifications_title)})),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_four.notifications",defaultMessage:"The notifications column shows when someone interacts with you."})))),Object(s.a)("div",{className:"row"},void 0,Object(s.a)("div",{},void 0,Object(s.a)("div",{className:"figure non-interactive",style:{marginBottom:0}},void 0,Object(s.a)(h.a,{icon:"users",type:t.formatMessage(w.local_title)}))),Object(s.a)("div",{},void 0,Object(s.a)("div",{className:"figure non-interactive",style:{marginBottom:0}},void 0,Object(s.a)(h.a,{icon:"globe",type:t.formatMessage(w.federated_title)})))),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_five.public_timelines",defaultMessage:"The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",values:{domain:a}}))))},x=function(e){var a=e.admin,t=e.domain,o="";return a&&(o=Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.admin",defaultMessage:"Your instance's admin is {admin}.",values:{admin:Object(s.a)(v.a,{href:a.get("url"),to:"/accounts/"+a.get("id")},void 0,"@",a.get("acct"))}}),Object(s.a)("br",{}),Object(s.a)(b.b,{id:"onboarding.page_six.read_guidelines",defaultMessage:"Please read {domain}'s {guidelines}!",values:{domain:t,guidelines:Object(s.a)("a",{href:"/about/more",target:"_blank"},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.guidelines",defaultMessage:"community guidelines"}))}}))),Object(s.a)("div",{className:"onboarding-modal__page onboarding-modal__page-six"},void 0,Object(s.a)("h1",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.almost_done",defaultMessage:"Almost done..."})),o,Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.github",defaultMessage:"{domain} runs on Glitchsoc. Glitchsoc is a friendly {fork} of {Mastodon}. Glitchsoc is fully compatible with all Mastodon apps and instances. Glitchsoc is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",values:{domain:t,fork:Object(s.a)("a",{href:"https://en.wikipedia.org/wiki/Fork_(software_development)",target:"_blank",rel:"noopener"},void 0,"fork"),Mastodon:Object(s.a)("a",{href:"https://github.com/tootsuite/mastodon",target:"_blank",rel:"noopener"},void 0,"Mastodon"),github:Object(s.a)("a",{href:"https://github.com/glitch-soc/mastodon",target:"_blank",rel:"noopener"},void 0,"GitHub")}})),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.apps_available",defaultMessage:"There are {apps} available for iOS, Android and other platforms.",values:{domain:t,apps:Object(s.a)("a",{href:"https://joinmastodon.org/apps",target:"_blank",rel:"noopener"},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.various_app",defaultMessage:"mobile apps"}))}})),Object(s.a)("p",{},void 0,Object(s.a)("em",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.appetoot",defaultMessage:"Bon Appetoot!"}))))},A=Object(l.connect)(function(e){return{myAccount:e.getIn(["accounts",_.l]),admin:e.getIn(["accounts",e.getIn(["meta","admin"])]),domain:e.getIn(["meta","domain"])}})(o=Object(b.g)(o=function(n){function e(){for(var o,e=arguments.length,a=new Array(e),t=0;t<e;t++)a[t]=arguments[t];return o=n.call.apply(n,[this].concat(a))||this,Object(c.a)(Object(d.a)(Object(d.a)(o)),"state",{currentIndex:0}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handleSkip",function(e){e.preventDefault(),o.props.onClose()}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handleDot",function(e){var a=Number(e.currentTarget.getAttribute("data-index"));e.preventDefault(),o.setState({currentIndex:a})}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handlePrev",function(){o.setState(function(e){var a=e.currentIndex;return{currentIndex:Math.max(0,a-1)}})}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handleNext",function(){var t=Object(d.a)(Object(d.a)(o)).pages;o.setState(function(e){var a=e.currentIndex;return{currentIndex:Math.min(a+1,t.length-1)}})}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handleSwipe",function(e){o.setState({currentIndex:e})}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handleKeyUp",function(e){switch(e.key){case"ArrowLeft":o.handlePrev();break;case"ArrowRight":o.handleNext()}}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handleClose",function(){o.props.onClose()}),o}Object(i.a)(e,n);var a=e.prototype;return a.componentWillMount=function(){var e=this.props,a=e.myAccount,t=e.admin,o=e.domain,n=e.intl;this.pages=[Object(s.a)(y,{acct:a.get("acct"),domain:o}),Object(s.a)(M,{myAccount:a,intl:n}),Object(s.a)(N,{myAccount:a,intl:n}),Object(s.a)(k,{domain:o,intl:n}),Object(s.a)(x,{admin:t,domain:o})]},a.componentDidMount=function(){window.addEventListener("keyup",this.handleKeyUp)},a.componentWillUnmount=function(){window.addEventListener("keyup",this.handleKeyUp)},a.render=function(){var o=this,e=this.pages,n=this.state.currentIndex,a=n<e.length-1?Object(s.a)("button",{onClick:this.handleNext,className:"onboarding-modal__nav onboarding-modal__next"},void 0,Object(s.a)(b.b,{id:"onboarding.next",defaultMessage:"Next"})):Object(s.a)("button",{onClick:this.handleClose,className:"onboarding-modal__nav onboarding-modal__done"},void 0,Object(s.a)(b.b,{id:"onboarding.done",defaultMessage:"Done"}));return Object(s.a)("div",{className:"modal-root__modal onboarding-modal"},void 0,Object(s.a)(g.a,{index:n,onChangeIndex:this.handleSwipe,className:"onboarding-modal__pager"},void 0,e.map(function(e,a){var t=p()("onboarding-modal__page__wrapper",{"onboarding-modal__page__wrapper--active":a===n});return Object(s.a)("div",{className:t},a,e)})),Object(s.a)("div",{className:"onboarding-modal__paginator"},void 0,Object(s.a)("div",{},void 0,Object(s.a)("button",{onClick:this.handleSkip,className:"onboarding-modal__nav onboarding-modal__skip"},void 0,Object(s.a)(b.b,{id:"onboarding.skip",defaultMessage:"Skip"}))),Object(s.a)("div",{className:"onboarding-modal__dots"},void 0,e.map(function(e,a){var t=p()("onboarding-modal__dot",{active:a===n});return Object(s.a)("div",{role:"button",tabIndex:"0","data-index":a,onClick:o.handleDot,className:t},"dot-"+a)})),Object(s.a)("div",{},void 0,a)))},e}(r.a.PureComponent))||o)||o}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{677:function(e,a,t){"use strict";t.r(a),t.d(a,"default",function(){return A});var o,i=t(6),d=t(0),c=t(2),s=t(1),n=t(3),r=t.n(n),l=t(20),b=t(7),u=t(156),g=t.n(u),m=t(12),p=t.n(m),v=t(321),j=t(654),O=t(949),f=t(972),h=t(630),_=t(31),w=Object(b.f)({home_title:{id:"column.home",defaultMessage:"Home"},notifications_title:{id:"column.notifications",defaultMessage:"Notifications"},local_title:{id:"column.community",defaultMessage:"Local timeline"},federated_title:{id:"column.public",defaultMessage:"Federated timeline"}}),y=function(e){var a=e.acct,t=e.domain;return Object(s.a)("div",{className:"onboarding-modal__page onboarding-modal__page-one"},void 0,Object(s.a)("div",{style:{flex:"0 0 auto"}},void 0,Object(s.a)("div",{className:"onboarding-modal__page-one__elephant-friend"})),Object(s.a)("div",{},void 0,Object(s.a)("h1",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_one.welcome",defaultMessage:"Welcome to {domain}!",values:{domain:t}})),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_one.federation",defaultMessage:'{domain} is an "instance" of Mastodon. Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.',values:{domain:t}})),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_one.handle",defaultMessage:"You are on {domain}, so your full handle is {handle}",values:{domain:t,handle:Object(s.a)("strong",{},void 0,"@",a,"@",t)}}))))},M=function(e){var a=e.intl,t=e.myAccount;return Object(s.a)("div",{className:"onboarding-modal__page onboarding-modal__page-two"},void 0,Object(s.a)("div",{className:"figure non-interactive"},void 0,Object(s.a)("div",{className:"pseudo-drawer"},void 0,Object(s.a)(O.a,{account:t}),Object(s.a)(j.a,{intl:a,privacy:"public",text:"Awoo! #introductions"}))),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_two.compose",defaultMessage:"Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below."})))},k=function(e){var a=e.intl,t=e.myAccount;return Object(s.a)("div",{className:"onboarding-modal__page onboarding-modal__page-three"},void 0,Object(s.a)("div",{className:"figure non-interactive"},void 0,Object(s.a)(f.a,{intl:a}),Object(s.a)("div",{className:"pseudo-drawer"},void 0,Object(s.a)(O.a,{account:t}))),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_three.search",defaultMessage:"Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",values:{illustration:Object(s.a)(v.a,{to:"/timelines/tag/illustration",href:"/tags/illustration"},void 0,"#illustration"),introductions:Object(s.a)(v.a,{to:"/timelines/tag/introductions",href:"/tags/introductions"},void 0,"#introductions")}})),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_three.profile",defaultMessage:"Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences."})))},N=function(e){var a=e.domain,t=e.intl;return Object(s.a)("div",{className:"onboarding-modal__page onboarding-modal__page-four"},void 0,Object(s.a)("div",{className:"onboarding-modal__page-four__columns"},void 0,Object(s.a)("div",{className:"row"},void 0,Object(s.a)("div",{},void 0,Object(s.a)("div",{className:"figure non-interactive"},void 0,Object(s.a)(h.a,{icon:"home",type:t.formatMessage(w.home_title)})),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_four.home",defaultMessage:"The home timeline shows posts from people you follow."}))),Object(s.a)("div",{},void 0,Object(s.a)("div",{className:"figure non-interactive"},void 0,Object(s.a)(h.a,{icon:"bell",type:t.formatMessage(w.notifications_title)})),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_four.notifications",defaultMessage:"The notifications column shows when someone interacts with you."})))),Object(s.a)("div",{className:"row"},void 0,Object(s.a)("div",{},void 0,Object(s.a)("div",{className:"figure non-interactive",style:{marginBottom:0}},void 0,Object(s.a)(h.a,{icon:"users",type:t.formatMessage(w.local_title)}))),Object(s.a)("div",{},void 0,Object(s.a)("div",{className:"figure non-interactive",style:{marginBottom:0}},void 0,Object(s.a)(h.a,{icon:"globe",type:t.formatMessage(w.federated_title)})))),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_five.public_timelines",defaultMessage:"The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",values:{domain:a}}))))},x=function(e){var a=e.admin,t=e.domain,o="";return a&&(o=Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.admin",defaultMessage:"Your instance's admin is {admin}.",values:{admin:Object(s.a)(v.a,{href:a.get("url"),to:"/accounts/"+a.get("id")},void 0,"@",a.get("acct"))}}),Object(s.a)("br",{}),Object(s.a)(b.b,{id:"onboarding.page_six.read_guidelines",defaultMessage:"Please read {domain}'s {guidelines}!",values:{domain:t,guidelines:Object(s.a)("a",{href:"/about/more",target:"_blank"},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.guidelines",defaultMessage:"community guidelines"}))}}))),Object(s.a)("div",{className:"onboarding-modal__page onboarding-modal__page-six"},void 0,Object(s.a)("h1",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.almost_done",defaultMessage:"Almost done..."})),o,Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.github",defaultMessage:"{domain} runs on Glitchsoc. Glitchsoc is a friendly {fork} of {Mastodon}. Glitchsoc is fully compatible with all Mastodon apps and instances. Glitchsoc is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",values:{domain:t,fork:Object(s.a)("a",{href:"https://en.wikipedia.org/wiki/Fork_(software_development)",target:"_blank",rel:"noopener"},void 0,"fork"),Mastodon:Object(s.a)("a",{href:"https://github.com/tootsuite/mastodon",target:"_blank",rel:"noopener"},void 0,"Mastodon"),github:Object(s.a)("a",{href:"https://github.com/glitch-soc/mastodon",target:"_blank",rel:"noopener"},void 0,"GitHub")}})),Object(s.a)("p",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.apps_available",defaultMessage:"There are {apps} available for iOS, Android and other platforms.",values:{domain:t,apps:Object(s.a)("a",{href:"https://joinmastodon.org/apps",target:"_blank",rel:"noopener"},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.various_app",defaultMessage:"mobile apps"}))}})),Object(s.a)("p",{},void 0,Object(s.a)("em",{},void 0,Object(s.a)(b.b,{id:"onboarding.page_six.appetoot",defaultMessage:"Bon Appetoot!"}))))},A=Object(l.connect)(function(e){return{myAccount:e.getIn(["accounts",_.k]),admin:e.getIn(["accounts",e.getIn(["meta","admin"])]),domain:e.getIn(["meta","domain"])}})(o=Object(b.g)(o=function(n){function e(){for(var o,e=arguments.length,a=new Array(e),t=0;t<e;t++)a[t]=arguments[t];return o=n.call.apply(n,[this].concat(a))||this,Object(c.a)(Object(d.a)(Object(d.a)(o)),"state",{currentIndex:0}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handleSkip",function(e){e.preventDefault(),o.props.onClose()}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handleDot",function(e){var a=Number(e.currentTarget.getAttribute("data-index"));e.preventDefault(),o.setState({currentIndex:a})}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handlePrev",function(){o.setState(function(e){var a=e.currentIndex;return{currentIndex:Math.max(0,a-1)}})}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handleNext",function(){var t=Object(d.a)(Object(d.a)(o)).pages;o.setState(function(e){var a=e.currentIndex;return{currentIndex:Math.min(a+1,t.length-1)}})}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handleSwipe",function(e){o.setState({currentIndex:e})}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handleKeyUp",function(e){switch(e.key){case"ArrowLeft":o.handlePrev();break;case"ArrowRight":o.handleNext()}}),Object(c.a)(Object(d.a)(Object(d.a)(o)),"handleClose",function(){o.props.onClose()}),o}Object(i.a)(e,n);var a=e.prototype;return a.componentWillMount=function(){var e=this.props,a=e.myAccount,t=e.admin,o=e.domain,n=e.intl;this.pages=[Object(s.a)(y,{acct:a.get("acct"),domain:o}),Object(s.a)(M,{myAccount:a,intl:n}),Object(s.a)(k,{myAccount:a,intl:n}),Object(s.a)(N,{domain:o,intl:n}),Object(s.a)(x,{admin:t,domain:o})]},a.componentDidMount=function(){window.addEventListener("keyup",this.handleKeyUp)},a.componentWillUnmount=function(){window.addEventListener("keyup",this.handleKeyUp)},a.render=function(){var o=this,e=this.pages,n=this.state.currentIndex,a=n<e.length-1?Object(s.a)("button",{onClick:this.handleNext,className:"onboarding-modal__nav onboarding-modal__next"},void 0,Object(s.a)(b.b,{id:"onboarding.next",defaultMessage:"Next"})):Object(s.a)("button",{onClick:this.handleClose,className:"onboarding-modal__nav onboarding-modal__done"},void 0,Object(s.a)(b.b,{id:"onboarding.done",defaultMessage:"Done"}));return Object(s.a)("div",{className:"modal-root__modal onboarding-modal"},void 0,Object(s.a)(g.a,{index:n,onChangeIndex:this.handleSwipe,className:"onboarding-modal__pager"},void 0,e.map(function(e,a){var t=p()("onboarding-modal__page__wrapper",{"onboarding-modal__page__wrapper--active":a===n});return Object(s.a)("div",{className:t},a,e)})),Object(s.a)("div",{className:"onboarding-modal__paginator"},void 0,Object(s.a)("div",{},void 0,Object(s.a)("button",{onClick:this.handleSkip,className:"onboarding-modal__nav onboarding-modal__skip"},void 0,Object(s.a)(b.b,{id:"onboarding.skip",defaultMessage:"Skip"}))),Object(s.a)("div",{className:"onboarding-modal__dots"},void 0,e.map(function(e,a){var t=p()("onboarding-modal__dot",{active:a===n});return Object(s.a)("div",{role:"button",tabIndex:"0","data-index":a,onClick:o.handleDot,className:t},"dot-"+a)})),Object(s.a)("div",{},void 0,a)))},e}(r.a.PureComponent))||o)||o}}]); //# sourceMappingURL=onboarding_modal.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/onboarding_modal.js.map b/priv/static/packs/flavours/glitch/async/onboarding_modal.js.map index 1b48ae69c..0cafec53f 100644 --- a/priv/static/packs/flavours/glitch/async/onboarding_modal.js.map +++ b/priv/static/packs/flavours/glitch/async/onboarding_modal.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js"],"names":["messages","defineMessages","home_title","id","defaultMessage","notifications_title","local_title","federated_title","PageOne","_ref","acct","domain","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_3__","className","style","flex","react_intl__WEBPACK_IMPORTED_MODULE_6__","values","handle","PageTwo","_ref2","intl","myAccount","flavours_glitch_features_drawer_account__WEBPACK_IMPORTED_MODULE_11__","account","flavours_glitch_features_composer__WEBPACK_IMPORTED_MODULE_10__","privacy","text","PageThree","_ref3","flavours_glitch_features_drawer_search__WEBPACK_IMPORTED_MODULE_12__","illustration","flavours_glitch_components_permalink__WEBPACK_IMPORTED_MODULE_9__","to","href","introductions","PageFour","_ref4","_column_header__WEBPACK_IMPORTED_MODULE_13__","icon","type","formatMessage","marginBottom","PageSix","_ref5","admin","adminSection","get","guidelines","target","fork","rel","Mastodon","github","apps","OnboardingModal","connect","state","getIn","me","injectIntl","currentIndex","e","preventDefault","_this","props","onClose","i","Number","currentTarget","getAttribute","setState","_ref6","Math","max","pages","_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__","_ref7","min","length","index","_ref8","key","handlePrev","handleNext","componentWillMount","_this$props","this","componentDidMount","window","addEventListener","handleKeyUp","componentWillUnmount","render","_this2","nextOrDoneBtn","onClick","handleClose","react_swipeable_views__WEBPACK_IMPORTED_MODULE_7___default","a","onChangeIndex","handleSwipe","map","page","classNames","onboarding-modal__page__wrapper--active","handleSkip","_","active","role","tabIndex","data-index","handleDot","React","PureComponent"],"mappings":"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","file":"flavours/glitch/async/onboarding_modal.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ReactSwipeableViews from 'react-swipeable-views';\nimport classNames from 'classnames';\nimport Permalink from 'flavours/glitch/components/permalink';\nimport { WrappedComponent as RawComposer } from 'flavours/glitch/features/composer';\nimport DrawerAccount from 'flavours/glitch/features/drawer/account';\nimport DrawerSearch from 'flavours/glitch/features/drawer/search';\nimport ColumnHeader from './column_header';\nimport { me } from 'flavours/glitch/util/initial_state';\n\nconst messages = defineMessages({\n home_title: { id: 'column.home', defaultMessage: 'Home' },\n notifications_title: { id: 'column.notifications', defaultMessage: 'Notifications' },\n local_title: { id: 'column.community', defaultMessage: 'Local timeline' },\n federated_title: { id: 'column.public', defaultMessage: 'Federated timeline' },\n});\n\nconst PageOne = ({ acct, domain }) => (\n <div className='onboarding-modal__page onboarding-modal__page-one'>\n <div style={{ flex: '0 0 auto' }}>\n <div className='onboarding-modal__page-one__elephant-friend' />\n </div>\n\n <div>\n <h1><FormattedMessage id='onboarding.page_one.welcome' defaultMessage='Welcome to {domain}!' values={{ domain }} /></h1>\n <p><FormattedMessage id='onboarding.page_one.federation' defaultMessage='{domain} is an \"instance\" of Mastodon. Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.' values={{ domain }} /></p>\n <p><FormattedMessage id='onboarding.page_one.handle' defaultMessage='You are on {domain}, so your full handle is {handle}' values={{ domain, handle: <strong>@{acct}@{domain}</strong> }} /></p>\n </div>\n </div>\n);\n\nPageOne.propTypes = {\n acct: PropTypes.string.isRequired,\n domain: PropTypes.string.isRequired,\n};\n\nconst PageTwo = ({ intl, myAccount }) => (\n <div className='onboarding-modal__page onboarding-modal__page-two'>\n <div className='figure non-interactive'>\n <div className='pseudo-drawer'>\n <DrawerAccount account={myAccount} />\n <RawComposer\n intl={intl}\n privacy='public'\n text='Awoo! #introductions'\n />\n </div>\n </div>\n\n <p><FormattedMessage id='onboarding.page_two.compose' defaultMessage='Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.' /></p>\n </div>\n);\n\nPageTwo.propTypes = {\n intl: PropTypes.object.isRequired,\n myAccount: ImmutablePropTypes.map.isRequired,\n};\n\nconst PageThree = ({ intl, myAccount }) => (\n <div className='onboarding-modal__page onboarding-modal__page-three'>\n <div className='figure non-interactive'>\n <DrawerSearch intl={intl} />\n\n <div className='pseudo-drawer'>\n <DrawerAccount account={myAccount} />\n </div>\n </div>\n\n <p><FormattedMessage id='onboarding.page_three.search' defaultMessage='Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.' values={{ illustration: <Permalink to='/timelines/tag/illustration' href='/tags/illustration'>#illustration</Permalink>, introductions: <Permalink to='/timelines/tag/introductions' href='/tags/introductions'>#introductions</Permalink> }} /></p>\n <p><FormattedMessage id='onboarding.page_three.profile' defaultMessage='Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.' /></p>\n </div>\n);\n\nPageThree.propTypes = {\n intl: PropTypes.object.isRequired,\n myAccount: ImmutablePropTypes.map.isRequired,\n};\n\nconst PageFour = ({ domain, intl }) => (\n <div className='onboarding-modal__page onboarding-modal__page-four'>\n <div className='onboarding-modal__page-four__columns'>\n <div className='row'>\n <div>\n <div className='figure non-interactive'><ColumnHeader icon='home' type={intl.formatMessage(messages.home_title)} /></div>\n <p><FormattedMessage id='onboarding.page_four.home' defaultMessage='The home timeline shows posts from people you follow.' /></p>\n </div>\n\n <div>\n <div className='figure non-interactive'><ColumnHeader icon='bell' type={intl.formatMessage(messages.notifications_title)} /></div>\n <p><FormattedMessage id='onboarding.page_four.notifications' defaultMessage='The notifications column shows when someone interacts with you.' /></p>\n </div>\n </div>\n\n <div className='row'>\n <div>\n <div className='figure non-interactive' style={{ marginBottom: 0 }}><ColumnHeader icon='users' type={intl.formatMessage(messages.local_title)} /></div>\n </div>\n\n <div>\n <div className='figure non-interactive' style={{ marginBottom: 0 }}><ColumnHeader icon='globe' type={intl.formatMessage(messages.federated_title)} /></div>\n </div>\n </div>\n\n <p><FormattedMessage id='onboarding.page_five.public_timelines' defaultMessage='The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.' values={{ domain }} /></p>\n </div>\n </div>\n);\n\nPageFour.propTypes = {\n domain: PropTypes.string.isRequired,\n intl: PropTypes.object.isRequired,\n};\n\nconst PageSix = ({ admin, domain }) => {\n let adminSection = '';\n\n if (admin) {\n adminSection = (\n <p>\n <FormattedMessage id='onboarding.page_six.admin' defaultMessage=\"Your instance's admin is {admin}.\" values={{ admin: <Permalink href={admin.get('url')} to={`/accounts/${admin.get('id')}`}>@{admin.get('acct')}</Permalink> }} />\n <br />\n <FormattedMessage id='onboarding.page_six.read_guidelines' defaultMessage=\"Please read {domain}'s {guidelines}!\" values={{ domain, guidelines: <a href='/about/more' target='_blank'><FormattedMessage id='onboarding.page_six.guidelines' defaultMessage='community guidelines' /></a> }} />\n </p>\n );\n }\n\n return (\n <div className='onboarding-modal__page onboarding-modal__page-six'>\n <h1><FormattedMessage id='onboarding.page_six.almost_done' defaultMessage='Almost done...' /></h1>\n {adminSection}\n <p><FormattedMessage id='onboarding.page_six.github' defaultMessage='{domain} runs on Glitchsoc. Glitchsoc is a friendly {fork} of {Mastodon}. Glitchsoc is fully compatible with all Mastodon apps and instances. Glitchsoc is free open-source software. You can report bugs, request features, or contribute to the code on {github}.' values={{ domain, fork: <a href='https://en.wikipedia.org/wiki/Fork_(software_development)' target='_blank' rel='noopener'>fork</a>, Mastodon: <a href='https://github.com/tootsuite/mastodon' target='_blank' rel='noopener'>Mastodon</a>, github: <a href='https://github.com/glitch-soc/mastodon' target='_blank' rel='noopener'>GitHub</a> }} /></p>\n <p><FormattedMessage id='onboarding.page_six.apps_available' defaultMessage='There are {apps} available for iOS, Android and other platforms.' values={{ domain, apps: <a href='https://joinmastodon.org/apps' target='_blank' rel='noopener'><FormattedMessage id='onboarding.page_six.various_app' defaultMessage='mobile apps' /></a> }} /></p>\n <p><em><FormattedMessage id='onboarding.page_six.appetoot' defaultMessage='Bon Appetoot!' /></em></p>\n </div>\n );\n};\n\nPageSix.propTypes = {\n admin: ImmutablePropTypes.map,\n domain: PropTypes.string.isRequired,\n};\n\nconst mapStateToProps = state => ({\n myAccount: state.getIn(['accounts', me]),\n admin: state.getIn(['accounts', state.getIn(['meta', 'admin'])]),\n domain: state.getIn(['meta', 'domain']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class OnboardingModal extends React.PureComponent {\n\n static propTypes = {\n onClose: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n myAccount: ImmutablePropTypes.map.isRequired,\n domain: PropTypes.string.isRequired,\n admin: ImmutablePropTypes.map,\n };\n\n state = {\n currentIndex: 0,\n };\n\n componentWillMount() {\n const { myAccount, admin, domain, intl } = this.props;\n this.pages = [\n <PageOne acct={myAccount.get('acct')} domain={domain} />,\n <PageTwo myAccount={myAccount} intl={intl} />,\n <PageThree myAccount={myAccount} intl={intl} />,\n <PageFour domain={domain} intl={intl} />,\n <PageSix admin={admin} domain={domain} />,\n ];\n };\n\n componentDidMount() {\n window.addEventListener('keyup', this.handleKeyUp);\n }\n\n componentWillUnmount() {\n window.addEventListener('keyup', this.handleKeyUp);\n }\n\n handleSkip = (e) => {\n e.preventDefault();\n this.props.onClose();\n }\n\n handleDot = (e) => {\n const i = Number(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n this.setState({ currentIndex: i });\n }\n\n handlePrev = () => {\n this.setState(({ currentIndex }) => ({\n currentIndex: Math.max(0, currentIndex - 1),\n }));\n }\n\n handleNext = () => {\n const { pages } = this;\n this.setState(({ currentIndex }) => ({\n currentIndex: Math.min(currentIndex + 1, pages.length - 1),\n }));\n }\n\n handleSwipe = (index) => {\n this.setState({ currentIndex: index });\n }\n\n handleKeyUp = ({ key }) => {\n switch (key) {\n case 'ArrowLeft':\n this.handlePrev();\n break;\n case 'ArrowRight':\n this.handleNext();\n break;\n }\n }\n\n handleClose = () => {\n this.props.onClose();\n }\n\n render () {\n const { pages } = this;\n const { currentIndex } = this.state;\n const hasMore = currentIndex < pages.length - 1;\n\n const nextOrDoneBtn = hasMore ? (\n <button\n onClick={this.handleNext}\n className='onboarding-modal__nav onboarding-modal__next'\n >\n <FormattedMessage id='onboarding.next' defaultMessage='Next' />\n </button>\n ) : (\n <button\n onClick={this.handleClose}\n className='onboarding-modal__nav onboarding-modal__done'\n >\n <FormattedMessage id='onboarding.done' defaultMessage='Done' />\n </button>\n );\n\n return (\n <div className='modal-root__modal onboarding-modal'>\n <ReactSwipeableViews index={currentIndex} onChangeIndex={this.handleSwipe} className='onboarding-modal__pager'>\n {pages.map((page, i) => {\n const className = classNames('onboarding-modal__page__wrapper', {\n 'onboarding-modal__page__wrapper--active': i === currentIndex,\n });\n return (\n <div key={i} className={className}>{page}</div>\n );\n })}\n </ReactSwipeableViews>\n\n <div className='onboarding-modal__paginator'>\n <div>\n <button\n onClick={this.handleSkip}\n className='onboarding-modal__nav onboarding-modal__skip'\n >\n <FormattedMessage id='onboarding.skip' defaultMessage='Skip' />\n </button>\n </div>\n\n <div className='onboarding-modal__dots'>\n {pages.map((_, i) => {\n const className = classNames('onboarding-modal__dot', {\n active: i === currentIndex,\n });\n return (\n <div\n key={`dot-${i}`}\n role='button'\n tabIndex='0'\n data-index={i}\n onClick={this.handleDot}\n className={className}\n />\n );\n })}\n </div>\n\n <div>\n {nextOrDoneBtn}\n </div>\n </div>\n </div>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js"],"names":["messages","defineMessages","home_title","id","defaultMessage","notifications_title","local_title","federated_title","PageOne","_ref","acct","domain","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_3__","className","style","flex","react_intl__WEBPACK_IMPORTED_MODULE_6__","values","handle","PageTwo","_ref2","intl","myAccount","flavours_glitch_features_drawer_account__WEBPACK_IMPORTED_MODULE_11__","account","flavours_glitch_features_composer__WEBPACK_IMPORTED_MODULE_10__","privacy","text","PageThree","_ref3","flavours_glitch_features_drawer_search__WEBPACK_IMPORTED_MODULE_12__","illustration","flavours_glitch_components_permalink__WEBPACK_IMPORTED_MODULE_9__","to","href","introductions","PageFour","_ref4","_column_header__WEBPACK_IMPORTED_MODULE_13__","icon","type","formatMessage","marginBottom","PageSix","_ref5","admin","adminSection","get","guidelines","target","fork","rel","Mastodon","github","apps","OnboardingModal","connect","state","getIn","me","injectIntl","currentIndex","e","preventDefault","_this","props","onClose","i","Number","currentTarget","getAttribute","setState","_ref6","Math","max","pages","_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__","_ref7","min","length","index","_ref8","key","handlePrev","handleNext","componentWillMount","_this$props","this","componentDidMount","window","addEventListener","handleKeyUp","componentWillUnmount","render","_this2","nextOrDoneBtn","onClick","handleClose","react_swipeable_views__WEBPACK_IMPORTED_MODULE_7___default","a","onChangeIndex","handleSwipe","map","page","classNames","onboarding-modal__page__wrapper--active","handleSkip","_","active","role","tabIndex","data-index","handleDot","React","PureComponent"],"mappings":"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","file":"flavours/glitch/async/onboarding_modal.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ReactSwipeableViews from 'react-swipeable-views';\nimport classNames from 'classnames';\nimport Permalink from 'flavours/glitch/components/permalink';\nimport { WrappedComponent as RawComposer } from 'flavours/glitch/features/composer';\nimport DrawerAccount from 'flavours/glitch/features/drawer/account';\nimport DrawerSearch from 'flavours/glitch/features/drawer/search';\nimport ColumnHeader from './column_header';\nimport { me } from 'flavours/glitch/util/initial_state';\n\nconst messages = defineMessages({\n home_title: { id: 'column.home', defaultMessage: 'Home' },\n notifications_title: { id: 'column.notifications', defaultMessage: 'Notifications' },\n local_title: { id: 'column.community', defaultMessage: 'Local timeline' },\n federated_title: { id: 'column.public', defaultMessage: 'Federated timeline' },\n});\n\nconst PageOne = ({ acct, domain }) => (\n <div className='onboarding-modal__page onboarding-modal__page-one'>\n <div style={{ flex: '0 0 auto' }}>\n <div className='onboarding-modal__page-one__elephant-friend' />\n </div>\n\n <div>\n <h1><FormattedMessage id='onboarding.page_one.welcome' defaultMessage='Welcome to {domain}!' values={{ domain }} /></h1>\n <p><FormattedMessage id='onboarding.page_one.federation' defaultMessage='{domain} is an \"instance\" of Mastodon. Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.' values={{ domain }} /></p>\n <p><FormattedMessage id='onboarding.page_one.handle' defaultMessage='You are on {domain}, so your full handle is {handle}' values={{ domain, handle: <strong>@{acct}@{domain}</strong> }} /></p>\n </div>\n </div>\n);\n\nPageOne.propTypes = {\n acct: PropTypes.string.isRequired,\n domain: PropTypes.string.isRequired,\n};\n\nconst PageTwo = ({ intl, myAccount }) => (\n <div className='onboarding-modal__page onboarding-modal__page-two'>\n <div className='figure non-interactive'>\n <div className='pseudo-drawer'>\n <DrawerAccount account={myAccount} />\n <RawComposer\n intl={intl}\n privacy='public'\n text='Awoo! #introductions'\n />\n </div>\n </div>\n\n <p><FormattedMessage id='onboarding.page_two.compose' defaultMessage='Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.' /></p>\n </div>\n);\n\nPageTwo.propTypes = {\n intl: PropTypes.object.isRequired,\n myAccount: ImmutablePropTypes.map.isRequired,\n};\n\nconst PageThree = ({ intl, myAccount }) => (\n <div className='onboarding-modal__page onboarding-modal__page-three'>\n <div className='figure non-interactive'>\n <DrawerSearch intl={intl} />\n\n <div className='pseudo-drawer'>\n <DrawerAccount account={myAccount} />\n </div>\n </div>\n\n <p><FormattedMessage id='onboarding.page_three.search' defaultMessage='Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.' values={{ illustration: <Permalink to='/timelines/tag/illustration' href='/tags/illustration'>#illustration</Permalink>, introductions: <Permalink to='/timelines/tag/introductions' href='/tags/introductions'>#introductions</Permalink> }} /></p>\n <p><FormattedMessage id='onboarding.page_three.profile' defaultMessage='Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.' /></p>\n </div>\n);\n\nPageThree.propTypes = {\n intl: PropTypes.object.isRequired,\n myAccount: ImmutablePropTypes.map.isRequired,\n};\n\nconst PageFour = ({ domain, intl }) => (\n <div className='onboarding-modal__page onboarding-modal__page-four'>\n <div className='onboarding-modal__page-four__columns'>\n <div className='row'>\n <div>\n <div className='figure non-interactive'><ColumnHeader icon='home' type={intl.formatMessage(messages.home_title)} /></div>\n <p><FormattedMessage id='onboarding.page_four.home' defaultMessage='The home timeline shows posts from people you follow.' /></p>\n </div>\n\n <div>\n <div className='figure non-interactive'><ColumnHeader icon='bell' type={intl.formatMessage(messages.notifications_title)} /></div>\n <p><FormattedMessage id='onboarding.page_four.notifications' defaultMessage='The notifications column shows when someone interacts with you.' /></p>\n </div>\n </div>\n\n <div className='row'>\n <div>\n <div className='figure non-interactive' style={{ marginBottom: 0 }}><ColumnHeader icon='users' type={intl.formatMessage(messages.local_title)} /></div>\n </div>\n\n <div>\n <div className='figure non-interactive' style={{ marginBottom: 0 }}><ColumnHeader icon='globe' type={intl.formatMessage(messages.federated_title)} /></div>\n </div>\n </div>\n\n <p><FormattedMessage id='onboarding.page_five.public_timelines' defaultMessage='The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.' values={{ domain }} /></p>\n </div>\n </div>\n);\n\nPageFour.propTypes = {\n domain: PropTypes.string.isRequired,\n intl: PropTypes.object.isRequired,\n};\n\nconst PageSix = ({ admin, domain }) => {\n let adminSection = '';\n\n if (admin) {\n adminSection = (\n <p>\n <FormattedMessage id='onboarding.page_six.admin' defaultMessage=\"Your instance's admin is {admin}.\" values={{ admin: <Permalink href={admin.get('url')} to={`/accounts/${admin.get('id')}`}>@{admin.get('acct')}</Permalink> }} />\n <br />\n <FormattedMessage id='onboarding.page_six.read_guidelines' defaultMessage=\"Please read {domain}'s {guidelines}!\" values={{ domain, guidelines: <a href='/about/more' target='_blank'><FormattedMessage id='onboarding.page_six.guidelines' defaultMessage='community guidelines' /></a> }} />\n </p>\n );\n }\n\n return (\n <div className='onboarding-modal__page onboarding-modal__page-six'>\n <h1><FormattedMessage id='onboarding.page_six.almost_done' defaultMessage='Almost done...' /></h1>\n {adminSection}\n <p><FormattedMessage id='onboarding.page_six.github' defaultMessage='{domain} runs on Glitchsoc. Glitchsoc is a friendly {fork} of {Mastodon}. Glitchsoc is fully compatible with all Mastodon apps and instances. Glitchsoc is free open-source software. You can report bugs, request features, or contribute to the code on {github}.' values={{ domain, fork: <a href='https://en.wikipedia.org/wiki/Fork_(software_development)' target='_blank' rel='noopener'>fork</a>, Mastodon: <a href='https://github.com/tootsuite/mastodon' target='_blank' rel='noopener'>Mastodon</a>, github: <a href='https://github.com/glitch-soc/mastodon' target='_blank' rel='noopener'>GitHub</a> }} /></p>\n <p><FormattedMessage id='onboarding.page_six.apps_available' defaultMessage='There are {apps} available for iOS, Android and other platforms.' values={{ domain, apps: <a href='https://joinmastodon.org/apps' target='_blank' rel='noopener'><FormattedMessage id='onboarding.page_six.various_app' defaultMessage='mobile apps' /></a> }} /></p>\n <p><em><FormattedMessage id='onboarding.page_six.appetoot' defaultMessage='Bon Appetoot!' /></em></p>\n </div>\n );\n};\n\nPageSix.propTypes = {\n admin: ImmutablePropTypes.map,\n domain: PropTypes.string.isRequired,\n};\n\nconst mapStateToProps = state => ({\n myAccount: state.getIn(['accounts', me]),\n admin: state.getIn(['accounts', state.getIn(['meta', 'admin'])]),\n domain: state.getIn(['meta', 'domain']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class OnboardingModal extends React.PureComponent {\n\n static propTypes = {\n onClose: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n myAccount: ImmutablePropTypes.map.isRequired,\n domain: PropTypes.string.isRequired,\n admin: ImmutablePropTypes.map,\n };\n\n state = {\n currentIndex: 0,\n };\n\n componentWillMount() {\n const { myAccount, admin, domain, intl } = this.props;\n this.pages = [\n <PageOne acct={myAccount.get('acct')} domain={domain} />,\n <PageTwo myAccount={myAccount} intl={intl} />,\n <PageThree myAccount={myAccount} intl={intl} />,\n <PageFour domain={domain} intl={intl} />,\n <PageSix admin={admin} domain={domain} />,\n ];\n };\n\n componentDidMount() {\n window.addEventListener('keyup', this.handleKeyUp);\n }\n\n componentWillUnmount() {\n window.addEventListener('keyup', this.handleKeyUp);\n }\n\n handleSkip = (e) => {\n e.preventDefault();\n this.props.onClose();\n }\n\n handleDot = (e) => {\n const i = Number(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n this.setState({ currentIndex: i });\n }\n\n handlePrev = () => {\n this.setState(({ currentIndex }) => ({\n currentIndex: Math.max(0, currentIndex - 1),\n }));\n }\n\n handleNext = () => {\n const { pages } = this;\n this.setState(({ currentIndex }) => ({\n currentIndex: Math.min(currentIndex + 1, pages.length - 1),\n }));\n }\n\n handleSwipe = (index) => {\n this.setState({ currentIndex: index });\n }\n\n handleKeyUp = ({ key }) => {\n switch (key) {\n case 'ArrowLeft':\n this.handlePrev();\n break;\n case 'ArrowRight':\n this.handleNext();\n break;\n }\n }\n\n handleClose = () => {\n this.props.onClose();\n }\n\n render () {\n const { pages } = this;\n const { currentIndex } = this.state;\n const hasMore = currentIndex < pages.length - 1;\n\n const nextOrDoneBtn = hasMore ? (\n <button\n onClick={this.handleNext}\n className='onboarding-modal__nav onboarding-modal__next'\n >\n <FormattedMessage id='onboarding.next' defaultMessage='Next' />\n </button>\n ) : (\n <button\n onClick={this.handleClose}\n className='onboarding-modal__nav onboarding-modal__done'\n >\n <FormattedMessage id='onboarding.done' defaultMessage='Done' />\n </button>\n );\n\n return (\n <div className='modal-root__modal onboarding-modal'>\n <ReactSwipeableViews index={currentIndex} onChangeIndex={this.handleSwipe} className='onboarding-modal__pager'>\n {pages.map((page, i) => {\n const className = classNames('onboarding-modal__page__wrapper', {\n 'onboarding-modal__page__wrapper--active': i === currentIndex,\n });\n return (\n <div key={i} className={className}>{page}</div>\n );\n })}\n </ReactSwipeableViews>\n\n <div className='onboarding-modal__paginator'>\n <div>\n <button\n onClick={this.handleSkip}\n className='onboarding-modal__nav onboarding-modal__skip'\n >\n <FormattedMessage id='onboarding.skip' defaultMessage='Skip' />\n </button>\n </div>\n\n <div className='onboarding-modal__dots'>\n {pages.map((_, i) => {\n const className = classNames('onboarding-modal__dot', {\n active: i === currentIndex,\n });\n return (\n <div\n key={`dot-${i}`}\n role='button'\n tabIndex='0'\n data-index={i}\n onClick={this.handleDot}\n className={className}\n />\n );\n })}\n </div>\n\n <div>\n {nextOrDoneBtn}\n </div>\n </div>\n </div>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/pinned_accounts_editor.js b/priv/static/packs/flavours/glitch/async/pinned_accounts_editor.js index 73df78afe..139ab84c9 100644 --- a/priv/static/packs/flavours/glitch/async/pinned_accounts_editor.js +++ b/priv/static/packs/flavours/glitch/async/pinned_accounts_editor.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{714:function(n,t,e){"use strict";e.r(t);var c,i,o,r=e(1),a=e(6),u=e(2),s=(e(3),e(5)),d=e.n(s),l=e(26),b=e.n(l),f=e(20),p=e(24),j=e(7),O=e(14),v=e(166),m=e(962),I=Object(j.g)(Object(f.connect)(function(){var i=Object(v.d)();return function(n,t){var e=t.accountId,c=t.added;return{account:i(n,e),added:void 0===c?n.getIn(["pinnedAccountsEditor","accounts","items"]).includes(e):c}}},function(n,t){var e=t.accountId;return{onRemove:function(){return n(Object(O.V)(e))},onAdd:function(){return n(Object(O.P)(e))}}})(m.a)),g=e(963),_=Object(j.g)(Object(f.connect)(function(n){return{value:n.getIn(["pinnedAccountsEditor","suggestions","value"])}},function(t){return{onSubmit:function(n){return t(Object(O.L)(n))},onClear:function(){return t(Object(O.C)())},onChange:function(n){return t(Object(O.B)(n))}}})(g.a)),R=e(107),h=e(45),w=e.n(h);e.d(t,"default",function(){return C});var C=Object(f.connect)(function(n){return{accountIds:n.getIn(["pinnedAccountsEditor","accounts","items"]),searchAccountIds:n.getIn(["pinnedAccountsEditor","suggestions","items"])}},function(n){return{onInitialize:function(){return n(Object(O.K)())},onClear:function(){return n(Object(O.C)())},onReset:function(){return n(Object(O.R)())}}})(c=Object(j.g)((o=i=function(n){function t(){return n.apply(this,arguments)||this}Object(a.a)(t,n);var e=t.prototype;return e.componentDidMount=function(){(0,this.props.onInitialize)()},e.componentWillUnmount=function(){(0,this.props.onReset)()},e.render=function(){var n=this.props,t=n.accountIds,e=n.searchAccountIds,c=n.onClear,i=0<e.size;return Object(r.a)("div",{className:"modal-root__modal list-editor"},void 0,Object(r.a)("h4",{},void 0,Object(r.a)(j.b,{id:"endorsed_accounts_editor.endorsed_accounts",defaultMessage:"Featured accounts"})),Object(r.a)(_,{}),Object(r.a)("div",{className:"drawer__pager"},void 0,Object(r.a)("div",{className:"drawer__inner list-editor__accounts"},void 0,t.map(function(n){return Object(r.a)(I,{accountId:n,added:!0},n)})),i&&Object(r.a)("div",{role:"button",tabIndex:"-1",className:"drawer__backdrop",onClick:c}),Object(r.a)(R.a,{defaultStyle:{x:-100},style:{x:w()(i?0:-100,{stiffness:210,damping:20})}},void 0,function(n){var t=n.x;return Object(r.a)("div",{className:"drawer__inner backdrop",style:{transform:0===t?null:"translateX("+t+"%)",visibility:-100===t?"hidden":"visible"}},void 0,e.map(function(n){return Object(r.a)(I,{accountId:n},n)}))})))},t}(p.a),Object(u.a)(i,"propTypes",{onClose:d.a.func.isRequired,intl:d.a.object.isRequired,onInitialize:d.a.func.isRequired,onClear:d.a.func.isRequired,onReset:d.a.func.isRequired,title:d.a.string.isRequired,accountIds:b.a.list.isRequired,searchAccountIds:b.a.list.isRequired}),c=o))||c)||c}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{715:function(n,t,e){"use strict";e.r(t);var c,i,o,r=e(1),a=e(6),u=e(2),s=(e(3),e(5)),d=e.n(s),l=e(26),b=e.n(l),f=e(20),p=e(24),j=e(7),O=e(14),v=e(169),m=e(963),I=Object(j.g)(Object(f.connect)(function(){var i=Object(v.d)();return function(n,t){var e=t.accountId,c=t.added;return{account:i(n,e),added:void 0===c?n.getIn(["pinnedAccountsEditor","accounts","items"]).includes(e):c}}},function(n,t){var e=t.accountId;return{onRemove:function(){return n(Object(O.V)(e))},onAdd:function(){return n(Object(O.P)(e))}}})(m.a)),g=e(964),_=Object(j.g)(Object(f.connect)(function(n){return{value:n.getIn(["pinnedAccountsEditor","suggestions","value"])}},function(t){return{onSubmit:function(n){return t(Object(O.L)(n))},onClear:function(){return t(Object(O.C)())},onChange:function(n){return t(Object(O.B)(n))}}})(g.a)),R=e(108),h=e(46),w=e.n(h);e.d(t,"default",function(){return C});var C=Object(f.connect)(function(n){return{accountIds:n.getIn(["pinnedAccountsEditor","accounts","items"]),searchAccountIds:n.getIn(["pinnedAccountsEditor","suggestions","items"])}},function(n){return{onInitialize:function(){return n(Object(O.K)())},onClear:function(){return n(Object(O.C)())},onReset:function(){return n(Object(O.R)())}}})(c=Object(j.g)((o=i=function(n){function t(){return n.apply(this,arguments)||this}Object(a.a)(t,n);var e=t.prototype;return e.componentDidMount=function(){(0,this.props.onInitialize)()},e.componentWillUnmount=function(){(0,this.props.onReset)()},e.render=function(){var n=this.props,t=n.accountIds,e=n.searchAccountIds,c=n.onClear,i=0<e.size;return Object(r.a)("div",{className:"modal-root__modal list-editor"},void 0,Object(r.a)("h4",{},void 0,Object(r.a)(j.b,{id:"endorsed_accounts_editor.endorsed_accounts",defaultMessage:"Featured accounts"})),Object(r.a)(_,{}),Object(r.a)("div",{className:"drawer__pager"},void 0,Object(r.a)("div",{className:"drawer__inner list-editor__accounts"},void 0,t.map(function(n){return Object(r.a)(I,{accountId:n,added:!0},n)})),i&&Object(r.a)("div",{role:"button",tabIndex:"-1",className:"drawer__backdrop",onClick:c}),Object(r.a)(R.a,{defaultStyle:{x:-100},style:{x:w()(i?0:-100,{stiffness:210,damping:20})}},void 0,function(n){var t=n.x;return Object(r.a)("div",{className:"drawer__inner backdrop",style:{transform:0===t?null:"translateX("+t+"%)",visibility:-100===t?"hidden":"visible"}},void 0,e.map(function(n){return Object(r.a)(I,{accountId:n},n)}))})))},t}(p.a),Object(u.a)(i,"propTypes",{onClose:d.a.func.isRequired,intl:d.a.object.isRequired,onInitialize:d.a.func.isRequired,onClear:d.a.func.isRequired,onReset:d.a.func.isRequired,title:d.a.string.isRequired,accountIds:b.a.list.isRequired,searchAccountIds:b.a.list.isRequired}),c=o))||c)||c}}]); //# sourceMappingURL=pinned_accounts_editor.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/pinned_accounts_editor.js.map b/priv/static/packs/flavours/glitch/async/pinned_accounts_editor.js.map index 599dbc97c..ec0804a0f 100644 --- a/priv/static/packs/flavours/glitch/async/pinned_accounts_editor.js.map +++ b/priv/static/packs/flavours/glitch/async/pinned_accounts_editor.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/account_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/search_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/pinned_accounts_editor/index.js"],"names":["injectIntl","connect","getAccount","makeGetAccount","state","_ref","accountId","added","account","getIn","includes","dispatch","_ref2","onRemove","unpinAccount","onAdd","pinAccount","Account","value","onSubmit","fetchPinnedAccountsSuggestions","onClear","clearPinnedAccountsSuggestions","onChange","changePinnedAccountsSuggestions","Search","PinnedAccountsEditor","accountIds","searchAccountIds","onInitialize","fetchPinnedAccounts","onReset","resetPinnedAccountsEditor","componentDidMount","this","props","componentWillUnmount","render","_this$props","showSearch","size","Object","jsx","className","index_es","id","defaultMessage","search_container","map","account_container","role","tabIndex","onClick","optional_motion","defaultStyle","x","style","spring","stiffness","damping","transform","visibility","ImmutablePureComponent","onClose","PropTypes","func","isRequired","intl","object","title","string","ImmutablePropTypes","list"],"mappings":"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","file":"flavours/glitch/async/pinned_accounts_editor.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport { makeGetAccount } from 'flavours/glitch/selectors';\nimport { injectIntl } from 'react-intl';\nimport { pinAccount, unpinAccount } from 'flavours/glitch/actions/accounts';\nimport Account from 'flavours/glitch/features/list_editor/components/account';\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, { accountId, added }) => ({\n account: getAccount(state, accountId),\n added: typeof added === 'undefined' ? state.getIn(['pinnedAccountsEditor', 'accounts', 'items']).includes(accountId) : added,\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { accountId }) => ({\n onRemove: () => dispatch(unpinAccount(accountId)),\n onAdd: () => dispatch(pinAccount(accountId)),\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { injectIntl } from 'react-intl';\nimport {\n fetchPinnedAccountsSuggestions,\n clearPinnedAccountsSuggestions,\n changePinnedAccountsSuggestions\n} from '../../../actions/accounts';\nimport Search from 'flavours/glitch/features/list_editor/components/search';\n\nconst mapStateToProps = state => ({\n value: state.getIn(['pinnedAccountsEditor', 'suggestions', 'value']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n onSubmit: value => dispatch(fetchPinnedAccountsSuggestions(value)),\n onClear: () => dispatch(clearPinnedAccountsSuggestions()),\n onChange: value => dispatch(changePinnedAccountsSuggestions(value)),\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(Search));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { injectIntl, FormattedMessage } from 'react-intl';\nimport { fetchPinnedAccounts, clearPinnedAccountsSuggestions, resetPinnedAccountsEditor } from 'flavours/glitch/actions/accounts';\nimport AccountContainer from './containers/account_container';\nimport SearchContainer from './containers/search_container';\nimport Motion from 'flavours/glitch/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nconst mapStateToProps = state => ({\n accountIds: state.getIn(['pinnedAccountsEditor', 'accounts', 'items']),\n searchAccountIds: state.getIn(['pinnedAccountsEditor', 'suggestions', 'items']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n onInitialize: () => dispatch(fetchPinnedAccounts()),\n onClear: () => dispatch(clearPinnedAccountsSuggestions()),\n onReset: () => dispatch(resetPinnedAccountsEditor()),\n});\n\n@connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class PinnedAccountsEditor extends ImmutablePureComponent {\n\n static propTypes = {\n onClose: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n onInitialize: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n onReset: PropTypes.func.isRequired,\n title: PropTypes.string.isRequired,\n accountIds: ImmutablePropTypes.list.isRequired,\n searchAccountIds: ImmutablePropTypes.list.isRequired,\n };\n\n componentDidMount () {\n const { onInitialize } = this.props;\n onInitialize();\n }\n\n componentWillUnmount () {\n const { onReset } = this.props;\n onReset();\n }\n\n render () {\n const { accountIds, searchAccountIds, onClear } = this.props;\n const showSearch = searchAccountIds.size > 0;\n\n return (\n <div className='modal-root__modal list-editor'>\n <h4><FormattedMessage id='endorsed_accounts_editor.endorsed_accounts' defaultMessage='Featured accounts' /></h4>\n\n <SearchContainer />\n\n <div className='drawer__pager'>\n <div className='drawer__inner list-editor__accounts'>\n {accountIds.map(accountId => <AccountContainer key={accountId} accountId={accountId} added />)}\n </div>\n\n {showSearch && <div role='button' tabIndex='-1' className='drawer__backdrop' onClick={onClear} />}\n\n <Motion defaultStyle={{ x: -100 }} style={{ x: spring(showSearch ? 0 : -100, { stiffness: 210, damping: 20 }) }}>\n {({ x }) =>\n (<div className='drawer__inner backdrop' style={{ transform: x === 0 ? null : `translateX(${x}%)`, visibility: x === -100 ? 'hidden' : 'visible' }}>\n {searchAccountIds.map(accountId => <AccountContainer key={accountId} accountId={accountId} />)}\n </div>)\n }\n </Motion>\n </div>\n </div>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/account_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/search_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/pinned_accounts_editor/index.js"],"names":["injectIntl","connect","getAccount","makeGetAccount","state","_ref","accountId","added","account","getIn","includes","dispatch","_ref2","onRemove","unpinAccount","onAdd","pinAccount","Account","value","onSubmit","fetchPinnedAccountsSuggestions","onClear","clearPinnedAccountsSuggestions","onChange","changePinnedAccountsSuggestions","Search","PinnedAccountsEditor","accountIds","searchAccountIds","onInitialize","fetchPinnedAccounts","onReset","resetPinnedAccountsEditor","componentDidMount","this","props","componentWillUnmount","render","_this$props","showSearch","size","Object","jsx","className","index_es","id","defaultMessage","search_container","map","account_container","role","tabIndex","onClick","optional_motion","defaultStyle","x","style","spring","stiffness","damping","transform","visibility","ImmutablePureComponent","onClose","PropTypes","func","isRequired","intl","object","title","string","ImmutablePropTypes","list"],"mappings":"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","file":"flavours/glitch/async/pinned_accounts_editor.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport { makeGetAccount } from 'flavours/glitch/selectors';\nimport { injectIntl } from 'react-intl';\nimport { pinAccount, unpinAccount } from 'flavours/glitch/actions/accounts';\nimport Account from 'flavours/glitch/features/list_editor/components/account';\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, { accountId, added }) => ({\n account: getAccount(state, accountId),\n added: typeof added === 'undefined' ? state.getIn(['pinnedAccountsEditor', 'accounts', 'items']).includes(accountId) : added,\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { accountId }) => ({\n onRemove: () => dispatch(unpinAccount(accountId)),\n onAdd: () => dispatch(pinAccount(accountId)),\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { injectIntl } from 'react-intl';\nimport {\n fetchPinnedAccountsSuggestions,\n clearPinnedAccountsSuggestions,\n changePinnedAccountsSuggestions\n} from '../../../actions/accounts';\nimport Search from 'flavours/glitch/features/list_editor/components/search';\n\nconst mapStateToProps = state => ({\n value: state.getIn(['pinnedAccountsEditor', 'suggestions', 'value']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n onSubmit: value => dispatch(fetchPinnedAccountsSuggestions(value)),\n onClear: () => dispatch(clearPinnedAccountsSuggestions()),\n onChange: value => dispatch(changePinnedAccountsSuggestions(value)),\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(Search));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { injectIntl, FormattedMessage } from 'react-intl';\nimport { fetchPinnedAccounts, clearPinnedAccountsSuggestions, resetPinnedAccountsEditor } from 'flavours/glitch/actions/accounts';\nimport AccountContainer from './containers/account_container';\nimport SearchContainer from './containers/search_container';\nimport Motion from 'flavours/glitch/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nconst mapStateToProps = state => ({\n accountIds: state.getIn(['pinnedAccountsEditor', 'accounts', 'items']),\n searchAccountIds: state.getIn(['pinnedAccountsEditor', 'suggestions', 'items']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n onInitialize: () => dispatch(fetchPinnedAccounts()),\n onClear: () => dispatch(clearPinnedAccountsSuggestions()),\n onReset: () => dispatch(resetPinnedAccountsEditor()),\n});\n\n@connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class PinnedAccountsEditor extends ImmutablePureComponent {\n\n static propTypes = {\n onClose: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n onInitialize: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n onReset: PropTypes.func.isRequired,\n title: PropTypes.string.isRequired,\n accountIds: ImmutablePropTypes.list.isRequired,\n searchAccountIds: ImmutablePropTypes.list.isRequired,\n };\n\n componentDidMount () {\n const { onInitialize } = this.props;\n onInitialize();\n }\n\n componentWillUnmount () {\n const { onReset } = this.props;\n onReset();\n }\n\n render () {\n const { accountIds, searchAccountIds, onClear } = this.props;\n const showSearch = searchAccountIds.size > 0;\n\n return (\n <div className='modal-root__modal list-editor'>\n <h4><FormattedMessage id='endorsed_accounts_editor.endorsed_accounts' defaultMessage='Featured accounts' /></h4>\n\n <SearchContainer />\n\n <div className='drawer__pager'>\n <div className='drawer__inner list-editor__accounts'>\n {accountIds.map(accountId => <AccountContainer key={accountId} accountId={accountId} added />)}\n </div>\n\n {showSearch && <div role='button' tabIndex='-1' className='drawer__backdrop' onClick={onClear} />}\n\n <Motion defaultStyle={{ x: -100 }} style={{ x: spring(showSearch ? 0 : -100, { stiffness: 210, damping: 20 }) }}>\n {({ x }) =>\n (<div className='drawer__inner backdrop' style={{ transform: x === 0 ? null : `translateX(${x}%)`, visibility: x === -100 ? 'hidden' : 'visible' }}>\n {searchAccountIds.map(accountId => <AccountContainer key={accountId} accountId={accountId} />)}\n </div>)\n }\n </Motion>\n </div>\n </div>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/pinned_statuses.js b/priv/static/packs/flavours/glitch/async/pinned_statuses.js index ee8f6cdf1..462a7f520 100644 --- a/priv/static/packs/flavours/glitch/async/pinned_statuses.js +++ b/priv/static/packs/flavours/glitch/async/pinned_statuses.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{665:function(t,e,n){"use strict";n.r(e),n.d(e,"default",function(){return y});var s,a,c,i=n(1),o=n(6),r=n(0),u=n(2),d=n(3),l=n.n(d),p=n(20),b=n(5),f=n.n(b),h=n(26),j=n.n(h),O=n(279),g=n(639),m=n(643),w=n(645),M=n(7),I=n(24),R=Object(M.f)({heading:{id:"column.pins",defaultMessage:"Pinned toot"}}),y=Object(p.connect)(function(t){return{statusIds:t.getIn(["status_lists","pins","items"]),hasMore:!!t.getIn(["status_lists","pins","next"])}})(s=Object(M.g)((c=a=function(a){function t(){for(var e,t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=a.call.apply(a,[this].concat(n))||this,Object(u.a)(Object(r.a)(Object(r.a)(e)),"handleHeaderClick",function(){e.column.scrollTop()}),Object(u.a)(Object(r.a)(Object(r.a)(e)),"setRef",function(t){e.column=t}),e}Object(o.a)(t,a);var e=t.prototype;return e.componentWillMount=function(){this.props.dispatch(Object(O.b)())},e.render=function(){var t=this.props,e=t.intl,n=t.statusIds,s=t.hasMore;return l.a.createElement(g.a,{icon:"thumb-tack",heading:e.formatMessage(R.heading),ref:this.setRef},Object(i.a)(m.a,{}),Object(i.a)(w.a,{statusIds:n,scrollKey:"pinned_statuses",hasMore:s}))},t}(I.a),Object(u.a)(a,"propTypes",{dispatch:f.a.func.isRequired,statusIds:j.a.list.isRequired,intl:f.a.object.isRequired,hasMore:f.a.bool.isRequired}),s=c))||s)||s}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{666:function(t,e,n){"use strict";n.r(e),n.d(e,"default",function(){return y});var s,a,c,i=n(1),o=n(6),r=n(0),u=n(2),d=n(3),l=n.n(d),p=n(20),b=n(5),f=n.n(b),h=n(26),j=n.n(h),O=n(281),g=n(640),m=n(644),w=n(646),M=n(7),I=n(24),R=Object(M.f)({heading:{id:"column.pins",defaultMessage:"Pinned toot"}}),y=Object(p.connect)(function(t){return{statusIds:t.getIn(["status_lists","pins","items"]),hasMore:!!t.getIn(["status_lists","pins","next"])}})(s=Object(M.g)((c=a=function(a){function t(){for(var e,t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return e=a.call.apply(a,[this].concat(n))||this,Object(u.a)(Object(r.a)(Object(r.a)(e)),"handleHeaderClick",function(){e.column.scrollTop()}),Object(u.a)(Object(r.a)(Object(r.a)(e)),"setRef",function(t){e.column=t}),e}Object(o.a)(t,a);var e=t.prototype;return e.componentWillMount=function(){this.props.dispatch(Object(O.b)())},e.render=function(){var t=this.props,e=t.intl,n=t.statusIds,s=t.hasMore;return l.a.createElement(g.a,{icon:"thumb-tack",heading:e.formatMessage(R.heading),ref:this.setRef},Object(i.a)(m.a,{}),Object(i.a)(w.a,{statusIds:n,scrollKey:"pinned_statuses",hasMore:s}))},t}(I.a),Object(u.a)(a,"propTypes",{dispatch:f.a.func.isRequired,statusIds:j.a.list.isRequired,intl:f.a.object.isRequired,hasMore:f.a.bool.isRequired}),s=c))||s)||s}}]); //# sourceMappingURL=pinned_statuses.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/pinned_statuses.js.map b/priv/static/packs/flavours/glitch/async/pinned_statuses.js.map index a2d1b5688..4ddd8898d 100644 --- a/priv/static/packs/flavours/glitch/async/pinned_statuses.js.map +++ b/priv/static/packs/flavours/glitch/async/pinned_statuses.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/pinned_statuses/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","PinnedStatuses","connect","state","statusIds","getIn","hasMore","injectIntl","_this","column","scrollTop","c","componentWillMount","this","props","dispatch","fetchPinnedStatuses","render","_this$props","intl","react__WEBPACK_IMPORTED_MODULE_4___default","a","createElement","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_9__","icon","formatMessage","ref","setRef","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_column_back_button_slim__WEBPACK_IMPORTED_MODULE_10__","flavours_glitch_components_status_list__WEBPACK_IMPORTED_MODULE_11__","scrollKey","ImmutablePureComponent","PropTypes","func","isRequired","ImmutablePropTypes","list","object","bool"],"mappings":"0RAWMA,EAAWC,YAAe,CAC9BC,QAAO,CAAAC,GAAA,cAAAC,eAAA,iBAUYC,EAFpBC,kBALuB,SAAAC,GAAK,MAAK,CAChCC,UAAWD,EAAME,MAAM,CAAC,eAAgB,OAAQ,UAChDC,UAAWH,EAAME,MAAM,CAAC,eAAgB,OAAQ,cAIjDE,gOAcqB,WAClBC,EAAKC,OAAOC,+DAGL,SAAAC,GACPH,EAAKC,OAASE,kDAThBC,mBAAA,WACEC,KAAKC,MAAMC,SAASC,kBAWtBC,OAAA,WAAU,IAAAC,EAC6BL,KAAKC,MAAlCK,EADAD,EACAC,KAAMf,EADNc,EACMd,UAAWE,EADjBY,EACiBZ,QAEzB,OACEc,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAQC,KAAK,aAAa1B,QAASqB,EAAKM,cAAc7B,EAASE,SAAU4B,IAAKb,KAAKc,QACjFC,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,IACAF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CACE3B,UAAWA,EACX4B,UAAU,kBACV1B,QAASA,SA9ByB2B,+BAEvB,CACjBlB,SAAUmB,IAAUC,KAAKC,WACzBhC,UAAWiC,IAAmBC,KAAKF,WACnCjB,KAAMe,IAAUK,OAAOH,WACvB9B,QAAS4B,IAAUM,KAAKJ","file":"flavours/glitch/async/pinned_statuses.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { fetchPinnedStatuses } from 'flavours/glitch/actions/pin_statuses';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport StatusList from 'flavours/glitch/components/status_list';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n heading: { id: 'column.pins', defaultMessage: 'Pinned toot' },\n});\n\nconst mapStateToProps = state => ({\n statusIds: state.getIn(['status_lists', 'pins', 'items']),\n hasMore: !!state.getIn(['status_lists', 'pins', 'next']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class PinnedStatuses extends ImmutablePureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n intl: PropTypes.object.isRequired,\n hasMore: PropTypes.bool.isRequired,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchPinnedStatuses());\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n setRef = c => {\n this.column = c;\n }\n\n render () {\n const { intl, statusIds, hasMore } = this.props;\n\n return (\n <Column icon='thumb-tack' heading={intl.formatMessage(messages.heading)} ref={this.setRef}>\n <ColumnBackButtonSlim />\n <StatusList\n statusIds={statusIds}\n scrollKey='pinned_statuses'\n hasMore={hasMore}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/pinned_statuses/index.js"],"names":["messages","defineMessages","heading","id","defaultMessage","PinnedStatuses","connect","state","statusIds","getIn","hasMore","injectIntl","_this","column","scrollTop","c","componentWillMount","this","props","dispatch","fetchPinnedStatuses","render","_this$props","intl","react__WEBPACK_IMPORTED_MODULE_4___default","a","createElement","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_9__","icon","formatMessage","ref","setRef","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_column_back_button_slim__WEBPACK_IMPORTED_MODULE_10__","flavours_glitch_components_status_list__WEBPACK_IMPORTED_MODULE_11__","scrollKey","ImmutablePureComponent","PropTypes","func","isRequired","ImmutablePropTypes","list","object","bool"],"mappings":"0RAWMA,EAAWC,YAAe,CAC9BC,QAAO,CAAAC,GAAA,cAAAC,eAAA,iBAUYC,EAFpBC,kBALuB,SAAAC,GAAK,MAAK,CAChCC,UAAWD,EAAME,MAAM,CAAC,eAAgB,OAAQ,UAChDC,UAAWH,EAAME,MAAM,CAAC,eAAgB,OAAQ,cAIjDE,gOAcqB,WAClBC,EAAKC,OAAOC,+DAGL,SAAAC,GACPH,EAAKC,OAASE,kDAThBC,mBAAA,WACEC,KAAKC,MAAMC,SAASC,kBAWtBC,OAAA,WAAU,IAAAC,EAC6BL,KAAKC,MAAlCK,EADAD,EACAC,KAAMf,EADNc,EACMd,UAAWE,EADjBY,EACiBZ,QAEzB,OACEc,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAQC,KAAK,aAAa1B,QAASqB,EAAKM,cAAc7B,EAASE,SAAU4B,IAAKb,KAAKc,QACjFC,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,IACAF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,CACE3B,UAAWA,EACX4B,UAAU,kBACV1B,QAASA,SA9ByB2B,+BAEvB,CACjBlB,SAAUmB,IAAUC,KAAKC,WACzBhC,UAAWiC,IAAmBC,KAAKF,WACnCjB,KAAMe,IAAUK,OAAOH,WACvB9B,QAAS4B,IAAUM,KAAKJ","file":"flavours/glitch/async/pinned_statuses.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { fetchPinnedStatuses } from 'flavours/glitch/actions/pin_statuses';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';\nimport StatusList from 'flavours/glitch/components/status_list';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n heading: { id: 'column.pins', defaultMessage: 'Pinned toot' },\n});\n\nconst mapStateToProps = state => ({\n statusIds: state.getIn(['status_lists', 'pins', 'items']),\n hasMore: !!state.getIn(['status_lists', 'pins', 'next']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class PinnedStatuses extends ImmutablePureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n intl: PropTypes.object.isRequired,\n hasMore: PropTypes.bool.isRequired,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchPinnedStatuses());\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n setRef = c => {\n this.column = c;\n }\n\n render () {\n const { intl, statusIds, hasMore } = this.props;\n\n return (\n <Column icon='thumb-tack' heading={intl.formatMessage(messages.heading)} ref={this.setRef}>\n <ColumnBackButtonSlim />\n <StatusList\n statusIds={statusIds}\n scrollKey='pinned_statuses'\n hasMore={hasMore}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/public_timeline.js b/priv/static/packs/flavours/glitch/async/public_timeline.js index 8480d71c2..8cc63b1d3 100644 --- a/priv/static/packs/flavours/glitch/async/public_timeline.js +++ b/priv/static/packs/flavours/glitch/async/public_timeline.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[72],{728:function(e,t,n){"use strict";n.r(t);var o,a,c,l=n(1),i=n(6),d=n(0),r=n(2),s=n(3),u=n.n(s),b=n(20),p=n(7),h=n(5),m=n.n(h),j=n(625),O=n(429),f=n(427),M=n(31),g=n(202),y=n(950),v=n(82),I=Object(b.connect)(function(e,t){var n=t.columnId,o=e.getIn(["settings","columns"]),a=o.findIndex(function(e){return e.get("uuid")===n});return{settings:n&&0<=a?o.get(a).get("params"):e.getIn(["settings","public"])}},function(n,e){var o=e.columnId;return{onChange:function(e,t){n(o?Object(g.f)(o,e,t):Object(v.c)(["public"].concat(e),t))}}})(y.a),w=n(400);n.d(t,"default",function(){return k});var C=Object(p.f)({title:{id:"column.public",defaultMessage:"Federated timeline"}}),k=Object(b.connect)(function(e,t){var n=t.onlyMedia,o=t.columnId,a=o,c=e.getIn(["settings","columns"]),i=c.findIndex(function(e){return e.get("uuid")===a});return{hasUnread:0<e.getIn(["timelines","public"+(n?":media":""),"unread"]),onlyMedia:o&&0<=i?c.get(i).getIn(["params","other","onlyMedia"]):e.getIn(["settings","public","other","onlyMedia"])}})(o=Object(p.g)((c=a=function(o){function e(){for(var a,e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return a=o.call.apply(o,[this].concat(t))||this,Object(r.a)(Object(d.a)(Object(d.a)(a)),"handlePin",function(){var e=a.props,t=e.columnId,n=e.dispatch,o=e.onlyMedia;n(t?Object(g.h)(t):Object(g.e)("PUBLIC",{other:{onlyMedia:o}}))}),Object(r.a)(Object(d.a)(Object(d.a)(a)),"handleMove",function(e){var t=a.props,n=t.columnId;(0,t.dispatch)(Object(g.g)(n,e))}),Object(r.a)(Object(d.a)(Object(d.a)(a)),"handleHeaderClick",function(){a.column.scrollTop()}),Object(r.a)(Object(d.a)(Object(d.a)(a)),"setRef",function(e){a.column=e}),Object(r.a)(Object(d.a)(Object(d.a)(a)),"handleLoadMore",function(e){var t=a.props,n=t.dispatch,o=t.onlyMedia;n(Object(M.t)({maxId:e,onlyMedia:o}))}),Object(r.a)(Object(d.a)(Object(d.a)(a)),"shouldUpdateScroll",function(e,t){var n=t.location;return!(n.state&&n.state.mastodonModalOpen)}),a}Object(i.a)(e,o);var t=e.prototype;return t.componentDidMount=function(){var e=this.props,t=e.dispatch,n=e.onlyMedia;t(Object(M.t)({onlyMedia:n})),this.disconnect=t(Object(w.e)({onlyMedia:n}))},t.componentDidUpdate=function(e){if(e.onlyMedia!==this.props.onlyMedia){var t=this.props,n=t.dispatch,o=t.onlyMedia;this.disconnect(),n(Object(M.t)({onlyMedia:o})),this.disconnect=n(Object(w.e)({onlyMedia:o}))}},t.componentWillUnmount=function(){this.disconnect&&(this.disconnect(),this.disconnect=null)},t.render=function(){var e=this.props,t=e.intl,n=e.columnId,o=e.hasUnread,a=e.multiColumn,c=e.onlyMedia,i=!!n;return u.a.createElement(O.a,{ref:this.setRef,name:"federated",label:t.formatMessage(C.title)},Object(l.a)(f.a,{icon:"globe",active:o,title:t.formatMessage(C.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:i,multiColumn:a},void 0,Object(l.a)(I,{columnId:n})),Object(l.a)(j.a,{timelineId:"public"+(c?":media":""),onLoadMore:this.handleLoadMore,trackScroll:!i,scrollKey:"public_timeline-"+n,emptyMessage:Object(l.a)(p.b,{id:"empty_column.public",defaultMessage:"There is nothing here! Write something publicly, or manually follow users from other instances to fill it up"})}))},e}(u.a.PureComponent),Object(r.a)(a,"defaultProps",{onlyMedia:!1}),Object(r.a)(a,"contextTypes",{router:m.a.object}),o=c))||o)||o}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[72],{729:function(e,t,n){"use strict";n.r(t);var o,a,c,l=n(1),i=n(6),d=n(0),r=n(2),s=n(3),u=n.n(s),b=n(20),p=n(7),h=n(5),m=n.n(h),j=n(626),O=n(430),f=n(428),M=n(32),g=n(205),y=n(951),v=n(84),I=Object(b.connect)(function(e,t){var n=t.columnId,o=e.getIn(["settings","columns"]),a=o.findIndex(function(e){return e.get("uuid")===n});return{settings:n&&0<=a?o.get(a).get("params"):e.getIn(["settings","public"])}},function(n,e){var o=e.columnId;return{onChange:function(e,t){n(o?Object(g.f)(o,e,t):Object(v.c)(["public"].concat(e),t))}}})(y.a),w=n(401);n.d(t,"default",function(){return k});var C=Object(p.f)({title:{id:"column.public",defaultMessage:"Federated timeline"}}),k=Object(b.connect)(function(e,t){var n=t.onlyMedia,o=t.columnId,a=o,c=e.getIn(["settings","columns"]),i=c.findIndex(function(e){return e.get("uuid")===a});return{hasUnread:0<e.getIn(["timelines","public"+(n?":media":""),"unread"]),onlyMedia:o&&0<=i?c.get(i).getIn(["params","other","onlyMedia"]):e.getIn(["settings","public","other","onlyMedia"])}})(o=Object(p.g)((c=a=function(o){function e(){for(var a,e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return a=o.call.apply(o,[this].concat(t))||this,Object(r.a)(Object(d.a)(Object(d.a)(a)),"handlePin",function(){var e=a.props,t=e.columnId,n=e.dispatch,o=e.onlyMedia;n(t?Object(g.h)(t):Object(g.e)("PUBLIC",{other:{onlyMedia:o}}))}),Object(r.a)(Object(d.a)(Object(d.a)(a)),"handleMove",function(e){var t=a.props,n=t.columnId;(0,t.dispatch)(Object(g.g)(n,e))}),Object(r.a)(Object(d.a)(Object(d.a)(a)),"handleHeaderClick",function(){a.column.scrollTop()}),Object(r.a)(Object(d.a)(Object(d.a)(a)),"setRef",function(e){a.column=e}),Object(r.a)(Object(d.a)(Object(d.a)(a)),"handleLoadMore",function(e){var t=a.props,n=t.dispatch,o=t.onlyMedia;n(Object(M.t)({maxId:e,onlyMedia:o}))}),Object(r.a)(Object(d.a)(Object(d.a)(a)),"shouldUpdateScroll",function(e,t){var n=t.location;return!(n.state&&n.state.mastodonModalOpen)}),a}Object(i.a)(e,o);var t=e.prototype;return t.componentDidMount=function(){var e=this.props,t=e.dispatch,n=e.onlyMedia;t(Object(M.t)({onlyMedia:n})),this.disconnect=t(Object(w.e)({onlyMedia:n}))},t.componentDidUpdate=function(e){if(e.onlyMedia!==this.props.onlyMedia){var t=this.props,n=t.dispatch,o=t.onlyMedia;this.disconnect(),n(Object(M.t)({onlyMedia:o})),this.disconnect=n(Object(w.e)({onlyMedia:o}))}},t.componentWillUnmount=function(){this.disconnect&&(this.disconnect(),this.disconnect=null)},t.render=function(){var e=this.props,t=e.intl,n=e.columnId,o=e.hasUnread,a=e.multiColumn,c=e.onlyMedia,i=!!n;return u.a.createElement(O.a,{ref:this.setRef,name:"federated",label:t.formatMessage(C.title)},Object(l.a)(f.a,{icon:"globe",active:o,title:t.formatMessage(C.title),onPin:this.handlePin,onMove:this.handleMove,onClick:this.handleHeaderClick,pinned:i,multiColumn:a},void 0,Object(l.a)(I,{columnId:n})),Object(l.a)(j.a,{timelineId:"public"+(c?":media":""),onLoadMore:this.handleLoadMore,trackScroll:!i,scrollKey:"public_timeline-"+n,emptyMessage:Object(l.a)(p.b,{id:"empty_column.public",defaultMessage:"There is nothing here! Write something publicly, or manually follow users from other instances to fill it up"})}))},e}(u.a.PureComponent),Object(r.a)(a,"defaultProps",{onlyMedia:!1}),Object(r.a)(a,"contextTypes",{router:m.a.object}),o=c))||o)||o}}]); //# sourceMappingURL=public_timeline.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/public_timeline.js.map b/priv/static/packs/flavours/glitch/async/public_timeline.js.map index 2dd4c1dad..9a6475001 100644 --- a/priv/static/packs/flavours/glitch/async/public_timeline.js.map +++ b/priv/static/packs/flavours/glitch/async/public_timeline.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/public_timeline/containers/column_settings_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/public_timeline/index.js"],"names":["connect","state","_ref","uuid","columnId","columns","getIn","index","findIndex","c","get","settings","dispatch","_ref2","onChange","key","checked","changeColumnParams","changeSetting","concat","ColumnSettings","messages","defineMessages","title","id","defaultMessage","PublicTimeline","onlyMedia","hasUnread","injectIntl","_this$props","_this","props","removeColumn","addColumn","other","dir","_this$props2","moveColumn","column","scrollTop","maxId","_this$props3","expandPublicTimeline","prevRouterProps","location","mastodonModalOpen","componentDidMount","_this$props4","this","disconnect","connectPublicStream","componentDidUpdate","prevProps","_this$props5","componentWillUnmount","render","_this$props6","intl","multiColumn","pinned","react_default","a","createElement","ref","setRef","name","label","formatMessage","Object","jsx","column_header","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","column_settings_container","status_list_container","timelineId","onLoadMore","handleLoadMore","trackScroll","scrollKey","emptyMessage","index_es","React","PureComponent","router","PropTypes","object"],"mappings":"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","file":"flavours/glitch/async/public_timeline.js","sourcesContent":["import { connect } from 'react-redux';\nimport ColumnSettings from 'flavours/glitch/features/community_timeline/components/column_settings';\nimport { changeSetting } from 'flavours/glitch/actions/settings';\nimport { changeColumnParams } from 'flavours/glitch/actions/columns';\n \nconst mapStateToProps = (state, { columnId }) => {\n const uuid = columnId;\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === uuid);\n\n return {\n settings: (uuid && index >= 0) ? columns.get(index).get('params') : state.getIn(['settings', 'public']),\n };\n};\n\nconst mapDispatchToProps = (dispatch, { columnId }) => {\n return {\n onChange (key, checked) {\n if (columnId) {\n dispatch(changeColumnParams(columnId, key, checked));\n } else {\n dispatch(changeSetting(['public', ...key], checked));\n }\n },\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { expandPublicTimeline } from 'flavours/glitch/actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { connectPublicStream } from 'flavours/glitch/actions/streaming';\n\nconst messages = defineMessages({\n title: { id: 'column.public', defaultMessage: 'Federated timeline' },\n});\n\nconst mapStateToProps = (state, { onlyMedia, columnId }) => {\n const uuid = columnId;\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === uuid);\n\n return {\n hasUnread: state.getIn(['timelines', `public${onlyMedia ? ':media' : ''}`, 'unread']) > 0,\n onlyMedia: (columnId && index >= 0) ? columns.get(index).getIn(['params', 'other', 'onlyMedia']) : state.getIn(['settings', 'public', 'other', 'onlyMedia']),\n };\n};\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class PublicTimeline extends React.PureComponent {\n\n static defaultProps = {\n onlyMedia: false,\n };\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n columnId: PropTypes.string,\n multiColumn: PropTypes.bool,\n hasUnread: PropTypes.bool,\n onlyMedia: PropTypes.bool,\n };\n\n handlePin = () => {\n const { columnId, dispatch, onlyMedia } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('PUBLIC', { other: { onlyMedia } }));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n componentDidMount () {\n const { dispatch, onlyMedia } = this.props;\n\n dispatch(expandPublicTimeline({ onlyMedia }));\n this.disconnect = dispatch(connectPublicStream({ onlyMedia }));\n }\n\n componentDidUpdate (prevProps) {\n if (prevProps.onlyMedia !== this.props.onlyMedia) {\n const { dispatch, onlyMedia } = this.props;\n\n this.disconnect();\n dispatch(expandPublicTimeline({ onlyMedia }));\n this.disconnect = dispatch(connectPublicStream({ onlyMedia }));\n }\n }\n\n componentWillUnmount () {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n const { dispatch, onlyMedia } = this.props;\n\n dispatch(expandPublicTimeline({ maxId, onlyMedia }));\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n return !(location.state && location.state.mastodonModalOpen)\n }\n\n render () {\n const { intl, columnId, hasUnread, multiColumn, onlyMedia } = this.props;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} name='federated' label={intl.formatMessage(messages.title)}>\n <ColumnHeader\n icon='globe'\n active={hasUnread}\n title={intl.formatMessage(messages.title)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n >\n <ColumnSettingsContainer columnId={columnId} />\n </ColumnHeader>\n\n <StatusListContainer\n timelineId={`public${onlyMedia ? ':media' : ''}`}\n onLoadMore={this.handleLoadMore}\n trackScroll={!pinned}\n scrollKey={`public_timeline-${columnId}`}\n emptyMessage={<FormattedMessage id='empty_column.public' defaultMessage='There is nothing here! Write something publicly, or manually follow users from other instances to fill it up' />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/public_timeline/containers/column_settings_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/public_timeline/index.js"],"names":["connect","state","_ref","uuid","columnId","columns","getIn","index","findIndex","c","get","settings","dispatch","_ref2","onChange","key","checked","changeColumnParams","changeSetting","concat","ColumnSettings","messages","defineMessages","title","id","defaultMessage","PublicTimeline","onlyMedia","hasUnread","injectIntl","_this$props","_this","props","removeColumn","addColumn","other","dir","_this$props2","moveColumn","column","scrollTop","maxId","_this$props3","expandPublicTimeline","prevRouterProps","location","mastodonModalOpen","componentDidMount","_this$props4","this","disconnect","connectPublicStream","componentDidUpdate","prevProps","_this$props5","componentWillUnmount","render","_this$props6","intl","multiColumn","pinned","react_default","a","createElement","ref","setRef","name","label","formatMessage","Object","jsx","column_header","icon","active","onPin","handlePin","onMove","handleMove","onClick","handleHeaderClick","column_settings_container","status_list_container","timelineId","onLoadMore","handleLoadMore","trackScroll","scrollKey","emptyMessage","index_es","React","PureComponent","router","PropTypes","object"],"mappings":"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","file":"flavours/glitch/async/public_timeline.js","sourcesContent":["import { connect } from 'react-redux';\nimport ColumnSettings from 'flavours/glitch/features/community_timeline/components/column_settings';\nimport { changeSetting } from 'flavours/glitch/actions/settings';\nimport { changeColumnParams } from 'flavours/glitch/actions/columns';\n \nconst mapStateToProps = (state, { columnId }) => {\n const uuid = columnId;\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === uuid);\n\n return {\n settings: (uuid && index >= 0) ? columns.get(index).get('params') : state.getIn(['settings', 'public']),\n };\n};\n\nconst mapDispatchToProps = (dispatch, { columnId }) => {\n return {\n onChange (key, checked) {\n if (columnId) {\n dispatch(changeColumnParams(columnId, key, checked));\n } else {\n dispatch(changeSetting(['public', ...key], checked));\n }\n },\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\nimport StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';\nimport Column from 'flavours/glitch/components/column';\nimport ColumnHeader from 'flavours/glitch/components/column_header';\nimport { expandPublicTimeline } from 'flavours/glitch/actions/timelines';\nimport { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';\nimport ColumnSettingsContainer from './containers/column_settings_container';\nimport { connectPublicStream } from 'flavours/glitch/actions/streaming';\n\nconst messages = defineMessages({\n title: { id: 'column.public', defaultMessage: 'Federated timeline' },\n});\n\nconst mapStateToProps = (state, { onlyMedia, columnId }) => {\n const uuid = columnId;\n const columns = state.getIn(['settings', 'columns']);\n const index = columns.findIndex(c => c.get('uuid') === uuid);\n\n return {\n hasUnread: state.getIn(['timelines', `public${onlyMedia ? ':media' : ''}`, 'unread']) > 0,\n onlyMedia: (columnId && index >= 0) ? columns.get(index).getIn(['params', 'other', 'onlyMedia']) : state.getIn(['settings', 'public', 'other', 'onlyMedia']),\n };\n};\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class PublicTimeline extends React.PureComponent {\n\n static defaultProps = {\n onlyMedia: false,\n };\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n columnId: PropTypes.string,\n multiColumn: PropTypes.bool,\n hasUnread: PropTypes.bool,\n onlyMedia: PropTypes.bool,\n };\n\n handlePin = () => {\n const { columnId, dispatch, onlyMedia } = this.props;\n\n if (columnId) {\n dispatch(removeColumn(columnId));\n } else {\n dispatch(addColumn('PUBLIC', { other: { onlyMedia } }));\n }\n }\n\n handleMove = (dir) => {\n const { columnId, dispatch } = this.props;\n dispatch(moveColumn(columnId, dir));\n }\n\n handleHeaderClick = () => {\n this.column.scrollTop();\n }\n\n componentDidMount () {\n const { dispatch, onlyMedia } = this.props;\n\n dispatch(expandPublicTimeline({ onlyMedia }));\n this.disconnect = dispatch(connectPublicStream({ onlyMedia }));\n }\n\n componentDidUpdate (prevProps) {\n if (prevProps.onlyMedia !== this.props.onlyMedia) {\n const { dispatch, onlyMedia } = this.props;\n\n this.disconnect();\n dispatch(expandPublicTimeline({ onlyMedia }));\n this.disconnect = dispatch(connectPublicStream({ onlyMedia }));\n }\n }\n\n componentWillUnmount () {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n }\n\n setRef = c => {\n this.column = c;\n }\n\n handleLoadMore = maxId => {\n const { dispatch, onlyMedia } = this.props;\n\n dispatch(expandPublicTimeline({ maxId, onlyMedia }));\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n return !(location.state && location.state.mastodonModalOpen)\n }\n\n render () {\n const { intl, columnId, hasUnread, multiColumn, onlyMedia } = this.props;\n const pinned = !!columnId;\n\n return (\n <Column ref={this.setRef} name='federated' label={intl.formatMessage(messages.title)}>\n <ColumnHeader\n icon='globe'\n active={hasUnread}\n title={intl.formatMessage(messages.title)}\n onPin={this.handlePin}\n onMove={this.handleMove}\n onClick={this.handleHeaderClick}\n pinned={pinned}\n multiColumn={multiColumn}\n >\n <ColumnSettingsContainer columnId={columnId} />\n </ColumnHeader>\n\n <StatusListContainer\n timelineId={`public${onlyMedia ? ':media' : ''}`}\n onLoadMore={this.handleLoadMore}\n trackScroll={!pinned}\n scrollKey={`public_timeline-${columnId}`}\n emptyMessage={<FormattedMessage id='empty_column.public' defaultMessage='There is nothing here! Write something publicly, or manually follow users from other instances to fill it up' />}\n />\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/reblogs.js b/priv/static/packs/flavours/glitch/async/reblogs.js index 409383788..71753b0a3 100644 --- a/priv/static/packs/flavours/glitch/async/reblogs.js +++ b/priv/static/packs/flavours/glitch/async/reblogs.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{669:function(t,a,s){"use strict";s.r(a),s.d(a,"default",function(){return g});var e,o,c,n=s(1),r=s(6),i=s(0),p=s(2),u=(s(3),s(20)),d=s(5),l=s.n(d),b=s(26),h=s.n(b),O=s(288),j=s(25),f=s(295),m=s(624),v=s(639),I=s(888),w=s(24),g=Object(u.connect)(function(t,a){return{accountIds:t.getIn(["user_lists","reblogged_by",a.params.statusId])}})((c=o=function(o){function t(){for(var t,a=arguments.length,s=new Array(a),e=0;e<a;e++)s[e]=arguments[e];return t=o.call.apply(o,[this].concat(s))||this,Object(p.a)(Object(i.a)(Object(i.a)(t)),"shouldUpdateScroll",function(t,a){var s=a.location;return!(((t||{}).location||{}).state||{}).mastodonModalOpen&&!(s.state&&s.state.mastodonModalOpen)}),t}Object(r.a)(t,o);var a=t.prototype;return a.componentWillMount=function(){this.props.dispatch(Object(j.t)(this.props.params.statusId))},a.componentWillReceiveProps=function(t){t.params.statusId!==this.props.params.statusId&&t.params.statusId&&this.props.dispatch(Object(j.t)(t.params.statusId))},a.render=function(){var t=this.props.accountIds;return t?Object(n.a)(v.a,{},void 0,Object(n.a)(I.a,{}),Object(n.a)(f.a,{scrollKey:"reblogs",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(n.a)("div",{className:"scrollable reblogs"},void 0,t.map(function(t){return Object(n.a)(m.a,{id:t,withNote:!1},t)})))):Object(n.a)(v.a,{},void 0,Object(n.a)(O.a,{}))},t}(w.a),Object(p.a)(o,"propTypes",{params:l.a.object.isRequired,dispatch:l.a.func.isRequired,accountIds:h.a.list}),e=c))||e}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{670:function(t,a,s){"use strict";s.r(a),s.d(a,"default",function(){return g});var e,o,c,n=s(1),r=s(6),i=s(0),p=s(2),u=(s(3),s(20)),d=s(5),l=s.n(d),b=s(26),h=s.n(b),O=s(290),j=s(25),f=s(297),m=s(625),v=s(640),I=s(889),w=s(24),g=Object(u.connect)(function(t,a){return{accountIds:t.getIn(["user_lists","reblogged_by",a.params.statusId])}})((c=o=function(o){function t(){for(var t,a=arguments.length,s=new Array(a),e=0;e<a;e++)s[e]=arguments[e];return t=o.call.apply(o,[this].concat(s))||this,Object(p.a)(Object(i.a)(Object(i.a)(t)),"shouldUpdateScroll",function(t,a){var s=a.location;return!(((t||{}).location||{}).state||{}).mastodonModalOpen&&!(s.state&&s.state.mastodonModalOpen)}),t}Object(r.a)(t,o);var a=t.prototype;return a.componentWillMount=function(){this.props.dispatch(Object(j.t)(this.props.params.statusId))},a.componentWillReceiveProps=function(t){t.params.statusId!==this.props.params.statusId&&t.params.statusId&&this.props.dispatch(Object(j.t)(t.params.statusId))},a.render=function(){var t=this.props.accountIds;return t?Object(n.a)(v.a,{},void 0,Object(n.a)(I.a,{}),Object(n.a)(f.a,{scrollKey:"reblogs",shouldUpdateScroll:this.shouldUpdateScroll},void 0,Object(n.a)("div",{className:"scrollable reblogs"},void 0,t.map(function(t){return Object(n.a)(m.a,{id:t,withNote:!1},t)})))):Object(n.a)(v.a,{},void 0,Object(n.a)(O.a,{}))},t}(w.a),Object(p.a)(o,"propTypes",{params:l.a.object.isRequired,dispatch:l.a.func.isRequired,accountIds:h.a.list}),e=c))||e}}]); //# sourceMappingURL=reblogs.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/reblogs.js.map b/priv/static/packs/flavours/glitch/async/reblogs.js.map index 8f8e13299..6e29cc650 100644 --- a/priv/static/packs/flavours/glitch/async/reblogs.js.map +++ b/priv/static/packs/flavours/glitch/async/reblogs.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/reblogs/index.js"],"names":["Reblogs","connect","state","props","accountIds","getIn","params","statusId","prevRouterProps","_ref","location","mastodonModalOpen","componentWillMount","this","dispatch","fetchReblogs","componentWillReceiveProps","nextProps","render","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_12__","flavours_glitch_components_column_back_button__WEBPACK_IMPORTED_MODULE_13__","react_router_scroll_4__WEBPACK_IMPORTED_MODULE_10__","scrollKey","shouldUpdateScroll","className","map","id","flavours_glitch_containers_account_container__WEBPACK_IMPORTED_MODULE_11__","withNote","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_8__","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list"],"mappings":"2RAiBqBA,EADpBC,kBAJuB,SAACC,EAAOC,GAAR,MAAmB,CACzCC,WAAYF,EAAMG,MAAM,CAAC,aAAc,eAAgBF,EAAMG,OAAOC,mOAsB/C,SAACC,EAADC,GAAmC,IAAfC,EAAeD,EAAfC,SACvC,UAAOF,GAAmB,IAAIE,UAAY,IAAIR,OAAS,IAAIS,qBAClDD,EAASR,OAASQ,EAASR,MAAMS,mEAZ5CC,mBAAA,WACEC,KAAKV,MAAMW,SAASC,YAAaF,KAAKV,MAAMG,OAAOC,cAGrDS,0BAAA,SAA0BC,GACpBA,EAAUX,OAAOC,WAAaM,KAAKV,MAAMG,OAAOC,UAAYU,EAAUX,OAAOC,UAC/EM,KAAKV,MAAMW,SAASC,YAAaE,EAAUX,OAAOC,cAStDW,OAAA,WAAU,IACAd,EAAeS,KAAKV,MAApBC,WAER,OAAKA,EASHe,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,IAEAH,OAAAC,EAAA,EAAAD,CAACI,EAAA,EAAD,CAAiBC,UAAU,UAAUC,mBAAoBZ,KAAKY,yBAA9D,EACEN,OAAAC,EAAA,EAAAD,CAAA,OAAKO,UAAU,2BAAf,EACGtB,EAAWuB,IAAI,SAAAC,GAAE,OAAIT,OAAAC,EAAA,EAAAD,CAACU,EAAA,EAAD,CAA2BD,GAAIA,EAAIE,UAAU,GAAtBF,QAZjDT,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACY,EAAA,EAAD,SA7B2BC,+BAEhB,CACjB1B,OAAQ2B,IAAUC,OAAOC,WACzBrB,SAAUmB,IAAUG,KAAKD,WACzB/B,WAAYiC,IAAmBC","file":"flavours/glitch/async/reblogs.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport { fetchReblogs } from 'flavours/glitch/actions/interactions';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButton from 'flavours/glitch/components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst mapStateToProps = (state, props) => ({\n accountIds: state.getIn(['user_lists', 'reblogged_by', props.params.statusId]),\n});\n\n@connect(mapStateToProps)\nexport default class Reblogs extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchReblogs(this.props.params.statusId));\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {\n this.props.dispatch(fetchReblogs(nextProps.params.statusId));\n }\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { accountIds } = this.props;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column>\n <ColumnBackButton />\n\n <ScrollContainer scrollKey='reblogs' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable reblogs'>\n {accountIds.map(id => <AccountContainer key={id} id={id} withNote={false} />)}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/reblogs/index.js"],"names":["Reblogs","connect","state","props","accountIds","getIn","params","statusId","prevRouterProps","_ref","location","mastodonModalOpen","componentWillMount","this","dispatch","fetchReblogs","componentWillReceiveProps","nextProps","render","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_features_ui_components_column__WEBPACK_IMPORTED_MODULE_12__","flavours_glitch_components_column_back_button__WEBPACK_IMPORTED_MODULE_13__","react_router_scroll_4__WEBPACK_IMPORTED_MODULE_10__","scrollKey","shouldUpdateScroll","className","map","id","flavours_glitch_containers_account_container__WEBPACK_IMPORTED_MODULE_11__","withNote","flavours_glitch_components_loading_indicator__WEBPACK_IMPORTED_MODULE_8__","ImmutablePureComponent","PropTypes","object","isRequired","func","ImmutablePropTypes","list"],"mappings":"2RAiBqBA,EADpBC,kBAJuB,SAACC,EAAOC,GAAR,MAAmB,CACzCC,WAAYF,EAAMG,MAAM,CAAC,aAAc,eAAgBF,EAAMG,OAAOC,mOAsB/C,SAACC,EAADC,GAAmC,IAAfC,EAAeD,EAAfC,SACvC,UAAOF,GAAmB,IAAIE,UAAY,IAAIR,OAAS,IAAIS,qBAClDD,EAASR,OAASQ,EAASR,MAAMS,mEAZ5CC,mBAAA,WACEC,KAAKV,MAAMW,SAASC,YAAaF,KAAKV,MAAMG,OAAOC,cAGrDS,0BAAA,SAA0BC,GACpBA,EAAUX,OAAOC,WAAaM,KAAKV,MAAMG,OAAOC,UAAYU,EAAUX,OAAOC,UAC/EM,KAAKV,MAAMW,SAASC,YAAaE,EAAUX,OAAOC,cAStDW,OAAA,WAAU,IACAd,EAAeS,KAAKV,MAApBC,WAER,OAAKA,EASHe,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACG,EAAA,EAAD,IAEAH,OAAAC,EAAA,EAAAD,CAACI,EAAA,EAAD,CAAiBC,UAAU,UAAUC,mBAAoBZ,KAAKY,yBAA9D,EACEN,OAAAC,EAAA,EAAAD,CAAA,OAAKO,UAAU,2BAAf,EACGtB,EAAWuB,IAAI,SAAAC,GAAE,OAAIT,OAAAC,EAAA,EAAAD,CAACU,EAAA,EAAD,CAA2BD,GAAIA,EAAIE,UAAU,GAAtBF,QAZjDT,OAAAC,EAAA,EAAAD,CAACE,EAAA,EAAD,UACEF,OAAAC,EAAA,EAAAD,CAACY,EAAA,EAAD,SA7B2BC,+BAEhB,CACjB1B,OAAQ2B,IAAUC,OAAOC,WACzBrB,SAAUmB,IAAUG,KAAKD,WACzB/B,WAAYiC,IAAmBC","file":"flavours/glitch/async/reblogs.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport LoadingIndicator from 'flavours/glitch/components/loading_indicator';\nimport { fetchReblogs } from 'flavours/glitch/actions/interactions';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport AccountContainer from 'flavours/glitch/containers/account_container';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport ColumnBackButton from 'flavours/glitch/components/column_back_button';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst mapStateToProps = (state, props) => ({\n accountIds: state.getIn(['user_lists', 'reblogged_by', props.params.statusId]),\n});\n\n@connect(mapStateToProps)\nexport default class Reblogs extends ImmutablePureComponent {\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n accountIds: ImmutablePropTypes.list,\n };\n\n componentWillMount () {\n this.props.dispatch(fetchReblogs(this.props.params.statusId));\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {\n this.props.dispatch(fetchReblogs(nextProps.params.statusId));\n }\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n const { accountIds } = this.props;\n\n if (!accountIds) {\n return (\n <Column>\n <LoadingIndicator />\n </Column>\n );\n }\n\n return (\n <Column>\n <ColumnBackButton />\n\n <ScrollContainer scrollKey='reblogs' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className='scrollable reblogs'>\n {accountIds.map(id => <AccountContainer key={id} id={id} withNote={false} />)}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/report_modal.js b/priv/static/packs/flavours/glitch/async/report_modal.js index 9fbfb0096..ff8054b6f 100644 --- a/priv/static/packs/flavours/glitch/async/report_modal.js +++ b/priv/static/packs/flavours/glitch/async/report_modal.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{710:function(e,t,a){"use strict";a.r(t);var n,o,i,d=a(1),c=a(6),r=a(0),s=a(2),l=a(3),u=a.n(l),b=a(20),p=a(90),g=a(31),h=a(5),m=a.n(h),O=a(26),j=a.n(O),v=a(166),f=a(7),w=a(390),_=a.n(w),y=a(964),C=a.n(y),k=a(110),I=a(42),M=a(281),N=function(e){function t(){return e.apply(this,arguments)||this}return Object(c.a)(t,e),t.prototype.render=function(){var e=this.props,t=e.status,a=e.checked,n=e.onToggle,o=e.disabled,i=null;if(t.get("reblog"))return null;if(0<t.get("media_attachments").size)if(t.get("media_attachments").some(function(e){return"unknown"===e.get("type")}));else if("video"===t.getIn(["media_attachments",0,"type"])){var c=t.getIn(["media_attachments",0]);i=Object(d.a)(M.a,{fetchComponent:I.L,loading:this.renderLoadingVideoPlayer},void 0,function(e){return Object(d.a)(e,{preview:c.get("preview_url"),src:c.get("url"),alt:c.get("description"),width:239,height:110,inline:!0,sensitive:t.get("sensitive"),revealed:!1,onOpenVideo:C.a})})}else i=Object(d.a)(M.a,{fetchComponent:I.z,loading:this.renderLoadingMediaGallery},void 0,function(e){return Object(d.a)(e,{media:t.get("media_attachments"),sensitive:t.get("sensitive"),revealed:!1,height:110,onOpenMedia:C.a})});return Object(d.a)("div",{className:"status-check-box"},void 0,Object(d.a)("div",{className:"status-check-box__status"},void 0,Object(d.a)(k.a,{status:t,media:i})),Object(d.a)("div",{className:"status-check-box-toggle"},void 0,Object(d.a)(_.a,{checked:a,onChange:n,disabled:o})))},t}(u.a.PureComponent),S=a(4),x=Object(b.connect)(function(e,t){var a=t.id;return{status:e.getIn(["statuses",a]),checked:e.getIn(["reports","new","status_ids"],Object(S.Set)()).includes(a)}},function(t,e){var a=e.id;return{onToggle:function(e){t(Object(p.m)(a,e.target.checked))}}})(N),R=a(24),F=a(85),K=a(46);a.d(t,"default",function(){return q});var T=Object(f.f)({close:{id:"lightbox.close",defaultMessage:"Close"},placeholder:{id:"report.placeholder",defaultMessage:"Additional comments"},submit:{id:"report.submit",defaultMessage:"Submit"}}),q=Object(b.connect)(function(){var a=Object(v.d)();return function(e){var t=e.getIn(["reports","new","account_id"]);return{isSubmitting:e.getIn(["reports","new","isSubmitting"]),account:a(e,t),comment:e.getIn(["reports","new","comment"]),forward:e.getIn(["reports","new","forward"]),statusIds:Object(S.OrderedSet)(e.getIn(["timelines","account:"+t+":with_replies","items"])).union(e.getIn(["reports","new","status_ids"]))}}})(n=Object(f.g)((i=o=function(o){function e(){for(var t,e=arguments.length,a=new Array(e),n=0;n<e;n++)a[n]=arguments[n];return t=o.call.apply(o,[this].concat(a))||this,Object(s.a)(Object(r.a)(Object(r.a)(t)),"handleCommentChange",function(e){t.props.dispatch(Object(p.i)(e.target.value))}),Object(s.a)(Object(r.a)(Object(r.a)(t)),"handleForwardChange",function(e){t.props.dispatch(Object(p.j)(e.target.checked))}),Object(s.a)(Object(r.a)(Object(r.a)(t)),"handleSubmit",function(){t.props.dispatch(Object(p.l)())}),Object(s.a)(Object(r.a)(Object(r.a)(t)),"handleKeyDown",function(e){13===e.keyCode&&(e.ctrlKey||e.metaKey)&&t.handleSubmit()}),t}Object(c.a)(e,o);var t=e.prototype;return t.componentDidMount=function(){this.props.dispatch(Object(g.n)(this.props.account.get("id"),{withReplies:!0}))},t.componentWillReceiveProps=function(e){this.props.account!==e.account&&e.account&&this.props.dispatch(Object(g.n)(e.account.get("id"),{withReplies:!0}))},t.render=function(){var e=this.props,t=e.account,a=e.comment,n=e.intl,o=e.statusIds,i=e.isSubmitting,c=e.forward,r=e.onClose;if(!t)return null;var s=t.get("acct").split("@")[1];return Object(d.a)("div",{className:"modal-root__modal report-modal"},void 0,Object(d.a)("div",{className:"report-modal__target"},void 0,Object(d.a)(K.a,{className:"media-modal__close",title:n.formatMessage(T.close),icon:"times",onClick:r,size:16}),Object(d.a)(f.b,{id:"report.target",defaultMessage:"Report {target}",values:{target:Object(d.a)("strong",{},void 0,t.get("acct"))}})),Object(d.a)("div",{className:"report-modal__container"},void 0,Object(d.a)("div",{className:"report-modal__comment"},void 0,Object(d.a)("p",{},void 0,Object(d.a)(f.b,{id:"report.hint",defaultMessage:"The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:"})),Object(d.a)("textarea",{className:"setting-text light",placeholder:n.formatMessage(T.placeholder),value:a,onChange:this.handleCommentChange,onKeyDown:this.handleKeyDown,disabled:i,autoFocus:!0}),s&&Object(d.a)("div",{},void 0,Object(d.a)("p",{},void 0,Object(d.a)(f.b,{id:"report.forward_hint",defaultMessage:"The account is from another server. Send an anonymized copy of the report there as well?"})),Object(d.a)("div",{className:"setting-toggle"},void 0,Object(d.a)(_.a,{id:"report-forward",checked:c,disabled:i,onChange:this.handleForwardChange}),Object(d.a)("label",{htmlFor:"report-forward",className:"setting-toggle__label"},void 0,Object(d.a)(f.b,{id:"report.forward",defaultMessage:"Forward to {target}",values:{target:s}})))),Object(d.a)(F.a,{disabled:i,text:n.formatMessage(T.submit),onClick:this.handleSubmit})),Object(d.a)("div",{className:"report-modal__statuses"},void 0,Object(d.a)("div",{},void 0,o.map(function(e){return Object(d.a)(x,{id:e,disabled:i},e)})))))},e}(R.a),Object(s.a)(o,"propTypes",{isSubmitting:m.a.bool,account:j.a.map,statusIds:j.a.orderedSet.isRequired,comment:m.a.string.isRequired,forward:m.a.bool,dispatch:m.a.func.isRequired,intl:m.a.object.isRequired}),n=i))||n)||n}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{711:function(e,t,a){"use strict";a.r(t);var n,o,i,d=a(1),c=a(6),r=a(0),s=a(2),l=a(3),u=a.n(l),b=a(20),p=a(92),g=a(32),h=a(5),m=a.n(h),O=a(26),j=a.n(O),v=a(169),f=a(7),w=a(391),_=a.n(w),y=a(965),C=a.n(y),k=a(111),I=a(43),M=a(283),N=function(e){function t(){return e.apply(this,arguments)||this}return Object(c.a)(t,e),t.prototype.render=function(){var e=this.props,t=e.status,a=e.checked,n=e.onToggle,o=e.disabled,i=null;if(t.get("reblog"))return null;if(0<t.get("media_attachments").size)if(t.get("media_attachments").some(function(e){return"unknown"===e.get("type")}));else if("video"===t.getIn(["media_attachments",0,"type"])){var c=t.getIn(["media_attachments",0]);i=Object(d.a)(M.a,{fetchComponent:I.L,loading:this.renderLoadingVideoPlayer},void 0,function(e){return Object(d.a)(e,{preview:c.get("preview_url"),src:c.get("url"),alt:c.get("description"),width:239,height:110,inline:!0,sensitive:t.get("sensitive"),revealed:!1,onOpenVideo:C.a})})}else i=Object(d.a)(M.a,{fetchComponent:I.z,loading:this.renderLoadingMediaGallery},void 0,function(e){return Object(d.a)(e,{media:t.get("media_attachments"),sensitive:t.get("sensitive"),revealed:!1,height:110,onOpenMedia:C.a})});return Object(d.a)("div",{className:"status-check-box"},void 0,Object(d.a)("div",{className:"status-check-box__status"},void 0,Object(d.a)(k.a,{status:t,media:i})),Object(d.a)("div",{className:"status-check-box-toggle"},void 0,Object(d.a)(_.a,{checked:a,onChange:n,disabled:o})))},t}(u.a.PureComponent),S=a(4),x=Object(b.connect)(function(e,t){var a=t.id;return{status:e.getIn(["statuses",a]),checked:e.getIn(["reports","new","status_ids"],Object(S.Set)()).includes(a)}},function(t,e){var a=e.id;return{onToggle:function(e){t(Object(p.m)(a,e.target.checked))}}})(N),R=a(24),F=a(87),K=a(47);a.d(t,"default",function(){return q});var T=Object(f.f)({close:{id:"lightbox.close",defaultMessage:"Close"},placeholder:{id:"report.placeholder",defaultMessage:"Additional comments"},submit:{id:"report.submit",defaultMessage:"Submit"}}),q=Object(b.connect)(function(){var a=Object(v.d)();return function(e){var t=e.getIn(["reports","new","account_id"]);return{isSubmitting:e.getIn(["reports","new","isSubmitting"]),account:a(e,t),comment:e.getIn(["reports","new","comment"]),forward:e.getIn(["reports","new","forward"]),statusIds:Object(S.OrderedSet)(e.getIn(["timelines","account:"+t+":with_replies","items"])).union(e.getIn(["reports","new","status_ids"]))}}})(n=Object(f.g)((i=o=function(o){function e(){for(var t,e=arguments.length,a=new Array(e),n=0;n<e;n++)a[n]=arguments[n];return t=o.call.apply(o,[this].concat(a))||this,Object(s.a)(Object(r.a)(Object(r.a)(t)),"handleCommentChange",function(e){t.props.dispatch(Object(p.i)(e.target.value))}),Object(s.a)(Object(r.a)(Object(r.a)(t)),"handleForwardChange",function(e){t.props.dispatch(Object(p.j)(e.target.checked))}),Object(s.a)(Object(r.a)(Object(r.a)(t)),"handleSubmit",function(){t.props.dispatch(Object(p.l)())}),Object(s.a)(Object(r.a)(Object(r.a)(t)),"handleKeyDown",function(e){13===e.keyCode&&(e.ctrlKey||e.metaKey)&&t.handleSubmit()}),t}Object(c.a)(e,o);var t=e.prototype;return t.componentDidMount=function(){this.props.dispatch(Object(g.n)(this.props.account.get("id"),{withReplies:!0}))},t.componentWillReceiveProps=function(e){this.props.account!==e.account&&e.account&&this.props.dispatch(Object(g.n)(e.account.get("id"),{withReplies:!0}))},t.render=function(){var e=this.props,t=e.account,a=e.comment,n=e.intl,o=e.statusIds,i=e.isSubmitting,c=e.forward,r=e.onClose;if(!t)return null;var s=t.get("acct").split("@")[1];return Object(d.a)("div",{className:"modal-root__modal report-modal"},void 0,Object(d.a)("div",{className:"report-modal__target"},void 0,Object(d.a)(K.a,{className:"media-modal__close",title:n.formatMessage(T.close),icon:"times",onClick:r,size:16}),Object(d.a)(f.b,{id:"report.target",defaultMessage:"Report {target}",values:{target:Object(d.a)("strong",{},void 0,t.get("acct"))}})),Object(d.a)("div",{className:"report-modal__container"},void 0,Object(d.a)("div",{className:"report-modal__comment"},void 0,Object(d.a)("p",{},void 0,Object(d.a)(f.b,{id:"report.hint",defaultMessage:"The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:"})),Object(d.a)("textarea",{className:"setting-text light",placeholder:n.formatMessage(T.placeholder),value:a,onChange:this.handleCommentChange,onKeyDown:this.handleKeyDown,disabled:i,autoFocus:!0}),s&&Object(d.a)("div",{},void 0,Object(d.a)("p",{},void 0,Object(d.a)(f.b,{id:"report.forward_hint",defaultMessage:"The account is from another server. Send an anonymized copy of the report there as well?"})),Object(d.a)("div",{className:"setting-toggle"},void 0,Object(d.a)(_.a,{id:"report-forward",checked:c,disabled:i,onChange:this.handleForwardChange}),Object(d.a)("label",{htmlFor:"report-forward",className:"setting-toggle__label"},void 0,Object(d.a)(f.b,{id:"report.forward",defaultMessage:"Forward to {target}",values:{target:s}})))),Object(d.a)(F.a,{disabled:i,text:n.formatMessage(T.submit),onClick:this.handleSubmit})),Object(d.a)("div",{className:"report-modal__statuses"},void 0,Object(d.a)("div",{},void 0,o.map(function(e){return Object(d.a)(x,{id:e,disabled:i},e)})))))},e}(R.a),Object(s.a)(o,"propTypes",{isSubmitting:m.a.bool,account:j.a.map,statusIds:j.a.orderedSet.isRequired,comment:m.a.string.isRequired,forward:m.a.bool,dispatch:m.a.func.isRequired,intl:m.a.object.isRequired}),n=i))||n)||n}}]); //# sourceMappingURL=report_modal.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/report_modal.js.map b/priv/static/packs/flavours/glitch/async/report_modal.js.map index 1b62a675c..aba4939aa 100644 --- a/priv/static/packs/flavours/glitch/async/report_modal.js.map +++ b/priv/static/packs/flavours/glitch/async/report_modal.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/report/components/status_check_box.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/report/containers/status_check_box_container.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/ui/components/report_modal.js"],"names":["StatusCheckBox","render","_this$props","this","props","status","checked","onToggle","disabled","media","get","size","some","item","getIn","video","Object","jsx","bundle","fetchComponent","Video","loading","renderLoadingVideoPlayer","Component","preview","src","alt","width","height","inline","sensitive","revealed","onOpenVideo","noop","MediaGallery","renderLoadingMediaGallery","onOpenMedia","className","status_content","component_default","a","onChange","React","PureComponent","connect","state","_ref","id","ImmutableSet","includes","dispatch","_ref2","e","toggleStatusReport","target","messages","defineMessages","close","defaultMessage","placeholder","submit","ReportModal","getAccount","makeGetAccount","accountId","isSubmitting","account","comment","forward","statusIds","OrderedSet","union","injectIntl","_this","changeReportComment","value","changeReportForward","submitReport","keyCode","ctrlKey","metaKey","handleSubmit","componentDidMount","expandAccountTimeline","withReplies","componentWillReceiveProps","nextProps","intl","onClose","domain","split","icon_button","title","formatMessage","icon","onClick","index_es","values","handleCommentChange","onKeyDown","handleKeyDown","autoFocus","handleForwardChange","htmlFor","components_button","text","map","statusId","status_check_box_container","ImmutablePureComponent","PropTypes","bool","ImmutablePropTypes","orderedSet","isRequired","string","func","object"],"mappings":"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","file":"flavours/glitch/async/report_modal.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Toggle from 'react-toggle';\nimport noop from 'lodash/noop';\nimport StatusContent from 'flavours/glitch/components/status_content';\nimport { MediaGallery, Video } from 'flavours/glitch/util/async-components';\nimport Bundle from 'flavours/glitch/features/ui/components/bundle';\n\nexport default class StatusCheckBox extends React.PureComponent {\n\n static propTypes = {\n status: ImmutablePropTypes.map.isRequired,\n checked: PropTypes.bool,\n onToggle: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n };\n\n render () {\n const { status, checked, onToggle, disabled } = this.props;\n let media = null;\n\n if (status.get('reblog')) {\n return null;\n }\n\n if (status.get('media_attachments').size > 0) {\n if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) {\n\n } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {\n const video = status.getIn(['media_attachments', 0]);\n\n media = (\n <Bundle fetchComponent={Video} loading={this.renderLoadingVideoPlayer} >\n {Component => (\n <Component\n preview={video.get('preview_url')}\n src={video.get('url')}\n alt={video.get('description')}\n width={239}\n height={110}\n inline\n sensitive={status.get('sensitive')}\n revealed={false}\n onOpenVideo={noop}\n />\n )}\n </Bundle>\n );\n } else {\n media = (\n <Bundle fetchComponent={MediaGallery} loading={this.renderLoadingMediaGallery} >\n {Component => <Component media={status.get('media_attachments')} sensitive={status.get('sensitive')} revealed={false} height={110} onOpenMedia={noop} />}\n </Bundle>\n );\n }\n }\n\n return (\n <div className='status-check-box'>\n <div className='status-check-box__status'>\n <StatusContent\n status={status}\n media={media}\n />\n </div>\n\n <div className='status-check-box-toggle'>\n <Toggle checked={checked} onChange={onToggle} disabled={disabled} />\n </div>\n </div>\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport StatusCheckBox from '../components/status_check_box';\nimport { toggleStatusReport } from 'flavours/glitch/actions/reports';\nimport { Set as ImmutableSet } from 'immutable';\n\nconst mapStateToProps = (state, { id }) => ({\n status: state.getIn(['statuses', id]),\n checked: state.getIn(['reports', 'new', 'status_ids'], ImmutableSet()).includes(id),\n});\n\nconst mapDispatchToProps = (dispatch, { id }) => ({\n\n onToggle (e) {\n dispatch(toggleStatusReport(id, e.target.checked));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(StatusCheckBox);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { changeReportComment, changeReportForward, submitReport } from 'flavours/glitch/actions/reports';\nimport { expandAccountTimeline } from 'flavours/glitch/actions/timelines';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { makeGetAccount } from 'flavours/glitch/selectors';\nimport { defineMessages, FormattedMessage, injectIntl } from 'react-intl';\nimport StatusCheckBox from 'flavours/glitch/features/report/containers/status_check_box_container';\nimport { OrderedSet } from 'immutable';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Button from 'flavours/glitch/components/button';\nimport Toggle from 'react-toggle';\nimport IconButton from '../../../components/icon_button';\n\nconst messages = defineMessages({\n close: { id: 'lightbox.close', defaultMessage: 'Close' },\n placeholder: { id: 'report.placeholder', defaultMessage: 'Additional comments' },\n submit: { id: 'report.submit', defaultMessage: 'Submit' },\n});\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = state => {\n const accountId = state.getIn(['reports', 'new', 'account_id']);\n\n return {\n isSubmitting: state.getIn(['reports', 'new', 'isSubmitting']),\n account: getAccount(state, accountId),\n comment: state.getIn(['reports', 'new', 'comment']),\n forward: state.getIn(['reports', 'new', 'forward']),\n statusIds: OrderedSet(state.getIn(['timelines', `account:${accountId}:with_replies`, 'items'])).union(state.getIn(['reports', 'new', 'status_ids'])),\n };\n };\n\n return mapStateToProps;\n};\n\n@connect(makeMapStateToProps)\n@injectIntl\nexport default class ReportModal extends ImmutablePureComponent {\n\n static propTypes = {\n isSubmitting: PropTypes.bool,\n account: ImmutablePropTypes.map,\n statusIds: ImmutablePropTypes.orderedSet.isRequired,\n comment: PropTypes.string.isRequired,\n forward: PropTypes.bool,\n dispatch: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n handleCommentChange = e => {\n this.props.dispatch(changeReportComment(e.target.value));\n }\n\n handleForwardChange = e => {\n this.props.dispatch(changeReportForward(e.target.checked));\n }\n\n handleSubmit = () => {\n this.props.dispatch(submitReport());\n }\n\n handleKeyDown = e => {\n if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n this.handleSubmit();\n }\n }\n\n componentDidMount () {\n this.props.dispatch(expandAccountTimeline(this.props.account.get('id'), { withReplies: true }));\n }\n\n componentWillReceiveProps (nextProps) {\n if (this.props.account !== nextProps.account && nextProps.account) {\n this.props.dispatch(expandAccountTimeline(nextProps.account.get('id'), { withReplies: true }));\n }\n }\n\n render () {\n const { account, comment, intl, statusIds, isSubmitting, forward, onClose } = this.props;\n\n if (!account) {\n return null;\n }\n\n const domain = account.get('acct').split('@')[1];\n\n return (\n <div className='modal-root__modal report-modal'>\n <div className='report-modal__target'>\n <IconButton className='media-modal__close' title={intl.formatMessage(messages.close)} icon='times' onClick={onClose} size={16} />\n <FormattedMessage id='report.target' defaultMessage='Report {target}' values={{ target: <strong>{account.get('acct')}</strong> }} />\n </div>\n\n <div className='report-modal__container'>\n <div className='report-modal__comment'>\n <p><FormattedMessage id='report.hint' defaultMessage='The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:' /></p>\n\n <textarea\n className='setting-text light'\n placeholder={intl.formatMessage(messages.placeholder)}\n value={comment}\n onChange={this.handleCommentChange}\n onKeyDown={this.handleKeyDown}\n disabled={isSubmitting}\n autoFocus\n />\n\n {domain && (\n <div>\n <p><FormattedMessage id='report.forward_hint' defaultMessage='The account is from another server. Send an anonymized copy of the report there as well?' /></p>\n\n <div className='setting-toggle'>\n <Toggle id='report-forward' checked={forward} disabled={isSubmitting} onChange={this.handleForwardChange} />\n <label htmlFor='report-forward' className='setting-toggle__label'><FormattedMessage id='report.forward' defaultMessage='Forward to {target}' values={{ target: domain }} /></label>\n </div>\n </div>\n )}\n\n <Button disabled={isSubmitting} text={intl.formatMessage(messages.submit)} onClick={this.handleSubmit} />\n </div>\n\n <div className='report-modal__statuses'>\n <div>\n {statusIds.map(statusId => <StatusCheckBox id={statusId} key={statusId} disabled={isSubmitting} />)}\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/report/components/status_check_box.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/report/containers/status_check_box_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/ui/components/report_modal.js"],"names":["StatusCheckBox","render","_this$props","this","props","status","checked","onToggle","disabled","media","get","size","some","item","getIn","video","Object","jsx","bundle","fetchComponent","Video","loading","renderLoadingVideoPlayer","Component","preview","src","alt","width","height","inline","sensitive","revealed","onOpenVideo","noop","MediaGallery","renderLoadingMediaGallery","onOpenMedia","className","status_content","component_default","a","onChange","React","PureComponent","connect","state","_ref","id","ImmutableSet","includes","dispatch","_ref2","e","toggleStatusReport","target","messages","defineMessages","close","defaultMessage","placeholder","submit","ReportModal","getAccount","makeGetAccount","accountId","isSubmitting","account","comment","forward","statusIds","OrderedSet","union","injectIntl","_this","changeReportComment","value","changeReportForward","submitReport","keyCode","ctrlKey","metaKey","handleSubmit","componentDidMount","expandAccountTimeline","withReplies","componentWillReceiveProps","nextProps","intl","onClose","domain","split","icon_button","title","formatMessage","icon","onClick","index_es","values","handleCommentChange","onKeyDown","handleKeyDown","autoFocus","handleForwardChange","htmlFor","components_button","text","map","statusId","status_check_box_container","ImmutablePureComponent","PropTypes","bool","ImmutablePropTypes","orderedSet","isRequired","string","func","object"],"mappings":"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","file":"flavours/glitch/async/report_modal.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Toggle from 'react-toggle';\nimport noop from 'lodash/noop';\nimport StatusContent from 'flavours/glitch/components/status_content';\nimport { MediaGallery, Video } from 'flavours/glitch/util/async-components';\nimport Bundle from 'flavours/glitch/features/ui/components/bundle';\n\nexport default class StatusCheckBox extends React.PureComponent {\n\n static propTypes = {\n status: ImmutablePropTypes.map.isRequired,\n checked: PropTypes.bool,\n onToggle: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n };\n\n render () {\n const { status, checked, onToggle, disabled } = this.props;\n let media = null;\n\n if (status.get('reblog')) {\n return null;\n }\n\n if (status.get('media_attachments').size > 0) {\n if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) {\n\n } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {\n const video = status.getIn(['media_attachments', 0]);\n\n media = (\n <Bundle fetchComponent={Video} loading={this.renderLoadingVideoPlayer} >\n {Component => (\n <Component\n preview={video.get('preview_url')}\n src={video.get('url')}\n alt={video.get('description')}\n width={239}\n height={110}\n inline\n sensitive={status.get('sensitive')}\n revealed={false}\n onOpenVideo={noop}\n />\n )}\n </Bundle>\n );\n } else {\n media = (\n <Bundle fetchComponent={MediaGallery} loading={this.renderLoadingMediaGallery} >\n {Component => <Component media={status.get('media_attachments')} sensitive={status.get('sensitive')} revealed={false} height={110} onOpenMedia={noop} />}\n </Bundle>\n );\n }\n }\n\n return (\n <div className='status-check-box'>\n <div className='status-check-box__status'>\n <StatusContent\n status={status}\n media={media}\n />\n </div>\n\n <div className='status-check-box-toggle'>\n <Toggle checked={checked} onChange={onToggle} disabled={disabled} />\n </div>\n </div>\n );\n }\n\n}\n","import { connect } from 'react-redux';\nimport StatusCheckBox from '../components/status_check_box';\nimport { toggleStatusReport } from 'flavours/glitch/actions/reports';\nimport { Set as ImmutableSet } from 'immutable';\n\nconst mapStateToProps = (state, { id }) => ({\n status: state.getIn(['statuses', id]),\n checked: state.getIn(['reports', 'new', 'status_ids'], ImmutableSet()).includes(id),\n});\n\nconst mapDispatchToProps = (dispatch, { id }) => ({\n\n onToggle (e) {\n dispatch(toggleStatusReport(id, e.target.checked));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(StatusCheckBox);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { changeReportComment, changeReportForward, submitReport } from 'flavours/glitch/actions/reports';\nimport { expandAccountTimeline } from 'flavours/glitch/actions/timelines';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { makeGetAccount } from 'flavours/glitch/selectors';\nimport { defineMessages, FormattedMessage, injectIntl } from 'react-intl';\nimport StatusCheckBox from 'flavours/glitch/features/report/containers/status_check_box_container';\nimport { OrderedSet } from 'immutable';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Button from 'flavours/glitch/components/button';\nimport Toggle from 'react-toggle';\nimport IconButton from '../../../components/icon_button';\n\nconst messages = defineMessages({\n close: { id: 'lightbox.close', defaultMessage: 'Close' },\n placeholder: { id: 'report.placeholder', defaultMessage: 'Additional comments' },\n submit: { id: 'report.submit', defaultMessage: 'Submit' },\n});\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = state => {\n const accountId = state.getIn(['reports', 'new', 'account_id']);\n\n return {\n isSubmitting: state.getIn(['reports', 'new', 'isSubmitting']),\n account: getAccount(state, accountId),\n comment: state.getIn(['reports', 'new', 'comment']),\n forward: state.getIn(['reports', 'new', 'forward']),\n statusIds: OrderedSet(state.getIn(['timelines', `account:${accountId}:with_replies`, 'items'])).union(state.getIn(['reports', 'new', 'status_ids'])),\n };\n };\n\n return mapStateToProps;\n};\n\n@connect(makeMapStateToProps)\n@injectIntl\nexport default class ReportModal extends ImmutablePureComponent {\n\n static propTypes = {\n isSubmitting: PropTypes.bool,\n account: ImmutablePropTypes.map,\n statusIds: ImmutablePropTypes.orderedSet.isRequired,\n comment: PropTypes.string.isRequired,\n forward: PropTypes.bool,\n dispatch: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n handleCommentChange = e => {\n this.props.dispatch(changeReportComment(e.target.value));\n }\n\n handleForwardChange = e => {\n this.props.dispatch(changeReportForward(e.target.checked));\n }\n\n handleSubmit = () => {\n this.props.dispatch(submitReport());\n }\n\n handleKeyDown = e => {\n if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n this.handleSubmit();\n }\n }\n\n componentDidMount () {\n this.props.dispatch(expandAccountTimeline(this.props.account.get('id'), { withReplies: true }));\n }\n\n componentWillReceiveProps (nextProps) {\n if (this.props.account !== nextProps.account && nextProps.account) {\n this.props.dispatch(expandAccountTimeline(nextProps.account.get('id'), { withReplies: true }));\n }\n }\n\n render () {\n const { account, comment, intl, statusIds, isSubmitting, forward, onClose } = this.props;\n\n if (!account) {\n return null;\n }\n\n const domain = account.get('acct').split('@')[1];\n\n return (\n <div className='modal-root__modal report-modal'>\n <div className='report-modal__target'>\n <IconButton className='media-modal__close' title={intl.formatMessage(messages.close)} icon='times' onClick={onClose} size={16} />\n <FormattedMessage id='report.target' defaultMessage='Report {target}' values={{ target: <strong>{account.get('acct')}</strong> }} />\n </div>\n\n <div className='report-modal__container'>\n <div className='report-modal__comment'>\n <p><FormattedMessage id='report.hint' defaultMessage='The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:' /></p>\n\n <textarea\n className='setting-text light'\n placeholder={intl.formatMessage(messages.placeholder)}\n value={comment}\n onChange={this.handleCommentChange}\n onKeyDown={this.handleKeyDown}\n disabled={isSubmitting}\n autoFocus\n />\n\n {domain && (\n <div>\n <p><FormattedMessage id='report.forward_hint' defaultMessage='The account is from another server. Send an anonymized copy of the report there as well?' /></p>\n\n <div className='setting-toggle'>\n <Toggle id='report-forward' checked={forward} disabled={isSubmitting} onChange={this.handleForwardChange} />\n <label htmlFor='report-forward' className='setting-toggle__label'><FormattedMessage id='report.forward' defaultMessage='Forward to {target}' values={{ target: domain }} /></label>\n </div>\n </div>\n )}\n\n <Button disabled={isSubmitting} text={intl.formatMessage(messages.submit)} onClick={this.handleSubmit} />\n </div>\n\n <div className='report-modal__statuses'>\n <div>\n {statusIds.map(statusId => <StatusCheckBox id={statusId} key={statusId} disabled={isSubmitting} />)}\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/settings_modal.js b/priv/static/packs/flavours/glitch/async/settings_modal.js index 20b4ab8ad..42ce838ed 100644 --- a/priv/static/packs/flavours/glitch/async/settings_modal.js +++ b/priv/static/packs/flavours/glitch/async/settings_modal.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{703:function(e,t,a){"use strict";a.r(t);var s,n,m=a(1),i=a(6),o=a(0),l=a(2),d=a(3),c=a.n(d),g=a(20),r=a(7),b=function(s){function e(){for(var d,e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return d=s.call.apply(s,[this].concat(t))||this,Object(l.a)(Object(o.a)(Object(o.a)(d)),"handleChange",function(e){var t=e.target,a=d.props,s=a.item,n=a.onChange,i=a.options,o=a.placeholder;i&&0<i.length?n(s,t.value):n(s,o?t.value:t.checked)}),d}return Object(i.a)(e,s),e.prototype.render=function(){var a=this.handleChange,e=this.props,t=e.settings,s=e.item,n=e.id,i=e.options,o=e.children,d=e.dependsOn,l=e.dependsOnNot,c=e.placeholder,g=!0;if(d)for(var r=0;r<d.length;r++)g=g&&t.getIn(d[r]);if(l)for(var b=0;b<l.length;b++)g=g&&!t.getIn(l[b]);if(i&&0<i.length){var p=t.getIn(s),u=i&&0<i.length&&i.map(function(e){var t=n+"--"+e.value;return Object(m.a)("label",{htmlFor:t},void 0,Object(m.a)("input",{type:"radio",name:n,id:t,value:e.value,onBlur:a,onChange:a,checked:p===e.value,disabled:!g}),e.message,e.hint&&Object(m.a)("span",{class:"hint"},void 0,e.hint))});return Object(m.a)("div",{class:"glitch local-settings__page__item radio_buttons"},void 0,Object(m.a)("fieldset",{},void 0,Object(m.a)("legend",{},void 0,o),u))}return c?Object(m.a)("div",{className:"glitch local-settings__page__item string"},void 0,Object(m.a)("label",{htmlFor:n},void 0,Object(m.a)("p",{},void 0,o),Object(m.a)("p",{},void 0,Object(m.a)("input",{id:n,type:"text",value:t.getIn(s),placeholder:c,onChange:a,disabled:!g})))):Object(m.a)("div",{className:"glitch local-settings__page__item boolean"},void 0,Object(m.a)("label",{htmlFor:n},void 0,Object(m.a)("input",{id:n,type:"checkbox",checked:t.getIn(s),onChange:a,disabled:!g}),o))},e}(c.a.PureComponent),p=Object(r.f)({layout_auto:{id:"layout.auto",defaultMessage:"Auto"},layout_desktop:{id:"layout.desktop",defaultMessage:"Desktop"},layout_mobile:{id:"layout.single",defaultMessage:"Mobile"},side_arm_none:{id:"settings.side_arm.none",defaultMessage:"None"},side_arm_keep:{id:"settings.side_arm_reply_mode.keep",defaultMessage:"Keep secondary toot button to set privacy"},side_arm_copy:{id:"settings.side_arm_reply_mode.copy",defaultMessage:"Copy privacy setting of the toot being replied to"},side_arm_restrict:{id:"settings.side_arm_reply_mode.restrict",defaultMessage:"Restrict privacy setting to that of the toot being replied to"},regexp:{id:"settings.content_warnings.regexp",defaultMessage:"Regular expression"}}),u=Object(r.g)(s=function(n){function e(){for(var e,t=arguments.length,a=new Array(t),s=0;s<t;s++)a[s]=arguments[s];return e=n.call.apply(n,[this].concat(a))||this,Object(l.a)(Object(o.a)(Object(o.a)(e)),"pages",[function(e){var t=e.intl,a=e.onChange,s=e.settings;return Object(m.a)("div",{className:"glitch local-settings__page general"},void 0,Object(m.a)("h1",{},void 0,Object(m.a)(r.b,{id:"settings.general",defaultMessage:"General"})),Object(m.a)(b,{settings:s,item:["show_reply_count"],id:"mastodon-settings--reply-count",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.show_reply_counter",defaultMessage:"Display an estimate of the reply count"})),Object(m.a)("section",{},void 0,Object(m.a)("h2",{},void 0,Object(m.a)(r.b,{id:"settings.notifications_opts",defaultMessage:"Notifications options"})),Object(m.a)(b,{settings:s,item:["notifications","tab_badge"],id:"mastodon-settings--notifications-tab_badge",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.notifications.tab_badge",defaultMessage:"Unread notifications badge"}),Object(m.a)("span",{className:"hint"},void 0,Object(m.a)(r.b,{id:"settings.notifications.tab_badge.hint",defaultMessage:"Display a badge for unread notifications in the column icons when the notifications column isn't open"}))),Object(m.a)(b,{settings:s,item:["notifications","favicon_badge"],id:"mastodon-settings--notifications-favicon_badge",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.notifications.favicon_badge",defaultMessage:"Unread notifications favicon badge"}),Object(m.a)("span",{className:"hint"},void 0,Object(m.a)(r.b,{id:"settings.notifications.favicon_badge.hint",defaultMessage:"Add a badge for unread notifications to the favicon"})))),Object(m.a)("section",{},void 0,Object(m.a)("h2",{},void 0,Object(m.a)(r.b,{id:"settings.layout_opts",defaultMessage:"Layout options"})),Object(m.a)(b,{settings:s,item:["layout"],id:"mastodon-settings--layout",options:[{value:"auto",message:t.formatMessage(p.layout_auto)},{value:"multiple",message:t.formatMessage(p.layout_desktop)},{value:"single",message:t.formatMessage(p.layout_mobile)}],onChange:a},void 0,Object(m.a)(r.b,{id:"settings.layout",defaultMessage:"Layout:"})),Object(m.a)(b,{settings:s,item:["stretch"],id:"mastodon-settings--stretch",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.wide_view",defaultMessage:"Wide view (Desktop mode only)"}),Object(m.a)("span",{className:"hint"},void 0,Object(m.a)(r.b,{id:"settings.wide_view_hint",defaultMessage:"Stretches columns to better fill the available space."}))),Object(m.a)(b,{settings:s,item:["navbar_under"],id:"mastodon-settings--navbar_under",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.navbar_under",defaultMessage:"Navbar at the bottom (Mobile only)"})),Object(m.a)(b,{settings:s,item:["swipe_to_change_columns"],id:"mastodon-settings--swipe_to_change_columns",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.swipe_to_change_columns",defaultMessage:"Allow swiping to change columns (Mobile only)"}))))},function(e){var t=e.intl,a=e.onChange,s=e.settings;return Object(m.a)("div",{className:"glitch local-settings__page compose_box_opts"},void 0,Object(m.a)("h1",{},void 0,Object(m.a)(r.b,{id:"settings.compose_box_opts",defaultMessage:"Compose box options"})),Object(m.a)(b,{settings:s,item:["always_show_spoilers_field"],id:"mastodon-settings--always_show_spoilers_field",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.always_show_spoilers_field",defaultMessage:"Always enable the Content Warning field"})),Object(m.a)(b,{settings:s,item:["preselect_on_reply"],id:"mastodon-settings--preselect_on_reply",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.preselect_on_reply",defaultMessage:"Pre-select usernames on reply"}),Object(m.a)("span",{className:"hint"},void 0,Object(m.a)(r.b,{id:"settings.preselect_on_reply_hint",defaultMessage:"When replying to a conversation with multiple participants, pre-select usernames past the first"}))),Object(m.a)(b,{settings:s,item:["confirm_missing_media_description"],id:"mastodon-settings--confirm_missing_media_description",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.confirm_missing_media_description",defaultMessage:"Show confirmation dialog before sending toots lacking media descriptions"})),Object(m.a)(b,{settings:s,item:["confirm_before_clearing_draft"],id:"mastodon-settings--confirm_before_clearing_draft",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.confirm_before_clearing_draft",defaultMessage:"Show confirmation dialog before overwriting the message being composed"})),Object(m.a)(b,{settings:s,item:["side_arm"],id:"mastodon-settings--side_arm",options:[{value:"none",message:t.formatMessage(p.side_arm_none)},{value:"direct",message:t.formatMessage({id:"privacy.direct.short"})},{value:"private",message:t.formatMessage({id:"privacy.private.short"})},{value:"unlisted",message:t.formatMessage({id:"privacy.unlisted.short"})},{value:"public",message:t.formatMessage({id:"privacy.public.short"})}],onChange:a},void 0,Object(m.a)(r.b,{id:"settings.side_arm",defaultMessage:"Secondary toot button:"})),Object(m.a)(b,{settings:s,item:["side_arm_reply_mode"],id:"mastodon-settings--side_arm_reply_mode",options:[{value:"keep",message:t.formatMessage(p.side_arm_keep)},{value:"copy",message:t.formatMessage(p.side_arm_copy)},{value:"restrict",message:t.formatMessage(p.side_arm_restrict)}],onChange:a},void 0,Object(m.a)(r.b,{id:"settings.side_arm_reply_mode",defaultMessage:"When replying to a toot:"})))},function(e){var t=e.intl,a=e.onChange,s=e.settings;return Object(m.a)("div",{className:"glitch local-settings__page content_warnings"},void 0,Object(m.a)("h1",{},void 0,Object(m.a)(r.b,{id:"settings.content_warnings",defaultMessage:"Content warnings"})),Object(m.a)(b,{settings:s,item:["content_warnings","auto_unfold"],id:"mastodon-settings--content_warnings-auto_unfold",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.enable_content_warnings_auto_unfold",defaultMessage:"Automatically unfold content-warnings"})),Object(m.a)(b,{settings:s,item:["content_warnings","filter"],id:"mastodon-settings--content_warnings-auto_unfold",onChange:a,dependsOn:[["content_warnings","auto_unfold"]],placeholder:t.formatMessage(p.regexp)},void 0,Object(m.a)(r.b,{id:"settings.content_warnings_filter",defaultMessage:"Content warnings to not automatically unfold:"})))},function(e){var t=e.onChange,a=e.settings;return Object(m.a)("div",{className:"glitch local-settings__page collapsed"},void 0,Object(m.a)("h1",{},void 0,Object(m.a)(r.b,{id:"settings.collapsed_statuses",defaultMessage:"Collapsed toots"})),Object(m.a)(b,{settings:a,item:["collapsed","enabled"],id:"mastodon-settings--collapsed-enabled",onChange:t},void 0,Object(m.a)(r.b,{id:"settings.enable_collapsed",defaultMessage:"Enable collapsed toots"})),Object(m.a)(b,{settings:a,item:["collapsed","show_action_bar"],id:"mastodon-settings--collapsed-show-action-bar",onChange:t,dependsOn:[["collapsed","enabled"]]},void 0,Object(m.a)(r.b,{id:"settings.show_action_bar",defaultMessage:"Show action buttons in collapsed toots"})),Object(m.a)("section",{},void 0,Object(m.a)("h2",{},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse",defaultMessage:"Automatic collapsing"})),Object(m.a)(b,{settings:a,item:["collapsed","auto","all"],id:"mastodon-settings--collapsed-auto-all",onChange:t,dependsOn:[["collapsed","enabled"]]},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse_all",defaultMessage:"Everything"})),Object(m.a)(b,{settings:a,item:["collapsed","auto","notifications"],id:"mastodon-settings--collapsed-auto-notifications",onChange:t,dependsOn:[["collapsed","enabled"]],dependsOnNot:[["collapsed","auto","all"]]},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse_notifications",defaultMessage:"Notifications"})),Object(m.a)(b,{settings:a,item:["collapsed","auto","lengthy"],id:"mastodon-settings--collapsed-auto-lengthy",onChange:t,dependsOn:[["collapsed","enabled"]],dependsOnNot:[["collapsed","auto","all"]]},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse_lengthy",defaultMessage:"Lengthy toots"})),Object(m.a)(b,{settings:a,item:["collapsed","auto","reblogs"],id:"mastodon-settings--collapsed-auto-reblogs",onChange:t,dependsOn:[["collapsed","enabled"]],dependsOnNot:[["collapsed","auto","all"]]},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse_reblogs",defaultMessage:"Boosts"})),Object(m.a)(b,{settings:a,item:["collapsed","auto","replies"],id:"mastodon-settings--collapsed-auto-replies",onChange:t,dependsOn:[["collapsed","enabled"]],dependsOnNot:[["collapsed","auto","all"]]},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse_replies",defaultMessage:"Replies"})),Object(m.a)(b,{settings:a,item:["collapsed","auto","media"],id:"mastodon-settings--collapsed-auto-media",onChange:t,dependsOn:[["collapsed","enabled"]],dependsOnNot:[["collapsed","auto","all"]]},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse_media",defaultMessage:"Toots with media"}))),Object(m.a)("section",{},void 0,Object(m.a)("h2",{},void 0,Object(m.a)(r.b,{id:"settings.image_backgrounds",defaultMessage:"Image backgrounds"})),Object(m.a)(b,{settings:a,item:["collapsed","backgrounds","user_backgrounds"],id:"mastodon-settings--collapsed-user-backgrouns",onChange:t,dependsOn:[["collapsed","enabled"]]},void 0,Object(m.a)(r.b,{id:"settings.image_backgrounds_users",defaultMessage:"Give collapsed toots an image background"})),Object(m.a)(b,{settings:a,item:["collapsed","backgrounds","preview_images"],id:"mastodon-settings--collapsed-preview-images",onChange:t,dependsOn:[["collapsed","enabled"]]},void 0,Object(m.a)(r.b,{id:"settings.image_backgrounds_media",defaultMessage:"Preview collapsed toot media"}))))},function(e){var t=e.onChange,a=e.settings;return Object(m.a)("div",{className:"glitch local-settings__page media"},void 0,Object(m.a)("h1",{},void 0,Object(m.a)(r.b,{id:"settings.media",defaultMessage:"Media"})),Object(m.a)(b,{settings:a,item:["media","letterbox"],id:"mastodon-settings--media-letterbox",onChange:t},void 0,Object(m.a)(r.b,{id:"settings.media_letterbox",defaultMessage:"Letterbox media"}),Object(m.a)("span",{className:"hint"},void 0,Object(m.a)(r.b,{id:"settings.media_letterbox_hint",defaultMessage:"Scale down and letterbox media to fill the image containers instead of stretching and cropping them"}))),Object(m.a)(b,{settings:a,item:["media","fullwidth"],id:"mastodon-settings--media-fullwidth",onChange:t},void 0,Object(m.a)(r.b,{id:"settings.media_fullwidth",defaultMessage:"Full-width media previews"})),Object(m.a)(b,{settings:a,item:["inline_preview_cards"],id:"mastodon-settings--inline-preview-cards",onChange:t},void 0,Object(m.a)(r.b,{id:"settings.inline_preview_cards",defaultMessage:"Inline preview cards for external links"})))}]),e}return Object(i.a)(e,n),e.prototype.render=function(){var e=this.pages,t=this.props,a=t.index,s=t.intl,n=t.onChange,i=t.settings,o=e[a]||e[0];return Object(m.a)(o,{intl:s,onChange:n,settings:i})},e}(c.a.PureComponent))||s,_=a(12),f=a.n(_),h=function(s){function e(){for(var n,e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return n=s.call.apply(s,[this].concat(t))||this,Object(l.a)(Object(o.a)(Object(o.a)(n)),"handleClick",function(e){var t=n.props,a=t.index,s=t.onNavigate;s&&(s(a),e.preventDefault())}),n}return Object(i.a)(e,s),e.prototype.render=function(){var e=this.handleClick,t=this.props,a=t.active,s=t.className,n=t.href,i=t.icon,o=t.textIcon,d=t.onNavigate,l=t.title,c=f()("glitch","local-settings__navigation__item",{active:a},s),g=i?Object(m.a)("i",{className:"fa fa-fw fa-"+i}):o?Object(m.a)("span",{className:"text-icon-button"},void 0,o):null;return n?Object(m.a)("a",{href:n,className:c},void 0,g," ",Object(m.a)("span",{},void 0,l)):d?Object(m.a)("a",{onClick:e,role:"button",tabIndex:"0",className:c},void 0,g," ",Object(m.a)("span",{},void 0,l)):null},e}(c.a.PureComponent),v=a(138),O=Object(r.f)({general:{id:"settings.general",defaultMessage:"General"},compose:{id:"settings.compose_box_opts",defaultMessage:"Compose box options"},content_warnings:{id:"settings.content_warnings",defaultMessage:"Content Warnings"},collapsed:{id:"settings.collapsed_statuses",defaultMessage:"Collapsed toots"},media:{id:"settings.media",defaultMessage:"Media"},preferences:{id:"settings.preferences",defaultMessage:"Preferences"},close:{id:"settings.close",defaultMessage:"Close"}}),j=Object(r.g)(n=function(e){function t(){return e.apply(this,arguments)||this}return Object(i.a)(t,e),t.prototype.render=function(){var e=this.props,t=e.index,a=e.intl,s=e.onClose,n=e.onNavigate;return Object(m.a)("nav",{className:"glitch local-settings__navigation"},void 0,Object(m.a)(h,{active:0===t,index:0,onNavigate:n,icon:"cogs",title:a.formatMessage(O.general)}),Object(m.a)(h,{active:1===t,index:1,onNavigate:n,icon:"pencil",title:a.formatMessage(O.compose)}),Object(m.a)(h,{active:2===t,index:2,onNavigate:n,textIcon:"CW",title:a.formatMessage(O.content_warnings)}),Object(m.a)(h,{active:3===t,index:3,onNavigate:n,icon:"angle-double-up",title:a.formatMessage(O.collapsed)}),Object(m.a)(h,{active:4===t,index:4,onNavigate:n,icon:"image",title:a.formatMessage(O.media)}),Object(m.a)(h,{active:5===t,href:v.b,index:5,icon:"sliders",title:a.formatMessage(O.preferences)}),Object(m.a)(h,{active:6===t,className:"close",index:6,onNavigate:s,icon:"times",title:a.formatMessage(O.close)}))},t}(c.a.PureComponent))||n,M=a(44),y=a(290),w=function(n){function e(){for(var t,e=arguments.length,a=new Array(e),s=0;s<e;s++)a[s]=arguments[s];return t=n.call.apply(n,[this].concat(a))||this,Object(l.a)(Object(o.a)(Object(o.a)(t)),"state",{currentIndex:0}),Object(l.a)(Object(o.a)(Object(o.a)(t)),"navigateTo",function(e){return t.setState({currentIndex:+e})}),t}return Object(i.a)(e,n),e.prototype.render=function(){var e=this.navigateTo,t=this.props,a=t.onChange,s=t.onClose,n=t.settings,i=this.state.currentIndex;return Object(m.a)("div",{className:"glitch modal-root__modal local-settings"},void 0,Object(m.a)(j,{index:i,onClose:s,onNavigate:e}),Object(m.a)(u,{index:i,onChange:a,settings:n}))},e}(c.a.PureComponent);t.default=Object(g.connect)(function(e){return{settings:e.get("local_settings")}},function(a){return{onChange:function(e,t){a(Object(y.b)(e,t))},onClose:function(){a(Object(M.c)())}}})(w)}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{704:function(e,t,a){"use strict";a.r(t);var s,n,m=a(1),i=a(6),o=a(0),l=a(2),d=a(3),c=a.n(d),g=a(20),r=a(7),b=function(s){function e(){for(var d,e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return d=s.call.apply(s,[this].concat(t))||this,Object(l.a)(Object(o.a)(Object(o.a)(d)),"handleChange",function(e){var t=e.target,a=d.props,s=a.item,n=a.onChange,i=a.options,o=a.placeholder;i&&0<i.length?n(s,t.value):n(s,o?t.value:t.checked)}),d}return Object(i.a)(e,s),e.prototype.render=function(){var a=this.handleChange,e=this.props,t=e.settings,s=e.item,n=e.id,i=e.options,o=e.children,d=e.dependsOn,l=e.dependsOnNot,c=e.placeholder,g=!0;if(d)for(var r=0;r<d.length;r++)g=g&&t.getIn(d[r]);if(l)for(var b=0;b<l.length;b++)g=g&&!t.getIn(l[b]);if(i&&0<i.length){var p=t.getIn(s),u=i&&0<i.length&&i.map(function(e){var t=n+"--"+e.value;return Object(m.a)("label",{htmlFor:t},void 0,Object(m.a)("input",{type:"radio",name:n,id:t,value:e.value,onBlur:a,onChange:a,checked:p===e.value,disabled:!g}),e.message,e.hint&&Object(m.a)("span",{class:"hint"},void 0,e.hint))});return Object(m.a)("div",{class:"glitch local-settings__page__item radio_buttons"},void 0,Object(m.a)("fieldset",{},void 0,Object(m.a)("legend",{},void 0,o),u))}return c?Object(m.a)("div",{className:"glitch local-settings__page__item string"},void 0,Object(m.a)("label",{htmlFor:n},void 0,Object(m.a)("p",{},void 0,o),Object(m.a)("p",{},void 0,Object(m.a)("input",{id:n,type:"text",value:t.getIn(s),placeholder:c,onChange:a,disabled:!g})))):Object(m.a)("div",{className:"glitch local-settings__page__item boolean"},void 0,Object(m.a)("label",{htmlFor:n},void 0,Object(m.a)("input",{id:n,type:"checkbox",checked:t.getIn(s),onChange:a,disabled:!g}),o))},e}(c.a.PureComponent),p=Object(r.f)({layout_auto:{id:"layout.auto",defaultMessage:"Auto"},layout_desktop:{id:"layout.desktop",defaultMessage:"Desktop"},layout_mobile:{id:"layout.single",defaultMessage:"Mobile"},side_arm_none:{id:"settings.side_arm.none",defaultMessage:"None"},side_arm_keep:{id:"settings.side_arm_reply_mode.keep",defaultMessage:"Keep secondary toot button to set privacy"},side_arm_copy:{id:"settings.side_arm_reply_mode.copy",defaultMessage:"Copy privacy setting of the toot being replied to"},side_arm_restrict:{id:"settings.side_arm_reply_mode.restrict",defaultMessage:"Restrict privacy setting to that of the toot being replied to"},regexp:{id:"settings.content_warnings.regexp",defaultMessage:"Regular expression"}}),u=Object(r.g)(s=function(n){function e(){for(var e,t=arguments.length,a=new Array(t),s=0;s<t;s++)a[s]=arguments[s];return e=n.call.apply(n,[this].concat(a))||this,Object(l.a)(Object(o.a)(Object(o.a)(e)),"pages",[function(e){var t=e.intl,a=e.onChange,s=e.settings;return Object(m.a)("div",{className:"glitch local-settings__page general"},void 0,Object(m.a)("h1",{},void 0,Object(m.a)(r.b,{id:"settings.general",defaultMessage:"General"})),Object(m.a)(b,{settings:s,item:["show_reply_count"],id:"mastodon-settings--reply-count",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.show_reply_counter",defaultMessage:"Display an estimate of the reply count"})),Object(m.a)("section",{},void 0,Object(m.a)("h2",{},void 0,Object(m.a)(r.b,{id:"settings.notifications_opts",defaultMessage:"Notifications options"})),Object(m.a)(b,{settings:s,item:["notifications","tab_badge"],id:"mastodon-settings--notifications-tab_badge",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.notifications.tab_badge",defaultMessage:"Unread notifications badge"}),Object(m.a)("span",{className:"hint"},void 0,Object(m.a)(r.b,{id:"settings.notifications.tab_badge.hint",defaultMessage:"Display a badge for unread notifications in the column icons when the notifications column isn't open"}))),Object(m.a)(b,{settings:s,item:["notifications","favicon_badge"],id:"mastodon-settings--notifications-favicon_badge",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.notifications.favicon_badge",defaultMessage:"Unread notifications favicon badge"}),Object(m.a)("span",{className:"hint"},void 0,Object(m.a)(r.b,{id:"settings.notifications.favicon_badge.hint",defaultMessage:"Add a badge for unread notifications to the favicon"})))),Object(m.a)("section",{},void 0,Object(m.a)("h2",{},void 0,Object(m.a)(r.b,{id:"settings.layout_opts",defaultMessage:"Layout options"})),Object(m.a)(b,{settings:s,item:["layout"],id:"mastodon-settings--layout",options:[{value:"auto",message:t.formatMessage(p.layout_auto)},{value:"multiple",message:t.formatMessage(p.layout_desktop)},{value:"single",message:t.formatMessage(p.layout_mobile)}],onChange:a},void 0,Object(m.a)(r.b,{id:"settings.layout",defaultMessage:"Layout:"})),Object(m.a)(b,{settings:s,item:["stretch"],id:"mastodon-settings--stretch",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.wide_view",defaultMessage:"Wide view (Desktop mode only)"}),Object(m.a)("span",{className:"hint"},void 0,Object(m.a)(r.b,{id:"settings.wide_view_hint",defaultMessage:"Stretches columns to better fill the available space."}))),Object(m.a)(b,{settings:s,item:["navbar_under"],id:"mastodon-settings--navbar_under",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.navbar_under",defaultMessage:"Navbar at the bottom (Mobile only)"})),Object(m.a)(b,{settings:s,item:["swipe_to_change_columns"],id:"mastodon-settings--swipe_to_change_columns",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.swipe_to_change_columns",defaultMessage:"Allow swiping to change columns (Mobile only)"}))))},function(e){var t=e.intl,a=e.onChange,s=e.settings;return Object(m.a)("div",{className:"glitch local-settings__page compose_box_opts"},void 0,Object(m.a)("h1",{},void 0,Object(m.a)(r.b,{id:"settings.compose_box_opts",defaultMessage:"Compose box"})),Object(m.a)(b,{settings:s,item:["always_show_spoilers_field"],id:"mastodon-settings--always_show_spoilers_field",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.always_show_spoilers_field",defaultMessage:"Always enable the Content Warning field"})),Object(m.a)(b,{settings:s,item:["preselect_on_reply"],id:"mastodon-settings--preselect_on_reply",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.preselect_on_reply",defaultMessage:"Pre-select usernames on reply"}),Object(m.a)("span",{className:"hint"},void 0,Object(m.a)(r.b,{id:"settings.preselect_on_reply_hint",defaultMessage:"When replying to a conversation with multiple participants, pre-select usernames past the first"}))),Object(m.a)(b,{settings:s,item:["confirm_missing_media_description"],id:"mastodon-settings--confirm_missing_media_description",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.confirm_missing_media_description",defaultMessage:"Show confirmation dialog before sending toots lacking media descriptions"})),Object(m.a)(b,{settings:s,item:["confirm_before_clearing_draft"],id:"mastodon-settings--confirm_before_clearing_draft",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.confirm_before_clearing_draft",defaultMessage:"Show confirmation dialog before overwriting the message being composed"})),Object(m.a)(b,{settings:s,item:["side_arm"],id:"mastodon-settings--side_arm",options:[{value:"none",message:t.formatMessage(p.side_arm_none)},{value:"direct",message:t.formatMessage({id:"privacy.direct.short"})},{value:"private",message:t.formatMessage({id:"privacy.private.short"})},{value:"unlisted",message:t.formatMessage({id:"privacy.unlisted.short"})},{value:"public",message:t.formatMessage({id:"privacy.public.short"})}],onChange:a},void 0,Object(m.a)(r.b,{id:"settings.side_arm",defaultMessage:"Secondary toot button:"})),Object(m.a)(b,{settings:s,item:["side_arm_reply_mode"],id:"mastodon-settings--side_arm_reply_mode",options:[{value:"keep",message:t.formatMessage(p.side_arm_keep)},{value:"copy",message:t.formatMessage(p.side_arm_copy)},{value:"restrict",message:t.formatMessage(p.side_arm_restrict)}],onChange:a},void 0,Object(m.a)(r.b,{id:"settings.side_arm_reply_mode",defaultMessage:"When replying to a toot:"})))},function(e){var t=e.intl,a=e.onChange,s=e.settings;return Object(m.a)("div",{className:"glitch local-settings__page content_warnings"},void 0,Object(m.a)("h1",{},void 0,Object(m.a)(r.b,{id:"settings.content_warnings",defaultMessage:"Content warnings"})),Object(m.a)(b,{settings:s,item:["content_warnings","auto_unfold"],id:"mastodon-settings--content_warnings-auto_unfold",onChange:a},void 0,Object(m.a)(r.b,{id:"settings.enable_content_warnings_auto_unfold",defaultMessage:"Automatically unfold content-warnings"})),Object(m.a)(b,{settings:s,item:["content_warnings","filter"],id:"mastodon-settings--content_warnings-auto_unfold",onChange:a,dependsOn:[["content_warnings","auto_unfold"]],placeholder:t.formatMessage(p.regexp)},void 0,Object(m.a)(r.b,{id:"settings.content_warnings_filter",defaultMessage:"Content warnings to not automatically unfold:"})))},function(e){var t=e.onChange,a=e.settings;return Object(m.a)("div",{className:"glitch local-settings__page collapsed"},void 0,Object(m.a)("h1",{},void 0,Object(m.a)(r.b,{id:"settings.collapsed_statuses",defaultMessage:"Collapsed toots"})),Object(m.a)(b,{settings:a,item:["collapsed","enabled"],id:"mastodon-settings--collapsed-enabled",onChange:t},void 0,Object(m.a)(r.b,{id:"settings.enable_collapsed",defaultMessage:"Enable collapsed toots"})),Object(m.a)(b,{settings:a,item:["collapsed","show_action_bar"],id:"mastodon-settings--collapsed-show-action-bar",onChange:t,dependsOn:[["collapsed","enabled"]]},void 0,Object(m.a)(r.b,{id:"settings.show_action_bar",defaultMessage:"Show action buttons in collapsed toots"})),Object(m.a)("section",{},void 0,Object(m.a)("h2",{},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse",defaultMessage:"Automatic collapsing"})),Object(m.a)(b,{settings:a,item:["collapsed","auto","all"],id:"mastodon-settings--collapsed-auto-all",onChange:t,dependsOn:[["collapsed","enabled"]]},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse_all",defaultMessage:"Everything"})),Object(m.a)(b,{settings:a,item:["collapsed","auto","notifications"],id:"mastodon-settings--collapsed-auto-notifications",onChange:t,dependsOn:[["collapsed","enabled"]],dependsOnNot:[["collapsed","auto","all"]]},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse_notifications",defaultMessage:"Notifications"})),Object(m.a)(b,{settings:a,item:["collapsed","auto","lengthy"],id:"mastodon-settings--collapsed-auto-lengthy",onChange:t,dependsOn:[["collapsed","enabled"]],dependsOnNot:[["collapsed","auto","all"]]},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse_lengthy",defaultMessage:"Lengthy toots"})),Object(m.a)(b,{settings:a,item:["collapsed","auto","reblogs"],id:"mastodon-settings--collapsed-auto-reblogs",onChange:t,dependsOn:[["collapsed","enabled"]],dependsOnNot:[["collapsed","auto","all"]]},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse_reblogs",defaultMessage:"Boosts"})),Object(m.a)(b,{settings:a,item:["collapsed","auto","replies"],id:"mastodon-settings--collapsed-auto-replies",onChange:t,dependsOn:[["collapsed","enabled"]],dependsOnNot:[["collapsed","auto","all"]]},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse_replies",defaultMessage:"Replies"})),Object(m.a)(b,{settings:a,item:["collapsed","auto","media"],id:"mastodon-settings--collapsed-auto-media",onChange:t,dependsOn:[["collapsed","enabled"]],dependsOnNot:[["collapsed","auto","all"]]},void 0,Object(m.a)(r.b,{id:"settings.auto_collapse_media",defaultMessage:"Toots with media"}))),Object(m.a)("section",{},void 0,Object(m.a)("h2",{},void 0,Object(m.a)(r.b,{id:"settings.image_backgrounds",defaultMessage:"Image backgrounds"})),Object(m.a)(b,{settings:a,item:["collapsed","backgrounds","user_backgrounds"],id:"mastodon-settings--collapsed-user-backgrouns",onChange:t,dependsOn:[["collapsed","enabled"]]},void 0,Object(m.a)(r.b,{id:"settings.image_backgrounds_users",defaultMessage:"Give collapsed toots an image background"})),Object(m.a)(b,{settings:a,item:["collapsed","backgrounds","preview_images"],id:"mastodon-settings--collapsed-preview-images",onChange:t,dependsOn:[["collapsed","enabled"]]},void 0,Object(m.a)(r.b,{id:"settings.image_backgrounds_media",defaultMessage:"Preview collapsed toot media"}))))},function(e){var t=e.onChange,a=e.settings;return Object(m.a)("div",{className:"glitch local-settings__page media"},void 0,Object(m.a)("h1",{},void 0,Object(m.a)(r.b,{id:"settings.media",defaultMessage:"Media"})),Object(m.a)(b,{settings:a,item:["media","letterbox"],id:"mastodon-settings--media-letterbox",onChange:t},void 0,Object(m.a)(r.b,{id:"settings.media_letterbox",defaultMessage:"Letterbox media"}),Object(m.a)("span",{className:"hint"},void 0,Object(m.a)(r.b,{id:"settings.media_letterbox_hint",defaultMessage:"Scale down and letterbox media to fill the image containers instead of stretching and cropping them"}))),Object(m.a)(b,{settings:a,item:["media","fullwidth"],id:"mastodon-settings--media-fullwidth",onChange:t},void 0,Object(m.a)(r.b,{id:"settings.media_fullwidth",defaultMessage:"Full-width media previews"})),Object(m.a)(b,{settings:a,item:["inline_preview_cards"],id:"mastodon-settings--inline-preview-cards",onChange:t},void 0,Object(m.a)(r.b,{id:"settings.inline_preview_cards",defaultMessage:"Inline preview cards for external links"})))}]),e}return Object(i.a)(e,n),e.prototype.render=function(){var e=this.pages,t=this.props,a=t.index,s=t.intl,n=t.onChange,i=t.settings,o=e[a]||e[0];return Object(m.a)(o,{intl:s,onChange:n,settings:i})},e}(c.a.PureComponent))||s,_=a(12),f=a.n(_),h=function(s){function e(){for(var n,e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return n=s.call.apply(s,[this].concat(t))||this,Object(l.a)(Object(o.a)(Object(o.a)(n)),"handleClick",function(e){var t=n.props,a=t.index,s=t.onNavigate;s&&(s(a),e.preventDefault())}),n}return Object(i.a)(e,s),e.prototype.render=function(){var e=this.handleClick,t=this.props,a=t.active,s=t.className,n=t.href,i=t.icon,o=t.textIcon,d=t.onNavigate,l=t.title,c=f()("glitch","local-settings__navigation__item",{active:a},s),g=i?Object(m.a)("i",{className:"fa fa-fw fa-"+i}):o?Object(m.a)("span",{className:"text-icon-button"},void 0,o):null;return n?Object(m.a)("a",{href:n,className:c},void 0,g," ",Object(m.a)("span",{},void 0,l)):d?Object(m.a)("a",{onClick:e,role:"button",tabIndex:"0",className:c},void 0,g," ",Object(m.a)("span",{},void 0,l)):null},e}(c.a.PureComponent),v=a(139),O=Object(r.f)({general:{id:"settings.general",defaultMessage:"General"},compose:{id:"settings.compose_box_opts",defaultMessage:"Compose box"},content_warnings:{id:"settings.content_warnings",defaultMessage:"Content Warnings"},collapsed:{id:"settings.collapsed_statuses",defaultMessage:"Collapsed toots"},media:{id:"settings.media",defaultMessage:"Media"},preferences:{id:"settings.preferences",defaultMessage:"Preferences"},close:{id:"settings.close",defaultMessage:"Close"}}),j=Object(r.g)(n=function(e){function t(){return e.apply(this,arguments)||this}return Object(i.a)(t,e),t.prototype.render=function(){var e=this.props,t=e.index,a=e.intl,s=e.onClose,n=e.onNavigate;return Object(m.a)("nav",{className:"glitch local-settings__navigation"},void 0,Object(m.a)(h,{active:0===t,index:0,onNavigate:n,icon:"cogs",title:a.formatMessage(O.general)}),Object(m.a)(h,{active:1===t,index:1,onNavigate:n,icon:"pencil",title:a.formatMessage(O.compose)}),Object(m.a)(h,{active:2===t,index:2,onNavigate:n,textIcon:"CW",title:a.formatMessage(O.content_warnings)}),Object(m.a)(h,{active:3===t,index:3,onNavigate:n,icon:"angle-double-up",title:a.formatMessage(O.collapsed)}),Object(m.a)(h,{active:4===t,index:4,onNavigate:n,icon:"image",title:a.formatMessage(O.media)}),Object(m.a)(h,{active:5===t,href:v.b,index:5,icon:"sliders",title:a.formatMessage(O.preferences)}),Object(m.a)(h,{active:6===t,className:"close",index:6,onNavigate:s,icon:"times",title:a.formatMessage(O.close)}))},t}(c.a.PureComponent))||n,M=a(45),y=a(292),w=function(n){function e(){for(var t,e=arguments.length,a=new Array(e),s=0;s<e;s++)a[s]=arguments[s];return t=n.call.apply(n,[this].concat(a))||this,Object(l.a)(Object(o.a)(Object(o.a)(t)),"state",{currentIndex:0}),Object(l.a)(Object(o.a)(Object(o.a)(t)),"navigateTo",function(e){return t.setState({currentIndex:+e})}),t}return Object(i.a)(e,n),e.prototype.render=function(){var e=this.navigateTo,t=this.props,a=t.onChange,s=t.onClose,n=t.settings,i=this.state.currentIndex;return Object(m.a)("div",{className:"glitch modal-root__modal local-settings"},void 0,Object(m.a)(j,{index:i,onClose:s,onNavigate:e}),Object(m.a)(u,{index:i,onChange:a,settings:n}))},e}(c.a.PureComponent);t.default=Object(g.connect)(function(e){return{settings:e.get("local_settings")}},function(a){return{onChange:function(e,t){a(Object(y.b)(e,t))},onClose:function(){a(Object(M.c)())}}})(w)}}]); //# sourceMappingURL=settings_modal.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/settings_modal.js.map b/priv/static/packs/flavours/glitch/async/settings_modal.js.map index 8731f270b..a4e6d1479 100644 --- a/priv/static/packs/flavours/glitch/async/settings_modal.js.map +++ b/priv/static/packs/flavours/glitch/async/settings_modal.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/local_settings/page/item/index.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/local_settings/page/index.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/local_settings/navigation/item/index.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/local_settings/navigation/index.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/local_settings/index.js"],"names":["LocalSettingsPageItem","e","target","_this$props","_this","props","item","onChange","options","placeholder","length","value","checked","render","handleChange","this","_this$props2","settings","id","children","dependsOn","dependsOnNot","enabled","i","getIn","currentValue","optionElems","map","opt","optionId","Object","jsx","htmlFor","type","name","onBlur","disabled","message","hint","class","className","React","PureComponent","messages","defineMessages","layout_auto","defaultMessage","layout_desktop","layout_mobile","side_arm_none","side_arm_keep","side_arm_copy","side_arm_restrict","regexp","LocalSettingsPage","injectIntl","_ref","intl","index_es","item_LocalSettingsPageItem","formatMessage","_ref2","_ref3","_ref4","_ref5","pages","index","CurrentPage","onNavigate","preventDefault","handleClick","active","href","icon","textIcon","title","finalClassName","classNames","iconElem","onClick","role","tabIndex","general","compose","content_warnings","collapsed","media","preferences","close","LocalSettingsNavigation","onClose","item_LocalSettingsPage","preferencesLink","LocalSettings","currentIndex","setState","navigateTo","state","navigation_LocalSettingsNavigation","page_LocalSettingsPage","connect","get","dispatch","setting","changeLocalSetting","closeModal"],"mappings":"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","file":"flavours/glitch/async/settings_modal.js","sourcesContent":["// Package imports\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\n\n// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\nexport default class LocalSettingsPageItem extends React.PureComponent {\n\n static propTypes = {\n children: PropTypes.element.isRequired,\n dependsOn: PropTypes.array,\n dependsOnNot: PropTypes.array,\n id: PropTypes.string.isRequired,\n item: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n options: PropTypes.arrayOf(PropTypes.shape({\n value: PropTypes.string.isRequired,\n message: PropTypes.string.isRequired,\n hint: PropTypes.string,\n })),\n settings: ImmutablePropTypes.map.isRequired,\n placeholder: PropTypes.string,\n };\n\n handleChange = e => {\n const { target } = e;\n const { item, onChange, options, placeholder } = this.props;\n if (options && options.length > 0) onChange(item, target.value);\n else if (placeholder) onChange(item, target.value);\n else onChange(item, target.checked);\n }\n\n render () {\n const { handleChange } = this;\n const { settings, item, id, options, children, dependsOn, dependsOnNot, placeholder } = this.props;\n let enabled = true;\n\n if (dependsOn) {\n for (let i = 0; i < dependsOn.length; i++) {\n enabled = enabled && settings.getIn(dependsOn[i]);\n }\n }\n if (dependsOnNot) {\n for (let i = 0; i < dependsOnNot.length; i++) {\n enabled = enabled && !settings.getIn(dependsOnNot[i]);\n }\n }\n\n if (options && options.length > 0) {\n const currentValue = settings.getIn(item);\n const optionElems = options && options.length > 0 && options.map((opt) => {\n let optionId = `${id}--${opt.value}`;\n return (\n <label htmlFor={optionId}>\n <input type='radio'\n name={id}\n id={optionId}\n value={opt.value}\n onBlur={handleChange}\n onChange={handleChange}\n checked={ currentValue === opt.value }\n disabled={!enabled}\n />\n {opt.message}\n {opt.hint && <span class='hint'>{opt.hint}</span>}\n </label>\n );\n });\n return (\n <div class='glitch local-settings__page__item radio_buttons'>\n <fieldset>\n <legend>{children}</legend>\n {optionElems}\n </fieldset>\n </div>\n );\n } else if (placeholder) {\n return (\n <div className='glitch local-settings__page__item string'>\n <label htmlFor={id}>\n <p>{children}</p>\n <p>\n <input\n id={id}\n type='text'\n value={settings.getIn(item)}\n placeholder={placeholder}\n onChange={handleChange}\n disabled={!enabled}\n />\n </p>\n </label>\n </div>\n );\n } else return (\n <div className='glitch local-settings__page__item boolean'>\n <label htmlFor={id}>\n <input\n id={id}\n type='checkbox'\n checked={settings.getIn(item)}\n onChange={handleChange}\n disabled={!enabled}\n />\n {children}\n </label>\n </div>\n );\n }\n\n}\n","// Package imports\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages, FormattedMessage, injectIntl } from 'react-intl';\n\n// Our imports\nimport LocalSettingsPageItem from './item';\n\n// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\nconst messages = defineMessages({\n layout_auto: { id: 'layout.auto', defaultMessage: 'Auto' },\n layout_desktop: { id: 'layout.desktop', defaultMessage: 'Desktop' },\n layout_mobile: { id: 'layout.single', defaultMessage: 'Mobile' },\n side_arm_none: { id: 'settings.side_arm.none', defaultMessage: 'None' },\n side_arm_keep: { id: 'settings.side_arm_reply_mode.keep', defaultMessage: 'Keep secondary toot button to set privacy' },\n side_arm_copy: { id: 'settings.side_arm_reply_mode.copy', defaultMessage: 'Copy privacy setting of the toot being replied to' },\n side_arm_restrict: { id: 'settings.side_arm_reply_mode.restrict', defaultMessage: 'Restrict privacy setting to that of the toot being replied to' },\n regexp: { id: 'settings.content_warnings.regexp', defaultMessage: 'Regular expression' },\n});\n\n@injectIntl\nexport default class LocalSettingsPage extends React.PureComponent {\n\n static propTypes = {\n index : PropTypes.number,\n intl : PropTypes.object.isRequired,\n onChange : PropTypes.func.isRequired,\n settings : ImmutablePropTypes.map.isRequired,\n };\n\n pages = [\n ({ intl, onChange, settings }) => (\n <div className='glitch local-settings__page general'>\n <h1><FormattedMessage id='settings.general' defaultMessage='General' /></h1>\n <LocalSettingsPageItem\n settings={settings}\n item={['show_reply_count']}\n id='mastodon-settings--reply-count'\n onChange={onChange}\n >\n <FormattedMessage id='settings.show_reply_counter' defaultMessage='Display an estimate of the reply count' />\n </LocalSettingsPageItem>\n <section>\n <h2><FormattedMessage id='settings.notifications_opts' defaultMessage='Notifications options' /></h2>\n <LocalSettingsPageItem\n settings={settings}\n item={['notifications', 'tab_badge']}\n id='mastodon-settings--notifications-tab_badge'\n onChange={onChange}\n >\n <FormattedMessage id='settings.notifications.tab_badge' defaultMessage=\"Unread notifications badge\" />\n <span className='hint'><FormattedMessage id='settings.notifications.tab_badge.hint' defaultMessage=\"Display a badge for unread notifications in the column icons when the notifications column isn't open\" /></span>\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['notifications', 'favicon_badge']}\n id='mastodon-settings--notifications-favicon_badge'\n onChange={onChange}\n >\n <FormattedMessage id='settings.notifications.favicon_badge' defaultMessage='Unread notifications favicon badge' />\n <span className='hint'><FormattedMessage id='settings.notifications.favicon_badge.hint' defaultMessage=\"Add a badge for unread notifications to the favicon\" /></span>\n </LocalSettingsPageItem>\n </section>\n <section>\n <h2><FormattedMessage id='settings.layout_opts' defaultMessage='Layout options' /></h2>\n <LocalSettingsPageItem\n settings={settings}\n item={['layout']}\n id='mastodon-settings--layout'\n options={[\n { value: 'auto', message: intl.formatMessage(messages.layout_auto) },\n { value: 'multiple', message: intl.formatMessage(messages.layout_desktop) },\n { value: 'single', message: intl.formatMessage(messages.layout_mobile) },\n ]}\n onChange={onChange}\n >\n <FormattedMessage id='settings.layout' defaultMessage='Layout:' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['stretch']}\n id='mastodon-settings--stretch'\n onChange={onChange}\n >\n <FormattedMessage id='settings.wide_view' defaultMessage='Wide view (Desktop mode only)' />\n <span className='hint'><FormattedMessage id='settings.wide_view_hint' defaultMessage='Stretches columns to better fill the available space.' /></span>\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['navbar_under']}\n id='mastodon-settings--navbar_under'\n onChange={onChange}\n >\n <FormattedMessage id='settings.navbar_under' defaultMessage='Navbar at the bottom (Mobile only)' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['swipe_to_change_columns']}\n id='mastodon-settings--swipe_to_change_columns'\n onChange={onChange}\n >\n <FormattedMessage id='settings.swipe_to_change_columns' defaultMessage='Allow swiping to change columns (Mobile only)' />\n </LocalSettingsPageItem>\n </section>\n </div>\n ),\n ({ intl, onChange, settings }) => (\n <div className='glitch local-settings__page compose_box_opts'>\n <h1><FormattedMessage id='settings.compose_box_opts' defaultMessage='Compose box options' /></h1>\n <LocalSettingsPageItem\n settings={settings}\n item={['always_show_spoilers_field']}\n id='mastodon-settings--always_show_spoilers_field'\n onChange={onChange}\n >\n <FormattedMessage id='settings.always_show_spoilers_field' defaultMessage='Always enable the Content Warning field' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['preselect_on_reply']}\n id='mastodon-settings--preselect_on_reply'\n onChange={onChange}\n >\n <FormattedMessage id='settings.preselect_on_reply' defaultMessage='Pre-select usernames on reply' />\n <span className='hint'><FormattedMessage id='settings.preselect_on_reply_hint' defaultMessage='When replying to a conversation with multiple participants, pre-select usernames past the first' /></span>\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['confirm_missing_media_description']}\n id='mastodon-settings--confirm_missing_media_description'\n onChange={onChange}\n >\n <FormattedMessage id='settings.confirm_missing_media_description' defaultMessage='Show confirmation dialog before sending toots lacking media descriptions' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['confirm_before_clearing_draft']}\n id='mastodon-settings--confirm_before_clearing_draft'\n onChange={onChange}\n >\n <FormattedMessage id='settings.confirm_before_clearing_draft' defaultMessage='Show confirmation dialog before overwriting the message being composed' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['side_arm']}\n id='mastodon-settings--side_arm'\n options={[\n { value: 'none', message: intl.formatMessage(messages.side_arm_none) },\n { value: 'direct', message: intl.formatMessage({ id: 'privacy.direct.short' }) },\n { value: 'private', message: intl.formatMessage({ id: 'privacy.private.short' }) },\n { value: 'unlisted', message: intl.formatMessage({ id: 'privacy.unlisted.short' }) },\n { value: 'public', message: intl.formatMessage({ id: 'privacy.public.short' }) },\n ]}\n onChange={onChange}\n >\n <FormattedMessage id='settings.side_arm' defaultMessage='Secondary toot button:' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['side_arm_reply_mode']}\n id='mastodon-settings--side_arm_reply_mode'\n options={[\n { value: 'keep', message: intl.formatMessage(messages.side_arm_keep) },\n { value: 'copy', message: intl.formatMessage(messages.side_arm_copy) },\n { value: 'restrict', message: intl.formatMessage(messages.side_arm_restrict) },\n ]}\n onChange={onChange}\n >\n <FormattedMessage id='settings.side_arm_reply_mode' defaultMessage='When replying to a toot:' />\n </LocalSettingsPageItem>\n </div>\n ),\n ({ intl, onChange, settings }) => (\n <div className='glitch local-settings__page content_warnings'>\n <h1><FormattedMessage id='settings.content_warnings' defaultMessage='Content warnings' /></h1>\n <LocalSettingsPageItem\n settings={settings}\n item={['content_warnings', 'auto_unfold']}\n id='mastodon-settings--content_warnings-auto_unfold'\n onChange={onChange}\n >\n <FormattedMessage id='settings.enable_content_warnings_auto_unfold' defaultMessage='Automatically unfold content-warnings' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['content_warnings', 'filter']}\n id='mastodon-settings--content_warnings-auto_unfold'\n onChange={onChange}\n dependsOn={[['content_warnings', 'auto_unfold']]}\n placeholder={intl.formatMessage(messages.regexp)}\n >\n <FormattedMessage id='settings.content_warnings_filter' defaultMessage='Content warnings to not automatically unfold:' />\n </LocalSettingsPageItem>\n </div>\n ),\n ({ onChange, settings }) => (\n <div className='glitch local-settings__page collapsed'>\n <h1><FormattedMessage id='settings.collapsed_statuses' defaultMessage='Collapsed toots' /></h1>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'enabled']}\n id='mastodon-settings--collapsed-enabled'\n onChange={onChange}\n >\n <FormattedMessage id='settings.enable_collapsed' defaultMessage='Enable collapsed toots' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'show_action_bar']}\n id='mastodon-settings--collapsed-show-action-bar'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n >\n <FormattedMessage id='settings.show_action_bar' defaultMessage='Show action buttons in collapsed toots' />\n </LocalSettingsPageItem>\n <section>\n <h2><FormattedMessage id='settings.auto_collapse' defaultMessage='Automatic collapsing' /></h2>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'auto', 'all']}\n id='mastodon-settings--collapsed-auto-all'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n >\n <FormattedMessage id='settings.auto_collapse_all' defaultMessage='Everything' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'auto', 'notifications']}\n id='mastodon-settings--collapsed-auto-notifications'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n dependsOnNot={[['collapsed', 'auto', 'all']]}\n >\n <FormattedMessage id='settings.auto_collapse_notifications' defaultMessage='Notifications' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'auto', 'lengthy']}\n id='mastodon-settings--collapsed-auto-lengthy'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n dependsOnNot={[['collapsed', 'auto', 'all']]}\n >\n <FormattedMessage id='settings.auto_collapse_lengthy' defaultMessage='Lengthy toots' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'auto', 'reblogs']}\n id='mastodon-settings--collapsed-auto-reblogs'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n dependsOnNot={[['collapsed', 'auto', 'all']]}\n >\n <FormattedMessage id='settings.auto_collapse_reblogs' defaultMessage='Boosts' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'auto', 'replies']}\n id='mastodon-settings--collapsed-auto-replies'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n dependsOnNot={[['collapsed', 'auto', 'all']]}\n >\n <FormattedMessage id='settings.auto_collapse_replies' defaultMessage='Replies' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'auto', 'media']}\n id='mastodon-settings--collapsed-auto-media'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n dependsOnNot={[['collapsed', 'auto', 'all']]}\n >\n <FormattedMessage id='settings.auto_collapse_media' defaultMessage='Toots with media' />\n </LocalSettingsPageItem>\n </section>\n <section>\n <h2><FormattedMessage id='settings.image_backgrounds' defaultMessage='Image backgrounds' /></h2>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'backgrounds', 'user_backgrounds']}\n id='mastodon-settings--collapsed-user-backgrouns'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n >\n <FormattedMessage id='settings.image_backgrounds_users' defaultMessage='Give collapsed toots an image background' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'backgrounds', 'preview_images']}\n id='mastodon-settings--collapsed-preview-images'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n >\n <FormattedMessage id='settings.image_backgrounds_media' defaultMessage='Preview collapsed toot media' />\n </LocalSettingsPageItem>\n </section>\n </div>\n ),\n ({ onChange, settings }) => (\n <div className='glitch local-settings__page media'>\n <h1><FormattedMessage id='settings.media' defaultMessage='Media' /></h1>\n <LocalSettingsPageItem\n settings={settings}\n item={['media', 'letterbox']}\n id='mastodon-settings--media-letterbox'\n onChange={onChange}\n >\n <FormattedMessage id='settings.media_letterbox' defaultMessage='Letterbox media' />\n <span className='hint'><FormattedMessage id='settings.media_letterbox_hint' defaultMessage='Scale down and letterbox media to fill the image containers instead of stretching and cropping them' /></span>\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['media', 'fullwidth']}\n id='mastodon-settings--media-fullwidth'\n onChange={onChange}\n >\n <FormattedMessage id='settings.media_fullwidth' defaultMessage='Full-width media previews' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['inline_preview_cards']}\n id='mastodon-settings--inline-preview-cards'\n onChange={onChange}\n >\n <FormattedMessage id='settings.inline_preview_cards' defaultMessage='Inline preview cards for external links' />\n </LocalSettingsPageItem>\n </div>\n ),\n ];\n\n render () {\n const { pages } = this;\n const { index, intl, onChange, settings } = this.props;\n const CurrentPage = pages[index] || pages[0];\n\n return <CurrentPage intl={intl} onChange={onChange} settings={settings} />;\n }\n\n}\n","// Package imports\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\nexport default class LocalSettingsPage extends React.PureComponent {\n\n static propTypes = {\n active: PropTypes.bool,\n className: PropTypes.string,\n href: PropTypes.string,\n icon: PropTypes.string,\n textIcon: PropTypes.string,\n index: PropTypes.number.isRequired,\n onNavigate: PropTypes.func,\n title: PropTypes.string,\n };\n\n handleClick = (e) => {\n const { index, onNavigate } = this.props;\n if (onNavigate) {\n onNavigate(index);\n e.preventDefault();\n }\n }\n\n render () {\n const { handleClick } = this;\n const {\n active,\n className,\n href,\n icon,\n textIcon,\n onNavigate,\n title,\n } = this.props;\n\n const finalClassName = classNames('glitch', 'local-settings__navigation__item', {\n active,\n }, className);\n\n const iconElem = icon ? <i className={`fa fa-fw fa-${icon}`} /> : (textIcon ? <span className='text-icon-button'>{textIcon}</span> : null);\n\n if (href) return (\n <a\n href={href}\n className={finalClassName}\n >\n {iconElem} <span>{title}</span>\n </a>\n );\n else if (onNavigate) return (\n <a\n onClick={handleClick}\n role='button'\n tabIndex='0'\n className={finalClassName}\n >\n {iconElem} <span>{title}</span>\n </a>\n );\n else return null;\n }\n\n}\n","// Package imports\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, defineMessages } from 'react-intl';\n\n// Our imports\nimport LocalSettingsNavigationItem from './item';\nimport { preferencesLink } from 'flavours/glitch/util/backend_links';\n\n// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\nconst messages = defineMessages({\n general: { id: 'settings.general', defaultMessage: 'General' },\n compose: { id: 'settings.compose_box_opts', defaultMessage: 'Compose box options' },\n content_warnings: { id: 'settings.content_warnings', defaultMessage: 'Content Warnings' },\n collapsed: { id: 'settings.collapsed_statuses', defaultMessage: 'Collapsed toots' },\n media: { id: 'settings.media', defaultMessage: 'Media' },\n preferences: { id: 'settings.preferences', defaultMessage: 'Preferences' },\n close: { id: 'settings.close', defaultMessage: 'Close' },\n});\n\n@injectIntl\nexport default class LocalSettingsNavigation extends React.PureComponent {\n\n static propTypes = {\n index : PropTypes.number,\n intl : PropTypes.object.isRequired,\n onClose : PropTypes.func.isRequired,\n onNavigate : PropTypes.func.isRequired,\n };\n\n render () {\n\n const { index, intl, onClose, onNavigate } = this.props;\n\n return (\n <nav className='glitch local-settings__navigation'>\n <LocalSettingsNavigationItem\n active={index === 0}\n index={0}\n onNavigate={onNavigate}\n icon='cogs'\n title={intl.formatMessage(messages.general)}\n />\n <LocalSettingsNavigationItem\n active={index === 1}\n index={1}\n onNavigate={onNavigate}\n icon='pencil'\n title={intl.formatMessage(messages.compose)}\n />\n <LocalSettingsNavigationItem\n active={index === 2}\n index={2}\n onNavigate={onNavigate}\n textIcon='CW'\n title={intl.formatMessage(messages.content_warnings)}\n />\n <LocalSettingsNavigationItem\n active={index === 3}\n index={3}\n onNavigate={onNavigate}\n icon='angle-double-up'\n title={intl.formatMessage(messages.collapsed)}\n />\n <LocalSettingsNavigationItem\n active={index === 4}\n index={4}\n onNavigate={onNavigate}\n icon='image'\n title={intl.formatMessage(messages.media)}\n />\n <LocalSettingsNavigationItem\n active={index === 5}\n href={ preferencesLink }\n index={5}\n icon='sliders'\n title={intl.formatMessage(messages.preferences)}\n />\n <LocalSettingsNavigationItem\n active={index === 6}\n className='close'\n index={6}\n onNavigate={onClose}\n icon='times'\n title={intl.formatMessage(messages.close)}\n />\n </nav>\n );\n }\n\n}\n","// Package imports.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\n\n// Our imports\nimport LocalSettingsPage from './page';\nimport LocalSettingsNavigation from './navigation';\nimport { closeModal } from 'flavours/glitch/actions/modal';\nimport { changeLocalSetting } from 'flavours/glitch/actions/local_settings';\n\nconst mapStateToProps = state => ({\n settings: state.get('local_settings'),\n});\n\nconst mapDispatchToProps = dispatch => ({\n onChange (setting, value) {\n dispatch(changeLocalSetting(setting, value));\n },\n onClose () {\n dispatch(closeModal());\n },\n});\n\nclass LocalSettings extends React.PureComponent {\n\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n settings: ImmutablePropTypes.map.isRequired,\n };\n\n state = {\n currentIndex: 0,\n };\n\n navigateTo = (index) =>\n this.setState({ currentIndex: +index });\n\n render () {\n\n const { navigateTo } = this;\n const { onChange, onClose, settings } = this.props;\n const { currentIndex } = this.state;\n\n return (\n <div className='glitch modal-root__modal local-settings'>\n <LocalSettingsNavigation\n index={currentIndex}\n onClose={onClose}\n onNavigate={navigateTo}\n />\n <LocalSettingsPage\n index={currentIndex}\n onChange={onChange}\n settings={settings}\n />\n </div>\n );\n }\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(LocalSettings);\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/local_settings/page/item/index.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/local_settings/page/index.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/local_settings/navigation/item/index.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/local_settings/navigation/index.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/local_settings/index.js"],"names":["LocalSettingsPageItem","e","target","_this$props","_this","props","item","onChange","options","placeholder","length","value","checked","render","handleChange","this","_this$props2","settings","id","children","dependsOn","dependsOnNot","enabled","i","getIn","currentValue","optionElems","map","opt","optionId","Object","jsx","htmlFor","type","name","onBlur","disabled","message","hint","class","className","React","PureComponent","messages","defineMessages","layout_auto","defaultMessage","layout_desktop","layout_mobile","side_arm_none","side_arm_keep","side_arm_copy","side_arm_restrict","regexp","LocalSettingsPage","injectIntl","_ref","intl","index_es","item_LocalSettingsPageItem","formatMessage","_ref2","_ref3","_ref4","_ref5","pages","index","CurrentPage","onNavigate","preventDefault","handleClick","active","href","icon","textIcon","title","finalClassName","classNames","iconElem","onClick","role","tabIndex","general","compose","content_warnings","collapsed","media","preferences","close","LocalSettingsNavigation","onClose","item_LocalSettingsPage","preferencesLink","LocalSettings","currentIndex","setState","navigateTo","state","navigation_LocalSettingsNavigation","page_LocalSettingsPage","connect","get","dispatch","setting","changeLocalSetting","closeModal"],"mappings":"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","file":"flavours/glitch/async/settings_modal.js","sourcesContent":["// Package imports\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\n\n// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\nexport default class LocalSettingsPageItem extends React.PureComponent {\n\n static propTypes = {\n children: PropTypes.element.isRequired,\n dependsOn: PropTypes.array,\n dependsOnNot: PropTypes.array,\n id: PropTypes.string.isRequired,\n item: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n options: PropTypes.arrayOf(PropTypes.shape({\n value: PropTypes.string.isRequired,\n message: PropTypes.string.isRequired,\n hint: PropTypes.string,\n })),\n settings: ImmutablePropTypes.map.isRequired,\n placeholder: PropTypes.string,\n };\n\n handleChange = e => {\n const { target } = e;\n const { item, onChange, options, placeholder } = this.props;\n if (options && options.length > 0) onChange(item, target.value);\n else if (placeholder) onChange(item, target.value);\n else onChange(item, target.checked);\n }\n\n render () {\n const { handleChange } = this;\n const { settings, item, id, options, children, dependsOn, dependsOnNot, placeholder } = this.props;\n let enabled = true;\n\n if (dependsOn) {\n for (let i = 0; i < dependsOn.length; i++) {\n enabled = enabled && settings.getIn(dependsOn[i]);\n }\n }\n if (dependsOnNot) {\n for (let i = 0; i < dependsOnNot.length; i++) {\n enabled = enabled && !settings.getIn(dependsOnNot[i]);\n }\n }\n\n if (options && options.length > 0) {\n const currentValue = settings.getIn(item);\n const optionElems = options && options.length > 0 && options.map((opt) => {\n let optionId = `${id}--${opt.value}`;\n return (\n <label htmlFor={optionId}>\n <input type='radio'\n name={id}\n id={optionId}\n value={opt.value}\n onBlur={handleChange}\n onChange={handleChange}\n checked={ currentValue === opt.value }\n disabled={!enabled}\n />\n {opt.message}\n {opt.hint && <span class='hint'>{opt.hint}</span>}\n </label>\n );\n });\n return (\n <div class='glitch local-settings__page__item radio_buttons'>\n <fieldset>\n <legend>{children}</legend>\n {optionElems}\n </fieldset>\n </div>\n );\n } else if (placeholder) {\n return (\n <div className='glitch local-settings__page__item string'>\n <label htmlFor={id}>\n <p>{children}</p>\n <p>\n <input\n id={id}\n type='text'\n value={settings.getIn(item)}\n placeholder={placeholder}\n onChange={handleChange}\n disabled={!enabled}\n />\n </p>\n </label>\n </div>\n );\n } else return (\n <div className='glitch local-settings__page__item boolean'>\n <label htmlFor={id}>\n <input\n id={id}\n type='checkbox'\n checked={settings.getIn(item)}\n onChange={handleChange}\n disabled={!enabled}\n />\n {children}\n </label>\n </div>\n );\n }\n\n}\n","// Package imports\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages, FormattedMessage, injectIntl } from 'react-intl';\n\n// Our imports\nimport LocalSettingsPageItem from './item';\n\n// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\nconst messages = defineMessages({\n layout_auto: { id: 'layout.auto', defaultMessage: 'Auto' },\n layout_desktop: { id: 'layout.desktop', defaultMessage: 'Desktop' },\n layout_mobile: { id: 'layout.single', defaultMessage: 'Mobile' },\n side_arm_none: { id: 'settings.side_arm.none', defaultMessage: 'None' },\n side_arm_keep: { id: 'settings.side_arm_reply_mode.keep', defaultMessage: 'Keep secondary toot button to set privacy' },\n side_arm_copy: { id: 'settings.side_arm_reply_mode.copy', defaultMessage: 'Copy privacy setting of the toot being replied to' },\n side_arm_restrict: { id: 'settings.side_arm_reply_mode.restrict', defaultMessage: 'Restrict privacy setting to that of the toot being replied to' },\n regexp: { id: 'settings.content_warnings.regexp', defaultMessage: 'Regular expression' },\n});\n\n@injectIntl\nexport default class LocalSettingsPage extends React.PureComponent {\n\n static propTypes = {\n index : PropTypes.number,\n intl : PropTypes.object.isRequired,\n onChange : PropTypes.func.isRequired,\n settings : ImmutablePropTypes.map.isRequired,\n };\n\n pages = [\n ({ intl, onChange, settings }) => (\n <div className='glitch local-settings__page general'>\n <h1><FormattedMessage id='settings.general' defaultMessage='General' /></h1>\n <LocalSettingsPageItem\n settings={settings}\n item={['show_reply_count']}\n id='mastodon-settings--reply-count'\n onChange={onChange}\n >\n <FormattedMessage id='settings.show_reply_counter' defaultMessage='Display an estimate of the reply count' />\n </LocalSettingsPageItem>\n <section>\n <h2><FormattedMessage id='settings.notifications_opts' defaultMessage='Notifications options' /></h2>\n <LocalSettingsPageItem\n settings={settings}\n item={['notifications', 'tab_badge']}\n id='mastodon-settings--notifications-tab_badge'\n onChange={onChange}\n >\n <FormattedMessage id='settings.notifications.tab_badge' defaultMessage=\"Unread notifications badge\" />\n <span className='hint'><FormattedMessage id='settings.notifications.tab_badge.hint' defaultMessage=\"Display a badge for unread notifications in the column icons when the notifications column isn't open\" /></span>\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['notifications', 'favicon_badge']}\n id='mastodon-settings--notifications-favicon_badge'\n onChange={onChange}\n >\n <FormattedMessage id='settings.notifications.favicon_badge' defaultMessage='Unread notifications favicon badge' />\n <span className='hint'><FormattedMessage id='settings.notifications.favicon_badge.hint' defaultMessage=\"Add a badge for unread notifications to the favicon\" /></span>\n </LocalSettingsPageItem>\n </section>\n <section>\n <h2><FormattedMessage id='settings.layout_opts' defaultMessage='Layout options' /></h2>\n <LocalSettingsPageItem\n settings={settings}\n item={['layout']}\n id='mastodon-settings--layout'\n options={[\n { value: 'auto', message: intl.formatMessage(messages.layout_auto) },\n { value: 'multiple', message: intl.formatMessage(messages.layout_desktop) },\n { value: 'single', message: intl.formatMessage(messages.layout_mobile) },\n ]}\n onChange={onChange}\n >\n <FormattedMessage id='settings.layout' defaultMessage='Layout:' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['stretch']}\n id='mastodon-settings--stretch'\n onChange={onChange}\n >\n <FormattedMessage id='settings.wide_view' defaultMessage='Wide view (Desktop mode only)' />\n <span className='hint'><FormattedMessage id='settings.wide_view_hint' defaultMessage='Stretches columns to better fill the available space.' /></span>\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['navbar_under']}\n id='mastodon-settings--navbar_under'\n onChange={onChange}\n >\n <FormattedMessage id='settings.navbar_under' defaultMessage='Navbar at the bottom (Mobile only)' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['swipe_to_change_columns']}\n id='mastodon-settings--swipe_to_change_columns'\n onChange={onChange}\n >\n <FormattedMessage id='settings.swipe_to_change_columns' defaultMessage='Allow swiping to change columns (Mobile only)' />\n </LocalSettingsPageItem>\n </section>\n </div>\n ),\n ({ intl, onChange, settings }) => (\n <div className='glitch local-settings__page compose_box_opts'>\n <h1><FormattedMessage id='settings.compose_box_opts' defaultMessage='Compose box' /></h1>\n <LocalSettingsPageItem\n settings={settings}\n item={['always_show_spoilers_field']}\n id='mastodon-settings--always_show_spoilers_field'\n onChange={onChange}\n >\n <FormattedMessage id='settings.always_show_spoilers_field' defaultMessage='Always enable the Content Warning field' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['preselect_on_reply']}\n id='mastodon-settings--preselect_on_reply'\n onChange={onChange}\n >\n <FormattedMessage id='settings.preselect_on_reply' defaultMessage='Pre-select usernames on reply' />\n <span className='hint'><FormattedMessage id='settings.preselect_on_reply_hint' defaultMessage='When replying to a conversation with multiple participants, pre-select usernames past the first' /></span>\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['confirm_missing_media_description']}\n id='mastodon-settings--confirm_missing_media_description'\n onChange={onChange}\n >\n <FormattedMessage id='settings.confirm_missing_media_description' defaultMessage='Show confirmation dialog before sending toots lacking media descriptions' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['confirm_before_clearing_draft']}\n id='mastodon-settings--confirm_before_clearing_draft'\n onChange={onChange}\n >\n <FormattedMessage id='settings.confirm_before_clearing_draft' defaultMessage='Show confirmation dialog before overwriting the message being composed' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['side_arm']}\n id='mastodon-settings--side_arm'\n options={[\n { value: 'none', message: intl.formatMessage(messages.side_arm_none) },\n { value: 'direct', message: intl.formatMessage({ id: 'privacy.direct.short' }) },\n { value: 'private', message: intl.formatMessage({ id: 'privacy.private.short' }) },\n { value: 'unlisted', message: intl.formatMessage({ id: 'privacy.unlisted.short' }) },\n { value: 'public', message: intl.formatMessage({ id: 'privacy.public.short' }) },\n ]}\n onChange={onChange}\n >\n <FormattedMessage id='settings.side_arm' defaultMessage='Secondary toot button:' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['side_arm_reply_mode']}\n id='mastodon-settings--side_arm_reply_mode'\n options={[\n { value: 'keep', message: intl.formatMessage(messages.side_arm_keep) },\n { value: 'copy', message: intl.formatMessage(messages.side_arm_copy) },\n { value: 'restrict', message: intl.formatMessage(messages.side_arm_restrict) },\n ]}\n onChange={onChange}\n >\n <FormattedMessage id='settings.side_arm_reply_mode' defaultMessage='When replying to a toot:' />\n </LocalSettingsPageItem>\n </div>\n ),\n ({ intl, onChange, settings }) => (\n <div className='glitch local-settings__page content_warnings'>\n <h1><FormattedMessage id='settings.content_warnings' defaultMessage='Content warnings' /></h1>\n <LocalSettingsPageItem\n settings={settings}\n item={['content_warnings', 'auto_unfold']}\n id='mastodon-settings--content_warnings-auto_unfold'\n onChange={onChange}\n >\n <FormattedMessage id='settings.enable_content_warnings_auto_unfold' defaultMessage='Automatically unfold content-warnings' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['content_warnings', 'filter']}\n id='mastodon-settings--content_warnings-auto_unfold'\n onChange={onChange}\n dependsOn={[['content_warnings', 'auto_unfold']]}\n placeholder={intl.formatMessage(messages.regexp)}\n >\n <FormattedMessage id='settings.content_warnings_filter' defaultMessage='Content warnings to not automatically unfold:' />\n </LocalSettingsPageItem>\n </div>\n ),\n ({ onChange, settings }) => (\n <div className='glitch local-settings__page collapsed'>\n <h1><FormattedMessage id='settings.collapsed_statuses' defaultMessage='Collapsed toots' /></h1>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'enabled']}\n id='mastodon-settings--collapsed-enabled'\n onChange={onChange}\n >\n <FormattedMessage id='settings.enable_collapsed' defaultMessage='Enable collapsed toots' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'show_action_bar']}\n id='mastodon-settings--collapsed-show-action-bar'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n >\n <FormattedMessage id='settings.show_action_bar' defaultMessage='Show action buttons in collapsed toots' />\n </LocalSettingsPageItem>\n <section>\n <h2><FormattedMessage id='settings.auto_collapse' defaultMessage='Automatic collapsing' /></h2>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'auto', 'all']}\n id='mastodon-settings--collapsed-auto-all'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n >\n <FormattedMessage id='settings.auto_collapse_all' defaultMessage='Everything' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'auto', 'notifications']}\n id='mastodon-settings--collapsed-auto-notifications'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n dependsOnNot={[['collapsed', 'auto', 'all']]}\n >\n <FormattedMessage id='settings.auto_collapse_notifications' defaultMessage='Notifications' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'auto', 'lengthy']}\n id='mastodon-settings--collapsed-auto-lengthy'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n dependsOnNot={[['collapsed', 'auto', 'all']]}\n >\n <FormattedMessage id='settings.auto_collapse_lengthy' defaultMessage='Lengthy toots' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'auto', 'reblogs']}\n id='mastodon-settings--collapsed-auto-reblogs'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n dependsOnNot={[['collapsed', 'auto', 'all']]}\n >\n <FormattedMessage id='settings.auto_collapse_reblogs' defaultMessage='Boosts' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'auto', 'replies']}\n id='mastodon-settings--collapsed-auto-replies'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n dependsOnNot={[['collapsed', 'auto', 'all']]}\n >\n <FormattedMessage id='settings.auto_collapse_replies' defaultMessage='Replies' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'auto', 'media']}\n id='mastodon-settings--collapsed-auto-media'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n dependsOnNot={[['collapsed', 'auto', 'all']]}\n >\n <FormattedMessage id='settings.auto_collapse_media' defaultMessage='Toots with media' />\n </LocalSettingsPageItem>\n </section>\n <section>\n <h2><FormattedMessage id='settings.image_backgrounds' defaultMessage='Image backgrounds' /></h2>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'backgrounds', 'user_backgrounds']}\n id='mastodon-settings--collapsed-user-backgrouns'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n >\n <FormattedMessage id='settings.image_backgrounds_users' defaultMessage='Give collapsed toots an image background' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['collapsed', 'backgrounds', 'preview_images']}\n id='mastodon-settings--collapsed-preview-images'\n onChange={onChange}\n dependsOn={[['collapsed', 'enabled']]}\n >\n <FormattedMessage id='settings.image_backgrounds_media' defaultMessage='Preview collapsed toot media' />\n </LocalSettingsPageItem>\n </section>\n </div>\n ),\n ({ onChange, settings }) => (\n <div className='glitch local-settings__page media'>\n <h1><FormattedMessage id='settings.media' defaultMessage='Media' /></h1>\n <LocalSettingsPageItem\n settings={settings}\n item={['media', 'letterbox']}\n id='mastodon-settings--media-letterbox'\n onChange={onChange}\n >\n <FormattedMessage id='settings.media_letterbox' defaultMessage='Letterbox media' />\n <span className='hint'><FormattedMessage id='settings.media_letterbox_hint' defaultMessage='Scale down and letterbox media to fill the image containers instead of stretching and cropping them' /></span>\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['media', 'fullwidth']}\n id='mastodon-settings--media-fullwidth'\n onChange={onChange}\n >\n <FormattedMessage id='settings.media_fullwidth' defaultMessage='Full-width media previews' />\n </LocalSettingsPageItem>\n <LocalSettingsPageItem\n settings={settings}\n item={['inline_preview_cards']}\n id='mastodon-settings--inline-preview-cards'\n onChange={onChange}\n >\n <FormattedMessage id='settings.inline_preview_cards' defaultMessage='Inline preview cards for external links' />\n </LocalSettingsPageItem>\n </div>\n ),\n ];\n\n render () {\n const { pages } = this;\n const { index, intl, onChange, settings } = this.props;\n const CurrentPage = pages[index] || pages[0];\n\n return <CurrentPage intl={intl} onChange={onChange} settings={settings} />;\n }\n\n}\n","// Package imports\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\nexport default class LocalSettingsPage extends React.PureComponent {\n\n static propTypes = {\n active: PropTypes.bool,\n className: PropTypes.string,\n href: PropTypes.string,\n icon: PropTypes.string,\n textIcon: PropTypes.string,\n index: PropTypes.number.isRequired,\n onNavigate: PropTypes.func,\n title: PropTypes.string,\n };\n\n handleClick = (e) => {\n const { index, onNavigate } = this.props;\n if (onNavigate) {\n onNavigate(index);\n e.preventDefault();\n }\n }\n\n render () {\n const { handleClick } = this;\n const {\n active,\n className,\n href,\n icon,\n textIcon,\n onNavigate,\n title,\n } = this.props;\n\n const finalClassName = classNames('glitch', 'local-settings__navigation__item', {\n active,\n }, className);\n\n const iconElem = icon ? <i className={`fa fa-fw fa-${icon}`} /> : (textIcon ? <span className='text-icon-button'>{textIcon}</span> : null);\n\n if (href) return (\n <a\n href={href}\n className={finalClassName}\n >\n {iconElem} <span>{title}</span>\n </a>\n );\n else if (onNavigate) return (\n <a\n onClick={handleClick}\n role='button'\n tabIndex='0'\n className={finalClassName}\n >\n {iconElem} <span>{title}</span>\n </a>\n );\n else return null;\n }\n\n}\n","// Package imports\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, defineMessages } from 'react-intl';\n\n// Our imports\nimport LocalSettingsNavigationItem from './item';\nimport { preferencesLink } from 'flavours/glitch/util/backend_links';\n\n// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\nconst messages = defineMessages({\n general: { id: 'settings.general', defaultMessage: 'General' },\n compose: { id: 'settings.compose_box_opts', defaultMessage: 'Compose box' },\n content_warnings: { id: 'settings.content_warnings', defaultMessage: 'Content Warnings' },\n collapsed: { id: 'settings.collapsed_statuses', defaultMessage: 'Collapsed toots' },\n media: { id: 'settings.media', defaultMessage: 'Media' },\n preferences: { id: 'settings.preferences', defaultMessage: 'Preferences' },\n close: { id: 'settings.close', defaultMessage: 'Close' },\n});\n\n@injectIntl\nexport default class LocalSettingsNavigation extends React.PureComponent {\n\n static propTypes = {\n index : PropTypes.number,\n intl : PropTypes.object.isRequired,\n onClose : PropTypes.func.isRequired,\n onNavigate : PropTypes.func.isRequired,\n };\n\n render () {\n\n const { index, intl, onClose, onNavigate } = this.props;\n\n return (\n <nav className='glitch local-settings__navigation'>\n <LocalSettingsNavigationItem\n active={index === 0}\n index={0}\n onNavigate={onNavigate}\n icon='cogs'\n title={intl.formatMessage(messages.general)}\n />\n <LocalSettingsNavigationItem\n active={index === 1}\n index={1}\n onNavigate={onNavigate}\n icon='pencil'\n title={intl.formatMessage(messages.compose)}\n />\n <LocalSettingsNavigationItem\n active={index === 2}\n index={2}\n onNavigate={onNavigate}\n textIcon='CW'\n title={intl.formatMessage(messages.content_warnings)}\n />\n <LocalSettingsNavigationItem\n active={index === 3}\n index={3}\n onNavigate={onNavigate}\n icon='angle-double-up'\n title={intl.formatMessage(messages.collapsed)}\n />\n <LocalSettingsNavigationItem\n active={index === 4}\n index={4}\n onNavigate={onNavigate}\n icon='image'\n title={intl.formatMessage(messages.media)}\n />\n <LocalSettingsNavigationItem\n active={index === 5}\n href={ preferencesLink }\n index={5}\n icon='sliders'\n title={intl.formatMessage(messages.preferences)}\n />\n <LocalSettingsNavigationItem\n active={index === 6}\n className='close'\n index={6}\n onNavigate={onClose}\n icon='times'\n title={intl.formatMessage(messages.close)}\n />\n </nav>\n );\n }\n\n}\n","// Package imports.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\n\n// Our imports\nimport LocalSettingsPage from './page';\nimport LocalSettingsNavigation from './navigation';\nimport { closeModal } from 'flavours/glitch/actions/modal';\nimport { changeLocalSetting } from 'flavours/glitch/actions/local_settings';\n\nconst mapStateToProps = state => ({\n settings: state.get('local_settings'),\n});\n\nconst mapDispatchToProps = dispatch => ({\n onChange (setting, value) {\n dispatch(changeLocalSetting(setting, value));\n },\n onClose () {\n dispatch(closeModal());\n },\n});\n\nclass LocalSettings extends React.PureComponent {\n\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n settings: ImmutablePropTypes.map.isRequired,\n };\n\n state = {\n currentIndex: 0,\n };\n\n navigateTo = (index) =>\n this.setState({ currentIndex: +index });\n\n render () {\n\n const { navigateTo } = this;\n const { onChange, onClose, settings } = this.props;\n const { currentIndex } = this.state;\n\n return (\n <div className='glitch modal-root__modal local-settings'>\n <LocalSettingsNavigation\n index={currentIndex}\n onClose={onClose}\n onNavigate={navigateTo}\n />\n <LocalSettingsPage\n index={currentIndex}\n onChange={onChange}\n settings={settings}\n />\n </div>\n );\n }\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(LocalSettings);\n"],"sourceRoot":""}
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/status.js b/priv/static/packs/flavours/glitch/async/status.js index dee6db838..063dba813 100644 --- a/priv/static/packs/flavours/glitch/async/status.js +++ b/priv/static/packs/flavours/glitch/async/status.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{654:function(e,t,a){"use strict";a.d(t,"a",function(){return I});var h=a(1),s=a(6),i=a(0),o=a(2),n=a(3),O=a.n(n),c=a(5),r=a.n(c),l=a(26),d=a.n(l),f=a(100),g=a(101),j=a(110),m=a(456),v=a(392),k=a(386),M=a(7),y=a(444),u=a(24),C=a(136),_=a(446),p=a(531),b=a(12),x=a.n(b),I=function(n){function e(){for(var a,e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return a=n.call.apply(n,[this].concat(t))||this,Object(o.a)(Object(i.a)(Object(i.a)(a)),"state",{height:null}),Object(o.a)(Object(i.a)(Object(i.a)(a)),"handleAccountClick",function(e){0===e.button&&!(e.ctrlKey||e.altKey||e.metaKey)&&a.context.router&&(e.preventDefault(),a.context.router.history.push("/accounts/"+a.props.status.getIn(["account","id"]))),e.stopPropagation()}),Object(o.a)(Object(i.a)(Object(i.a)(a)),"parseClick",function(e,t){0===e.button&&!(e.ctrlKey||e.altKey||e.metaKey)&&a.context.router&&(e.preventDefault(),a.context.router.history.push(t)),e.stopPropagation()}),Object(o.a)(Object(i.a)(Object(i.a)(a)),"handleOpenVideo",function(e,t){a.props.onOpenVideo(e,t)}),Object(o.a)(Object(i.a)(Object(i.a)(a)),"setRef",function(e){a.node=e,a._measureHeight()}),Object(o.a)(Object(i.a)(Object(i.a)(a)),"handleModalLink",function(e){var t;e.preventDefault(),t="A"!==e.target.nodeName?e.target.parentNode.href:e.target.href,window.open(t,"mastodon-intent","width=445,height=600,resizable=no,menubar=no,status=no,scrollbars=yes")}),a}Object(s.a)(e,n);var t=e.prototype;return t._measureHeight=function(e){var t=this;this.props.measureHeight&&this.node&&(Object(p.a)(function(){return t.node&&t.setState({height:Math.ceil(t.node.scrollHeight)+1})}),this.props.onHeightChange&&e&&this.props.onHeightChange())},t.componentDidUpdate=function(e,t){this._measureHeight(t.height!==this.state.height)},t.render=function(){var e=this.props.status.get("reblog")?this.props.status.get("reblog"):this.props.status,t=this.props,a=t.expanded,s=t.onToggleHidden,n=t.settings,i={boxSizing:"border-box"},o=this.props.compact;if(!e)return null;var c="",r=null,l="",d="",u="retweet",p="";if(this.props.measureHeight&&(i.height=this.state.height+"px"),0<e.get("media_attachments").size)if(e.get("media_attachments").some(function(e){return"unknown"===e.get("type")}))c=Object(h.a)(v.a,{media:e.get("media_attachments")});else if("video"===e.getIn(["media_attachments",0,"type"])){var b=e.getIn(["media_attachments",0]);c=Object(h.a)(C.default,{preview:b.get("preview_url"),src:b.get("url"),alt:b.get("description"),inline:!0,sensitive:e.get("sensitive"),letterbox:n.getIn(["media","letterbox"]),fullwidth:n.getIn(["media","fullwidth"]),preventPlayback:!a,onOpenVideo:this.handleOpenVideo,autoplay:!0}),r="video-camera"}else c=Object(h.a)(m.default,{standalone:!0,sensitive:e.get("sensitive"),media:e.get("media_attachments"),letterbox:n.getIn(["media","letterbox"]),fullwidth:n.getIn(["media","fullwidth"]),hidden:!a,onOpenMedia:this.props.onOpenMedia}),r="picture-o";else c=Object(h.a)(y.a,{onOpenMedia:this.props.onOpenMedia,card:e.get("card",null)});return e.get("application")&&(l=Object(h.a)("span",{},void 0," · ",Object(h.a)("a",{className:"detailed-status__application",href:e.getIn(["application","website"]),target:"_blank",rel:"noopener"},void 0,e.getIn(["application","name"])))),"direct"===e.get("visibility")?u="envelope":"private"===e.get("visibility")&&(u="lock"),d="private"===e.get("visibility")?Object(h.a)("i",{className:"fa fa-"+u}):this.context.router?Object(h.a)(k.a,{to:"/statuses/"+e.get("id")+"/reblogs",className:"detailed-status__link"},void 0,Object(h.a)("i",{className:"fa fa-"+u}),Object(h.a)("span",{className:"detailed-status__reblogs"},void 0,Object(h.a)(M.c,{value:e.get("reblogs_count")}))):Object(h.a)("a",{href:"/interact/"+e.get("id")+"?type=reblog",className:"detailed-status__link",onClick:this.handleModalLink},void 0,Object(h.a)("i",{className:"fa fa-"+u}),Object(h.a)("span",{className:"detailed-status__reblogs"},void 0,Object(h.a)(M.c,{value:e.get("reblogs_count")}))),p=this.context.router?Object(h.a)(k.a,{to:"/statuses/"+e.get("id")+"/favourites",className:"detailed-status__link"},void 0,Object(h.a)("i",{className:"fa fa-star"}),Object(h.a)("span",{className:"detailed-status__favorites"},void 0,Object(h.a)(M.c,{value:e.get("favourites_count")}))):Object(h.a)("a",{href:"/interact/"+e.get("id")+"?type=favourite",className:"detailed-status__link",onClick:this.handleModalLink},void 0,Object(h.a)("i",{className:"fa fa-star"}),Object(h.a)("span",{className:"detailed-status__favorites"},void 0,Object(h.a)(M.c,{value:e.get("favourites_count")}))),Object(h.a)("div",{style:i},void 0,O.a.createElement("div",{ref:this.setRef,className:x()("detailed-status",{compact:o}),"data-status-by":e.getIn(["account","acct"])},Object(h.a)("a",{href:e.getIn(["account","url"]),onClick:this.handleAccountClick,className:"detailed-status__display-name"},void 0,Object(h.a)("div",{className:"detailed-status__display-avatar"},void 0,Object(h.a)(f.a,{account:e.get("account"),size:48})),Object(h.a)(g.a,{account:e.get("account"),localDomain:this.props.domain})),Object(h.a)(j.a,{status:e,media:c,mediaIcon:r,expanded:a,collapsed:!1,onExpandedToggle:s,parseClick:this.parseClick}),Object(h.a)("div",{className:"detailed-status__meta"},void 0,Object(h.a)("a",{className:"detailed-status__datetime",href:e.get("url"),target:"_blank",rel:"noopener"},void 0,Object(h.a)(M.a,{value:new Date(e.get("created_at")),hour12:!1,year:"numeric",month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit"})),l," · ",d," · ",p," · ",Object(h.a)(_.a,{visibility:e.get("visibility")}))))},e}(u.a);Object(o.a)(I,"contextTypes",{router:r.a.object}),Object(o.a)(I,"propTypes",{status:d.a.map.isRequired,settings:d.a.map.isRequired,onOpenMedia:r.a.func.isRequired,onOpenVideo:r.a.func.isRequired,onToggleHidden:r.a.func.isRequired,expanded:r.a.bool,measureHeight:r.a.bool,onHeightChange:r.a.func,domain:r.a.string.isRequired,compact:r.a.bool})},726:function(e,t,a){"use strict";a.r(t);var s,n,i,o,c,r,l,b=a(1),d=a(6),u=a(0),p=a(2),h=a(4),O=a.n(h),f=a(3),g=a.n(f),j=a(20),m=a(5),v=a.n(m),k=a(12),M=a.n(k),y=a(26),C=a.n(y),_=a(50),x=a(898),I=a(654),w=a(46),R=a(521),D=a(7),N=a(30),E=a(138),H=Object(D.f)({delete:{id:"status.delete",defaultMessage:"Delete"},redraft:{id:"status.redraft",defaultMessage:"Delete & re-draft"},direct:{id:"status.direct",defaultMessage:"Direct message @{name}"},mention:{id:"status.mention",defaultMessage:"Mention @{name}"},reply:{id:"status.reply",defaultMessage:"Reply"},reblog:{id:"status.reblog",defaultMessage:"Boost"},reblog_private:{id:"status.reblog_private",defaultMessage:"Boost to original audience"},cannot_reblog:{id:"status.cannot_reblog",defaultMessage:"This post cannot be boosted"},favourite:{id:"status.favourite",defaultMessage:"Favourite"},bookmark:{id:"status.bookmark",defaultMessage:"Bookmark"},mute:{id:"status.mute",defaultMessage:"Mute @{name}"},muteConversation:{id:"status.mute_conversation",defaultMessage:"Mute conversation"},unmuteConversation:{id:"status.unmute_conversation",defaultMessage:"Unmute conversation"},block:{id:"status.block",defaultMessage:"Block @{name}"},report:{id:"status.report",defaultMessage:"Report @{name}"},share:{id:"status.share",defaultMessage:"Share"},pin:{id:"status.pin",defaultMessage:"Pin on profile"},unpin:{id:"status.unpin",defaultMessage:"Unpin from profile"},embed:{id:"status.embed",defaultMessage:"Embed"},admin_account:{id:"status.admin_account",defaultMessage:"Open moderation interface for @{name}"},admin_status:{id:"status.admin_status",defaultMessage:"Open this status in the moderation interface"}}),A=Object(D.g)((i=n=function(n){function e(){for(var t,e=arguments.length,a=new Array(e),s=0;s<e;s++)a[s]=arguments[s];return t=n.call.apply(n,[this].concat(a))||this,Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleReplyClick",function(){t.props.onReply(t.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleReblogClick",function(e){t.props.onReblog(t.props.status,e)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleFavouriteClick",function(e){t.props.onFavourite(t.props.status,e)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleBookmarkClick",function(e){t.props.onBookmark(t.props.status,e)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleDeleteClick",function(){t.props.onDelete(t.props.status,t.context.router.history)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleRedraftClick",function(){t.props.onDelete(t.props.status,t.context.router.history,!0)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleDirectClick",function(){t.props.onDirect(t.props.status.get("account"),t.context.router.history)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleMentionClick",function(){t.props.onMention(t.props.status.get("account"),t.context.router.history)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleMuteClick",function(){t.props.onMute(t.props.status.get("account"))}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleConversationMuteClick",function(){t.props.onMuteConversation(t.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleBlockClick",function(){t.props.onBlock(t.props.status.get("account"))}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleReport",function(){t.props.onReport(t.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handlePinClick",function(){t.props.onPin(t.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleShare",function(){navigator.share({text:t.props.status.get("search_index"),url:t.props.status.get("url")})}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleEmbed",function(){t.props.onEmbed(t.props.status)}),t}return Object(d.a)(e,n),e.prototype.render=function(){var e=this.props,t=e.status,a=e.intl,s=["public","unlisted"].includes(t.get("visibility")),n=t.get("muted"),i=[];s&&(i.push({text:a.formatMessage(H.embed),action:this.handleEmbed}),i.push(null)),N.l===t.getIn(["account","id"])?(s&&i.push({text:a.formatMessage(t.get("pinned")?H.unpin:H.pin),action:this.handlePinClick}),i.push(null),i.push({text:a.formatMessage(n?H.unmuteConversation:H.muteConversation),action:this.handleConversationMuteClick}),i.push(null),i.push({text:a.formatMessage(H.delete),action:this.handleDeleteClick}),i.push({text:a.formatMessage(H.redraft),action:this.handleRedraftClick})):(i.push({text:a.formatMessage(H.mention,{name:t.getIn(["account","username"])}),action:this.handleMentionClick}),i.push({text:a.formatMessage(H.direct,{name:t.getIn(["account","username"])}),action:this.handleDirectClick}),i.push(null),i.push({text:a.formatMessage(H.mute,{name:t.getIn(["account","username"])}),action:this.handleMuteClick}),i.push({text:a.formatMessage(H.block,{name:t.getIn(["account","username"])}),action:this.handleBlockClick}),i.push({text:a.formatMessage(H.report,{name:t.getIn(["account","username"])}),action:this.handleReport}),N.i&&(E.a||E.e)&&(i.push(null),void 0!==E.a&&i.push({text:a.formatMessage(H.admin_account,{name:t.getIn(["account","username"])}),href:Object(E.a)(t.getIn(["account","id"]))}),void 0!==E.e&&i.push({text:a.formatMessage(H.admin_status),href:Object(E.e)(t.getIn(["account","id"]),t.get("id"))})));var o="share"in navigator&&"public"===t.get("visibility")&&Object(b.a)("div",{className:"detailed-status__button"},void 0,Object(b.a)(w.a,{title:a.formatMessage(H.share),icon:"share-alt",onClick:this.handleShare})),c="direct"===t.get("visibility")||"private"===t.get("visibility")&&N.l!==t.getIn(["account","id"]),r="private"===t.get("visibility")?H.reblog_private:H.reblog;return Object(b.a)("div",{className:"detailed-status__action-bar"},void 0,Object(b.a)("div",{className:"detailed-status__button"},void 0,Object(b.a)(w.a,{title:a.formatMessage(H.reply),icon:null===t.get("in_reply_to_id",null)?"reply":"reply-all",onClick:this.handleReplyClick})),Object(b.a)("div",{className:"detailed-status__button"},void 0,Object(b.a)(w.a,{disabled:c,active:t.get("reblogged"),title:c?a.formatMessage(H.cannot_reblog):a.formatMessage(r),icon:"retweet",onClick:this.handleReblogClick})),Object(b.a)("div",{className:"detailed-status__button"},void 0,Object(b.a)(w.a,{className:"star-icon",animate:!0,active:t.get("favourited"),title:a.formatMessage(H.favourite),icon:"star",onClick:this.handleFavouriteClick})),o,Object(b.a)("div",{className:"detailed-status__button"},void 0,Object(b.a)(w.a,{className:"bookmark-icon",active:t.get("bookmarked"),title:a.formatMessage(H.bookmark),icon:"bookmark",onClick:this.handleBookmarkClick})),Object(b.a)("div",{className:"detailed-status__action-bar-dropdown"},void 0,Object(b.a)(R.a,{size:18,icon:"ellipsis-h",items:i,direction:"left",ariaLabel:"More"})))},e}(g.a.PureComponent),Object(p.a)(n,"contextTypes",{router:v.a.object}),s=i))||s,B=a(639),F=a(25),S=a(19),T=a(290),z=a(14),q=a(66),U=a(90),P=a(166),V=a(295),K=a(888),L=a(427),W=a(632),J=a(44),Y=a(24),G=a(176),Q=a(168),X=a(523),Z=a(627);a.d(t,"default",function(){return ee});var $=Object(D.f)({deleteConfirm:{id:"confirmations.delete.confirm",defaultMessage:"Delete"},deleteMessage:{id:"confirmations.delete.message",defaultMessage:"Are you sure you want to delete this status?"},redraftConfirm:{id:"confirmations.redraft.confirm",defaultMessage:"Delete & redraft"},redraftMessage:{id:"confirmations.redraft.message",defaultMessage:"Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it."},blockConfirm:{id:"confirmations.block.confirm",defaultMessage:"Block"},revealAll:{id:"status.show_more_all",defaultMessage:"Show more for all"},hideAll:{id:"status.show_less_all",defaultMessage:"Show less for all"},detailedStatus:{id:"status.detailed_status",defaultMessage:"Detailed conversation view"},replyConfirm:{id:"confirmations.reply.confirm",defaultMessage:"Reply"},replyMessage:{id:"confirmations.reply.message",defaultMessage:"Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?"}}),ee=(o=Object(j.connect)(function(){var s=Object(P.f)();return function(n,e){var i=s(n,{id:e.params.statusId}),t=O.a.List(),a=O.a.List();return i&&(t=t.withMutations(function(e){for(var t=i.get("in_reply_to_id");t;)e.unshift(t),t=n.getIn(["contexts","inReplyTos",t])}),a=a.withMutations(function(e){for(var t=[i.get("id")];0<t.length;){var a=t.shift(),s=n.getIn(["contexts","replies",a]);i.get("id")!==a&&e.push(a),s&&s.reverse().forEach(function(e){t.unshift(e)})}})),{status:i,ancestorsIds:t,descendantsIds:a,settings:n.get("local_settings"),askReplyConfirmation:n.getIn(["local_settings","confirm_before_clearing_draft"])&&0!==n.getIn(["compose","text"]).trim().length,domain:n.getIn(["meta","domain"])}}}),Object(D.g)(c=o((l=r=function(s){function e(){for(var o,e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return o=s.call.apply(s,[this].concat(t))||this,Object(p.a)(Object(u.a)(Object(u.a)(o)),"state",{fullscreen:!1,isExpanded:void 0,threadExpanded:void 0,statusId:void 0}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleExpandedToggle",function(){o.props.status.get("spoiler_text")&&o.setExpansion(!o.state.isExpanded)}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleModalFavourite",function(e){o.props.dispatch(Object(F.r)(e))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleFavouriteClick",function(e,t){e.get("favourited")?o.props.dispatch(Object(F.x)(e)):t&&t.shiftKey||!N.g?o.handleModalFavourite(e):o.props.dispatch(Object(J.d)("FAVOURITE",{status:e,onFavourite:o.handleModalFavourite}))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handlePin",function(e){e.get("pinned")?o.props.dispatch(Object(F.y)(e)):o.props.dispatch(Object(F.u)(e))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleReplyClick",function(e){var t=o.props,a=t.askReplyConfirmation,s=t.dispatch,n=t.intl;s(a?Object(J.d)("CONFIRM",{message:n.formatMessage($.replyMessage),confirm:n.formatMessage($.replyConfirm),onDoNotAsk:function(){return s(Object(T.b)(["confirm_before_clearing_draft"],!1))},onConfirm:function(){return s(Object(S.W)(e,o.context.router.history))}}):Object(S.W)(e,o.context.router.history))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleModalReblog",function(e){o.props.dispatch(Object(F.v)(e))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleReblogClick",function(e,t){e.get("reblogged")?o.props.dispatch(Object(F.z)(e)):t&&t.shiftKey||!N.b?o.handleModalReblog(e):o.props.dispatch(Object(J.d)("BOOST",{status:e,onReblog:o.handleModalReblog}))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleBookmarkClick",function(e){e.get("bookmarked")?o.props.dispatch(Object(F.w)(e)):o.props.dispatch(Object(F.q)(e))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleDeleteClick",function(e,t,a){void 0===a&&(a=!1);var s=o.props,n=s.dispatch,i=s.intl;N.d?n(Object(J.d)("CONFIRM",{message:i.formatMessage(a?$.redraftMessage:$.deleteMessage),confirm:i.formatMessage(a?$.redraftConfirm:$.deleteConfirm),onConfirm:function(){return n(Object(_.f)(e.get("id"),t,a))}})):n(Object(_.f)(e.get("id"),t,a))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleDirectClick",function(e,t){o.props.dispatch(Object(S.P)(e,t))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleMentionClick",function(e,t){o.props.dispatch(Object(S.U)(e,t))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleOpenMedia",function(e,t){o.props.dispatch(Object(J.d)("MEDIA",{media:e,index:t}))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleOpenVideo",function(e,t){o.props.dispatch(Object(J.d)("VIDEO",{media:e,time:t}))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleMuteClick",function(e){o.props.dispatch(Object(q.g)(e))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleConversationMuteClick",function(e){e.get("muted")?o.props.dispatch(Object(_.k)(e.get("id"))):o.props.dispatch(Object(_.i)(e.get("id")))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleToggleAll",function(){var e=o.state.isExpanded;o.setState({isExpanded:!e,threadExpanded:!e})}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleBlockClick",function(e){var t=o.props,a=t.dispatch,s=t.intl;a(Object(J.d)("CONFIRM",{message:Object(b.a)(D.b,{id:"confirmations.block.message",defaultMessage:"Are you sure you want to block {name}?",values:{name:Object(b.a)("strong",{},void 0,"@",e.get("acct"))}}),confirm:s.formatMessage($.blockConfirm),onConfirm:function(){return a(Object(z.A)(e.get("id")))}}))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleReport",function(e){o.props.dispatch(Object(U.k)(e.get("account"),e))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleEmbed",function(e){o.props.dispatch(Object(J.d)("EMBED",{url:e.get("url")}))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyMoveUp",function(){o.handleMoveUp(o.props.status.get("id"))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyMoveDown",function(){o.handleMoveDown(o.props.status.get("id"))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyReply",function(e){e.preventDefault(),o.handleReplyClick(o.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyFavourite",function(){o.handleFavouriteClick(o.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyBoost",function(){o.handleReblogClick(o.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyMention",function(e){e.preventDefault(),o.handleMentionClick(o.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyOpenProfile",function(){o.context.router.history.push("/accounts/"+o.props.status.getIn(["account","id"]))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleMoveUp",function(e){var t=o.props,a=t.status,s=t.ancestorsIds,n=t.descendantsIds;if(e===a.get("id"))o._selectChild(s.size-1);else{var i=s.indexOf(e);-1===i?(i=n.indexOf(e),o._selectChild(s.size+i)):o._selectChild(i-1)}}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleMoveDown",function(e){var t=o.props,a=t.status,s=t.ancestorsIds,n=t.descendantsIds;if(e===a.get("id"))o._selectChild(s.size+1);else{var i=s.indexOf(e);-1===i?(i=n.indexOf(e),o._selectChild(s.size+i+2)):o._selectChild(i+1)}}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"setExpansion",function(e){o.setState({isExpanded:e})}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"setRef",function(e){o.node=e}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"onFullScreenChange",function(){o.setState({fullscreen:Object(Q.d)()})}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"shouldUpdateScroll",function(e,t){var a=t.location;return!(((e||{}).location||{}).state||{}).mastodonModalOpen&&!(a.state&&a.state.mastodonModalOpen)}),o}Object(d.a)(e,s);var t=e.prototype;return t.componentDidMount=function(){Object(Q.a)(this.onFullScreenChange),this.props.dispatch(Object(_.g)(this.props.params.statusId));var e=this.props,t=e.status,a=e.ancestorsIds;if(t&&a&&0<a.size){var s=this.node.querySelectorAll(".focusable")[a.size-1];window.requestAnimationFrame(function(){s.scrollIntoView(!0)})}},e.getDerivedStateFromProps=function(e,t){return t.statusId!==e.params.statusId&&e.params.statusId?(e.dispatch(Object(_.g)(e.params.statusId)),{threadExpanded:void 0,isExpanded:Object(X.a)(e.settings,e.status),statusId:e.params.statusId}):null},t._selectChild=function(e){var t=this.node.querySelectorAll(".focusable")[e];t&&t.focus()},t.renderChildren=function(e){var t=this;return e.map(function(e){return Object(b.a)(W.a,{id:e,expanded:t.state.threadExpanded,onMoveUp:t.handleMoveUp,onMoveDown:t.handleMoveDown,contextType:"thread"},e)})},t.componentDidUpdate=function(e){if(this.props.params.statusId&&(this.props.params.statusId!==e.params.statusId||e.ancestorsIds.size<this.props.ancestorsIds.size)){var t=this.props,a=t.status,s=t.ancestorsIds;if(a&&s&&0<s.size){var n=this.node.querySelectorAll(".focusable")[s.size-1];window.requestAnimationFrame(function(){n.scrollIntoView(!0)})}}},t.componentWillUnmount=function(){Object(Q.b)(this.onFullScreenChange)},t.render=function(){this.setExpansion;var e,t,a=this.props,s=a.status,n=a.settings,i=a.ancestorsIds,o=a.descendantsIds,c=a.intl,r=a.domain,l=this.state,d=l.fullscreen,u=l.isExpanded;if(null===s)return Object(b.a)(B.a,{},void 0,Object(b.a)(K.a,{}),Object(b.a)(x.a,{}));i&&0<i.size&&(e=Object(b.a)("div",{},void 0,this.renderChildren(i))),o&&0<o.size&&(t=Object(b.a)("div",{},void 0,this.renderChildren(o)));var p={moveUp:this.handleHotkeyMoveUp,moveDown:this.handleHotkeyMoveDown,reply:this.handleHotkeyReply,favourite:this.handleHotkeyFavourite,boost:this.handleHotkeyBoost,mention:this.handleHotkeyMention,openProfile:this.handleHotkeyOpenProfile,toggleSpoiler:this.handleExpandedToggle};return Object(b.a)(B.a,{label:c.formatMessage($.detailedStatus)},void 0,Object(b.a)(L.a,{showBackButton:!0,extraButton:Object(b.a)("button",{className:"column-header__button",title:c.formatMessage(u?$.hideAll:$.revealAll),"aria-label":c.formatMessage(u?$.hideAll:$.revealAll),onClick:this.handleToggleAll,"aria-pressed":u?"true":"false"},void 0,Object(b.a)("i",{className:"fa fa-"+(u?"eye":"eye-slash")}))}),Object(b.a)(V.a,{scrollKey:"thread",shouldUpdateScroll:this.shouldUpdateScroll},void 0,g.a.createElement("div",{className:M()("scrollable","detailed-status__wrapper",{fullscreen:d}),ref:this.setRef},e,Object(b.a)(G.HotKeys,{handlers:p},void 0,Object(b.a)("div",{className:"focusable",tabIndex:"0","aria-label":Object(Z.b)(c,s,!1,!s.get("hidden"))},void 0,Object(b.a)(I.a,{status:s,settings:n,onOpenVideo:this.handleOpenVideo,onOpenMedia:this.handleOpenMedia,expanded:u,onToggleHidden:this.handleExpandedToggle,domain:r}),Object(b.a)(A,{status:s,onReply:this.handleReplyClick,onFavourite:this.handleFavouriteClick,onReblog:this.handleReblogClick,onBookmark:this.handleBookmarkClick,onDelete:this.handleDeleteClick,onDirect:this.handleDirectClick,onMention:this.handleMentionClick,onMute:this.handleMuteClick,onMuteConversation:this.handleConversationMuteClick,onBlock:this.handleBlockClick,onReport:this.handleReport,onPin:this.handlePin,onEmbed:this.handleEmbed}))),t)))},e}(Y.a),Object(p.a)(r,"contextTypes",{router:v.a.object}),Object(p.a)(r,"propTypes",{params:v.a.object.isRequired,dispatch:v.a.func.isRequired,status:C.a.map,settings:C.a.map.isRequired,ancestorsIds:C.a.list,descendantsIds:C.a.list,intl:v.a.object.isRequired,askReplyConfirmation:v.a.bool,domain:v.a.string.isRequired}),c=l))||c)||c)}}]); +(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{655:function(e,t,a){"use strict";a.d(t,"a",function(){return I});var h=a(1),s=a(6),i=a(0),o=a(2),n=a(3),O=a.n(n),c=a(5),r=a.n(c),l=a(26),d=a.n(l),f=a(101),g=a(102),j=a(111),m=a(457),v=a(393),k=a(388),M=a(7),y=a(445),u=a(24),C=a(137),_=a(447),p=a(532),b=a(12),x=a.n(b),I=function(n){function e(){for(var a,e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return a=n.call.apply(n,[this].concat(t))||this,Object(o.a)(Object(i.a)(Object(i.a)(a)),"state",{height:null}),Object(o.a)(Object(i.a)(Object(i.a)(a)),"handleAccountClick",function(e){0===e.button&&!(e.ctrlKey||e.altKey||e.metaKey)&&a.context.router&&(e.preventDefault(),a.context.router.history.push("/accounts/"+a.props.status.getIn(["account","id"]))),e.stopPropagation()}),Object(o.a)(Object(i.a)(Object(i.a)(a)),"parseClick",function(e,t){0===e.button&&!(e.ctrlKey||e.altKey||e.metaKey)&&a.context.router&&(e.preventDefault(),a.context.router.history.push(t)),e.stopPropagation()}),Object(o.a)(Object(i.a)(Object(i.a)(a)),"handleOpenVideo",function(e,t){a.props.onOpenVideo(e,t)}),Object(o.a)(Object(i.a)(Object(i.a)(a)),"setRef",function(e){a.node=e,a._measureHeight()}),Object(o.a)(Object(i.a)(Object(i.a)(a)),"handleModalLink",function(e){var t;e.preventDefault(),t="A"!==e.target.nodeName?e.target.parentNode.href:e.target.href,window.open(t,"mastodon-intent","width=445,height=600,resizable=no,menubar=no,status=no,scrollbars=yes")}),a}Object(s.a)(e,n);var t=e.prototype;return t._measureHeight=function(e){var t=this;this.props.measureHeight&&this.node&&(Object(p.a)(function(){return t.node&&t.setState({height:Math.ceil(t.node.scrollHeight)+1})}),this.props.onHeightChange&&e&&this.props.onHeightChange())},t.componentDidUpdate=function(e,t){this._measureHeight(t.height!==this.state.height)},t.render=function(){var e=this.props.status.get("reblog")?this.props.status.get("reblog"):this.props.status,t=this.props,a=t.expanded,s=t.onToggleHidden,n=t.settings,i={boxSizing:"border-box"},o=this.props.compact;if(!e)return null;var c="",r=null,l="",d="",u="retweet",p="";if(this.props.measureHeight&&(i.height=this.state.height+"px"),0<e.get("media_attachments").size)if(e.get("media_attachments").some(function(e){return"unknown"===e.get("type")}))c=Object(h.a)(v.a,{media:e.get("media_attachments")});else if("video"===e.getIn(["media_attachments",0,"type"])){var b=e.getIn(["media_attachments",0]);c=Object(h.a)(C.default,{preview:b.get("preview_url"),src:b.get("url"),alt:b.get("description"),inline:!0,sensitive:e.get("sensitive"),letterbox:n.getIn(["media","letterbox"]),fullwidth:n.getIn(["media","fullwidth"]),preventPlayback:!a,onOpenVideo:this.handleOpenVideo,autoplay:!0}),r="video-camera"}else c=Object(h.a)(m.default,{standalone:!0,sensitive:e.get("sensitive"),media:e.get("media_attachments"),letterbox:n.getIn(["media","letterbox"]),fullwidth:n.getIn(["media","fullwidth"]),hidden:!a,onOpenMedia:this.props.onOpenMedia}),r="picture-o";else c=Object(h.a)(y.a,{onOpenMedia:this.props.onOpenMedia,card:e.get("card",null)});return e.get("application")&&(l=Object(h.a)("span",{},void 0," · ",Object(h.a)("a",{className:"detailed-status__application",href:e.getIn(["application","website"]),target:"_blank",rel:"noopener"},void 0,e.getIn(["application","name"])))),"direct"===e.get("visibility")?u="envelope":"private"===e.get("visibility")&&(u="lock"),d="private"===e.get("visibility")?Object(h.a)("i",{className:"fa fa-"+u}):this.context.router?Object(h.a)(k.a,{to:"/statuses/"+e.get("id")+"/reblogs",className:"detailed-status__link"},void 0,Object(h.a)("i",{className:"fa fa-"+u}),Object(h.a)("span",{className:"detailed-status__reblogs"},void 0,Object(h.a)(M.c,{value:e.get("reblogs_count")}))):Object(h.a)("a",{href:"/interact/"+e.get("id")+"?type=reblog",className:"detailed-status__link",onClick:this.handleModalLink},void 0,Object(h.a)("i",{className:"fa fa-"+u}),Object(h.a)("span",{className:"detailed-status__reblogs"},void 0,Object(h.a)(M.c,{value:e.get("reblogs_count")}))),p=this.context.router?Object(h.a)(k.a,{to:"/statuses/"+e.get("id")+"/favourites",className:"detailed-status__link"},void 0,Object(h.a)("i",{className:"fa fa-star"}),Object(h.a)("span",{className:"detailed-status__favorites"},void 0,Object(h.a)(M.c,{value:e.get("favourites_count")}))):Object(h.a)("a",{href:"/interact/"+e.get("id")+"?type=favourite",className:"detailed-status__link",onClick:this.handleModalLink},void 0,Object(h.a)("i",{className:"fa fa-star"}),Object(h.a)("span",{className:"detailed-status__favorites"},void 0,Object(h.a)(M.c,{value:e.get("favourites_count")}))),Object(h.a)("div",{style:i},void 0,O.a.createElement("div",{ref:this.setRef,className:x()("detailed-status",{compact:o}),"data-status-by":e.getIn(["account","acct"])},Object(h.a)("a",{href:e.getIn(["account","url"]),onClick:this.handleAccountClick,className:"detailed-status__display-name"},void 0,Object(h.a)("div",{className:"detailed-status__display-avatar"},void 0,Object(h.a)(f.a,{account:e.get("account"),size:48})),Object(h.a)(g.a,{account:e.get("account"),localDomain:this.props.domain})),Object(h.a)(j.a,{status:e,media:c,mediaIcon:r,expanded:a,collapsed:!1,onExpandedToggle:s,parseClick:this.parseClick}),Object(h.a)("div",{className:"detailed-status__meta"},void 0,Object(h.a)("a",{className:"detailed-status__datetime",href:e.get("url"),target:"_blank",rel:"noopener"},void 0,Object(h.a)(M.a,{value:new Date(e.get("created_at")),hour12:!1,year:"numeric",month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit"})),l," · ",d," · ",p," · ",Object(h.a)(_.a,{visibility:e.get("visibility")}))))},e}(u.a);Object(o.a)(I,"contextTypes",{router:r.a.object}),Object(o.a)(I,"propTypes",{status:d.a.map.isRequired,settings:d.a.map.isRequired,onOpenMedia:r.a.func.isRequired,onOpenVideo:r.a.func.isRequired,onToggleHidden:r.a.func.isRequired,expanded:r.a.bool,measureHeight:r.a.bool,onHeightChange:r.a.func,domain:r.a.string.isRequired,compact:r.a.bool})},727:function(e,t,a){"use strict";a.r(t);var s,n,i,o,c,r,l,b=a(1),d=a(6),u=a(0),p=a(2),h=a(4),O=a.n(h),f=a(3),g=a.n(f),j=a(20),m=a(5),v=a.n(m),k=a(12),M=a.n(k),y=a(26),C=a.n(y),_=a(51),x=a(899),I=a(655),w=a(47),R=a(522),D=a(7),N=a(31),E=a(139),H=Object(D.f)({delete:{id:"status.delete",defaultMessage:"Delete"},redraft:{id:"status.redraft",defaultMessage:"Delete & re-draft"},direct:{id:"status.direct",defaultMessage:"Direct message @{name}"},mention:{id:"status.mention",defaultMessage:"Mention @{name}"},reply:{id:"status.reply",defaultMessage:"Reply"},reblog:{id:"status.reblog",defaultMessage:"Boost"},reblog_private:{id:"status.reblog_private",defaultMessage:"Boost to original audience"},cannot_reblog:{id:"status.cannot_reblog",defaultMessage:"This post cannot be boosted"},favourite:{id:"status.favourite",defaultMessage:"Favourite"},bookmark:{id:"status.bookmark",defaultMessage:"Bookmark"},mute:{id:"status.mute",defaultMessage:"Mute @{name}"},muteConversation:{id:"status.mute_conversation",defaultMessage:"Mute conversation"},unmuteConversation:{id:"status.unmute_conversation",defaultMessage:"Unmute conversation"},block:{id:"status.block",defaultMessage:"Block @{name}"},report:{id:"status.report",defaultMessage:"Report @{name}"},share:{id:"status.share",defaultMessage:"Share"},pin:{id:"status.pin",defaultMessage:"Pin on profile"},unpin:{id:"status.unpin",defaultMessage:"Unpin from profile"},embed:{id:"status.embed",defaultMessage:"Embed"},admin_account:{id:"status.admin_account",defaultMessage:"Open moderation interface for @{name}"},admin_status:{id:"status.admin_status",defaultMessage:"Open this status in the moderation interface"}}),A=Object(D.g)((i=n=function(n){function e(){for(var t,e=arguments.length,a=new Array(e),s=0;s<e;s++)a[s]=arguments[s];return t=n.call.apply(n,[this].concat(a))||this,Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleReplyClick",function(){t.props.onReply(t.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleReblogClick",function(e){t.props.onReblog(t.props.status,e)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleFavouriteClick",function(e){t.props.onFavourite(t.props.status,e)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleBookmarkClick",function(e){t.props.onBookmark(t.props.status,e)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleDeleteClick",function(){t.props.onDelete(t.props.status,t.context.router.history)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleRedraftClick",function(){t.props.onDelete(t.props.status,t.context.router.history,!0)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleDirectClick",function(){t.props.onDirect(t.props.status.get("account"),t.context.router.history)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleMentionClick",function(){t.props.onMention(t.props.status.get("account"),t.context.router.history)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleMuteClick",function(){t.props.onMute(t.props.status.get("account"))}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleConversationMuteClick",function(){t.props.onMuteConversation(t.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleBlockClick",function(){t.props.onBlock(t.props.status.get("account"))}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleReport",function(){t.props.onReport(t.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handlePinClick",function(){t.props.onPin(t.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleShare",function(){navigator.share({text:t.props.status.get("search_index"),url:t.props.status.get("url")})}),Object(p.a)(Object(u.a)(Object(u.a)(t)),"handleEmbed",function(){t.props.onEmbed(t.props.status)}),t}return Object(d.a)(e,n),e.prototype.render=function(){var e=this.props,t=e.status,a=e.intl,s=["public","unlisted"].includes(t.get("visibility")),n=t.get("muted"),i=[];s&&(i.push({text:a.formatMessage(H.embed),action:this.handleEmbed}),i.push(null)),N.k===t.getIn(["account","id"])?(s&&i.push({text:a.formatMessage(t.get("pinned")?H.unpin:H.pin),action:this.handlePinClick}),i.push(null),i.push({text:a.formatMessage(n?H.unmuteConversation:H.muteConversation),action:this.handleConversationMuteClick}),i.push(null),i.push({text:a.formatMessage(H.delete),action:this.handleDeleteClick}),i.push({text:a.formatMessage(H.redraft),action:this.handleRedraftClick})):(i.push({text:a.formatMessage(H.mention,{name:t.getIn(["account","username"])}),action:this.handleMentionClick}),i.push({text:a.formatMessage(H.direct,{name:t.getIn(["account","username"])}),action:this.handleDirectClick}),i.push(null),i.push({text:a.formatMessage(H.mute,{name:t.getIn(["account","username"])}),action:this.handleMuteClick}),i.push({text:a.formatMessage(H.block,{name:t.getIn(["account","username"])}),action:this.handleBlockClick}),i.push({text:a.formatMessage(H.report,{name:t.getIn(["account","username"])}),action:this.handleReport}),N.h&&(E.a||E.e)&&(i.push(null),void 0!==E.a&&i.push({text:a.formatMessage(H.admin_account,{name:t.getIn(["account","username"])}),href:Object(E.a)(t.getIn(["account","id"]))}),void 0!==E.e&&i.push({text:a.formatMessage(H.admin_status),href:Object(E.e)(t.getIn(["account","id"]),t.get("id"))})));var o="share"in navigator&&"public"===t.get("visibility")&&Object(b.a)("div",{className:"detailed-status__button"},void 0,Object(b.a)(w.a,{title:a.formatMessage(H.share),icon:"share-alt",onClick:this.handleShare})),c="direct"===t.get("visibility")||"private"===t.get("visibility")&&N.k!==t.getIn(["account","id"]),r="private"===t.get("visibility")?H.reblog_private:H.reblog;return Object(b.a)("div",{className:"detailed-status__action-bar"},void 0,Object(b.a)("div",{className:"detailed-status__button"},void 0,Object(b.a)(w.a,{title:a.formatMessage(H.reply),icon:null===t.get("in_reply_to_id",null)?"reply":"reply-all",onClick:this.handleReplyClick})),Object(b.a)("div",{className:"detailed-status__button"},void 0,Object(b.a)(w.a,{disabled:c,active:t.get("reblogged"),title:c?a.formatMessage(H.cannot_reblog):a.formatMessage(r),icon:"retweet",onClick:this.handleReblogClick})),Object(b.a)("div",{className:"detailed-status__button"},void 0,Object(b.a)(w.a,{className:"star-icon",animate:!0,active:t.get("favourited"),title:a.formatMessage(H.favourite),icon:"star",onClick:this.handleFavouriteClick})),o,Object(b.a)("div",{className:"detailed-status__button"},void 0,Object(b.a)(w.a,{className:"bookmark-icon",active:t.get("bookmarked"),title:a.formatMessage(H.bookmark),icon:"bookmark",onClick:this.handleBookmarkClick})),Object(b.a)("div",{className:"detailed-status__action-bar-dropdown"},void 0,Object(b.a)(R.a,{size:18,icon:"ellipsis-h",items:i,direction:"left",ariaLabel:"More"})))},e}(g.a.PureComponent),Object(p.a)(n,"contextTypes",{router:v.a.object}),s=i))||s,B=a(640),F=a(25),S=a(19),T=a(292),z=a(14),q=a(67),U=a(92),P=a(169),V=a(297),K=a(889),L=a(428),W=a(633),J=a(45),Y=a(24),G=a(179),Q=a(171),X=a(524),Z=a(628);a.d(t,"default",function(){return ee});var $=Object(D.f)({deleteConfirm:{id:"confirmations.delete.confirm",defaultMessage:"Delete"},deleteMessage:{id:"confirmations.delete.message",defaultMessage:"Are you sure you want to delete this status?"},redraftConfirm:{id:"confirmations.redraft.confirm",defaultMessage:"Delete & redraft"},redraftMessage:{id:"confirmations.redraft.message",defaultMessage:"Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it."},blockConfirm:{id:"confirmations.block.confirm",defaultMessage:"Block"},revealAll:{id:"status.show_more_all",defaultMessage:"Show more for all"},hideAll:{id:"status.show_less_all",defaultMessage:"Show less for all"},detailedStatus:{id:"status.detailed_status",defaultMessage:"Detailed conversation view"},replyConfirm:{id:"confirmations.reply.confirm",defaultMessage:"Reply"},replyMessage:{id:"confirmations.reply.message",defaultMessage:"Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?"}}),ee=(o=Object(j.connect)(function(){var s=Object(P.f)();return function(n,e){var i=s(n,{id:e.params.statusId}),t=O.a.List(),a=O.a.List();return i&&(t=t.withMutations(function(e){for(var t=i.get("in_reply_to_id");t;)e.unshift(t),t=n.getIn(["contexts","inReplyTos",t])}),a=a.withMutations(function(e){for(var t=[i.get("id")];0<t.length;){var a=t.shift(),s=n.getIn(["contexts","replies",a]);i.get("id")!==a&&e.push(a),s&&s.reverse().forEach(function(e){t.unshift(e)})}})),{status:i,ancestorsIds:t,descendantsIds:a,settings:n.get("local_settings"),askReplyConfirmation:n.getIn(["local_settings","confirm_before_clearing_draft"])&&0!==n.getIn(["compose","text"]).trim().length,domain:n.getIn(["meta","domain"])}}}),Object(D.g)(c=o((l=r=function(s){function e(){for(var o,e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return o=s.call.apply(s,[this].concat(t))||this,Object(p.a)(Object(u.a)(Object(u.a)(o)),"state",{fullscreen:!1,isExpanded:void 0,threadExpanded:void 0,statusId:void 0}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleExpandedToggle",function(){o.props.status.get("spoiler_text")&&o.setExpansion(!o.state.isExpanded)}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleModalFavourite",function(e){o.props.dispatch(Object(F.r)(e))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleFavouriteClick",function(e,t){e.get("favourited")?o.props.dispatch(Object(F.x)(e)):t&&t.shiftKey||!N.g?o.handleModalFavourite(e):o.props.dispatch(Object(J.d)("FAVOURITE",{status:e,onFavourite:o.handleModalFavourite}))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handlePin",function(e){e.get("pinned")?o.props.dispatch(Object(F.y)(e)):o.props.dispatch(Object(F.u)(e))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleReplyClick",function(e){var t=o.props,a=t.askReplyConfirmation,s=t.dispatch,n=t.intl;s(a?Object(J.d)("CONFIRM",{message:n.formatMessage($.replyMessage),confirm:n.formatMessage($.replyConfirm),onDoNotAsk:function(){return s(Object(T.b)(["confirm_before_clearing_draft"],!1))},onConfirm:function(){return s(Object(S.W)(e,o.context.router.history))}}):Object(S.W)(e,o.context.router.history))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleModalReblog",function(e){o.props.dispatch(Object(F.v)(e))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleReblogClick",function(e,t){e.get("reblogged")?o.props.dispatch(Object(F.z)(e)):t&&t.shiftKey||!N.b?o.handleModalReblog(e):o.props.dispatch(Object(J.d)("BOOST",{status:e,onReblog:o.handleModalReblog}))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleBookmarkClick",function(e){e.get("bookmarked")?o.props.dispatch(Object(F.w)(e)):o.props.dispatch(Object(F.q)(e))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleDeleteClick",function(e,t,a){void 0===a&&(a=!1);var s=o.props,n=s.dispatch,i=s.intl;N.d?n(Object(J.d)("CONFIRM",{message:i.formatMessage(a?$.redraftMessage:$.deleteMessage),confirm:i.formatMessage(a?$.redraftConfirm:$.deleteConfirm),onConfirm:function(){return n(Object(_.f)(e.get("id"),t,a))}})):n(Object(_.f)(e.get("id"),t,a))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleDirectClick",function(e,t){o.props.dispatch(Object(S.P)(e,t))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleMentionClick",function(e,t){o.props.dispatch(Object(S.U)(e,t))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleOpenMedia",function(e,t){o.props.dispatch(Object(J.d)("MEDIA",{media:e,index:t}))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleOpenVideo",function(e,t){o.props.dispatch(Object(J.d)("VIDEO",{media:e,time:t}))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleMuteClick",function(e){o.props.dispatch(Object(q.g)(e))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleConversationMuteClick",function(e){e.get("muted")?o.props.dispatch(Object(_.k)(e.get("id"))):o.props.dispatch(Object(_.i)(e.get("id")))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleToggleAll",function(){var e=o.state.isExpanded;o.setState({isExpanded:!e,threadExpanded:!e})}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleBlockClick",function(e){var t=o.props,a=t.dispatch,s=t.intl;a(Object(J.d)("CONFIRM",{message:Object(b.a)(D.b,{id:"confirmations.block.message",defaultMessage:"Are you sure you want to block {name}?",values:{name:Object(b.a)("strong",{},void 0,"@",e.get("acct"))}}),confirm:s.formatMessage($.blockConfirm),onConfirm:function(){return a(Object(z.A)(e.get("id")))}}))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleReport",function(e){o.props.dispatch(Object(U.k)(e.get("account"),e))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleEmbed",function(e){o.props.dispatch(Object(J.d)("EMBED",{url:e.get("url")}))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyMoveUp",function(){o.handleMoveUp(o.props.status.get("id"))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyMoveDown",function(){o.handleMoveDown(o.props.status.get("id"))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyReply",function(e){e.preventDefault(),o.handleReplyClick(o.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyFavourite",function(){o.handleFavouriteClick(o.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyBoost",function(){o.handleReblogClick(o.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyMention",function(e){e.preventDefault(),o.handleMentionClick(o.props.status)}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleHotkeyOpenProfile",function(){o.context.router.history.push("/accounts/"+o.props.status.getIn(["account","id"]))}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleMoveUp",function(e){var t=o.props,a=t.status,s=t.ancestorsIds,n=t.descendantsIds;if(e===a.get("id"))o._selectChild(s.size-1);else{var i=s.indexOf(e);-1===i?(i=n.indexOf(e),o._selectChild(s.size+i)):o._selectChild(i-1)}}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"handleMoveDown",function(e){var t=o.props,a=t.status,s=t.ancestorsIds,n=t.descendantsIds;if(e===a.get("id"))o._selectChild(s.size+1);else{var i=s.indexOf(e);-1===i?(i=n.indexOf(e),o._selectChild(s.size+i+2)):o._selectChild(i+1)}}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"setExpansion",function(e){o.setState({isExpanded:e})}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"setRef",function(e){o.node=e}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"onFullScreenChange",function(){o.setState({fullscreen:Object(Q.d)()})}),Object(p.a)(Object(u.a)(Object(u.a)(o)),"shouldUpdateScroll",function(e,t){var a=t.location;return!(((e||{}).location||{}).state||{}).mastodonModalOpen&&!(a.state&&a.state.mastodonModalOpen)}),o}Object(d.a)(e,s);var t=e.prototype;return t.componentDidMount=function(){Object(Q.a)(this.onFullScreenChange),this.props.dispatch(Object(_.g)(this.props.params.statusId));var e=this.props,t=e.status,a=e.ancestorsIds;if(t&&a&&0<a.size){var s=this.node.querySelectorAll(".focusable")[a.size-1];window.requestAnimationFrame(function(){s.scrollIntoView(!0)})}},e.getDerivedStateFromProps=function(e,t){return t.statusId!==e.params.statusId&&e.params.statusId?(e.dispatch(Object(_.g)(e.params.statusId)),{threadExpanded:void 0,isExpanded:Object(X.a)(e.settings,e.status),statusId:e.params.statusId}):null},t._selectChild=function(e){var t=this.node.querySelectorAll(".focusable")[e];t&&t.focus()},t.renderChildren=function(e){var t=this;return e.map(function(e){return Object(b.a)(W.a,{id:e,expanded:t.state.threadExpanded,onMoveUp:t.handleMoveUp,onMoveDown:t.handleMoveDown,contextType:"thread"},e)})},t.componentDidUpdate=function(e){if(this.props.params.statusId&&(this.props.params.statusId!==e.params.statusId||e.ancestorsIds.size<this.props.ancestorsIds.size)){var t=this.props,a=t.status,s=t.ancestorsIds;if(a&&s&&0<s.size){var n=this.node.querySelectorAll(".focusable")[s.size-1];window.requestAnimationFrame(function(){n.scrollIntoView(!0)})}}},t.componentWillUnmount=function(){Object(Q.b)(this.onFullScreenChange)},t.render=function(){this.setExpansion;var e,t,a=this.props,s=a.status,n=a.settings,i=a.ancestorsIds,o=a.descendantsIds,c=a.intl,r=a.domain,l=this.state,d=l.fullscreen,u=l.isExpanded;if(null===s)return Object(b.a)(B.a,{},void 0,Object(b.a)(K.a,{}),Object(b.a)(x.a,{}));i&&0<i.size&&(e=Object(b.a)("div",{},void 0,this.renderChildren(i))),o&&0<o.size&&(t=Object(b.a)("div",{},void 0,this.renderChildren(o)));var p={moveUp:this.handleHotkeyMoveUp,moveDown:this.handleHotkeyMoveDown,reply:this.handleHotkeyReply,favourite:this.handleHotkeyFavourite,boost:this.handleHotkeyBoost,mention:this.handleHotkeyMention,openProfile:this.handleHotkeyOpenProfile,toggleSpoiler:this.handleExpandedToggle};return Object(b.a)(B.a,{label:c.formatMessage($.detailedStatus)},void 0,Object(b.a)(L.a,{showBackButton:!0,extraButton:Object(b.a)("button",{className:"column-header__button",title:c.formatMessage(u?$.hideAll:$.revealAll),"aria-label":c.formatMessage(u?$.hideAll:$.revealAll),onClick:this.handleToggleAll,"aria-pressed":u?"true":"false"},void 0,Object(b.a)("i",{className:"fa fa-"+(u?"eye":"eye-slash")}))}),Object(b.a)(V.a,{scrollKey:"thread",shouldUpdateScroll:this.shouldUpdateScroll},void 0,g.a.createElement("div",{className:M()("scrollable","detailed-status__wrapper",{fullscreen:d}),ref:this.setRef},e,Object(b.a)(G.HotKeys,{handlers:p},void 0,Object(b.a)("div",{className:"focusable",tabIndex:"0","aria-label":Object(Z.b)(c,s,!1,!s.get("hidden"))},void 0,Object(b.a)(I.a,{status:s,settings:n,onOpenVideo:this.handleOpenVideo,onOpenMedia:this.handleOpenMedia,expanded:u,onToggleHidden:this.handleExpandedToggle,domain:r}),Object(b.a)(A,{status:s,onReply:this.handleReplyClick,onFavourite:this.handleFavouriteClick,onReblog:this.handleReblogClick,onBookmark:this.handleBookmarkClick,onDelete:this.handleDeleteClick,onDirect:this.handleDirectClick,onMention:this.handleMentionClick,onMute:this.handleMuteClick,onMuteConversation:this.handleConversationMuteClick,onBlock:this.handleBlockClick,onReport:this.handleReport,onPin:this.handlePin,onEmbed:this.handleEmbed}))),t)))},e}(Y.a),Object(p.a)(r,"contextTypes",{router:v.a.object}),Object(p.a)(r,"propTypes",{params:v.a.object.isRequired,dispatch:v.a.func.isRequired,status:C.a.map,settings:C.a.map.isRequired,ancestorsIds:C.a.list,descendantsIds:C.a.list,intl:v.a.object.isRequired,askReplyConfirmation:v.a.bool,domain:v.a.string.isRequired}),c=l))||c)||c)}}]); //# sourceMappingURL=status.js.map
\ No newline at end of file diff --git a/priv/static/packs/flavours/glitch/async/status.js.map b/priv/static/packs/flavours/glitch/async/status.js.map index 1f54b1ade..06c8880f4 100644 --- a/priv/static/packs/flavours/glitch/async/status.js.map +++ b/priv/static/packs/flavours/glitch/async/status.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/status/components/detailed_status.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/status/components/action_bar.js","webpack:///app/javascript/seagate/sources/git/hacktivis.me/git/mastofe/app/javascript/flavours/glitch/features/status/index.js"],"names":["DetailedStatus","height","e","button","ctrlKey","altKey","metaKey","_this","context","router","preventDefault","history","push","props","status","getIn","stopPropagation","destination","media","startTime","onOpenVideo","c","node","_measureHeight","href","target","nodeName","parentNode","window","open","heightJustChanged","_this2","this","measureHeight","scheduleIdleTask","setState","Math","ceil","scrollHeight","onHeightChange","componentDidUpdate","prevProps","prevState","state","render","get","_this$props","expanded","onToggleHidden","settings","outerStyle","boxSizing","compact","mediaIcon","applicationLink","reblogLink","reblogIcon","favouriteLink","size","some","item","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_attachment_list__WEBPACK_IMPORTED_MODULE_11__","video","flavours_glitch_features_video__WEBPACK_IMPORTED_MODULE_16__","preview","src","alt","inline","sensitive","letterbox","fullwidth","preventPlayback","handleOpenVideo","autoplay","flavours_glitch_components_media_gallery__WEBPACK_IMPORTED_MODULE_10__","standalone","hidden","onOpenMedia","_card__WEBPACK_IMPORTED_MODULE_14__","card","className","rel","react_router_dom__WEBPACK_IMPORTED_MODULE_12__","to","react_intl__WEBPACK_IMPORTED_MODULE_13__","value","onClick","handleModalLink","style","react__WEBPACK_IMPORTED_MODULE_4___default","a","createElement","ref","setRef","classNames","data-status-by","handleAccountClick","flavours_glitch_components_avatar__WEBPACK_IMPORTED_MODULE_7__","account","flavours_glitch_components_display_name__WEBPACK_IMPORTED_MODULE_8__","localDomain","domain","flavours_glitch_components_status_content__WEBPACK_IMPORTED_MODULE_9__","collapsed","onExpandedToggle","parseClick","Date","hour12","year","month","day","hour","minute","flavours_glitch_components_status_visibility_icon__WEBPACK_IMPORTED_MODULE_17__","visibility","ImmutablePureComponent","PropTypes","object","ImmutablePropTypes","map","isRequired","func","bool","string","messages","defineMessages","delete","id","defaultMessage","redraft","direct","mention","reply","reblog","reblog_private","cannot_reblog","favourite","bookmark","mute","muteConversation","unmuteConversation","block","report","share","pin","unpin","embed","admin_account","admin_status","ActionBar","injectIntl","onReply","onReblog","onFavourite","onBookmark","onDelete","onDirect","onMention","onMute","onMuteConversation","onBlock","onReport","onPin","navigator","text","url","onEmbed","intl","publicStatus","includes","mutingConversation","menu","formatMessage","action","handleEmbed","me","handlePinClick","handleConversationMuteClick","handleDeleteClick","handleRedraftClick","name","handleMentionClick","handleDirectClick","handleMuteClick","handleBlockClick","handleReport","isStaff","accountAdminLink","statusAdminLink","undefined","shareButton","jsx","icon_button","title","icon","handleShare","reblog_disabled","reblog_message","handleReplyClick","disabled","active","handleReblogClick","animate","handleFavouriteClick","handleBookmarkClick","dropdown_menu_container","items","direction","ariaLabel","React","PureComponent","deleteConfirm","deleteMessage","redraftConfirm","redraftMessage","blockConfirm","revealAll","hideAll","detailedStatus","replyConfirm","replyMessage","Status","connect","getStatus","makeGetStatus","params","statusId","ancestorsIds","Immutable","List","descendantsIds","withMutations","mutable","unshift","ids","length","shift","replies","reverse","forEach","askReplyConfirmation","trim","fullscreen","isExpanded","threadExpanded","setExpansion","dispatch","unfavourite","shiftKey","favouriteModal","handleModalFavourite","openModal","message","confirm","onDoNotAsk","changeLocalSetting","onConfirm","replyCompose","unreblog","boostModal","handleModalReblog","unbookmark","withRedraft","_this$props2","deleteModal","deleteStatus","directCompose","mentionCompose","index","time","initMuteModal","unmuteStatus","muteStatus","_this$props3","index_es","values","blockAccount","initReport","handleMoveUp","handleMoveDown","_this$props4","_selectChild","indexOf","_this$props5","isFullscreen","prevRouterProps","_ref","location","mastodonModalOpen","componentDidMount","attachFullscreenListener","onFullScreenChange","fetchStatus","_this$props6","element","querySelectorAll","requestAnimationFrame","scrollIntoView","getDerivedStateFromProps","autoUnfoldCW","focus","renderChildren","list","status_container","onMoveUp","onMoveDown","contextType","_this$props7","componentWillUnmount","detachFullscreenListener","ancestors","descendants","_this$props8","_this$state","column","column_back_button","missing_indicator","handlers","moveUp","handleHotkeyMoveUp","moveDown","handleHotkeyMoveDown","handleHotkeyReply","handleHotkeyFavourite","boost","handleHotkeyBoost","handleHotkeyMention","openProfile","handleHotkeyOpenProfile","toggleSpoiler","handleExpandedToggle","label","column_header","showBackButton","extraButton","aria-label","handleToggleAll","aria-pressed","react_router_scroll_4_es","scrollKey","shouldUpdateScroll","react_default","react_hotkeys_index_es","tabIndex","textForScreenReader","detailed_status","handleOpenMedia","action_bar_ActionBar","handlePin"],"mappings":"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","file":"flavours/glitch/async/status.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Avatar from 'flavours/glitch/components/avatar';\nimport DisplayName from 'flavours/glitch/components/display_name';\nimport StatusContent from 'flavours/glitch/components/status_content';\nimport MediaGallery from 'flavours/glitch/components/media_gallery';\nimport AttachmentList from 'flavours/glitch/components/attachment_list';\nimport { Link } from 'react-router-dom';\nimport { FormattedDate, FormattedNumber } from 'react-intl';\nimport Card from './card';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Video from 'flavours/glitch/features/video';\nimport VisibilityIcon from 'flavours/glitch/components/status_visibility_icon';\nimport scheduleIdleTask from 'flavours/glitch/util/schedule_idle_task';\nimport classNames from 'classnames';\n\nexport default class DetailedStatus extends ImmutablePureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n status: ImmutablePropTypes.map.isRequired,\n settings: ImmutablePropTypes.map.isRequired,\n onOpenMedia: PropTypes.func.isRequired,\n onOpenVideo: PropTypes.func.isRequired,\n onToggleHidden: PropTypes.func.isRequired,\n expanded: PropTypes.bool,\n measureHeight: PropTypes.bool,\n onHeightChange: PropTypes.func,\n domain: PropTypes.string.isRequired,\n compact: PropTypes.bool,\n };\n\n state = {\n height: null,\n };\n\n handleAccountClick = (e) => {\n if (e.button === 0 && !(e.ctrlKey || e.altKey || e.metaKey) && this.context.router) {\n e.preventDefault();\n this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);\n }\n\n e.stopPropagation();\n }\n\n parseClick = (e, destination) => {\n if (e.button === 0 && !(e.ctrlKey || e.altKey || e.metaKey) && this.context.router) {\n e.preventDefault();\n this.context.router.history.push(destination);\n }\n\n e.stopPropagation();\n }\n\n handleOpenVideo = (media, startTime) => {\n this.props.onOpenVideo(media, startTime);\n }\n\n _measureHeight (heightJustChanged) {\n if (this.props.measureHeight && this.node) {\n scheduleIdleTask(() => this.node && this.setState({ height: Math.ceil(this.node.scrollHeight) + 1 }));\n\n if (this.props.onHeightChange && heightJustChanged) {\n this.props.onHeightChange();\n }\n }\n }\n\n setRef = c => {\n this.node = c;\n this._measureHeight();\n }\n\n componentDidUpdate (prevProps, prevState) {\n this._measureHeight(prevState.height !== this.state.height);\n }\n\n handleModalLink = e => {\n e.preventDefault();\n\n let href;\n\n if (e.target.nodeName !== 'A') {\n href = e.target.parentNode.href;\n } else {\n href = e.target.href;\n }\n\n window.open(href, 'mastodon-intent', 'width=445,height=600,resizable=no,menubar=no,status=no,scrollbars=yes');\n }\n\n render () {\n const status = this.props.status.get('reblog') ? this.props.status.get('reblog') : this.props.status;\n const { expanded, onToggleHidden, settings } = this.props;\n const outerStyle = { boxSizing: 'border-box' };\n const { compact } = this.props;\n\n if (!status) {\n return null;\n }\n\n let media = '';\n let mediaIcon = null;\n let applicationLink = '';\n let reblogLink = '';\n let reblogIcon = 'retweet';\n let favouriteLink = '';\n\n if (this.props.measureHeight) {\n outerStyle.height = `${this.state.height}px`;\n }\n\n if (status.get('media_attachments').size > 0) {\n if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) {\n media = <AttachmentList media={status.get('media_attachments')} />;\n } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {\n const video = status.getIn(['media_attachments', 0]);\n media = (\n <Video\n preview={video.get('preview_url')}\n src={video.get('url')}\n alt={video.get('description')}\n inline\n sensitive={status.get('sensitive')}\n letterbox={settings.getIn(['media', 'letterbox'])}\n fullwidth={settings.getIn(['media', 'fullwidth'])}\n preventPlayback={!expanded}\n onOpenVideo={this.handleOpenVideo}\n autoplay\n />\n );\n mediaIcon = 'video-camera';\n } else {\n media = (\n <MediaGallery\n standalone\n sensitive={status.get('sensitive')}\n media={status.get('media_attachments')}\n letterbox={settings.getIn(['media', 'letterbox'])}\n fullwidth={settings.getIn(['media', 'fullwidth'])}\n hidden={!expanded}\n onOpenMedia={this.props.onOpenMedia}\n />\n );\n mediaIcon = 'picture-o';\n }\n } else media = <Card onOpenMedia={this.props.onOpenMedia} card={status.get('card', null)} />;\n\n if (status.get('application')) {\n applicationLink = <span> · <a className='detailed-status__application' href={status.getIn(['application', 'website'])} target='_blank' rel='noopener'>{status.getIn(['application', 'name'])}</a></span>;\n }\n\n if (status.get('visibility') === 'direct') {\n reblogIcon = 'envelope';\n } else if (status.get('visibility') === 'private') {\n reblogIcon = 'lock';\n }\n\n if (status.get('visibility') === 'private') {\n reblogLink = <i className={`fa fa-${reblogIcon}`} />;\n } else if (this.context.router) {\n reblogLink = (\n <Link to={`/statuses/${status.get('id')}/reblogs`} className='detailed-status__link'>\n <i className={`fa fa-${reblogIcon}`} />\n <span className='detailed-status__reblogs'>\n <FormattedNumber value={status.get('reblogs_count')} />\n </span>\n </Link>\n );\n } else {\n reblogLink = (\n <a href={`/interact/${status.get('id')}?type=reblog`} className='detailed-status__link' onClick={this.handleModalLink}>\n <i className={`fa fa-${reblogIcon}`} />\n <span className='detailed-status__reblogs'>\n <FormattedNumber value={status.get('reblogs_count')} />\n </span>\n </a>\n );\n }\n\n if (this.context.router) {\n favouriteLink = (\n <Link to={`/statuses/${status.get('id')}/favourites`} className='detailed-status__link'>\n <i className='fa fa-star' />\n <span className='detailed-status__favorites'>\n <FormattedNumber value={status.get('favourites_count')} />\n </span>\n </Link>\n );\n } else {\n favouriteLink = (\n <a href={`/interact/${status.get('id')}?type=favourite`} className='detailed-status__link' onClick={this.handleModalLink}>\n <i className='fa fa-star' />\n <span className='detailed-status__favorites'>\n <FormattedNumber value={status.get('favourites_count')} />\n </span>\n </a>\n );\n }\n\n return (\n <div style={outerStyle}>\n <div ref={this.setRef} className={classNames('detailed-status', { compact })} data-status-by={status.getIn(['account', 'acct'])}>\n <a href={status.getIn(['account', 'url'])} onClick={this.handleAccountClick} className='detailed-status__display-name'>\n <div className='detailed-status__display-avatar'><Avatar account={status.get('account')} size={48} /></div>\n <DisplayName account={status.get('account')} localDomain={this.props.domain} />\n </a>\n\n <StatusContent\n status={status}\n media={media}\n mediaIcon={mediaIcon}\n expanded={expanded}\n collapsed={false}\n onExpandedToggle={onToggleHidden}\n parseClick={this.parseClick}\n />\n\n <div className='detailed-status__meta'>\n <a className='detailed-status__datetime' href={status.get('url')} target='_blank' rel='noopener'>\n <FormattedDate value={new Date(status.get('created_at'))} hour12={false} year='numeric' month='short' day='2-digit' hour='2-digit' minute='2-digit' />\n </a>{applicationLink} · {reblogLink} · {favouriteLink} · <VisibilityIcon visibility={status.get('visibility')} />\n </div>\n </div>\n </div>\n );\n }\n\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport IconButton from 'flavours/glitch/components/icon_button';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { me, isStaff } from 'flavours/glitch/util/initial_state';\nimport { accountAdminLink, statusAdminLink } from 'flavours/glitch/util/backend_links';\n\nconst messages = defineMessages({\n delete: { id: 'status.delete', defaultMessage: 'Delete' },\n redraft: { id: 'status.redraft', defaultMessage: 'Delete & re-draft' },\n direct: { id: 'status.direct', defaultMessage: 'Direct message @{name}' },\n mention: { id: 'status.mention', defaultMessage: 'Mention @{name}' },\n reply: { id: 'status.reply', defaultMessage: 'Reply' },\n reblog: { id: 'status.reblog', defaultMessage: 'Boost' },\n reblog_private: { id: 'status.reblog_private', defaultMessage: 'Boost to original audience' },\n cannot_reblog: { id: 'status.cannot_reblog', defaultMessage: 'This post cannot be boosted' },\n favourite: { id: 'status.favourite', defaultMessage: 'Favourite' },\n bookmark: { id: 'status.bookmark', defaultMessage: 'Bookmark' },\n mute: { id: 'status.mute', defaultMessage: 'Mute @{name}' },\n muteConversation: { id: 'status.mute_conversation', defaultMessage: 'Mute conversation' },\n unmuteConversation: { id: 'status.unmute_conversation', defaultMessage: 'Unmute conversation' },\n block: { id: 'status.block', defaultMessage: 'Block @{name}' },\n report: { id: 'status.report', defaultMessage: 'Report @{name}' },\n share: { id: 'status.share', defaultMessage: 'Share' },\n pin: { id: 'status.pin', defaultMessage: 'Pin on profile' },\n unpin: { id: 'status.unpin', defaultMessage: 'Unpin from profile' },\n embed: { id: 'status.embed', defaultMessage: 'Embed' },\n admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' },\n admin_status: { id: 'status.admin_status', defaultMessage: 'Open this status in the moderation interface' },\n});\n\n@injectIntl\nexport default class ActionBar extends React.PureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n status: ImmutablePropTypes.map.isRequired,\n onReply: PropTypes.func.isRequired,\n onReblog: PropTypes.func.isRequired,\n onFavourite: PropTypes.func.isRequired,\n onBookmark: PropTypes.func.isRequired,\n onMute: PropTypes.func,\n onMuteConversation: PropTypes.func,\n onBlock: PropTypes.func,\n onDelete: PropTypes.func.isRequired,\n onDirect: PropTypes.func.isRequired,\n onMention: PropTypes.func.isRequired,\n onReport: PropTypes.func,\n onPin: PropTypes.func,\n onEmbed: PropTypes.func,\n intl: PropTypes.object.isRequired,\n };\n\n handleReplyClick = () => {\n this.props.onReply(this.props.status);\n }\n\n handleReblogClick = (e) => {\n this.props.onReblog(this.props.status, e);\n }\n\n handleFavouriteClick = (e) => {\n this.props.onFavourite(this.props.status, e);\n }\n\n handleBookmarkClick = (e) => {\n this.props.onBookmark(this.props.status, e);\n }\n\n handleDeleteClick = () => {\n this.props.onDelete(this.props.status, this.context.router.history);\n }\n\n handleRedraftClick = () => {\n this.props.onDelete(this.props.status, this.context.router.history, true);\n }\n\n handleDirectClick = () => {\n this.props.onDirect(this.props.status.get('account'), this.context.router.history);\n }\n\n handleMentionClick = () => {\n this.props.onMention(this.props.status.get('account'), this.context.router.history);\n }\n\n handleMuteClick = () => {\n this.props.onMute(this.props.status.get('account'));\n }\n\n handleConversationMuteClick = () => {\n this.props.onMuteConversation(this.props.status);\n }\n\n handleBlockClick = () => {\n this.props.onBlock(this.props.status.get('account'));\n }\n\n handleReport = () => {\n this.props.onReport(this.props.status);\n }\n\n handlePinClick = () => {\n this.props.onPin(this.props.status);\n }\n\n handleShare = () => {\n navigator.share({\n text: this.props.status.get('search_index'),\n url: this.props.status.get('url'),\n });\n }\n\n handleEmbed = () => {\n this.props.onEmbed(this.props.status);\n }\n\n render () {\n const { status, intl } = this.props;\n\n const publicStatus = ['public', 'unlisted'].includes(status.get('visibility'));\n const mutingConversation = status.get('muted');\n\n let menu = [];\n\n if (publicStatus) {\n menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });\n menu.push(null);\n }\n\n if (me === status.getIn(['account', 'id'])) {\n if (publicStatus) {\n menu.push({ text: intl.formatMessage(status.get('pinned') ? messages.unpin : messages.pin), action: this.handlePinClick });\n }\n\n menu.push(null);\n menu.push({ text: intl.formatMessage(mutingConversation ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMuteClick });\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick });\n menu.push({ text: intl.formatMessage(messages.redraft), action: this.handleRedraftClick });\n } else {\n menu.push({ text: intl.formatMessage(messages.mention, { name: status.getIn(['account', 'username']) }), action: this.handleMentionClick });\n menu.push({ text: intl.formatMessage(messages.direct, { name: status.getIn(['account', 'username']) }), action: this.handleDirectClick });\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.mute, { name: status.getIn(['account', 'username']) }), action: this.handleMuteClick });\n menu.push({ text: intl.formatMessage(messages.block, { name: status.getIn(['account', 'username']) }), action: this.handleBlockClick });\n menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport });\n if (isStaff && (accountAdminLink || statusAdminLink)) {\n menu.push(null);\n if (accountAdminLink !== undefined) {\n menu.push({\n text: intl.formatMessage(messages.admin_account, { name: status.getIn(['account', 'username']) }),\n href: accountAdminLink(status.getIn(['account', 'id'])),\n });\n }\n if (statusAdminLink !== undefined) {\n menu.push({\n text: intl.formatMessage(messages.admin_status),\n href: statusAdminLink(status.getIn(['account', 'id']), status.get('id')),\n });\n }\n }\n }\n\n const shareButton = ('share' in navigator) && status.get('visibility') === 'public' && (\n <div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.share)} icon='share-alt' onClick={this.handleShare} /></div>\n );\n\n let reblogIcon = 'retweet';\n //if (status.get('visibility') === 'direct') reblogIcon = 'envelope';\n // else if (status.get('visibility') === 'private') reblogIcon = 'lock';\n\n let reblog_disabled = (status.get('visibility') === 'direct' || (status.get('visibility') === 'private' && me !== status.getIn(['account', 'id'])));\n let reblog_message = status.get('visibility') === 'private' ? messages.reblog_private : messages.reblog;\n\n return (\n <div className='detailed-status__action-bar'>\n <div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.reply)} icon={status.get('in_reply_to_id', null) === null ? 'reply' : 'reply-all'} onClick={this.handleReplyClick} /></div>\n <div className='detailed-status__button'><IconButton disabled={reblog_disabled} active={status.get('reblogged')} title={reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(reblog_message)} icon={reblogIcon} onClick={this.handleReblogClick} /></div>\n <div className='detailed-status__button'><IconButton className='star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} /></div>\n {shareButton}\n <div className='detailed-status__button'><IconButton className='bookmark-icon' active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' onClick={this.handleBookmarkClick} /></div>\n\n <div className='detailed-status__action-bar-dropdown'>\n <DropdownMenuContainer size={18} icon='ellipsis-h' items={menu} direction='left' ariaLabel='More' />\n </div>\n </div>\n );\n }\n\n}\n","import Immutable from 'immutable';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { fetchStatus } from 'flavours/glitch/actions/statuses';\nimport MissingIndicator from 'flavours/glitch/components/missing_indicator';\nimport DetailedStatus from './components/detailed_status';\nimport ActionBar from './components/action_bar';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport {\n favourite,\n unfavourite,\n bookmark,\n unbookmark,\n reblog,\n unreblog,\n pin,\n unpin,\n} from 'flavours/glitch/actions/interactions';\nimport {\n replyCompose,\n mentionCompose,\n directCompose,\n} from 'flavours/glitch/actions/compose';\nimport { changeLocalSetting } from 'flavours/glitch/actions/local_settings';\nimport { blockAccount } from 'flavours/glitch/actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from 'flavours/glitch/actions/statuses';\nimport { initMuteModal } from 'flavours/glitch/actions/mutes';\nimport { initReport } from 'flavours/glitch/actions/reports';\nimport { makeGetStatus } from 'flavours/glitch/selectors';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport ColumnBackButton from 'flavours/glitch/components/column_back_button';\nimport ColumnHeader from '../../components/column_header';\nimport StatusContainer from 'flavours/glitch/containers/status_container';\nimport { openModal } from 'flavours/glitch/actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { HotKeys } from 'react-hotkeys';\nimport { boostModal, favouriteModal, deleteModal } from 'flavours/glitch/util/initial_state';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from 'flavours/glitch/util/fullscreen';\nimport { autoUnfoldCW } from 'flavours/glitch/util/content_warning';\nimport { textForScreenReader } from 'flavours/glitch/components/status';\n\nconst messages = defineMessages({\n deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },\n deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },\n redraftConfirm: { id: 'confirmations.redraft.confirm', defaultMessage: 'Delete & redraft' },\n redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.' },\n blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },\n revealAll: { id: 'status.show_more_all', defaultMessage: 'Show more for all' },\n hideAll: { id: 'status.show_less_all', defaultMessage: 'Show less for all' },\n detailedStatus: { id: 'status.detailed_status', defaultMessage: 'Detailed conversation view' },\n replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },\n replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },\n});\n\nconst makeMapStateToProps = () => {\n const getStatus = makeGetStatus();\n\n const mapStateToProps = (state, props) => {\n const status = getStatus(state, { id: props.params.statusId });\n let ancestorsIds = Immutable.List();\n let descendantsIds = Immutable.List();\n\n if (status) {\n ancestorsIds = ancestorsIds.withMutations(mutable => {\n let id = status.get('in_reply_to_id');\n\n while (id) {\n mutable.unshift(id);\n id = state.getIn(['contexts', 'inReplyTos', id]);\n }\n });\n\n descendantsIds = descendantsIds.withMutations(mutable => {\n const ids = [status.get('id')];\n\n while (ids.length > 0) {\n let id = ids.shift();\n const replies = state.getIn(['contexts', 'replies', id]);\n\n if (status.get('id') !== id) {\n mutable.push(id);\n }\n\n if (replies) {\n replies.reverse().forEach(reply => {\n ids.unshift(reply);\n });\n }\n }\n });\n }\n\n return {\n status,\n ancestorsIds,\n descendantsIds,\n settings: state.get('local_settings'),\n askReplyConfirmation: state.getIn(['local_settings', 'confirm_before_clearing_draft']) && state.getIn(['compose', 'text']).trim().length !== 0,\n domain: state.getIn(['meta', 'domain']),\n };\n };\n\n return mapStateToProps;\n};\n\n@injectIntl\n@connect(makeMapStateToProps)\nexport default class Status extends ImmutablePureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n status: ImmutablePropTypes.map,\n settings: ImmutablePropTypes.map.isRequired,\n ancestorsIds: ImmutablePropTypes.list,\n descendantsIds: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n askReplyConfirmation: PropTypes.bool,\n domain: PropTypes.string.isRequired,\n };\n\n state = {\n fullscreen: false,\n isExpanded: undefined,\n threadExpanded: undefined,\n statusId: undefined,\n };\n\n componentDidMount () {\n attachFullscreenListener(this.onFullScreenChange);\n this.props.dispatch(fetchStatus(this.props.params.statusId));\n\n const { status, ancestorsIds } = this.props;\n\n if (status && ancestorsIds && ancestorsIds.size > 0) {\n const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size - 1];\n\n window.requestAnimationFrame(() => {\n element.scrollIntoView(true);\n });\n }\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state.statusId === props.params.statusId || !props.params.statusId) {\n return null;\n }\n\n props.dispatch(fetchStatus(props.params.statusId));\n\n return {\n threadExpanded: undefined,\n isExpanded: autoUnfoldCW(props.settings, props.status),\n statusId: props.params.statusId,\n };\n }\n\n handleExpandedToggle = () => {\n if (this.props.status.get('spoiler_text')) {\n this.setExpansion(!this.state.isExpanded);\n }\n };\n\n handleModalFavourite = (status) => {\n this.props.dispatch(favourite(status));\n }\n\n handleFavouriteClick = (status, e) => {\n if (status.get('favourited')) {\n this.props.dispatch(unfavourite(status));\n } else {\n if ((e && e.shiftKey) || !favouriteModal) {\n this.handleModalFavourite(status);\n } else {\n this.props.dispatch(openModal('FAVOURITE', { status, onFavourite: this.handleModalFavourite }));\n }\n }\n }\n\n handlePin = (status) => {\n if (status.get('pinned')) {\n this.props.dispatch(unpin(status));\n } else {\n this.props.dispatch(pin(status));\n }\n }\n\n handleReplyClick = (status) => {\n let { askReplyConfirmation, dispatch, intl } = this.props;\n if (askReplyConfirmation) {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.replyMessage),\n confirm: intl.formatMessage(messages.replyConfirm),\n onDoNotAsk: () => dispatch(changeLocalSetting(['confirm_before_clearing_draft'], false)),\n onConfirm: () => dispatch(replyCompose(status, this.context.router.history)),\n }));\n } else {\n dispatch(replyCompose(status, this.context.router.history));\n }\n }\n\n handleModalReblog = (status) => {\n this.props.dispatch(reblog(status));\n }\n\n handleReblogClick = (status, e) => {\n if (status.get('reblogged')) {\n this.props.dispatch(unreblog(status));\n } else {\n if ((e && e.shiftKey) || !boostModal) {\n this.handleModalReblog(status);\n } else {\n this.props.dispatch(openModal('BOOST', { status, onReblog: this.handleModalReblog }));\n }\n }\n }\n\n handleBookmarkClick = (status) => {\n if (status.get('bookmarked')) {\n this.props.dispatch(unbookmark(status));\n } else {\n this.props.dispatch(bookmark(status));\n }\n }\n\n handleDeleteClick = (status, history, withRedraft = false) => {\n const { dispatch, intl } = this.props;\n\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id'), history, withRedraft));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(withRedraft ? messages.redraftMessage : messages.deleteMessage),\n confirm: intl.formatMessage(withRedraft ? messages.redraftConfirm : messages.deleteConfirm),\n onConfirm: () => dispatch(deleteStatus(status.get('id'), history, withRedraft)),\n }));\n }\n }\n\n handleDirectClick = (account, router) => {\n this.props.dispatch(directCompose(account, router));\n }\n\n handleMentionClick = (account, router) => {\n this.props.dispatch(mentionCompose(account, router));\n }\n\n handleOpenMedia = (media, index) => {\n this.props.dispatch(openModal('MEDIA', { media, index }));\n }\n\n handleOpenVideo = (media, time) => {\n this.props.dispatch(openModal('VIDEO', { media, time }));\n }\n\n handleMuteClick = (account) => {\n this.props.dispatch(initMuteModal(account));\n }\n\n handleConversationMuteClick = (status) => {\n if (status.get('muted')) {\n this.props.dispatch(unmuteStatus(status.get('id')));\n } else {\n this.props.dispatch(muteStatus(status.get('id')));\n }\n }\n\n handleToggleAll = () => {\n const { isExpanded } = this.state;\n this.setState({ isExpanded: !isExpanded, threadExpanded: !isExpanded });\n }\n\n handleBlockClick = (account) => {\n const { dispatch, intl } = this.props;\n\n dispatch(openModal('CONFIRM', {\n message: <FormattedMessage id='confirmations.block.message' defaultMessage='Are you sure you want to block {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: () => dispatch(blockAccount(account.get('id'))),\n }));\n }\n\n handleReport = (status) => {\n this.props.dispatch(initReport(status.get('account'), status));\n }\n\n handleEmbed = (status) => {\n this.props.dispatch(openModal('EMBED', { url: status.get('url') }));\n }\n\n handleHotkeyMoveUp = () => {\n this.handleMoveUp(this.props.status.get('id'));\n }\n\n handleHotkeyMoveDown = () => {\n this.handleMoveDown(this.props.status.get('id'));\n }\n\n handleHotkeyReply = e => {\n e.preventDefault();\n this.handleReplyClick(this.props.status);\n }\n\n handleHotkeyFavourite = () => {\n this.handleFavouriteClick(this.props.status);\n }\n\n handleHotkeyBoost = () => {\n this.handleReblogClick(this.props.status);\n }\n\n handleHotkeyMention = e => {\n e.preventDefault();\n this.handleMentionClick(this.props.status);\n }\n\n handleHotkeyOpenProfile = () => {\n this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);\n }\n\n handleMoveUp = id => {\n const { status, ancestorsIds, descendantsIds } = this.props;\n\n if (id === status.get('id')) {\n this._selectChild(ancestorsIds.size - 1);\n } else {\n let index = ancestorsIds.indexOf(id);\n\n if (index === -1) {\n index = descendantsIds.indexOf(id);\n this._selectChild(ancestorsIds.size + index);\n } else {\n this._selectChild(index - 1);\n }\n }\n }\n\n handleMoveDown = id => {\n const { status, ancestorsIds, descendantsIds } = this.props;\n\n if (id === status.get('id')) {\n this._selectChild(ancestorsIds.size + 1);\n } else {\n let index = ancestorsIds.indexOf(id);\n\n if (index === -1) {\n index = descendantsIds.indexOf(id);\n this._selectChild(ancestorsIds.size + index + 2);\n } else {\n this._selectChild(index + 1);\n }\n }\n }\n\n _selectChild (index) {\n const element = this.node.querySelectorAll('.focusable')[index];\n\n if (element) {\n element.focus();\n }\n }\n\n renderChildren (list) {\n return list.map(id => (\n <StatusContainer\n key={id}\n id={id}\n expanded={this.state.threadExpanded}\n onMoveUp={this.handleMoveUp}\n onMoveDown={this.handleMoveDown}\n contextType='thread'\n />\n ));\n }\n\n setExpansion = value => {\n this.setState({ isExpanded: value });\n }\n\n setRef = c => {\n this.node = c;\n }\n\n componentDidUpdate (prevProps) {\n if (this.props.params.statusId && (this.props.params.statusId !== prevProps.params.statusId || prevProps.ancestorsIds.size < this.props.ancestorsIds.size)) {\n const { status, ancestorsIds } = this.props;\n\n if (status && ancestorsIds && ancestorsIds.size > 0) {\n const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size - 1];\n\n window.requestAnimationFrame(() => {\n element.scrollIntoView(true);\n });\n }\n }\n }\n\n componentWillUnmount () {\n detachFullscreenListener(this.onFullScreenChange);\n }\n\n onFullScreenChange = () => {\n this.setState({ fullscreen: isFullscreen() });\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n let ancestors, descendants;\n const { setExpansion } = this;\n const { status, settings, ancestorsIds, descendantsIds, intl, domain } = this.props;\n const { fullscreen, isExpanded } = this.state;\n\n if (status === null) {\n return (\n <Column>\n <ColumnBackButton />\n <MissingIndicator />\n </Column>\n );\n }\n\n if (ancestorsIds && ancestorsIds.size > 0) {\n ancestors = <div>{this.renderChildren(ancestorsIds)}</div>;\n }\n\n if (descendantsIds && descendantsIds.size > 0) {\n descendants = <div>{this.renderChildren(descendantsIds)}</div>;\n }\n\n const handlers = {\n moveUp: this.handleHotkeyMoveUp,\n moveDown: this.handleHotkeyMoveDown,\n reply: this.handleHotkeyReply,\n favourite: this.handleHotkeyFavourite,\n boost: this.handleHotkeyBoost,\n mention: this.handleHotkeyMention,\n openProfile: this.handleHotkeyOpenProfile,\n toggleSpoiler: this.handleExpandedToggle,\n };\n\n return (\n <Column label={intl.formatMessage(messages.detailedStatus)}>\n <ColumnHeader\n showBackButton\n extraButton={(\n <button className='column-header__button' title={intl.formatMessage(!isExpanded ? messages.revealAll : messages.hideAll)} aria-label={intl.formatMessage(!isExpanded ? messages.revealAll : messages.hideAll)} onClick={this.handleToggleAll} aria-pressed={!isExpanded ? 'false' : 'true'}><i className={`fa fa-${!isExpanded ? 'eye-slash' : 'eye'}`} /></button>\n )}\n />\n\n <ScrollContainer scrollKey='thread' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className={classNames('scrollable', 'detailed-status__wrapper', { fullscreen })} ref={this.setRef}>\n {ancestors}\n\n <HotKeys handlers={handlers}>\n <div className='focusable' tabIndex='0' aria-label={textForScreenReader(intl, status, false, !status.get('hidden'))}>\n <DetailedStatus\n status={status}\n settings={settings}\n onOpenVideo={this.handleOpenVideo}\n onOpenMedia={this.handleOpenMedia}\n expanded={isExpanded}\n onToggleHidden={this.handleExpandedToggle}\n domain={domain}\n />\n\n <ActionBar\n status={status}\n onReply={this.handleReplyClick}\n onFavourite={this.handleFavouriteClick}\n onReblog={this.handleReblogClick}\n onBookmark={this.handleBookmarkClick}\n onDelete={this.handleDeleteClick}\n onDirect={this.handleDirectClick}\n onMention={this.handleMentionClick}\n onMute={this.handleMuteClick}\n onMuteConversation={this.handleConversationMuteClick}\n onBlock={this.handleBlockClick}\n onReport={this.handleReport}\n onPin={this.handlePin}\n onEmbed={this.handleEmbed}\n />\n </div>\n </HotKeys>\n\n {descendants}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/status/components/detailed_status.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/status/components/action_bar.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/flavours/glitch/features/status/index.js"],"names":["DetailedStatus","height","e","button","ctrlKey","altKey","metaKey","_this","context","router","preventDefault","history","push","props","status","getIn","stopPropagation","destination","media","startTime","onOpenVideo","c","node","_measureHeight","href","target","nodeName","parentNode","window","open","heightJustChanged","_this2","this","measureHeight","scheduleIdleTask","setState","Math","ceil","scrollHeight","onHeightChange","componentDidUpdate","prevProps","prevState","state","render","get","_this$props","expanded","onToggleHidden","settings","outerStyle","boxSizing","compact","mediaIcon","applicationLink","reblogLink","reblogIcon","favouriteLink","size","some","item","Object","_babel_runtime_helpers_esm_jsx__WEBPACK_IMPORTED_MODULE_0__","flavours_glitch_components_attachment_list__WEBPACK_IMPORTED_MODULE_11__","video","flavours_glitch_features_video__WEBPACK_IMPORTED_MODULE_16__","preview","src","alt","inline","sensitive","letterbox","fullwidth","preventPlayback","handleOpenVideo","autoplay","flavours_glitch_components_media_gallery__WEBPACK_IMPORTED_MODULE_10__","standalone","hidden","onOpenMedia","_card__WEBPACK_IMPORTED_MODULE_14__","card","className","rel","react_router_dom__WEBPACK_IMPORTED_MODULE_12__","to","react_intl__WEBPACK_IMPORTED_MODULE_13__","value","onClick","handleModalLink","style","react__WEBPACK_IMPORTED_MODULE_4___default","a","createElement","ref","setRef","classNames","data-status-by","handleAccountClick","flavours_glitch_components_avatar__WEBPACK_IMPORTED_MODULE_7__","account","flavours_glitch_components_display_name__WEBPACK_IMPORTED_MODULE_8__","localDomain","domain","flavours_glitch_components_status_content__WEBPACK_IMPORTED_MODULE_9__","collapsed","onExpandedToggle","parseClick","Date","hour12","year","month","day","hour","minute","flavours_glitch_components_status_visibility_icon__WEBPACK_IMPORTED_MODULE_17__","visibility","ImmutablePureComponent","PropTypes","object","ImmutablePropTypes","map","isRequired","func","bool","string","messages","defineMessages","delete","id","defaultMessage","redraft","direct","mention","reply","reblog","reblog_private","cannot_reblog","favourite","bookmark","mute","muteConversation","unmuteConversation","block","report","share","pin","unpin","embed","admin_account","admin_status","ActionBar","injectIntl","onReply","onReblog","onFavourite","onBookmark","onDelete","onDirect","onMention","onMute","onMuteConversation","onBlock","onReport","onPin","navigator","text","url","onEmbed","intl","publicStatus","includes","mutingConversation","menu","formatMessage","action","handleEmbed","me","handlePinClick","handleConversationMuteClick","handleDeleteClick","handleRedraftClick","name","handleMentionClick","handleDirectClick","handleMuteClick","handleBlockClick","handleReport","isStaff","accountAdminLink","statusAdminLink","undefined","shareButton","jsx","icon_button","title","icon","handleShare","reblog_disabled","reblog_message","handleReplyClick","disabled","active","handleReblogClick","animate","handleFavouriteClick","handleBookmarkClick","dropdown_menu_container","items","direction","ariaLabel","React","PureComponent","deleteConfirm","deleteMessage","redraftConfirm","redraftMessage","blockConfirm","revealAll","hideAll","detailedStatus","replyConfirm","replyMessage","Status","connect","getStatus","makeGetStatus","params","statusId","ancestorsIds","Immutable","List","descendantsIds","withMutations","mutable","unshift","ids","length","shift","replies","reverse","forEach","askReplyConfirmation","trim","fullscreen","isExpanded","threadExpanded","setExpansion","dispatch","unfavourite","shiftKey","favouriteModal","handleModalFavourite","openModal","message","confirm","onDoNotAsk","changeLocalSetting","onConfirm","replyCompose","unreblog","boostModal","handleModalReblog","unbookmark","withRedraft","_this$props2","deleteModal","deleteStatus","directCompose","mentionCompose","index","time","initMuteModal","unmuteStatus","muteStatus","_this$props3","index_es","values","blockAccount","initReport","handleMoveUp","handleMoveDown","_this$props4","_selectChild","indexOf","_this$props5","isFullscreen","prevRouterProps","_ref","location","mastodonModalOpen","componentDidMount","attachFullscreenListener","onFullScreenChange","fetchStatus","_this$props6","element","querySelectorAll","requestAnimationFrame","scrollIntoView","getDerivedStateFromProps","autoUnfoldCW","focus","renderChildren","list","status_container","onMoveUp","onMoveDown","contextType","_this$props7","componentWillUnmount","detachFullscreenListener","ancestors","descendants","_this$props8","_this$state","column","column_back_button","missing_indicator","handlers","moveUp","handleHotkeyMoveUp","moveDown","handleHotkeyMoveDown","handleHotkeyReply","handleHotkeyFavourite","boost","handleHotkeyBoost","handleHotkeyMention","openProfile","handleHotkeyOpenProfile","toggleSpoiler","handleExpandedToggle","label","column_header","showBackButton","extraButton","aria-label","handleToggleAll","aria-pressed","react_router_scroll_4_es","scrollKey","shouldUpdateScroll","react_default","react_hotkeys_index_es","tabIndex","textForScreenReader","detailed_status","handleOpenMedia","action_bar_ActionBar","handlePin"],"mappings":"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","file":"flavours/glitch/async/status.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Avatar from 'flavours/glitch/components/avatar';\nimport DisplayName from 'flavours/glitch/components/display_name';\nimport StatusContent from 'flavours/glitch/components/status_content';\nimport MediaGallery from 'flavours/glitch/components/media_gallery';\nimport AttachmentList from 'flavours/glitch/components/attachment_list';\nimport { Link } from 'react-router-dom';\nimport { FormattedDate, FormattedNumber } from 'react-intl';\nimport Card from './card';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Video from 'flavours/glitch/features/video';\nimport VisibilityIcon from 'flavours/glitch/components/status_visibility_icon';\nimport scheduleIdleTask from 'flavours/glitch/util/schedule_idle_task';\nimport classNames from 'classnames';\n\nexport default class DetailedStatus extends ImmutablePureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n status: ImmutablePropTypes.map.isRequired,\n settings: ImmutablePropTypes.map.isRequired,\n onOpenMedia: PropTypes.func.isRequired,\n onOpenVideo: PropTypes.func.isRequired,\n onToggleHidden: PropTypes.func.isRequired,\n expanded: PropTypes.bool,\n measureHeight: PropTypes.bool,\n onHeightChange: PropTypes.func,\n domain: PropTypes.string.isRequired,\n compact: PropTypes.bool,\n };\n\n state = {\n height: null,\n };\n\n handleAccountClick = (e) => {\n if (e.button === 0 && !(e.ctrlKey || e.altKey || e.metaKey) && this.context.router) {\n e.preventDefault();\n this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);\n }\n\n e.stopPropagation();\n }\n\n parseClick = (e, destination) => {\n if (e.button === 0 && !(e.ctrlKey || e.altKey || e.metaKey) && this.context.router) {\n e.preventDefault();\n this.context.router.history.push(destination);\n }\n\n e.stopPropagation();\n }\n\n handleOpenVideo = (media, startTime) => {\n this.props.onOpenVideo(media, startTime);\n }\n\n _measureHeight (heightJustChanged) {\n if (this.props.measureHeight && this.node) {\n scheduleIdleTask(() => this.node && this.setState({ height: Math.ceil(this.node.scrollHeight) + 1 }));\n\n if (this.props.onHeightChange && heightJustChanged) {\n this.props.onHeightChange();\n }\n }\n }\n\n setRef = c => {\n this.node = c;\n this._measureHeight();\n }\n\n componentDidUpdate (prevProps, prevState) {\n this._measureHeight(prevState.height !== this.state.height);\n }\n\n handleModalLink = e => {\n e.preventDefault();\n\n let href;\n\n if (e.target.nodeName !== 'A') {\n href = e.target.parentNode.href;\n } else {\n href = e.target.href;\n }\n\n window.open(href, 'mastodon-intent', 'width=445,height=600,resizable=no,menubar=no,status=no,scrollbars=yes');\n }\n\n render () {\n const status = this.props.status.get('reblog') ? this.props.status.get('reblog') : this.props.status;\n const { expanded, onToggleHidden, settings } = this.props;\n const outerStyle = { boxSizing: 'border-box' };\n const { compact } = this.props;\n\n if (!status) {\n return null;\n }\n\n let media = '';\n let mediaIcon = null;\n let applicationLink = '';\n let reblogLink = '';\n let reblogIcon = 'retweet';\n let favouriteLink = '';\n\n if (this.props.measureHeight) {\n outerStyle.height = `${this.state.height}px`;\n }\n\n if (status.get('media_attachments').size > 0) {\n if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) {\n media = <AttachmentList media={status.get('media_attachments')} />;\n } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {\n const video = status.getIn(['media_attachments', 0]);\n media = (\n <Video\n preview={video.get('preview_url')}\n src={video.get('url')}\n alt={video.get('description')}\n inline\n sensitive={status.get('sensitive')}\n letterbox={settings.getIn(['media', 'letterbox'])}\n fullwidth={settings.getIn(['media', 'fullwidth'])}\n preventPlayback={!expanded}\n onOpenVideo={this.handleOpenVideo}\n autoplay\n />\n );\n mediaIcon = 'video-camera';\n } else {\n media = (\n <MediaGallery\n standalone\n sensitive={status.get('sensitive')}\n media={status.get('media_attachments')}\n letterbox={settings.getIn(['media', 'letterbox'])}\n fullwidth={settings.getIn(['media', 'fullwidth'])}\n hidden={!expanded}\n onOpenMedia={this.props.onOpenMedia}\n />\n );\n mediaIcon = 'picture-o';\n }\n } else media = <Card onOpenMedia={this.props.onOpenMedia} card={status.get('card', null)} />;\n\n if (status.get('application')) {\n applicationLink = <span> · <a className='detailed-status__application' href={status.getIn(['application', 'website'])} target='_blank' rel='noopener'>{status.getIn(['application', 'name'])}</a></span>;\n }\n\n if (status.get('visibility') === 'direct') {\n reblogIcon = 'envelope';\n } else if (status.get('visibility') === 'private') {\n reblogIcon = 'lock';\n }\n\n if (status.get('visibility') === 'private') {\n reblogLink = <i className={`fa fa-${reblogIcon}`} />;\n } else if (this.context.router) {\n reblogLink = (\n <Link to={`/statuses/${status.get('id')}/reblogs`} className='detailed-status__link'>\n <i className={`fa fa-${reblogIcon}`} />\n <span className='detailed-status__reblogs'>\n <FormattedNumber value={status.get('reblogs_count')} />\n </span>\n </Link>\n );\n } else {\n reblogLink = (\n <a href={`/interact/${status.get('id')}?type=reblog`} className='detailed-status__link' onClick={this.handleModalLink}>\n <i className={`fa fa-${reblogIcon}`} />\n <span className='detailed-status__reblogs'>\n <FormattedNumber value={status.get('reblogs_count')} />\n </span>\n </a>\n );\n }\n\n if (this.context.router) {\n favouriteLink = (\n <Link to={`/statuses/${status.get('id')}/favourites`} className='detailed-status__link'>\n <i className='fa fa-star' />\n <span className='detailed-status__favorites'>\n <FormattedNumber value={status.get('favourites_count')} />\n </span>\n </Link>\n );\n } else {\n favouriteLink = (\n <a href={`/interact/${status.get('id')}?type=favourite`} className='detailed-status__link' onClick={this.handleModalLink}>\n <i className='fa fa-star' />\n <span className='detailed-status__favorites'>\n <FormattedNumber value={status.get('favourites_count')} />\n </span>\n </a>\n );\n }\n\n return (\n <div style={outerStyle}>\n <div ref={this.setRef} className={classNames('detailed-status', { compact })} data-status-by={status.getIn(['account', 'acct'])}>\n <a href={status.getIn(['account', 'url'])} onClick={this.handleAccountClick} className='detailed-status__display-name'>\n <div className='detailed-status__display-avatar'><Avatar account={status.get('account')} size={48} /></div>\n <DisplayName account={status.get('account')} localDomain={this.props.domain} />\n </a>\n\n <StatusContent\n status={status}\n media={media}\n mediaIcon={mediaIcon}\n expanded={expanded}\n collapsed={false}\n onExpandedToggle={onToggleHidden}\n parseClick={this.parseClick}\n />\n\n <div className='detailed-status__meta'>\n <a className='detailed-status__datetime' href={status.get('url')} target='_blank' rel='noopener'>\n <FormattedDate value={new Date(status.get('created_at'))} hour12={false} year='numeric' month='short' day='2-digit' hour='2-digit' minute='2-digit' />\n </a>{applicationLink} · {reblogLink} · {favouriteLink} · <VisibilityIcon visibility={status.get('visibility')} />\n </div>\n </div>\n </div>\n );\n }\n\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport IconButton from 'flavours/glitch/components/icon_button';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { me, isStaff } from 'flavours/glitch/util/initial_state';\nimport { accountAdminLink, statusAdminLink } from 'flavours/glitch/util/backend_links';\n\nconst messages = defineMessages({\n delete: { id: 'status.delete', defaultMessage: 'Delete' },\n redraft: { id: 'status.redraft', defaultMessage: 'Delete & re-draft' },\n direct: { id: 'status.direct', defaultMessage: 'Direct message @{name}' },\n mention: { id: 'status.mention', defaultMessage: 'Mention @{name}' },\n reply: { id: 'status.reply', defaultMessage: 'Reply' },\n reblog: { id: 'status.reblog', defaultMessage: 'Boost' },\n reblog_private: { id: 'status.reblog_private', defaultMessage: 'Boost to original audience' },\n cannot_reblog: { id: 'status.cannot_reblog', defaultMessage: 'This post cannot be boosted' },\n favourite: { id: 'status.favourite', defaultMessage: 'Favourite' },\n bookmark: { id: 'status.bookmark', defaultMessage: 'Bookmark' },\n mute: { id: 'status.mute', defaultMessage: 'Mute @{name}' },\n muteConversation: { id: 'status.mute_conversation', defaultMessage: 'Mute conversation' },\n unmuteConversation: { id: 'status.unmute_conversation', defaultMessage: 'Unmute conversation' },\n block: { id: 'status.block', defaultMessage: 'Block @{name}' },\n report: { id: 'status.report', defaultMessage: 'Report @{name}' },\n share: { id: 'status.share', defaultMessage: 'Share' },\n pin: { id: 'status.pin', defaultMessage: 'Pin on profile' },\n unpin: { id: 'status.unpin', defaultMessage: 'Unpin from profile' },\n embed: { id: 'status.embed', defaultMessage: 'Embed' },\n admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' },\n admin_status: { id: 'status.admin_status', defaultMessage: 'Open this status in the moderation interface' },\n});\n\n@injectIntl\nexport default class ActionBar extends React.PureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n status: ImmutablePropTypes.map.isRequired,\n onReply: PropTypes.func.isRequired,\n onReblog: PropTypes.func.isRequired,\n onFavourite: PropTypes.func.isRequired,\n onBookmark: PropTypes.func.isRequired,\n onMute: PropTypes.func,\n onMuteConversation: PropTypes.func,\n onBlock: PropTypes.func,\n onDelete: PropTypes.func.isRequired,\n onDirect: PropTypes.func.isRequired,\n onMention: PropTypes.func.isRequired,\n onReport: PropTypes.func,\n onPin: PropTypes.func,\n onEmbed: PropTypes.func,\n intl: PropTypes.object.isRequired,\n };\n\n handleReplyClick = () => {\n this.props.onReply(this.props.status);\n }\n\n handleReblogClick = (e) => {\n this.props.onReblog(this.props.status, e);\n }\n\n handleFavouriteClick = (e) => {\n this.props.onFavourite(this.props.status, e);\n }\n\n handleBookmarkClick = (e) => {\n this.props.onBookmark(this.props.status, e);\n }\n\n handleDeleteClick = () => {\n this.props.onDelete(this.props.status, this.context.router.history);\n }\n\n handleRedraftClick = () => {\n this.props.onDelete(this.props.status, this.context.router.history, true);\n }\n\n handleDirectClick = () => {\n this.props.onDirect(this.props.status.get('account'), this.context.router.history);\n }\n\n handleMentionClick = () => {\n this.props.onMention(this.props.status.get('account'), this.context.router.history);\n }\n\n handleMuteClick = () => {\n this.props.onMute(this.props.status.get('account'));\n }\n\n handleConversationMuteClick = () => {\n this.props.onMuteConversation(this.props.status);\n }\n\n handleBlockClick = () => {\n this.props.onBlock(this.props.status.get('account'));\n }\n\n handleReport = () => {\n this.props.onReport(this.props.status);\n }\n\n handlePinClick = () => {\n this.props.onPin(this.props.status);\n }\n\n handleShare = () => {\n navigator.share({\n text: this.props.status.get('search_index'),\n url: this.props.status.get('url'),\n });\n }\n\n handleEmbed = () => {\n this.props.onEmbed(this.props.status);\n }\n\n render () {\n const { status, intl } = this.props;\n\n const publicStatus = ['public', 'unlisted'].includes(status.get('visibility'));\n const mutingConversation = status.get('muted');\n\n let menu = [];\n\n if (publicStatus) {\n menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });\n menu.push(null);\n }\n\n if (me === status.getIn(['account', 'id'])) {\n if (publicStatus) {\n menu.push({ text: intl.formatMessage(status.get('pinned') ? messages.unpin : messages.pin), action: this.handlePinClick });\n }\n\n menu.push(null);\n menu.push({ text: intl.formatMessage(mutingConversation ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMuteClick });\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick });\n menu.push({ text: intl.formatMessage(messages.redraft), action: this.handleRedraftClick });\n } else {\n menu.push({ text: intl.formatMessage(messages.mention, { name: status.getIn(['account', 'username']) }), action: this.handleMentionClick });\n menu.push({ text: intl.formatMessage(messages.direct, { name: status.getIn(['account', 'username']) }), action: this.handleDirectClick });\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.mute, { name: status.getIn(['account', 'username']) }), action: this.handleMuteClick });\n menu.push({ text: intl.formatMessage(messages.block, { name: status.getIn(['account', 'username']) }), action: this.handleBlockClick });\n menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport });\n if (isStaff && (accountAdminLink || statusAdminLink)) {\n menu.push(null);\n if (accountAdminLink !== undefined) {\n menu.push({\n text: intl.formatMessage(messages.admin_account, { name: status.getIn(['account', 'username']) }),\n href: accountAdminLink(status.getIn(['account', 'id'])),\n });\n }\n if (statusAdminLink !== undefined) {\n menu.push({\n text: intl.formatMessage(messages.admin_status),\n href: statusAdminLink(status.getIn(['account', 'id']), status.get('id')),\n });\n }\n }\n }\n\n const shareButton = ('share' in navigator) && status.get('visibility') === 'public' && (\n <div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.share)} icon='share-alt' onClick={this.handleShare} /></div>\n );\n\n let reblogIcon = 'retweet';\n //if (status.get('visibility') === 'direct') reblogIcon = 'envelope';\n // else if (status.get('visibility') === 'private') reblogIcon = 'lock';\n\n let reblog_disabled = (status.get('visibility') === 'direct' || (status.get('visibility') === 'private' && me !== status.getIn(['account', 'id'])));\n let reblog_message = status.get('visibility') === 'private' ? messages.reblog_private : messages.reblog;\n\n return (\n <div className='detailed-status__action-bar'>\n <div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.reply)} icon={status.get('in_reply_to_id', null) === null ? 'reply' : 'reply-all'} onClick={this.handleReplyClick} /></div>\n <div className='detailed-status__button'><IconButton disabled={reblog_disabled} active={status.get('reblogged')} title={reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(reblog_message)} icon={reblogIcon} onClick={this.handleReblogClick} /></div>\n <div className='detailed-status__button'><IconButton className='star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} /></div>\n {shareButton}\n <div className='detailed-status__button'><IconButton className='bookmark-icon' active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' onClick={this.handleBookmarkClick} /></div>\n\n <div className='detailed-status__action-bar-dropdown'>\n <DropdownMenuContainer size={18} icon='ellipsis-h' items={menu} direction='left' ariaLabel='More' />\n </div>\n </div>\n );\n }\n\n}\n","import Immutable from 'immutable';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { fetchStatus } from 'flavours/glitch/actions/statuses';\nimport MissingIndicator from 'flavours/glitch/components/missing_indicator';\nimport DetailedStatus from './components/detailed_status';\nimport ActionBar from './components/action_bar';\nimport Column from 'flavours/glitch/features/ui/components/column';\nimport {\n favourite,\n unfavourite,\n bookmark,\n unbookmark,\n reblog,\n unreblog,\n pin,\n unpin,\n} from 'flavours/glitch/actions/interactions';\nimport {\n replyCompose,\n mentionCompose,\n directCompose,\n} from 'flavours/glitch/actions/compose';\nimport { changeLocalSetting } from 'flavours/glitch/actions/local_settings';\nimport { blockAccount } from 'flavours/glitch/actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from 'flavours/glitch/actions/statuses';\nimport { initMuteModal } from 'flavours/glitch/actions/mutes';\nimport { initReport } from 'flavours/glitch/actions/reports';\nimport { makeGetStatus } from 'flavours/glitch/selectors';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport ColumnBackButton from 'flavours/glitch/components/column_back_button';\nimport ColumnHeader from '../../components/column_header';\nimport StatusContainer from 'flavours/glitch/containers/status_container';\nimport { openModal } from 'flavours/glitch/actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { HotKeys } from 'react-hotkeys';\nimport { boostModal, favouriteModal, deleteModal } from 'flavours/glitch/util/initial_state';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from 'flavours/glitch/util/fullscreen';\nimport { autoUnfoldCW } from 'flavours/glitch/util/content_warning';\nimport { textForScreenReader } from 'flavours/glitch/components/status';\n\nconst messages = defineMessages({\n deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },\n deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },\n redraftConfirm: { id: 'confirmations.redraft.confirm', defaultMessage: 'Delete & redraft' },\n redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.' },\n blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },\n revealAll: { id: 'status.show_more_all', defaultMessage: 'Show more for all' },\n hideAll: { id: 'status.show_less_all', defaultMessage: 'Show less for all' },\n detailedStatus: { id: 'status.detailed_status', defaultMessage: 'Detailed conversation view' },\n replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },\n replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },\n});\n\nconst makeMapStateToProps = () => {\n const getStatus = makeGetStatus();\n\n const mapStateToProps = (state, props) => {\n const status = getStatus(state, { id: props.params.statusId });\n let ancestorsIds = Immutable.List();\n let descendantsIds = Immutable.List();\n\n if (status) {\n ancestorsIds = ancestorsIds.withMutations(mutable => {\n let id = status.get('in_reply_to_id');\n\n while (id) {\n mutable.unshift(id);\n id = state.getIn(['contexts', 'inReplyTos', id]);\n }\n });\n\n descendantsIds = descendantsIds.withMutations(mutable => {\n const ids = [status.get('id')];\n\n while (ids.length > 0) {\n let id = ids.shift();\n const replies = state.getIn(['contexts', 'replies', id]);\n\n if (status.get('id') !== id) {\n mutable.push(id);\n }\n\n if (replies) {\n replies.reverse().forEach(reply => {\n ids.unshift(reply);\n });\n }\n }\n });\n }\n\n return {\n status,\n ancestorsIds,\n descendantsIds,\n settings: state.get('local_settings'),\n askReplyConfirmation: state.getIn(['local_settings', 'confirm_before_clearing_draft']) && state.getIn(['compose', 'text']).trim().length !== 0,\n domain: state.getIn(['meta', 'domain']),\n };\n };\n\n return mapStateToProps;\n};\n\n@injectIntl\n@connect(makeMapStateToProps)\nexport default class Status extends ImmutablePureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n params: PropTypes.object.isRequired,\n dispatch: PropTypes.func.isRequired,\n status: ImmutablePropTypes.map,\n settings: ImmutablePropTypes.map.isRequired,\n ancestorsIds: ImmutablePropTypes.list,\n descendantsIds: ImmutablePropTypes.list,\n intl: PropTypes.object.isRequired,\n askReplyConfirmation: PropTypes.bool,\n domain: PropTypes.string.isRequired,\n };\n\n state = {\n fullscreen: false,\n isExpanded: undefined,\n threadExpanded: undefined,\n statusId: undefined,\n };\n\n componentDidMount () {\n attachFullscreenListener(this.onFullScreenChange);\n this.props.dispatch(fetchStatus(this.props.params.statusId));\n\n const { status, ancestorsIds } = this.props;\n\n if (status && ancestorsIds && ancestorsIds.size > 0) {\n const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size - 1];\n\n window.requestAnimationFrame(() => {\n element.scrollIntoView(true);\n });\n }\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state.statusId === props.params.statusId || !props.params.statusId) {\n return null;\n }\n\n props.dispatch(fetchStatus(props.params.statusId));\n\n return {\n threadExpanded: undefined,\n isExpanded: autoUnfoldCW(props.settings, props.status),\n statusId: props.params.statusId,\n };\n }\n\n handleExpandedToggle = () => {\n if (this.props.status.get('spoiler_text')) {\n this.setExpansion(!this.state.isExpanded);\n }\n };\n\n handleModalFavourite = (status) => {\n this.props.dispatch(favourite(status));\n }\n\n handleFavouriteClick = (status, e) => {\n if (status.get('favourited')) {\n this.props.dispatch(unfavourite(status));\n } else {\n if ((e && e.shiftKey) || !favouriteModal) {\n this.handleModalFavourite(status);\n } else {\n this.props.dispatch(openModal('FAVOURITE', { status, onFavourite: this.handleModalFavourite }));\n }\n }\n }\n\n handlePin = (status) => {\n if (status.get('pinned')) {\n this.props.dispatch(unpin(status));\n } else {\n this.props.dispatch(pin(status));\n }\n }\n\n handleReplyClick = (status) => {\n let { askReplyConfirmation, dispatch, intl } = this.props;\n if (askReplyConfirmation) {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.replyMessage),\n confirm: intl.formatMessage(messages.replyConfirm),\n onDoNotAsk: () => dispatch(changeLocalSetting(['confirm_before_clearing_draft'], false)),\n onConfirm: () => dispatch(replyCompose(status, this.context.router.history)),\n }));\n } else {\n dispatch(replyCompose(status, this.context.router.history));\n }\n }\n\n handleModalReblog = (status) => {\n this.props.dispatch(reblog(status));\n }\n\n handleReblogClick = (status, e) => {\n if (status.get('reblogged')) {\n this.props.dispatch(unreblog(status));\n } else {\n if ((e && e.shiftKey) || !boostModal) {\n this.handleModalReblog(status);\n } else {\n this.props.dispatch(openModal('BOOST', { status, onReblog: this.handleModalReblog }));\n }\n }\n }\n\n handleBookmarkClick = (status) => {\n if (status.get('bookmarked')) {\n this.props.dispatch(unbookmark(status));\n } else {\n this.props.dispatch(bookmark(status));\n }\n }\n\n handleDeleteClick = (status, history, withRedraft = false) => {\n const { dispatch, intl } = this.props;\n\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id'), history, withRedraft));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(withRedraft ? messages.redraftMessage : messages.deleteMessage),\n confirm: intl.formatMessage(withRedraft ? messages.redraftConfirm : messages.deleteConfirm),\n onConfirm: () => dispatch(deleteStatus(status.get('id'), history, withRedraft)),\n }));\n }\n }\n\n handleDirectClick = (account, router) => {\n this.props.dispatch(directCompose(account, router));\n }\n\n handleMentionClick = (account, router) => {\n this.props.dispatch(mentionCompose(account, router));\n }\n\n handleOpenMedia = (media, index) => {\n this.props.dispatch(openModal('MEDIA', { media, index }));\n }\n\n handleOpenVideo = (media, time) => {\n this.props.dispatch(openModal('VIDEO', { media, time }));\n }\n\n handleMuteClick = (account) => {\n this.props.dispatch(initMuteModal(account));\n }\n\n handleConversationMuteClick = (status) => {\n if (status.get('muted')) {\n this.props.dispatch(unmuteStatus(status.get('id')));\n } else {\n this.props.dispatch(muteStatus(status.get('id')));\n }\n }\n\n handleToggleAll = () => {\n const { isExpanded } = this.state;\n this.setState({ isExpanded: !isExpanded, threadExpanded: !isExpanded });\n }\n\n handleBlockClick = (account) => {\n const { dispatch, intl } = this.props;\n\n dispatch(openModal('CONFIRM', {\n message: <FormattedMessage id='confirmations.block.message' defaultMessage='Are you sure you want to block {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: () => dispatch(blockAccount(account.get('id'))),\n }));\n }\n\n handleReport = (status) => {\n this.props.dispatch(initReport(status.get('account'), status));\n }\n\n handleEmbed = (status) => {\n this.props.dispatch(openModal('EMBED', { url: status.get('url') }));\n }\n\n handleHotkeyMoveUp = () => {\n this.handleMoveUp(this.props.status.get('id'));\n }\n\n handleHotkeyMoveDown = () => {\n this.handleMoveDown(this.props.status.get('id'));\n }\n\n handleHotkeyReply = e => {\n e.preventDefault();\n this.handleReplyClick(this.props.status);\n }\n\n handleHotkeyFavourite = () => {\n this.handleFavouriteClick(this.props.status);\n }\n\n handleHotkeyBoost = () => {\n this.handleReblogClick(this.props.status);\n }\n\n handleHotkeyMention = e => {\n e.preventDefault();\n this.handleMentionClick(this.props.status);\n }\n\n handleHotkeyOpenProfile = () => {\n this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);\n }\n\n handleMoveUp = id => {\n const { status, ancestorsIds, descendantsIds } = this.props;\n\n if (id === status.get('id')) {\n this._selectChild(ancestorsIds.size - 1);\n } else {\n let index = ancestorsIds.indexOf(id);\n\n if (index === -1) {\n index = descendantsIds.indexOf(id);\n this._selectChild(ancestorsIds.size + index);\n } else {\n this._selectChild(index - 1);\n }\n }\n }\n\n handleMoveDown = id => {\n const { status, ancestorsIds, descendantsIds } = this.props;\n\n if (id === status.get('id')) {\n this._selectChild(ancestorsIds.size + 1);\n } else {\n let index = ancestorsIds.indexOf(id);\n\n if (index === -1) {\n index = descendantsIds.indexOf(id);\n this._selectChild(ancestorsIds.size + index + 2);\n } else {\n this._selectChild(index + 1);\n }\n }\n }\n\n _selectChild (index) {\n const element = this.node.querySelectorAll('.focusable')[index];\n\n if (element) {\n element.focus();\n }\n }\n\n renderChildren (list) {\n return list.map(id => (\n <StatusContainer\n key={id}\n id={id}\n expanded={this.state.threadExpanded}\n onMoveUp={this.handleMoveUp}\n onMoveDown={this.handleMoveDown}\n contextType='thread'\n />\n ));\n }\n\n setExpansion = value => {\n this.setState({ isExpanded: value });\n }\n\n setRef = c => {\n this.node = c;\n }\n\n componentDidUpdate (prevProps) {\n if (this.props.params.statusId && (this.props.params.statusId !== prevProps.params.statusId || prevProps.ancestorsIds.size < this.props.ancestorsIds.size)) {\n const { status, ancestorsIds } = this.props;\n\n if (status && ancestorsIds && ancestorsIds.size > 0) {\n const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size - 1];\n\n window.requestAnimationFrame(() => {\n element.scrollIntoView(true);\n });\n }\n }\n }\n\n componentWillUnmount () {\n detachFullscreenListener(this.onFullScreenChange);\n }\n\n onFullScreenChange = () => {\n this.setState({ fullscreen: isFullscreen() });\n }\n\n shouldUpdateScroll = (prevRouterProps, { location }) => {\n if ((((prevRouterProps || {}).location || {}).state || {}).mastodonModalOpen) return false;\n return !(location.state && location.state.mastodonModalOpen);\n }\n\n render () {\n let ancestors, descendants;\n const { setExpansion } = this;\n const { status, settings, ancestorsIds, descendantsIds, intl, domain } = this.props;\n const { fullscreen, isExpanded } = this.state;\n\n if (status === null) {\n return (\n <Column>\n <ColumnBackButton />\n <MissingIndicator />\n </Column>\n );\n }\n\n if (ancestorsIds && ancestorsIds.size > 0) {\n ancestors = <div>{this.renderChildren(ancestorsIds)}</div>;\n }\n\n if (descendantsIds && descendantsIds.size > 0) {\n descendants = <div>{this.renderChildren(descendantsIds)}</div>;\n }\n\n const handlers = {\n moveUp: this.handleHotkeyMoveUp,\n moveDown: this.handleHotkeyMoveDown,\n reply: this.handleHotkeyReply,\n favourite: this.handleHotkeyFavourite,\n boost: this.handleHotkeyBoost,\n mention: this.handleHotkeyMention,\n openProfile: this.handleHotkeyOpenProfile,\n toggleSpoiler: this.handleExpandedToggle,\n };\n\n return (\n <Column label={intl.formatMessage(messages.detailedStatus)}>\n <ColumnHeader\n showBackButton\n extraButton={(\n <button className='column-header__button' title={intl.formatMessage(!isExpanded ? messages.revealAll : messages.hideAll)} aria-label={intl.formatMessage(!isExpanded ? messages.revealAll : messages.hideAll)} onClick={this.handleToggleAll} aria-pressed={!isExpanded ? 'false' : 'true'}><i className={`fa fa-${!isExpanded ? 'eye-slash' : 'eye'}`} /></button>\n )}\n />\n\n <ScrollContainer scrollKey='thread' shouldUpdateScroll={this.shouldUpdateScroll}>\n <div className={classNames('scrollable', 'detailed-status__wrapper', { fullscreen })} ref={this.setRef}>\n {ancestors}\n\n <HotKeys handlers={handlers}>\n <div className='focusable' tabIndex='0' aria-label={textForScreenReader(intl, status, false, !status.get('hidden'))}>\n <DetailedStatus\n status={status}\n settings={settings}\n onOpenVideo={this.handleOpenVideo}\n onOpenMedia={this.handleOpenMedia}\n expanded={isExpanded}\n onToggleHidden={this.handleExpandedToggle}\n domain={domain}\n />\n\n <ActionBar\n status={status}\n onReply={this.handleReplyClick}\n onFavourite={this.handleFavouriteClick}\n onReblog={this.handleReblogClick}\n onBookmark={this.handleBookmarkClick}\n onDelete={this.handleDeleteClick}\n onDirect={this.handleDirectClick}\n onMention={this.handleMentionClick}\n onMute={this.handleMuteClick}\n onMuteConversation={this.handleConversationMuteClick}\n onBlock={this.handleBlockClick}\n onReport={this.handleReport}\n onPin={this.handlePin}\n onEmbed={this.handleEmbed}\n />\n </div>\n </HotKeys>\n\n {descendants}\n </div>\n </ScrollContainer>\n </Column>\n );\n }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file |