Changeset View
Changeset View
Standalone View
Standalone View
native/chat/chat.react.js
Show All 29 Lines | import { | ||||
threadMembersWithoutAddedAshoat, | threadMembersWithoutAddedAshoat, | ||||
} from 'lib/shared/thread-utils.js'; | } from 'lib/shared/thread-utils.js'; | ||||
import BackgroundChatThreadList from './background-chat-thread-list.react.js'; | import BackgroundChatThreadList from './background-chat-thread-list.react.js'; | ||||
import ChatHeader from './chat-header.react.js'; | import ChatHeader from './chat-header.react.js'; | ||||
import ChatRouter, { type ChatRouterNavigationHelpers } from './chat-router.js'; | import ChatRouter, { type ChatRouterNavigationHelpers } from './chat-router.js'; | ||||
import ComposeSubchannel from './compose-subchannel.react.js'; | import ComposeSubchannel from './compose-subchannel.react.js'; | ||||
import ComposeThreadButton from './compose-thread-button.react.js'; | import ComposeThreadButton from './compose-thread-button.react.js'; | ||||
import FullScreenThreadMediaGallery from './fullscreen-thread-media-gallery.react.js'; | |||||
import HomeChatThreadList from './home-chat-thread-list.react.js'; | import HomeChatThreadList from './home-chat-thread-list.react.js'; | ||||
import MessageListContainer from './message-list-container.react.js'; | import MessageListContainer from './message-list-container.react.js'; | ||||
import MessageListHeaderTitle from './message-list-header-title.react.js'; | import MessageListHeaderTitle from './message-list-header-title.react.js'; | ||||
import MessageStorePruner from './message-store-pruner.react.js'; | import MessageStorePruner from './message-store-pruner.react.js'; | ||||
import DeleteThread from './settings/delete-thread.react.js'; | import DeleteThread from './settings/delete-thread.react.js'; | ||||
import ThreadSettings from './settings/thread-settings.react.js'; | import ThreadSettings from './settings/thread-settings.react.js'; | ||||
import ThreadScreenPruner from './thread-screen-pruner.react.js'; | import ThreadScreenPruner from './thread-screen-pruner.react.js'; | ||||
import ThreadSettingsButton from './thread-settings-button.react.js'; | import ThreadSettingsButton from './thread-settings-button.react.js'; | ||||
import ThreadSettingsHeaderTitle from './thread-settings-header-title.react.js'; | import ThreadSettingsHeaderTitle from './thread-settings-header-title.react.js'; | ||||
import KeyboardAvoidingView from '../components/keyboard-avoiding-view.react.js'; | import KeyboardAvoidingView from '../components/keyboard-avoiding-view.react.js'; | ||||
import SWMansionIcon from '../components/swmansion-icon.react.js'; | import SWMansionIcon from '../components/swmansion-icon.react.js'; | ||||
import { InputStateContext } from '../input/input-state.js'; | import { InputStateContext } from '../input/input-state.js'; | ||||
import CommunityDrawerButton from '../navigation/community-drawer-button.react.js'; | import CommunityDrawerButton from '../navigation/community-drawer-button.react.js'; | ||||
import type { CommunityDrawerNavigationProp } from '../navigation/community-drawer-navigator.react.js'; | import type { CommunityDrawerNavigationProp } from '../navigation/community-drawer-navigator.react.js'; | ||||
import HeaderBackButton from '../navigation/header-back-button.react.js'; | import HeaderBackButton from '../navigation/header-back-button.react.js'; | ||||
import { defaultStackScreenOptions } from '../navigation/options.js'; | import { defaultStackScreenOptions } from '../navigation/options.js'; | ||||
import { | import { | ||||
ComposeSubchannelRouteName, | ComposeSubchannelRouteName, | ||||
DeleteThreadRouteName, | DeleteThreadRouteName, | ||||
ThreadSettingsRouteName, | ThreadSettingsRouteName, | ||||
FullScreenThreadMediaGalleryRouteName, | |||||
MessageListRouteName, | MessageListRouteName, | ||||
ChatThreadListRouteName, | ChatThreadListRouteName, | ||||
HomeChatThreadListRouteName, | HomeChatThreadListRouteName, | ||||
BackgroundChatThreadListRouteName, | BackgroundChatThreadListRouteName, | ||||
type ScreenParamList, | type ScreenParamList, | ||||
type ChatParamList, | type ChatParamList, | ||||
type ChatTopTabsParamList, | type ChatTopTabsParamList, | ||||
} from '../navigation/route-names.js'; | } from '../navigation/route-names.js'; | ||||
▲ Show 20 Lines • Show All 178 Lines • ▼ Show 20 Lines | const threadSettingsOptions = ({ route }) => ({ | ||||
headerTitle: props => ( | headerTitle: props => ( | ||||
<ThreadSettingsHeaderTitle | <ThreadSettingsHeaderTitle | ||||
threadInfo={route.params.threadInfo} | threadInfo={route.params.threadInfo} | ||||
{...props} | {...props} | ||||
/> | /> | ||||
), | ), | ||||
headerBackTitleVisible: false, | headerBackTitleVisible: false, | ||||
}); | }); | ||||
const fullScreenThreadMediaGalleryOptions = { | |||||
headerTitle: 'All Media', | |||||
headerBackTitleVisible: false, | |||||
}; | |||||
const deleteThreadOptions = { | const deleteThreadOptions = { | ||||
headerTitle: 'Delete chat', | headerTitle: 'Delete chat', | ||||
headerBackTitleVisible: false, | headerBackTitleVisible: false, | ||||
}; | }; | ||||
export type ChatNavigationProp< | export type ChatNavigationProp< | ||||
RouteName: $Keys<ChatParamList> = $Keys<ChatParamList>, | RouteName: $Keys<ChatParamList> = $Keys<ChatParamList>, | ||||
> = { | > = { | ||||
▲ Show 20 Lines • Show All 82 Lines • ▼ Show 20 Lines | <View style={styles.view}> | ||||
options={composeThreadOptions} | options={composeThreadOptions} | ||||
/> | /> | ||||
<Chat.Screen | <Chat.Screen | ||||
name={ThreadSettingsRouteName} | name={ThreadSettingsRouteName} | ||||
component={ThreadSettings} | component={ThreadSettings} | ||||
options={threadSettingsOptions} | options={threadSettingsOptions} | ||||
/> | /> | ||||
<Chat.Screen | <Chat.Screen | ||||
name={FullScreenThreadMediaGalleryRouteName} | |||||
component={FullScreenThreadMediaGallery} | |||||
options={fullScreenThreadMediaGalleryOptions} | |||||
/> | |||||
<Chat.Screen | |||||
name={DeleteThreadRouteName} | name={DeleteThreadRouteName} | ||||
component={DeleteThread} | component={DeleteThread} | ||||
options={deleteThreadOptions} | options={deleteThreadOptions} | ||||
/> | /> | ||||
</Chat.Navigator> | </Chat.Navigator> | ||||
<MessageStorePruner /> | <MessageStorePruner /> | ||||
<ThreadScreenPruner /> | <ThreadScreenPruner /> | ||||
{draftUpdater} | {draftUpdater} | ||||
</KeyboardAvoidingView> | </KeyboardAvoidingView> | ||||
</View> | </View> | ||||
); | ); | ||||
} | } |