Skip to content

Commit 2cf5492

Browse files
authored
Merge pull request #56 from GetStream/main-sync-with-develop
Sync main with develop
2 parents 5c659d7 + 2f2fefe commit 2cf5492

File tree

112 files changed

+5643
-4961
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+5643
-4961
lines changed

projects/SlackClone/.gitignore

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ DerivedData
2020
*.hmap
2121
*.ipa
2222
*.xcuserstate
23+
ios/.xcode.env.local
2324

2425
# Android/IntelliJ
2526
#
@@ -29,6 +30,7 @@ build/
2930
local.properties
3031
*.iml
3132
*.hprof
33+
.cxx/
3234

3335
# node.js
3436
#
@@ -49,9 +51,10 @@ buck-out/
4951
# For more information about the recommended setup visit:
5052
# https://docs.fastlane.tools/best-practices/source-control/
5153

52-
/fastlane/report.xml
53-
/fastlane/Preview.html
54-
/fastlane/screenshots
54+
**/fastlane/report.xml
55+
**/fastlane/Preview.html
56+
**/fastlane/screenshots
57+
**/fastlane/test_output
5558
/dist
5659

5760
# Bundle artifact

projects/SlackClone/.node-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
16

projects/SlackClone/.prettierrc.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module.exports = {
2+
arrowParens: 'avoid',
3+
bracketSameLine: true,
24
bracketSpacing: false,
3-
jsxBracketSameLine: true,
45
singleQuote: true,
56
trailingComma: 'all',
6-
arrowParens: 'avoid',
77
};

projects/SlackClone/App.js

Lines changed: 85 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
1-
import {USER_ID, USER_TOKEN} from 'react-native-dotenv';
2-
import {BottomSheetModalProvider} from '@gorhom/bottom-sheet';
3-
import {createBottomTabNavigator} from '@react-navigation/bottom-tabs';
4-
import {NavigationContainer} from '@react-navigation/native';
5-
import {createStackNavigator} from '@react-navigation/stack';
6-
import React, {useEffect, useState} from 'react';
1+
import { USER_ID, USER_TOKEN } from 'react-native-dotenv';
2+
import { BottomSheetModalProvider } from '@gorhom/bottom-sheet';
3+
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
4+
import { NavigationContainer } from '@react-navigation/native';
5+
import { createStackNavigator } from '@react-navigation/stack';
6+
import React, { useEffect, useState } from 'react';
77
import {
88
ActivityIndicator,
99
Alert,
1010
LogBox,
1111
SafeAreaView,
1212
StyleSheet,
1313
View,
14+
useColorScheme,
1415
} from 'react-native';
15-
import {AppearanceProvider, useColorScheme} from 'react-native-appearance';
1616
import {
1717
SafeAreaProvider,
1818
useSafeAreaInsets,
1919
} from 'react-native-safe-area-context';
20-
import {Chat, OverlayProvider} from 'stream-chat-react-native';
20+
import { Chat, OverlayProvider } from 'stream-chat-react-native';
2121

22-
import {DarkTheme, LightTheme} from './src/appTheme';
23-
import {BottomTabs} from './src/components/BottomTabs';
24-
import {SlackAppContext} from './src/contexts/SlackAppContext';
22+
import { DarkTheme, LightTheme } from './src/appTheme';
23+
import { BottomTabs } from './src/components/BottomTabs';
24+
import { SlackAppContext } from './src/contexts/SlackAppContext';
2525
import useStreamChatTheme from './src/hooks/useStreamChatTheme';
26-
import {ChannelListScreen} from './src/screens/ChannelListScreen/ChannelListScreen';
27-
import {ChannelScreen} from './src/screens/ChannelScreen/ChannelScreen';
28-
import {ChannelSearchScreen} from './src/screens/ChannelSearchScreen/ChannelSearchScreen';
29-
import {JumpToSearchScreen} from './src/screens/ChannelSearchScreen/JumpToSearchScreen';
30-
import {DirectMessagesScreen} from './src/screens/DirectMessagesScreen';
31-
import {DraftsScreen} from './src/screens/DraftsScreen';
32-
import {MentionsScreen} from './src/screens/MentionsScreen/MentionsScreen';
33-
import {MessageSearchScreen} from './src/screens/MessageSearchScreen/MessageSearchScreen';
34-
import {NewMessageScreen} from './src/screens/NewMessageScreen/NewMessageScreen';
35-
import {ProfileScreen} from './src/screens/ProfileScreen';
36-
import {ShareMessageScreen} from './src/screens/ShareMessageScreen/ShareMessageScreen';
37-
import {ThreadScreen} from './src/screens/ThreadScreen';
38-
import {UserPickerModal} from './src/screens/UserPickerModal/UserPickerModal';
39-
import {HEADER_HEIGHT} from './src/utils';
40-
import {ChatClientStore} from './src/utils/ChatClientStore';
26+
import { ChannelListScreen } from './src/screens/ChannelListScreen/ChannelListScreen';
27+
import { ChannelScreen } from './src/screens/ChannelScreen/ChannelScreen';
28+
import { ChannelSearchScreen } from './src/screens/ChannelSearchScreen/ChannelSearchScreen';
29+
import { JumpToSearchScreen } from './src/screens/ChannelSearchScreen/JumpToSearchScreen';
30+
import { DirectMessagesScreen } from './src/screens/DirectMessagesScreen';
31+
import { DraftsScreen } from './src/screens/DraftsScreen';
32+
import { MentionsScreen } from './src/screens/MentionsScreen/MentionsScreen';
33+
import { MessageSearchScreen } from './src/screens/MessageSearchScreen/MessageSearchScreen';
34+
import { NewMessageScreen } from './src/screens/NewMessageScreen/NewMessageScreen';
35+
import { ProfileScreen } from './src/screens/ProfileScreen';
36+
import { ShareMessageScreen } from './src/screens/ShareMessageScreen/ShareMessageScreen';
37+
import { ThreadScreen } from './src/screens/ThreadScreen';
38+
import { UserPickerModal } from './src/screens/UserPickerModal/UserPickerModal';
39+
import { HEADER_HEIGHT } from './src/utils';
40+
import { ChatClientStore } from './src/utils/ChatClientStore';
4141

4242
LogBox.ignoreAllLogs();
4343
const Tab = createBottomTabNavigator();
@@ -97,49 +97,47 @@ export default () => {
9797
return (
9898
<SafeAreaView>
9999
<View style={styles.loadingContainer}>
100-
<ActivityIndicator color="black" size="small" />
100+
<ActivityIndicator color='black' size='small' />
101101
</View>
102102
</SafeAreaView>
103103
);
104104
}
105105

106106
return (
107107
<SafeAreaProvider>
108-
<AppearanceProvider>
109-
<NavigationContainer theme={scheme === 'dark' ? DarkTheme : LightTheme}>
110-
<View style={styles.container}>
111-
<SlackAppContext.Provider
112-
value={{
113-
activeChannel,
114-
activeMessage,
115-
openUserPicker,
116-
setActiveChannel,
117-
setActiveMessage,
118-
switchUser: userId => {
119-
/**
120-
* Dev token generations will only work in case of development mode.
121-
* So please make sure you have auth check disabled, if you are planning to
122-
* check user picker feature.
123-
*/
124-
const token = chatClient.devToken(userId);
125-
setCurrentUser({
126-
id: userId,
127-
token,
128-
}),
129-
setUserPickerVisible(false);
130-
},
131-
}}>
132-
<RootNavigation />
133-
<UserPickerModal
134-
label={'name'}
135-
modalVisible={userPickerVisible}
136-
onRequestClose={closeUserPicker}
137-
onValueChange={closeUserPicker}
138-
/>
139-
</SlackAppContext.Provider>
140-
</View>
141-
</NavigationContainer>
142-
</AppearanceProvider>
108+
<NavigationContainer theme={scheme === 'dark' ? DarkTheme : LightTheme}>
109+
<View style={styles.container}>
110+
<SlackAppContext.Provider
111+
value={{
112+
activeChannel,
113+
activeMessage,
114+
openUserPicker,
115+
setActiveChannel,
116+
setActiveMessage,
117+
switchUser: (userId) => {
118+
/**
119+
* Dev token generations will only work in case of development mode.
120+
* So please make sure you have auth check disabled, if you are planning to
121+
* check user picker feature.
122+
*/
123+
const token = chatClient.devToken(userId);
124+
setCurrentUser({
125+
id: userId,
126+
token,
127+
}),
128+
setUserPickerVisible(false);
129+
},
130+
}}>
131+
<RootNavigation />
132+
<UserPickerModal
133+
label={'name'}
134+
modalVisible={userPickerVisible}
135+
onRequestClose={closeUserPicker}
136+
onValueChange={closeUserPicker}
137+
/>
138+
</SlackAppContext.Provider>
139+
</View>
140+
</NavigationContainer>
143141
</SafeAreaProvider>
144142
);
145143
};
@@ -148,56 +146,56 @@ const ModalStackNavigator = () => (
148146
<ModalStack.Navigator>
149147
<ModalStack.Screen
150148
component={ChannelSearchScreen}
151-
name="ChannelSearchScreen"
152-
options={{headerShown: false}}
149+
name='ChannelSearchScreen'
150+
options={{ headerShown: false }}
153151
/>
154152
<ModalStack.Screen
155153
component={JumpToSearchScreen}
156-
name="JumpToSearchScreen"
157-
options={{headerShown: false}}
154+
name='JumpToSearchScreen'
155+
options={{ headerShown: false }}
158156
/>
159157
<ModalStack.Screen
160158
component={NewMessageScreen}
161-
name="NewMessageScreen"
162-
options={{headerShown: false}}
159+
name='NewMessageScreen'
160+
options={{ headerShown: false }}
163161
/>
164162
<ModalStack.Screen
165163
component={ShareMessageScreen}
166-
name="ShareMessageScreen"
167-
options={{headerShown: false}}
164+
name='ShareMessageScreen'
165+
options={{ headerShown: false }}
168166
/>
169167
</ModalStack.Navigator>
170168
);
171169

172170
const HomeStackNavigator = () => (
173-
<HomeStack.Navigator initialRouteName="ChannelListScreen">
171+
<HomeStack.Navigator initialRouteName='ChannelListScreen'>
174172
<HomeStack.Screen
175173
component={ChannelListScreen}
176-
name="ChannelListScreen"
177-
options={{headerShown: false}}
174+
name='ChannelListScreen'
175+
options={{ headerShown: false }}
178176
/>
179177
<HomeStack.Screen
180178
component={ChannelScreen}
181-
name="ChannelScreen"
182-
options={{headerShown: false}}
179+
name='ChannelScreen'
180+
options={{ headerShown: false }}
183181
/>
184182
<HomeStack.Screen
185183
component={DraftsScreen}
186-
name="DraftsScreen"
187-
options={{headerShown: false}}
184+
name='DraftsScreen'
185+
options={{ headerShown: false }}
188186
/>
189187
<HomeStack.Screen
190188
component={ThreadScreen}
191-
name="ThreadScreen"
192-
options={{headerShown: false}}
189+
name='ThreadScreen'
190+
options={{ headerShown: false }}
193191
/>
194192
</HomeStack.Navigator>
195193
);
196194

197195
const TabNavigation = () => (
198196
<BottomSheetModalProvider>
199-
<Tab.Navigator tabBar={props => <BottomTabs {...props} />}>
200-
<Tab.Screen component={HomeStackNavigator} name="home" />
197+
<Tab.Navigator tabBar={(props) => <BottomTabs {...props} />}>
198+
<Tab.Screen component={HomeStackNavigator} name='home' />
201199
<Tab.Screen component={DirectMessagesScreen} name={'dms'} />
202200
<Tab.Screen component={MentionsScreen} name={'mentions'} />
203201
<Tab.Screen component={MessageSearchScreen} name={'search'} />
@@ -208,21 +206,21 @@ const TabNavigation = () => (
208206

209207
const RootNavigation = () => {
210208
const chatStyles = useStreamChatTheme();
211-
const {bottom, top} = useSafeAreaInsets();
209+
const { bottom, top } = useSafeAreaInsets();
212210

213211
return (
214212
<OverlayProvider bottomInset={bottom + HEADER_HEIGHT} topInset={top}>
215213
<Chat client={ChatClientStore.client} style={chatStyles}>
216-
<RootStack.Navigator mode="modal">
214+
<RootStack.Navigator mode='modal'>
217215
<RootStack.Screen
218216
component={TabNavigation}
219-
name="Tabs"
220-
options={{headerShown: false}}
217+
name='Tabs'
218+
options={{ headerShown: false }}
221219
/>
222220
<RootStack.Screen
223221
component={ModalStackNavigator}
224222
name={'Modals'}
225-
options={{headerShown: false}}
223+
options={{ headerShown: false }}
226224
/>
227225
</RootStack.Navigator>
228226
</Chat>
@@ -231,7 +229,7 @@ const RootNavigation = () => {
231229
};
232230

233231
const styles = StyleSheet.create({
234-
channelScreenContainer: {flexDirection: 'column', height: '100%'},
232+
channelScreenContainer: { flexDirection: 'column', height: '100%' },
235233
channelScreenSaveAreaView: {
236234
backgroundColor: 'white',
237235
},

0 commit comments

Comments
 (0)