blob: 96d7bdc45b706e053c0d4c809cd7f21cd3f347e8 [file] [log] [blame]
Adrien Béraud35e7d7c2021-04-13 03:28:39 -04001import React from 'react';
Adrien Béraudab519ff2022-05-03 15:34:48 -04002import { useNavigate } from "react-router-dom";
Adrien Béraud35e7d7c2021-04-13 03:28:39 -04003
Adrien Béraudab519ff2022-05-03 15:34:48 -04004import { Box, Container, Fab, Card, CardContent, Typography } from '@mui/material';
5import GroupAddRounded from '@mui/icons-material/GroupAddRounded';
Adrien Béraud35e7d7c2021-04-13 03:28:39 -04006import authManager from '../AuthManager'
ervinanoh34eb9472022-09-13 04:20:28 -04007import { useAppDispatch } from '../../redux/hooks';
8import { setRefreshFromSlice } from '../../redux/appSlice';
9
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040010
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040011export default function AddContactPage(props) {
Adrien Béraudab519ff2022-05-03 15:34:48 -040012 const navigate = useNavigate();
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040013 const accountId = props.accountId || props.match.params.accountId
14 const contactId = props.contactId || props.match.params.contactId
ervinanoh34eb9472022-09-13 04:20:28 -040015 const dispatch = useAppDispatch();
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040016
17 const handleClick = async e => {
18 const response = await authManager.fetch(`/api/accounts/${accountId}/conversations`, {
19 method: 'POST',
20 headers: {
21 'Accept': 'application/json',
22 'Content-Type': 'application/json'
23 },
24 body: JSON.stringify({members:[contactId]})
ervinanoh34eb9472022-09-13 04:20:28 -040025 }).then(res => {
26 dispatch(setRefreshFromSlice())
27 return res.json()
28 })
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040029
30 console.log(response)
31 if (response.conversationId) {
Adrien Béraudab519ff2022-05-03 15:34:48 -040032 navigate(`/account/${accountId}/conversation/${response.conversationId}`)
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040033 }
34 }
35
36 return (
Adrien Béraudabba2e52021-04-24 21:39:56 -040037 <Container className='messenger'>
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040038 <Card variant='outlined' style={{ borderRadius: 16, maxWidth: 560, margin: "16px auto" }}>
39 <CardContent>
40 <Typography variant='h6'>Jami key ID</Typography>
41 <Typography variant='body1'>{contactId}</Typography>
42 <Box style={{textAlign: 'center', marginTop: 16}}>
43 <Fab variant='extended' color='primary' onClick={handleClick}>
idillonfb2af5b2022-09-16 13:40:08 -040044 <GroupAddRounded/>
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040045 Add contact
46 </Fab>
47 </Box>
48 </CardContent>
49 </Card>
50 </Container>)
51}