Reduce code differences with upstream
This commit is contained in:
		
							parent
							
								
									6996b96fab
								
							
						
					
					
						commit
						98cf4b7ba0
					
				| 
						 | 
					@ -66,11 +66,9 @@ export const FOLLOW_REQUESTS_EXPAND_SUCCESS = 'FOLLOW_REQUESTS_EXPAND_SUCCESS';
 | 
				
			||||||
export const FOLLOW_REQUESTS_EXPAND_FAIL    = 'FOLLOW_REQUESTS_EXPAND_FAIL';
 | 
					export const FOLLOW_REQUESTS_EXPAND_FAIL    = 'FOLLOW_REQUESTS_EXPAND_FAIL';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const FOLLOW_REQUEST_AUTHORIZE_REQUEST = 'FOLLOW_REQUEST_AUTHORIZE_REQUEST';
 | 
					export const FOLLOW_REQUEST_AUTHORIZE_REQUEST = 'FOLLOW_REQUEST_AUTHORIZE_REQUEST';
 | 
				
			||||||
export const FOLLOW_REQUEST_AUTHORIZE_SUCCESS = 'FOLLOW_REQUEST_AUTHORIZE_SUCCESS';
 | 
					 | 
				
			||||||
export const FOLLOW_REQUEST_AUTHORIZE_FAIL    = 'FOLLOW_REQUEST_AUTHORIZE_FAIL';
 | 
					export const FOLLOW_REQUEST_AUTHORIZE_FAIL    = 'FOLLOW_REQUEST_AUTHORIZE_FAIL';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const FOLLOW_REQUEST_REJECT_REQUEST = 'FOLLOW_REQUEST_REJECT_REQUEST';
 | 
					export const FOLLOW_REQUEST_REJECT_REQUEST = 'FOLLOW_REQUEST_REJECT_REQUEST';
 | 
				
			||||||
export const FOLLOW_REQUEST_REJECT_SUCCESS = 'FOLLOW_REQUEST_REJECT_SUCCESS';
 | 
					 | 
				
			||||||
export const FOLLOW_REQUEST_REJECT_FAIL    = 'FOLLOW_REQUEST_REJECT_FAIL';
 | 
					export const FOLLOW_REQUEST_REJECT_FAIL    = 'FOLLOW_REQUEST_REJECT_FAIL';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const PINNED_ACCOUNTS_FETCH_REQUEST = 'PINNED_ACCOUNTS_FETCH_REQUEST';
 | 
					export const PINNED_ACCOUNTS_FETCH_REQUEST = 'PINNED_ACCOUNTS_FETCH_REQUEST';
 | 
				
			||||||
| 
						 | 
					@ -93,11 +91,6 @@ export * from './accounts_typed';
 | 
				
			||||||
export function fetchAccount(id) {
 | 
					export function fetchAccount(id) {
 | 
				
			||||||
  return (dispatch, getState) => {
 | 
					  return (dispatch, getState) => {
 | 
				
			||||||
    dispatch(fetchRelationships([id]));
 | 
					    dispatch(fetchRelationships([id]));
 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (getState().getIn(['accounts', id], null) !== null) {
 | 
					 | 
				
			||||||
      return;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    dispatch(fetchAccountRequest(id));
 | 
					    dispatch(fetchAccountRequest(id));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    api(getState).get(`/api/v1/accounts/${id}`).then(response => {
 | 
					    api(getState).get(`/api/v1/accounts/${id}`).then(response => {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
import api from '../api';
 | 
					import api from '../api';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { ensureComposeIsVisible, setComposeToStatus } from './compose';
 | 
					import { ensureComposeIsVisible, setComposeToStatus } from './compose';
 | 
				
			||||||
import { importFetchedStatus, importFetchedStatuses } from './importer';
 | 
					import { importFetchedStatus, importFetchedStatuses, importFetchedAccount } from './importer';
 | 
				
			||||||
import { deleteFromTimelines } from './timelines';
 | 
					import { deleteFromTimelines } from './timelines';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const STATUS_FETCH_REQUEST = 'STATUS_FETCH_REQUEST';
 | 
					export const STATUS_FETCH_REQUEST = 'STATUS_FETCH_REQUEST';
 | 
				
			||||||
| 
						 | 
					@ -138,10 +138,10 @@ export function deleteStatus(id, routerHistory, withRedraft = false) {
 | 
				
			||||||
    api(getState).delete(`/api/v1/statuses/${id}`).then(response => {
 | 
					    api(getState).delete(`/api/v1/statuses/${id}`).then(response => {
 | 
				
			||||||
      dispatch(deleteStatusSuccess(id));
 | 
					      dispatch(deleteStatusSuccess(id));
 | 
				
			||||||
      dispatch(deleteFromTimelines(id));
 | 
					      dispatch(deleteFromTimelines(id));
 | 
				
			||||||
 | 
					      dispatch(importFetchedAccount(response.data.account));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (withRedraft) {
 | 
					      if (withRedraft) {
 | 
				
			||||||
        dispatch(redraft(status, response.data.text, response.data.content_type));
 | 
					        dispatch(redraft(status, response.data.text, response.data.content_type));
 | 
				
			||||||
 | 
					 | 
				
			||||||
        ensureComposeIsVisible(getState, routerHistory);
 | 
					        ensureComposeIsVisible(getState, routerHistory);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }).catch(error => {
 | 
					    }).catch(error => {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,7 +10,6 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
				
			||||||
import LinkIcon from '@/material-icons/400-24px/link.svg?react';
 | 
					import LinkIcon from '@/material-icons/400-24px/link.svg?react';
 | 
				
			||||||
import { Icon }  from 'flavours/glitch/components/icon';
 | 
					import { Icon }  from 'flavours/glitch/components/icon';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
const filename = url => url.split('/').pop().split('#')[0].split('?')[0];
 | 
					const filename = url => url.split('/').pop().split('#')[0].split('?')[0];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default class AttachmentList extends ImmutablePureComponent {
 | 
					export default class AttachmentList extends ImmutablePureComponent {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,7 +16,6 @@ import { Icon }  from 'flavours/glitch/components/icon';
 | 
				
			||||||
import { ButtonInTabsBar, useColumnsContext } from 'flavours/glitch/features/ui/util/columns_context';
 | 
					import { ButtonInTabsBar, useColumnsContext } from 'flavours/glitch/features/ui/util/columns_context';
 | 
				
			||||||
import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
 | 
					import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import { useAppHistory } from './router';
 | 
					import { useAppHistory } from './router';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const messages = defineMessages({
 | 
					const messages = defineMessages({
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,7 +5,6 @@ import { FormattedMessage, injectIntl } from 'react-intl';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import ArrowDropDownIcon from '@/material-icons/400-24px/arrow_drop_down.svg?react';
 | 
					import ArrowDropDownIcon from '@/material-icons/400-24px/arrow_drop_down.svg?react';
 | 
				
			||||||
import { openModal } from 'flavours/glitch/actions/modal';
 | 
					import { openModal } from 'flavours/glitch/actions/modal';
 | 
				
			||||||
import { Icon }  from 'flavours/glitch/components/icon';
 | 
					import { Icon }  from 'flavours/glitch/components/icon';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
import { FormattedMessage } from 'react-intl';
 | 
					import { FormattedMessage } from 'react-intl';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import illustration from 'flavours/glitch/images/elephant_ui_working.svg';
 | 
					import illustration from '@/images/elephant_ui_working.svg';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const RegenerationIndicator = () => (
 | 
					const RegenerationIndicator = () => (
 | 
				
			||||||
  <div className='regeneration-indicator'>
 | 
					  <div className='regeneration-indicator'>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,7 +10,6 @@ import { List as ImmutableList } from 'immutable';
 | 
				
			||||||
import ImmutablePropTypes from 'react-immutable-proptypes';
 | 
					import ImmutablePropTypes from 'react-immutable-proptypes';
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react';
 | 
					import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react';
 | 
				
			||||||
import ExpandMoreIcon from '@/material-icons/400-24px/expand_more.svg?react';
 | 
					import ExpandMoreIcon from '@/material-icons/400-24px/expand_more.svg?react';
 | 
				
			||||||
import { fetchServer, fetchExtendedDescription, fetchDomainBlocks  } from 'flavours/glitch/actions/server';
 | 
					import { fetchServer, fetchExtendedDescription, fetchDomainBlocks  } from 'flavours/glitch/actions/server';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,7 +12,6 @@ import { Blurhash } from 'flavours/glitch/components/blurhash';
 | 
				
			||||||
import { Icon }  from 'flavours/glitch/components/icon';
 | 
					import { Icon }  from 'flavours/glitch/components/icon';
 | 
				
			||||||
import { autoPlayGif, displayMedia, useBlurhash } from 'flavours/glitch/initial_state';
 | 
					import { autoPlayGif, displayMedia, useBlurhash } from 'flavours/glitch/initial_state';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
export default class MediaItem extends ImmutablePureComponent {
 | 
					export default class MediaItem extends ImmutablePureComponent {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  static propTypes = {
 | 
					  static propTypes = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,6 @@ import VolumeUpIcon from '@/material-icons/400-24px/volume_up-fill.svg?react';
 | 
				
			||||||
import { Icon }  from 'flavours/glitch/components/icon';
 | 
					import { Icon }  from 'flavours/glitch/components/icon';
 | 
				
			||||||
import { formatTime, getPointerPosition, fileNameFromURL } from 'flavours/glitch/features/video';
 | 
					import { formatTime, getPointerPosition, fileNameFromURL } from 'flavours/glitch/features/video';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import { Blurhash } from '../../components/blurhash';
 | 
					import { Blurhash } from '../../components/blurhash';
 | 
				
			||||||
import { displayMedia, useBlurhash } from '../../initial_state';
 | 
					import { displayMedia, useBlurhash } from '../../initial_state';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,6 @@ import { Helmet } from 'react-helmet';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import PeopleIcon from '@/material-icons/400-24px/group.svg?react';
 | 
					import PeopleIcon from '@/material-icons/400-24px/group.svg?react';
 | 
				
			||||||
import { DismissableBanner } from 'flavours/glitch/components/dismissable_banner';
 | 
					import { DismissableBanner } from 'flavours/glitch/components/dismissable_banner';
 | 
				
			||||||
import { domain } from 'flavours/glitch/initial_state';
 | 
					import { domain } from 'flavours/glitch/initial_state';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,6 @@ import { List as ImmutableList } from 'immutable';
 | 
				
			||||||
import ImmutablePropTypes from 'react-immutable-proptypes';
 | 
					import ImmutablePropTypes from 'react-immutable-proptypes';
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import PeopleIcon from '@/material-icons/400-24px/group.svg?react';
 | 
					import PeopleIcon from '@/material-icons/400-24px/group.svg?react';
 | 
				
			||||||
import { addColumn, removeColumn, moveColumn, changeColumnParams } from 'flavours/glitch/actions/columns';
 | 
					import { addColumn, removeColumn, moveColumn, changeColumnParams } from 'flavours/glitch/actions/columns';
 | 
				
			||||||
import { fetchDirectory, expandDirectory } from 'flavours/glitch/actions/directory';
 | 
					import { fetchDirectory, expandDirectory } from 'flavours/glitch/actions/directory';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,7 +8,6 @@ import { NavLink, Switch, Route } from 'react-router-dom';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import ExploreIcon from '@/material-icons/400-24px/explore.svg?react';
 | 
					import ExploreIcon from '@/material-icons/400-24px/explore.svg?react';
 | 
				
			||||||
import SearchIcon from '@/material-icons/400-24px/search.svg?react';
 | 
					import SearchIcon from '@/material-icons/400-24px/search.svg?react';
 | 
				
			||||||
import Column from 'flavours/glitch/components/column';
 | 
					import Column from 'flavours/glitch/components/column';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,6 @@ import { List as ImmutableList } from 'immutable';
 | 
				
			||||||
import ImmutablePropTypes from 'react-immutable-proptypes';
 | 
					import ImmutablePropTypes from 'react-immutable-proptypes';
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import FindInPageIcon from '@/material-icons/400-24px/find_in_page.svg?react';
 | 
					import FindInPageIcon from '@/material-icons/400-24px/find_in_page.svg?react';
 | 
				
			||||||
import PeopleIcon from '@/material-icons/400-24px/group.svg?react';
 | 
					import PeopleIcon from '@/material-icons/400-24px/group.svg?react';
 | 
				
			||||||
import TagIcon from '@/material-icons/400-24px/tag.svg?react';
 | 
					import TagIcon from '@/material-icons/400-24px/tag.svg?react';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -180,7 +180,7 @@ class SelectFilter extends PureComponent {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <div className='emoji-mart-search'>
 | 
					        <div className='emoji-mart-search'>
 | 
				
			||||||
          <input type='search' value={searchValue} onChange={this.handleSearchChange} onKeyDown={this.handleSearchKeyDown} placeholder={intl.formatMessage(messages.search)} autoFocus />
 | 
					          <input type='search' value={searchValue} onChange={this.handleSearchChange} onKeyDown={this.handleSearchKeyDown} placeholder={intl.formatMessage(messages.search)} autoFocus />
 | 
				
			||||||
          <button className='emoji-mart-search-icon' disabled={!isSearching} aria-label={intl.formatMessage(messages.clear)} onClick={this.handleClear}>{!isSearching ? loupeIcon : deleteIcon}</button>
 | 
					          <button type='button' className='emoji-mart-search-icon' disabled={!isSearching} aria-label={intl.formatMessage(messages.clear)} onClick={this.handleClear}>{!isSearching ? loupeIcon : deleteIcon}</button>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <div className='language-dropdown__dropdown__results emoji-mart-scroll' role='listbox' ref={this.setListRef}>
 | 
					        <div className='language-dropdown__dropdown__results emoji-mart-scroll' role='listbox' ref={this.setListRef}>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,7 +6,6 @@ import { useIntl, defineMessages, FormattedMessage } from 'react-intl';
 | 
				
			||||||
import { Helmet } from 'react-helmet';
 | 
					import { Helmet } from 'react-helmet';
 | 
				
			||||||
import { NavLink } from 'react-router-dom';
 | 
					import { NavLink } from 'react-router-dom';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import PublicIcon from '@/material-icons/400-24px/public.svg?react';
 | 
					import PublicIcon from '@/material-icons/400-24px/public.svg?react';
 | 
				
			||||||
import { addColumn } from 'flavours/glitch/actions/columns';
 | 
					import { addColumn } from 'flavours/glitch/actions/columns';
 | 
				
			||||||
import { changeSetting } from 'flavours/glitch/actions/settings';
 | 
					import { changeSetting } from 'flavours/glitch/actions/settings';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,7 +8,6 @@ import { Helmet } from 'react-helmet';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import CampaignIcon from '@/material-icons/400-24px/campaign.svg?react';
 | 
					import CampaignIcon from '@/material-icons/400-24px/campaign.svg?react';
 | 
				
			||||||
import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react';
 | 
					import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react';
 | 
				
			||||||
import { fetchAnnouncements, toggleShowAnnouncements } from 'flavours/glitch/actions/announcements';
 | 
					import { fetchAnnouncements, toggleShowAnnouncements } from 'flavours/glitch/actions/announcements';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,6 @@ import { Helmet } from 'react-helmet';
 | 
				
			||||||
import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
					import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import InfoIcon from '@/material-icons/400-24px/info.svg?react';
 | 
					import InfoIcon from '@/material-icons/400-24px/info.svg?react';
 | 
				
			||||||
import Column from 'flavours/glitch/components/column';
 | 
					import Column from 'flavours/glitch/components/column';
 | 
				
			||||||
import ColumnHeader from 'flavours/glitch/components/column_header';
 | 
					import ColumnHeader from 'flavours/glitch/components/column_header';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,6 @@ import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 | 
				
			||||||
import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react';
 | 
					import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react';
 | 
				
			||||||
import { Icon }  from 'flavours/glitch/components/icon';
 | 
					import { Icon }  from 'flavours/glitch/components/icon';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import { removeFromListAdder, addToListAdder } from '../../../actions/lists';
 | 
					import { removeFromListAdder, addToListAdder } from '../../../actions/lists';
 | 
				
			||||||
import { IconButton }  from '../../../components/icon_button';
 | 
					import { IconButton }  from '../../../components/icon_button';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,6 @@ import CancelIcon from '@/material-icons/400-24px/cancel.svg?react';
 | 
				
			||||||
import SearchIcon from '@/material-icons/400-24px/search.svg?react';
 | 
					import SearchIcon from '@/material-icons/400-24px/search.svg?react';
 | 
				
			||||||
import { Icon }  from 'flavours/glitch/components/icon';
 | 
					import { Icon }  from 'flavours/glitch/components/icon';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import { fetchListSuggestions, clearListSuggestions, changeListSuggestions } from '../../../actions/lists';
 | 
					import { fetchListSuggestions, clearListSuggestions, changeListSuggestions } from '../../../actions/lists';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const messages = defineMessages({
 | 
					const messages = defineMessages({
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -222,8 +222,6 @@ class ListTimeline extends PureComponent {
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          )}
 | 
					          )}
 | 
				
			||||||
 | 
					 | 
				
			||||||
          <hr />
 | 
					 | 
				
			||||||
        </ColumnHeader>
 | 
					        </ColumnHeader>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <StatusListContainer
 | 
					        <StatusListContainer
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,6 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 | 
				
			||||||
import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
					import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react';
 | 
					import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react';
 | 
				
			||||||
import { fetchLists } from 'flavours/glitch/actions/lists';
 | 
					import { fetchLists } from 'flavours/glitch/actions/lists';
 | 
				
			||||||
import { LoadingIndicator } from 'flavours/glitch/components/loading_indicator';
 | 
					import { LoadingIndicator } from 'flavours/glitch/components/loading_indicator';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,7 +6,6 @@ import { FormattedMessage } from 'react-intl';
 | 
				
			||||||
import DeleteForeverIcon from '@/material-icons/400-24px/delete_forever.svg?react';
 | 
					import DeleteForeverIcon from '@/material-icons/400-24px/delete_forever.svg?react';
 | 
				
			||||||
import { Icon }  from 'flavours/glitch/components/icon';
 | 
					import { Icon }  from 'flavours/glitch/components/icon';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
export default class ClearColumnButton extends PureComponent {
 | 
					export default class ClearColumnButton extends PureComponent {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  static propTypes = {
 | 
					  static propTypes = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,6 @@ import ReplyAllIcon from '@/material-icons/400-24px/reply_all.svg?react';
 | 
				
			||||||
import StarIcon from '@/material-icons/400-24px/star.svg?react';
 | 
					import StarIcon from '@/material-icons/400-24px/star.svg?react';
 | 
				
			||||||
import { Icon }  from 'flavours/glitch/components/icon';
 | 
					import { Icon }  from 'flavours/glitch/components/icon';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
const tooltips = defineMessages({
 | 
					const tooltips = defineMessages({
 | 
				
			||||||
  mentions: { id: 'notifications.filter.mentions', defaultMessage: 'Mentions' },
 | 
					  mentions: { id: 'notifications.filter.mentions', defaultMessage: 'Mentions' },
 | 
				
			||||||
  favourites: { id: 'notifications.filter.favourites', defaultMessage: 'Favorites' },
 | 
					  favourites: { id: 'notifications.filter.favourites', defaultMessage: 'Favorites' },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,7 +5,6 @@ import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 | 
					import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 | 
				
			||||||
import TuneIcon from '@/material-icons/400-24px/tune.svg?react';
 | 
					import TuneIcon from '@/material-icons/400-24px/tune.svg?react';
 | 
				
			||||||
import { requestBrowserPermission } from 'flavours/glitch/actions/notifications';
 | 
					import { requestBrowserPermission } from 'flavours/glitch/actions/notifications';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,7 +6,6 @@ import ArrowRightAltIcon from '@/material-icons/400-24px/arrow_right_alt.svg?rea
 | 
				
			||||||
import CheckIcon from '@/material-icons/400-24px/done.svg?react';
 | 
					import CheckIcon from '@/material-icons/400-24px/done.svg?react';
 | 
				
			||||||
import { Icon } from 'flavours/glitch/components/icon';
 | 
					import { Icon } from 'flavours/glitch/components/icon';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
export const Step = ({ label, description, icon, iconComponent, completed, onClick, href, to }) => {
 | 
					export const Step = ({ label, description, icon, iconComponent, completed, onClick, href, to }) => {
 | 
				
			||||||
  const content = (
 | 
					  const content = (
 | 
				
			||||||
    <>
 | 
					    <>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,7 +8,6 @@ import { Link, Switch, Route, useHistory } from 'react-router-dom';
 | 
				
			||||||
import { useDispatch } from 'react-redux';
 | 
					import { useDispatch } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import illustration from '@/images/elephant_ui_conversation.svg';
 | 
					import illustration from '@/images/elephant_ui_conversation.svg';
 | 
				
			||||||
import AccountCircleIcon from '@/material-icons/400-24px/account_circle.svg?react';
 | 
					import AccountCircleIcon from '@/material-icons/400-24px/account_circle.svg?react';
 | 
				
			||||||
import ArrowRightAltIcon from '@/material-icons/400-24px/arrow_right_alt.svg?react';
 | 
					import ArrowRightAltIcon from '@/material-icons/400-24px/arrow_right_alt.svg?react';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,6 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 | 
				
			||||||
import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
					import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import OpenInNewIcon from '@/material-icons/400-24px/open_in_new.svg?react';
 | 
					import OpenInNewIcon from '@/material-icons/400-24px/open_in_new.svg?react';
 | 
				
			||||||
import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
 | 
					import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
 | 
				
			||||||
import ReplyIcon from '@/material-icons/400-24px/reply.svg?react';
 | 
					import ReplyIcon from '@/material-icons/400-24px/reply.svg?react';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,7 +8,6 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 | 
				
			||||||
import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
					import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 | 
					import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 | 
				
			||||||
import { Avatar } from 'flavours/glitch/components/avatar';
 | 
					import { Avatar } from 'flavours/glitch/components/avatar';
 | 
				
			||||||
import { DisplayName } from 'flavours/glitch/components/display_name';
 | 
					import { DisplayName } from 'flavours/glitch/components/display_name';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,6 @@ import { connect } from 'react-redux';
 | 
				
			||||||
import PushPinIcon from '@/material-icons/400-24px/push_pin.svg?react';
 | 
					import PushPinIcon from '@/material-icons/400-24px/push_pin.svg?react';
 | 
				
			||||||
import { getStatusList } from 'flavours/glitch/selectors';
 | 
					import { getStatusList } from 'flavours/glitch/selectors';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import { fetchPinnedStatuses } from '../../actions/pin_statuses';
 | 
					import { fetchPinnedStatuses } from '../../actions/pin_statuses';
 | 
				
			||||||
import StatusList from '../../components/status_list';
 | 
					import StatusList from '../../components/status_list';
 | 
				
			||||||
import Column from '../ui/components/column';
 | 
					import Column from '../ui/components/column';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,6 @@ import { Helmet } from 'react-helmet';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import PublicIcon from '@/material-icons/400-24px/public.svg?react';
 | 
					import PublicIcon from '@/material-icons/400-24px/public.svg?react';
 | 
				
			||||||
import { DismissableBanner } from 'flavours/glitch/components/dismissable_banner';
 | 
					import { DismissableBanner } from 'flavours/glitch/components/dismissable_banner';
 | 
				
			||||||
import { domain } from 'flavours/glitch/initial_state';
 | 
					import { domain } from 'flavours/glitch/initial_state';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,7 +14,6 @@ import RefreshIcon from '@/material-icons/400-24px/refresh.svg?react';
 | 
				
			||||||
import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
 | 
					import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
 | 
				
			||||||
import { Icon }  from 'flavours/glitch/components/icon';
 | 
					import { Icon }  from 'flavours/glitch/components/icon';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import { fetchReblogs, expandReblogs } from '../../actions/interactions';
 | 
					import { fetchReblogs, expandReblogs } from '../../actions/interactions';
 | 
				
			||||||
import ColumnHeader from '../../components/column_header';
 | 
					import ColumnHeader from '../../components/column_header';
 | 
				
			||||||
import { LoadingIndicator } from '../../components/loading_indicator';
 | 
					import { LoadingIndicator } from '../../components/loading_indicator';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,7 +6,6 @@ import classNames from 'classnames';
 | 
				
			||||||
import CheckIcon from '@/material-icons/400-24px/done.svg?react';
 | 
					import CheckIcon from '@/material-icons/400-24px/done.svg?react';
 | 
				
			||||||
import { Icon }  from 'flavours/glitch/components/icon';
 | 
					import { Icon }  from 'flavours/glitch/components/icon';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
export default class Option extends PureComponent {
 | 
					export default class Option extends PureComponent {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  static propTypes = {
 | 
					  static propTypes = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,6 +19,7 @@ class StatusCheckBox extends PureComponent {
 | 
				
			||||||
    status: ImmutablePropTypes.map.isRequired,
 | 
					    status: ImmutablePropTypes.map.isRequired,
 | 
				
			||||||
    checked: PropTypes.bool,
 | 
					    checked: PropTypes.bool,
 | 
				
			||||||
    onToggle: PropTypes.func.isRequired,
 | 
					    onToggle: PropTypes.func.isRequired,
 | 
				
			||||||
 | 
					    intl: PropTypes.object.isRequired,
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  handleStatusesToggle = (value, checked) => {
 | 
					  handleStatusesToggle = (value, checked) => {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,8 +17,8 @@ import ReplyAllIcon from '@/material-icons/400-24px/reply_all.svg?react';
 | 
				
			||||||
import StarIcon from '@/material-icons/400-24px/star-fill.svg?react';
 | 
					import StarIcon from '@/material-icons/400-24px/star-fill.svg?react';
 | 
				
			||||||
import StarBorderIcon from '@/material-icons/400-24px/star.svg?react';
 | 
					import StarBorderIcon from '@/material-icons/400-24px/star.svg?react';
 | 
				
			||||||
import RepeatActiveIcon from '@/svg-icons/repeat_active.svg?react';
 | 
					import RepeatActiveIcon from '@/svg-icons/repeat_active.svg?react';
 | 
				
			||||||
import RepeatDisabledIcon from '@/svg-icons/repeat_disabled.svg';
 | 
					import RepeatDisabledIcon from '@/svg-icons/repeat_disabled.svg?react';
 | 
				
			||||||
import RepeatPrivateIcon from '@/svg-icons/repeat_private.svg';
 | 
					import RepeatPrivateIcon from '@/svg-icons/repeat_private.svg?react';
 | 
				
			||||||
import RepeatPrivateActiveIcon from '@/svg-icons/repeat_private_active.svg?react';
 | 
					import RepeatPrivateActiveIcon from '@/svg-icons/repeat_private_active.svg?react';
 | 
				
			||||||
import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_FEDERATION } from 'flavours/glitch/permissions';
 | 
					import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_FEDERATION } from 'flavours/glitch/permissions';
 | 
				
			||||||
import { accountAdminLink, statusAdminLink } from 'flavours/glitch/utils/backend_links';
 | 
					import { accountAdminLink, statusAdminLink } from 'flavours/glitch/utils/backend_links';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,7 +8,6 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 | 
				
			||||||
import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
					import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 | 
					import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 | 
				
			||||||
import { followAccount } from 'flavours/glitch/actions/accounts';
 | 
					import { followAccount } from 'flavours/glitch/actions/accounts';
 | 
				
			||||||
import { Button } from 'flavours/glitch/components/button';
 | 
					import { Button } from 'flavours/glitch/components/button';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,6 @@ import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
					import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 | 
					import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 | 
				
			||||||
import api from 'flavours/glitch/api';
 | 
					import api from 'flavours/glitch/api';
 | 
				
			||||||
import { IconButton } from 'flavours/glitch/components/icon_button';
 | 
					import { IconButton } from 'flavours/glitch/components/icon_button';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,7 +5,6 @@ import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
 | 
				
			||||||
import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
					import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
				
			||||||
import { connect } from 'react-redux';
 | 
					import { connect } from 'react-redux';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 | 
					import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 | 
				
			||||||
import { fetchFilters, createFilter, createFilterStatus } from 'flavours/glitch/actions/filters';
 | 
					import { fetchFilters, createFilter, createFilterStatus } from 'flavours/glitch/actions/filters';
 | 
				
			||||||
import { fetchStatus } from 'flavours/glitch/actions/statuses';
 | 
					import { fetchStatus } from 'flavours/glitch/actions/statuses';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,6 +3,7 @@ import { connect } from 'react-redux';
 | 
				
			||||||
import NotificationsIcon from '@/material-icons/400-24px/notifications-fill.svg?react';
 | 
					import NotificationsIcon from '@/material-icons/400-24px/notifications-fill.svg?react';
 | 
				
			||||||
import { IconWithBadge } from 'flavours/glitch/components/icon_with_badge';
 | 
					import { IconWithBadge } from 'flavours/glitch/components/icon_with_badge';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const mapStateToProps = state => ({
 | 
					const mapStateToProps = state => ({
 | 
				
			||||||
  count: state.getIn(['local_settings', 'notifications', 'tab_badge']) ? state.getIn(['notifications', 'unread']) : 0,
 | 
					  count: state.getIn(['local_settings', 'notifications', 'tab_badge']) ? state.getIn(['notifications', 'unread']) : 0,
 | 
				
			||||||
  id: 'bell',
 | 
					  id: 'bell',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,25 +1,25 @@
 | 
				
			||||||
export function EmojiPicker () {
 | 
					export function EmojiPicker () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/emoji_picker" */'flavours/glitch/features/emoji/emoji_picker');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/emoji_picker" */'../../emoji/emoji_picker');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function Compose () {
 | 
					export function Compose () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/compose" */'flavours/glitch/features/compose');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/compose" */'../../compose');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function Notifications () {
 | 
					export function Notifications () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/notifications" */'flavours/glitch/features/notifications');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/notifications" */'../../notifications');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function HomeTimeline () {
 | 
					export function HomeTimeline () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/home_timeline" */'flavours/glitch/features/home_timeline');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/home_timeline" */'../../home_timeline');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function PublicTimeline () {
 | 
					export function PublicTimeline () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/public_timeline" */'flavours/glitch/features/public_timeline');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/public_timeline" */'../../public_timeline');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function CommunityTimeline () {
 | 
					export function CommunityTimeline () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/community_timeline" */'flavours/glitch/features/community_timeline');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/community_timeline" */'../../community_timeline');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function Firehose () {
 | 
					export function Firehose () {
 | 
				
			||||||
| 
						 | 
					@ -27,177 +27,177 @@ export function Firehose () {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function HashtagTimeline () {
 | 
					export function HashtagTimeline () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/hashtag_timeline" */'flavours/glitch/features/hashtag_timeline');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/hashtag_timeline" */'../../hashtag_timeline');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function ListTimeline () {
 | 
					export function ListTimeline () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/list_timeline" */'flavours/glitch/features/list_timeline');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/list_timeline" */'../../list_timeline');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function Lists () {
 | 
					export function Lists () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/lists" */'flavours/glitch/features/lists');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/lists" */'../../lists');
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function ListEditor () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/list_editor" */'flavours/glitch/features/list_editor');
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function PinnedAccountsEditor () {
 | 
					export function PinnedAccountsEditor () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/pinned_accounts_editor" */'flavours/glitch/features/pinned_accounts_editor');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/pinned_accounts_editor" */'../../pinned_accounts_editor');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function DirectTimeline() {
 | 
					export function DirectTimeline() {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/direct_timeline" */'flavours/glitch/features/direct_timeline');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/direct_timeline" */'../../direct_timeline');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function Status () {
 | 
					export function Status () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/status" */'flavours/glitch/features/status');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/status" */'../../status');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function GettingStarted () {
 | 
					export function GettingStarted () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/getting_started" */'flavours/glitch/features/getting_started');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/getting_started" */'../../getting_started');
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function KeyboardShortcuts () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/keyboard_shortcuts" */'flavours/glitch/features/keyboard_shortcuts');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function PinnedStatuses () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/pinned_statuses" */'flavours/glitch/features/pinned_statuses');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function AccountTimeline () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/account_timeline" */'flavours/glitch/features/account_timeline');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function AccountGallery () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/account_gallery" */'flavours/glitch/features/account_gallery');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function Followers () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/followers" */'flavours/glitch/features/followers');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function Following () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/following" */'flavours/glitch/features/following');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function Reblogs () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/reblogs" */'flavours/glitch/features/reblogs');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function Favourites () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/favourites" */'flavours/glitch/features/favourites');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function FollowRequests () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/follow_requests" */'flavours/glitch/features/follow_requests');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function FavouritedStatuses () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/favourited_statuses" */'flavours/glitch/features/favourited_statuses');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function FollowedTags () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/followed_tags" */'flavours/glitch/features/followed_tags');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function BookmarkedStatuses () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/bookmarked_statuses" */'flavours/glitch/features/bookmarked_statuses');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function Blocks () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/blocks" */'flavours/glitch/features/blocks');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function DomainBlocks () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/domain_blocks" */'flavours/glitch/features/domain_blocks');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function Mutes () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/mutes" */'flavours/glitch/features/mutes');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function MuteModal () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/mute_modal" */'flavours/glitch/features/ui/components/mute_modal');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function BlockModal () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/block_modal" */'flavours/glitch/features/ui/components/block_modal');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function ReportModal () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/report_modal" */'flavours/glitch/features/ui/components/report_modal');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function SettingsModal () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/settings_modal" */'flavours/glitch/features/local_settings');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function MediaGallery () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/media_gallery" */'flavours/glitch/components/media_gallery');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function Video () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/video" */'flavours/glitch/features/video');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function Audio () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "features/glitch/async/audio" */'flavours/glitch/features/audio');
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function EmbedModal () {
 | 
					 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/embed_modal" */'flavours/glitch/features/ui/components/embed_modal');
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function GettingStartedMisc () {
 | 
					export function GettingStartedMisc () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/getting_started_misc" */'flavours/glitch/features/getting_started_misc');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/getting_started_misc" */'../../getting_started_misc');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function KeyboardShortcuts () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/keyboard_shortcuts" */'../../keyboard_shortcuts');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function PinnedStatuses () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/pinned_statuses" */'../../pinned_statuses');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function AccountTimeline () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/account_timeline" */'../../account_timeline');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function AccountGallery () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/account_gallery" */'../../account_gallery');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function Followers () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/followers" */'../../followers');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function Following () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/following" */'../../following');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function Reblogs () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/reblogs" */'../../reblogs');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function Favourites () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/favourites" */'../../favourites');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function FollowRequests () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/follow_requests" */'../../follow_requests');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function FavouritedStatuses () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/favourited_statuses" */'../../favourited_statuses');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function FollowedTags () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/followed_tags" */'../../followed_tags');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function BookmarkedStatuses () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/bookmarked_statuses" */'../../bookmarked_statuses');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function Blocks () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/blocks" */'../../blocks');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function DomainBlocks () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/domain_blocks" */'../../domain_blocks');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function Mutes () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/mutes" */'../../mutes');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function MuteModal () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/mute_modal" */'../components/mute_modal');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function BlockModal () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/block_modal" */'../components/block_modal');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function ReportModal () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/report_modal" */'../components/report_modal');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function SettingsModal () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/settings_modal" */'../../local_settings');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function MediaGallery () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/media_gallery" */'../../../components/media_gallery');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function Video () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/video" */'../../video');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function EmbedModal () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/embed_modal" */'../components/embed_modal');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function ListEditor () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/list_editor" */'../../list_editor');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function ListAdder () {
 | 
					export function ListAdder () {
 | 
				
			||||||
  return import(/* webpackChunkName: "features/glitch/async/list_adder" */'flavours/glitch/features/list_adder');
 | 
					  return import(/* webpackChunkName: "features/glitch/async/list_adder" */'../../list_adder');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function Tesseract () {
 | 
					export function Tesseract () {
 | 
				
			||||||
  return import(/*webpackChunkName: "tesseract" */'tesseract.js');
 | 
					  return import(/*webpackChunkName: "tesseract" */'tesseract.js');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function Audio () {
 | 
				
			||||||
 | 
					  return import(/* webpackChunkName: "features/glitch/async/audio" */'../../audio');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function Directory () {
 | 
					export function Directory () {
 | 
				
			||||||
  return import(/* webpackChunkName: "features/glitch/async/directory" */'flavours/glitch/features/directory');
 | 
					  return import(/* webpackChunkName: "features/glitch/async/directory" */'../../directory');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function Onboarding () {
 | 
					export function Onboarding () {
 | 
				
			||||||
  return import(/* webpackChunkName: "features/glitch/async/onboarding" */'flavours/glitch/features/onboarding');
 | 
					  return import(/* webpackChunkName: "features/glitch/async/onboarding" */'../../onboarding');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function CompareHistoryModal () {
 | 
					export function CompareHistoryModal () {
 | 
				
			||||||
  return import(/*webpackChunkName: "flavours/glitch/async/compare_history_modal" */'flavours/glitch/features/ui/components/compare_history_modal');
 | 
					  return import(/*webpackChunkName: "flavours/glitch/async/compare_history_modal" */'../components/compare_history_modal');
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function FilterModal () {
 | 
					 | 
				
			||||||
  return import(/*webpackChunkName: "flavours/glitch/async/filter_modal" */'flavours/glitch/features/ui/components/filter_modal');
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function Explore () {
 | 
					export function Explore () {
 | 
				
			||||||
  return import(/* webpackChunkName: "flavours/glitch/async/explore" */'flavours/glitch/features/explore');
 | 
					  return import(/* webpackChunkName: "flavours/glitch/async/explore" */'../../explore');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function FilterModal () {
 | 
				
			||||||
 | 
					  return import(/*webpackChunkName: "flavours/glitch/async/filter_modal" */'../components/filter_modal');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function InteractionModal () {
 | 
					export function InteractionModal () {
 | 
				
			||||||
  return import(/*webpackChunkName: "flavours/glitch/async/modals/interaction_modal" */'flavours/glitch/features/interaction_modal');
 | 
					  return import(/*webpackChunkName: "flavours/glitch/async/modals/interaction_modal" */'../../interaction_modal');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function SubscribedLanguagesModal () {
 | 
					export function SubscribedLanguagesModal () {
 | 
				
			||||||
  return import(/*webpackChunkName: "flavours/glitch/async/modals/subscribed_languages_modal" */'flavours/glitch/features/subscribed_languages_modal');
 | 
					  return import(/*webpackChunkName: "flavours/glitch/async/modals/subscribed_languages_modal" */'../../subscribed_languages_modal');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function ClosedRegistrationsModal () {
 | 
					export function ClosedRegistrationsModal () {
 | 
				
			||||||
  return import(/*webpackChunkName: "flavours/glitch/async/modals/closed_registrations_modal" */'flavours/glitch/features/closed_registrations_modal');
 | 
					  return import(/*webpackChunkName: "flavours/glitch/async/modals/closed_registrations_modal" */'../../closed_registrations_modal');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function About () {
 | 
					export function About () {
 | 
				
			||||||
  return import(/*webpackChunkName: "features/glitch/async/about" */'flavours/glitch/features/about');
 | 
					  return import(/*webpackChunkName: "features/glitch/async/about" */'../../about');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function PrivacyPolicy () {
 | 
					export function PrivacyPolicy () {
 | 
				
			||||||
  return import(/*webpackChunkName: "features/glitch/async/privacy_policy" */'flavours/glitch/features/privacy_policy');
 | 
					  return import(/*webpackChunkName: "features/glitch/async/privacy_policy" */'../../privacy_policy');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
		 Before Width: | Height: | Size: 8.3 KiB  | 
| 
						 | 
					@ -45,20 +45,11 @@
 | 
				
			||||||
 * @property {boolean=} use_pending_items
 | 
					 * @property {boolean=} use_pending_items
 | 
				
			||||||
 * @property {string} version
 | 
					 * @property {string} version
 | 
				
			||||||
 * @property {string} sso_redirect
 | 
					 * @property {string} sso_redirect
 | 
				
			||||||
 * @property {boolean} translation_enabled
 | 
					 | 
				
			||||||
 * @property {string} status_page_url
 | 
					 * @property {string} status_page_url
 | 
				
			||||||
 * @property {boolean} system_emoji_font
 | 
					 * @property {boolean} system_emoji_font
 | 
				
			||||||
 * @property {string} default_content_type
 | 
					 * @property {string} default_content_type
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** @type {string} */
 | 
					 | 
				
			||||||
const initialPath = document.querySelector("head meta[name=initialPath]")?.getAttribute("content") ?? '';
 | 
					 | 
				
			||||||
/** @type {boolean} */
 | 
					 | 
				
			||||||
export const hasMultiColumnPath = initialPath === '/'
 | 
					 | 
				
			||||||
  || initialPath === '/getting-started'
 | 
					 | 
				
			||||||
  || initialPath === '/home'
 | 
					 | 
				
			||||||
  || initialPath.startsWith('/deck');
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @typedef InitialState
 | 
					 * @typedef InitialState
 | 
				
			||||||
 * @property {Record<string, import("./api_types/accounts").ApiAccountJSON>} accounts
 | 
					 * @property {Record<string, import("./api_types/accounts").ApiAccountJSON>} accounts
 | 
				
			||||||
| 
						 | 
					@ -74,6 +65,14 @@ const element = document.getElementById('initial-state');
 | 
				
			||||||
/** @type {InitialState | undefined} */
 | 
					/** @type {InitialState | undefined} */
 | 
				
			||||||
const initialState = element?.textContent && JSON.parse(element.textContent);
 | 
					const initialState = element?.textContent && JSON.parse(element.textContent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** @type {string} */
 | 
				
			||||||
 | 
					const initialPath = document.querySelector("head meta[name=initialPath]")?.getAttribute("content") ?? '';
 | 
				
			||||||
 | 
					/** @type {boolean} */
 | 
				
			||||||
 | 
					export const hasMultiColumnPath = initialPath === '/'
 | 
				
			||||||
 | 
					  || initialPath === '/getting-started'
 | 
				
			||||||
 | 
					  || initialPath === '/home'
 | 
				
			||||||
 | 
					  || initialPath.startsWith('/deck');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Glitch-soc-specific “local settings”
 | 
					// Glitch-soc-specific “local settings”
 | 
				
			||||||
if (initialState) {
 | 
					if (initialState) {
 | 
				
			||||||
  try {
 | 
					  try {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,9 +12,6 @@ import { uuid } from '../uuid';
 | 
				
			||||||
const initialState = ImmutableMap({
 | 
					const initialState = ImmutableMap({
 | 
				
			||||||
  saved: true,
 | 
					  saved: true,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  onboarded: false,
 | 
					 | 
				
			||||||
  layout: 'auto',
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  skinTone: 1,
 | 
					  skinTone: 1,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  trends: ImmutableMap({
 | 
					  trends: ImmutableMap({
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue