import React from 'react' import { firestoreUserById as userById, firestoreMessagesForRoom as messagesForRoom, firestoreAddMessage as addMessage, } from '~/fire' import {withAuth} from '~/fireview' import {Map} from '~/fireview' export default ({room}) => { const messages = messagesForRoom(room) return
} const ChatLog = ({messages}) => 'Loading messages...'} Render={Message} Empty={() => 'No messages here.'} /> const User = ({id}) => displayName || ''} /> const Message = ({from, body, _ref, _user}) =>
: {body}
const ChatEntry = withAuth( ({messages, _user: user}) => user ?
'What?'} Render={DisplayNameEntry} /> {user && user.id} : 'Sign in to say something.' ) const submitMessage = (messages, user) => evt => { evt.preventDefault() addMessage(messages, {from: user.uid, body: evt.target.body.value}) evt.target.body.value = '' } const DisplayNameEntry = ({_ref, displayName}) => const setDisplayName = ref => evt => ref.set({displayName: evt.target.value}, {merge: true})