60 lines
1.7 KiB
JavaScript
60 lines
1.7 KiB
JavaScript
import React, { useState, useGlobal } from 'reactn'
|
|
import { useKeyboard } from '@react-native-community/hooks'
|
|
|
|
import { responsiveHeight } from '../actions/responsiveSizes.js'
|
|
|
|
import Page from '../layouts/Page'
|
|
|
|
import ChatInterface, { onSendMessage } from '../components/ChatInterface'
|
|
import ChatInput from '../components/ChatInput.js'
|
|
import useLayoutType from '../hooks/useLayoutType.js'
|
|
|
|
import { gutters } from '../styles/Style.js'
|
|
|
|
export default ({ navigation }) => {
|
|
const [currentUID] = useGlobal('currentUID')
|
|
const [currentProjectID] = useGlobal('currentProjectID')
|
|
|
|
const [message, setMessage] = useState('')
|
|
|
|
const chatID = `TEST_CHAT_ID`
|
|
|
|
const { isDesktop } = useLayoutType()
|
|
const { keyboardShown = false, keyboardHeight = 0 } = useKeyboard()
|
|
|
|
return (
|
|
<Page headerType={isDesktop ? 'NONE' : 'BASE'}>
|
|
<ChatInterface
|
|
hasChatbot
|
|
chatID={chatID}
|
|
projectID={currentProjectID}
|
|
inputStyle={{ bottom: responsiveHeight(15) }}
|
|
messageListContainerStyle={{ flex: 1 }}
|
|
/>
|
|
|
|
<ChatInput
|
|
chatID={chatID}
|
|
message={message}
|
|
setMessage={setMessage}
|
|
keyboardVerticalOffset={responsiveHeight(15)}
|
|
onSendMessage={async ({ customPayload = {} } = {}) => {
|
|
onSendMessage({
|
|
message,
|
|
setMessage,
|
|
chatID,
|
|
customPayload: { ...customPayload },
|
|
})
|
|
}}
|
|
placeholder={'Laissez un commentaire...'}
|
|
containerStyle={{
|
|
position: 'absolute',
|
|
bottom: gutters * 6 + (keyboardShown ? keyboardHeight : 0),
|
|
right: 0,
|
|
left: 0,
|
|
width: 'auto',
|
|
}}
|
|
/>
|
|
</Page>
|
|
)
|
|
}
|