chore: add IAplicationState, IBaseScreen interfaces and organize code
This commit is contained in:
parent
506c9555ce
commit
3a51ecd243
|
@ -1,37 +1,38 @@
|
||||||
import React from 'react';
|
|
||||||
import { StackNavigationOptions, StackNavigationProp } from '@react-navigation/stack';
|
|
||||||
import { CompositeNavigationProp, RouteProp } from '@react-navigation/core';
|
|
||||||
import { FlatList, Text, View } from 'react-native';
|
|
||||||
import { Q } from '@nozbe/watermelondb';
|
import { Q } from '@nozbe/watermelondb';
|
||||||
import { connect } from 'react-redux';
|
import { CompositeNavigationProp } from '@react-navigation/core';
|
||||||
|
import { StackNavigationOptions, StackNavigationProp } from '@react-navigation/stack';
|
||||||
import { dequal } from 'dequal';
|
import { dequal } from 'dequal';
|
||||||
|
import React from 'react';
|
||||||
|
import { FlatList, Text, View } from 'react-native';
|
||||||
|
import { connect } from 'react-redux';
|
||||||
|
|
||||||
import { ISubscription, SubscriptionType } from '../../definitions/ISubscription';
|
|
||||||
import { IAttachment } from '../../definitions/IAttachment';
|
|
||||||
import RCTextInput from '../../containers/TextInput';
|
|
||||||
import ActivityIndicator from '../../containers/ActivityIndicator';
|
|
||||||
import Markdown from '../../containers/markdown';
|
|
||||||
import debounce from '../../utils/debounce';
|
|
||||||
import RocketChat from '../../lib/rocketchat';
|
|
||||||
import Message from '../../containers/message';
|
|
||||||
import scrollPersistTaps from '../../utils/scrollPersistTaps';
|
|
||||||
import { IMessage } from '../../containers/message/interfaces';
|
|
||||||
import I18n from '../../i18n';
|
|
||||||
import StatusBar from '../../containers/StatusBar';
|
|
||||||
import log from '../../utils/log';
|
|
||||||
import { themes } from '../../constants/colors';
|
import { themes } from '../../constants/colors';
|
||||||
import { withTheme } from '../../theme';
|
import ActivityIndicator from '../../containers/ActivityIndicator';
|
||||||
import { getUserSelector } from '../../selectors/login';
|
|
||||||
import SafeAreaView from '../../containers/SafeAreaView';
|
|
||||||
import * as HeaderButton from '../../containers/HeaderButton';
|
import * as HeaderButton from '../../containers/HeaderButton';
|
||||||
|
import Markdown from '../../containers/markdown';
|
||||||
|
import Message from '../../containers/message';
|
||||||
|
import { IMessage } from '../../containers/message/interfaces';
|
||||||
|
import SafeAreaView from '../../containers/SafeAreaView';
|
||||||
|
import StatusBar from '../../containers/StatusBar';
|
||||||
|
import RCTextInput from '../../containers/TextInput';
|
||||||
|
import { IApplicationState, IBaseScreen } from '../../definitions';
|
||||||
|
import { IAttachment } from '../../definitions/IAttachment';
|
||||||
|
import { ISubscription, SubscriptionType } from '../../definitions/ISubscription';
|
||||||
|
import I18n from '../../i18n';
|
||||||
import database from '../../lib/database';
|
import database from '../../lib/database';
|
||||||
import { sanitizeLikeString } from '../../lib/database/utils';
|
import { sanitizeLikeString } from '../../lib/database/utils';
|
||||||
import getThreadName from '../../lib/methods/getThreadName';
|
|
||||||
import getRoomInfo from '../../lib/methods/getRoomInfo';
|
import getRoomInfo from '../../lib/methods/getRoomInfo';
|
||||||
import { isIOS } from '../../utils/deviceInfo';
|
import getThreadName from '../../lib/methods/getThreadName';
|
||||||
|
import RocketChat from '../../lib/rocketchat';
|
||||||
import { compareServerVersion, methods } from '../../lib/utils';
|
import { compareServerVersion, methods } from '../../lib/utils';
|
||||||
|
import { getUserSelector } from '../../selectors/login';
|
||||||
|
import { ChatsStackParamList, InsideStackParamList } from '../../stacks/types';
|
||||||
|
import { withTheme } from '../../theme';
|
||||||
|
import debounce from '../../utils/debounce';
|
||||||
|
import { isIOS } from '../../utils/deviceInfo';
|
||||||
|
import log from '../../utils/log';
|
||||||
|
import scrollPersistTaps from '../../utils/scrollPersistTaps';
|
||||||
import styles from './styles';
|
import styles from './styles';
|
||||||
import { InsideStackParamList, ChatsStackParamList } from '../../stacks/types';
|
|
||||||
|
|
||||||
const QUERY_SIZE = 50;
|
const QUERY_SIZE = 50;
|
||||||
|
|
||||||
|
@ -49,12 +50,11 @@ interface IRoomInfoParam {
|
||||||
joined: boolean;
|
joined: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface INavigationOption {
|
interface INavigationOption extends IBaseScreen<ChatsStackParamList, 'SearchMessagesView'> {
|
||||||
navigation: CompositeNavigationProp<
|
navigation: CompositeNavigationProp<
|
||||||
StackNavigationProp<ChatsStackParamList, 'SearchMessagesView'>,
|
StackNavigationProp<ChatsStackParamList, 'SearchMessagesView'>,
|
||||||
StackNavigationProp<InsideStackParamList>
|
StackNavigationProp<InsideStackParamList>
|
||||||
>;
|
>;
|
||||||
route: RouteProp<ChatsStackParamList, 'SearchMessagesView'>;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ISearchMessagesViewProps extends INavigationOption {
|
interface ISearchMessagesViewProps extends INavigationOption {
|
||||||
|
@ -67,7 +67,6 @@ interface ISearchMessagesViewProps extends INavigationOption {
|
||||||
extension: string;
|
extension: string;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
theme: string;
|
|
||||||
useRealName: boolean;
|
useRealName: boolean;
|
||||||
}
|
}
|
||||||
class SearchMessagesView extends React.Component<ISearchMessagesViewProps, ISearchMessagesViewState> {
|
class SearchMessagesView extends React.Component<ISearchMessagesViewProps, ISearchMessagesViewState> {
|
||||||
|
@ -318,7 +317,7 @@ class SearchMessagesView extends React.Component<ISearchMessagesViewProps, ISear
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const mapStateToProps = (state: any) => ({
|
const mapStateToProps = (state: IApplicationState) => ({
|
||||||
serverVersion: state.server.version,
|
serverVersion: state.server.version,
|
||||||
baseUrl: state.server.server,
|
baseUrl: state.server.server,
|
||||||
user: getUserSelector(state),
|
user: getUserSelector(state),
|
||||||
|
|
Loading…
Reference in New Issue