Changeset View
Changeset View
Standalone View
Standalone View
web/chat/chat-input-bar.react.js
// @flow | // @flow | ||||
import invariant from 'invariant'; | import invariant from 'invariant'; | ||||
import _difference from 'lodash/fp/difference'; | import _difference from 'lodash/fp/difference'; | ||||
import * as React from 'react'; | import * as React from 'react'; | ||||
import { | import { | ||||
joinThreadActionTypes, | joinThreadActionTypes, | ||||
joinThread, | joinThread, | ||||
newThreadActionTypes, | newThreadActionTypes, | ||||
} from 'lib/actions/thread-actions'; | } from 'lib/actions/thread-actions'; | ||||
import SWMansionIcon from 'lib/components/SWMansionIcon.react.js'; | |||||
import { createLoadingStatusSelector } from 'lib/selectors/loading-selectors'; | import { createLoadingStatusSelector } from 'lib/selectors/loading-selectors'; | ||||
import { | import { | ||||
userStoreSearchIndex, | userStoreSearchIndex, | ||||
relativeMemberInfoSelectorForMembersOfThread, | relativeMemberInfoSelectorForMembersOfThread, | ||||
} from 'lib/selectors/user-selectors'; | } from 'lib/selectors/user-selectors'; | ||||
import { localIDPrefix, trimMessage } from 'lib/shared/message-utils'; | import { localIDPrefix, trimMessage } from 'lib/shared/message-utils'; | ||||
import { | import { | ||||
threadHasPermission, | threadHasPermission, | ||||
Show All 25 Lines | import { | ||||
type InputState, | type InputState, | ||||
type PendingMultimediaUpload, | type PendingMultimediaUpload, | ||||
} from '../input/input-state'; | } from '../input/input-state'; | ||||
import LoadingIndicator from '../loading-indicator.react'; | import LoadingIndicator from '../loading-indicator.react'; | ||||
import { allowedMimeTypeString } from '../media/file-utils'; | import { allowedMimeTypeString } from '../media/file-utils'; | ||||
import Multimedia from '../media/multimedia.react'; | import Multimedia from '../media/multimedia.react'; | ||||
import { useSelector } from '../redux/redux-utils'; | import { useSelector } from '../redux/redux-utils'; | ||||
import { nonThreadCalendarQuery } from '../selectors/nav-selectors'; | import { nonThreadCalendarQuery } from '../selectors/nav-selectors'; | ||||
import SWMansionIcon from '../SWMansionIcon.react'; | |||||
import { webTypeaheadRegex } from '../utils/typeahead-utils'; | import { webTypeaheadRegex } from '../utils/typeahead-utils'; | ||||
import css from './chat-input-bar.css'; | import css from './chat-input-bar.css'; | ||||
import TypeaheadTooltip from './typeahead-tooltip.react'; | import TypeaheadTooltip from './typeahead-tooltip.react'; | ||||
type BaseProps = { | type BaseProps = { | ||||
+threadInfo: ThreadInfo, | +threadInfo: ThreadInfo, | ||||
+inputState: InputState, | +inputState: InputState, | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 579 Lines • Show Last 20 Lines |