Fix some more JS linting issues (#2211)
* Minor refactor and linting fixup in `flavours/glitch/actions/accounts.js` This is some added boilerplate but it's much more consistent with the remaining of the code, and avoids the linting issue. * Fix missing /privacy-policy link in DM warning because of wrongly-named import * Fix unnecessary import * Fix regexp in flavours/glitch/utils/hashtag.js
This commit is contained in:
		@@ -81,7 +81,10 @@ export const PINNED_ACCOUNTS_FETCH_REQUEST = 'PINNED_ACCOUNTS_FETCH_REQUEST';
 | 
			
		||||
export const PINNED_ACCOUNTS_FETCH_SUCCESS = 'PINNED_ACCOUNTS_FETCH_SUCCESS';
 | 
			
		||||
export const PINNED_ACCOUNTS_FETCH_FAIL    = 'PINNED_ACCOUNTS_FETCH_FAIL';
 | 
			
		||||
 | 
			
		||||
export const PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_READY  = 'PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_READY';
 | 
			
		||||
export const PINNED_ACCOUNTS_SUGGESTIONS_FETCH_REQUEST  = 'PINNED_ACCOUNTS_SUGGESTIONS_FETCH_REQUEST';
 | 
			
		||||
export const PINNED_ACCOUNTS_SUGGESTIONS_FETCH_SUCCESS  = 'PINNED_ACCOUNTS_SUGGESTIONS_FETCH_SUCCESS';
 | 
			
		||||
export const PINNED_ACCOUNTS_SUGGESTIONS_FETCH_FAIL     = 'PINNED_ACCOUNTS_SUGGESTIONS_FETCH_FAIL';
 | 
			
		||||
 | 
			
		||||
export const PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CLEAR  = 'PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CLEAR';
 | 
			
		||||
export const PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CHANGE = 'PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CHANGE';
 | 
			
		||||
 | 
			
		||||
@@ -841,6 +844,8 @@ export function fetchPinnedAccountsFail(error) {
 | 
			
		||||
 | 
			
		||||
export function fetchPinnedAccountsSuggestions(q) {
 | 
			
		||||
  return (dispatch, getState) => {
 | 
			
		||||
    dispatch(fetchPinnedAccountsSuggestionsRequest());
 | 
			
		||||
 | 
			
		||||
    const params = {
 | 
			
		||||
      q,
 | 
			
		||||
      resolve: false,
 | 
			
		||||
@@ -850,19 +855,32 @@ export function fetchPinnedAccountsSuggestions(q) {
 | 
			
		||||
 | 
			
		||||
    api(getState).get('/api/v1/accounts/search', { params }).then(response => {
 | 
			
		||||
      dispatch(importFetchedAccounts(response.data));
 | 
			
		||||
      dispatch(fetchPinnedAccountsSuggestionsReady(q, response.data));
 | 
			
		||||
    });
 | 
			
		||||
      dispatch(fetchPinnedAccountsSuggestionsSuccess(q, response.data));
 | 
			
		||||
    }).catch(err => dispatch(fetchPinnedAccountsSuggestionsFail(err)));
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function fetchPinnedAccountsSuggestionsReady(query, accounts) {
 | 
			
		||||
export function fetchPinnedAccountsSuggestionsRequest() {
 | 
			
		||||
  return {
 | 
			
		||||
    type: PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_READY,
 | 
			
		||||
    type: PINNED_ACCOUNTS_SUGGESTIONS_FETCH_REQUEST,
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function fetchPinnedAccountsSuggestionsSuccess(query, accounts) {
 | 
			
		||||
  return {
 | 
			
		||||
    type: PINNED_ACCOUNTS_SUGGESTIONS_FETCH_SUCCESS,
 | 
			
		||||
    query,
 | 
			
		||||
    accounts,
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function fetchPinnedAccountsSuggestionsFail(error) {
 | 
			
		||||
  return {
 | 
			
		||||
    type: PINNED_ACCOUNTS_SUGGESTIONS_FETCH_FAIL,
 | 
			
		||||
    error,
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function clearPinnedAccountsSuggestions() {
 | 
			
		||||
  return {
 | 
			
		||||
    type: PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CLEAR,
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,6 @@ import Icon from 'flavours/glitch/components/icon';
 | 
			
		||||
import IconButton from 'flavours/glitch/components/icon_button';
 | 
			
		||||
import Avatar from 'flavours/glitch/components/avatar';
 | 
			
		||||
import Button from 'flavours/glitch/components/button';
 | 
			
		||||
import { NavLink } from 'react-router-dom';
 | 
			
		||||
import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
 | 
			
		||||
import AccountNoteContainer from '../containers/account_note_container';
 | 
			
		||||
import FollowRequestNoteContainer from '../containers/follow_request_note_container';
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@ import Warning from '../components/warning';
 | 
			
		||||
import PropTypes from 'prop-types';
 | 
			
		||||
import { FormattedMessage } from 'react-intl';
 | 
			
		||||
import { me } from 'flavours/glitch/initial_state';
 | 
			
		||||
import { profileLink, termsLink } from 'flavours/glitch/utils/backend_links';
 | 
			
		||||
import { profileLink, privacyPolicyLink } from 'flavours/glitch/utils/backend_links';
 | 
			
		||||
 | 
			
		||||
const buildHashtagRE = () => {
 | 
			
		||||
  try {
 | 
			
		||||
@@ -49,7 +49,7 @@ const WarningWrapper = ({ needsLockWarning, hashtagWarning, directMessageWarning
 | 
			
		||||
  if (directMessageWarning) {
 | 
			
		||||
    const message = (
 | 
			
		||||
      <span>
 | 
			
		||||
        <FormattedMessage id='compose_form.encryption_warning' defaultMessage='Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.' /> {!!termsLink && <a href={termsLink} target='_blank'><FormattedMessage id='compose_form.direct_message_warning_learn_more' defaultMessage='Learn more' /></a>}
 | 
			
		||||
        <FormattedMessage id='compose_form.encryption_warning' defaultMessage='Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.' /> {!!privacyPolicyLink && <a href={privacyPolicyLink} target='_blank'><FormattedMessage id='compose_form.direct_message_warning_learn_more' defaultMessage='Learn more' /></a>}
 | 
			
		||||
      </span>
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@ import {
 | 
			
		||||
  PINNED_ACCOUNTS_FETCH_REQUEST,
 | 
			
		||||
  PINNED_ACCOUNTS_FETCH_SUCCESS,
 | 
			
		||||
  PINNED_ACCOUNTS_FETCH_FAIL,
 | 
			
		||||
  PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_READY,
 | 
			
		||||
  PINNED_ACCOUNTS_SUGGESTIONS_FETCH_SUCCESS,
 | 
			
		||||
  PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CLEAR,
 | 
			
		||||
  PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CHANGE,
 | 
			
		||||
  ACCOUNT_PIN_SUCCESS,
 | 
			
		||||
@@ -38,10 +38,10 @@ export default function listEditorReducer(state = initialState, action) {
 | 
			
		||||
      map.set('loaded', true);
 | 
			
		||||
      map.set('items', ImmutableList(action.accounts.map(item => item.id)));
 | 
			
		||||
    }));
 | 
			
		||||
  case PINNED_ACCOUNTS_SUGGESTIONS_FETCH_SUCCESS:
 | 
			
		||||
    return state.setIn(['suggestions', 'items'], ImmutableList(action.accounts.map(item => item.id)));
 | 
			
		||||
  case PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CHANGE:
 | 
			
		||||
    return state.setIn(['suggestions', 'value'], action.value);
 | 
			
		||||
  case PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_READY:
 | 
			
		||||
    return state.setIn(['suggestions', 'items'], ImmutableList(action.accounts.map(item => item.id)));
 | 
			
		||||
  case PINNED_ACCOUNTS_EDITOR_SUGGESTIONS_CLEAR:
 | 
			
		||||
    return state.update('suggestions', suggestions => suggestions.withMutations(map => {
 | 
			
		||||
      map.set('items', ImmutableList());
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
export function recoverHashtags (recognizedTags, text) {
 | 
			
		||||
  return recognizedTags.map(tag => {
 | 
			
		||||
    const re = new RegExp(`(?:^|[^/)\w])#(${tag.name})`, 'i');
 | 
			
		||||
    const re = new RegExp(`(?:^|[^/)\\w])#(${tag.name})`, 'i');
 | 
			
		||||
    const matched_hashtag = text.match(re);
 | 
			
		||||
    return matched_hashtag ? matched_hashtag[1] : null;
 | 
			
		||||
  },
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user