RNChat is simple chat app for android & iOS using the power of react native & redux RNChat uses firebase as online db & Realm as local db and it's full implemented redux actions & reducers This is my first react native project so don't expect too much professinality
As the gifted chat component doesn't support editing message which I needed it for the progress message So I had to change append function in Gifted Chat component so when I add message with the same _id the component will replace the old message with the new one
The change is here
import { Map } from 'immutable';
const messagesMap = new Map();
static append(currentMessages = [], messages) {
if (!Array.isArray(messages)) {
messages = [messages];
}
messages.forEach((message) => {
messagesMap = messagesMap.set(message._id, message);
});
return messagesMap.sortBy(msg => msg.createdAt).reverse().toArray();
}
you can clone the modified repository here (https://github.com/Blacktoviche/react-native-gifted-chat)
- Firebase
- Realm
- NativeBase
- Gifted Chat
- React Navigation
- node-uuid for react-native
- Immutable
- Popup menu
- Progress indicators
- Clone this repo
npm install
react-native link
- 'You have to setup permissions in xcode & AndroidManifest.xml, go to the components I used to know how'
react-native run-android/run-ios
- [x] send/receive Text
- [x] send/receive Photos
- [-] send/receive Recorded Audio
- [ ] send/receive Videos
- [ ] send/receive Documents
- [ ] send/receive Locations
- [ ] clean code
Twitter @SyrianDeveloper