|
import React from 'react' |
|
|
|
import { useForm } from '@mantine/form' |
|
import { Button, Card, Flex, TextInput, Title } from '@mantine/core' |
|
import { IconSearch } from '@tabler/icons-react' |
|
|
|
import FriendsList from '../../components/FriendsList' |
|
|
|
const Friends = () => { |
|
const form = useForm({ initialValues: { username: '' }, }) |
|
|
|
const addFriend = async () => { |
|
console.log(form.values); |
|
const response = await fetch(`${import.meta.env.VITE_BACKEND_HOST}/api/user/friends/${form.values.username}`, { |
|
method: 'POST', |
|
credentials: 'include', |
|
body: JSON.stringify({ username: form.values.username }) |
|
}); |
|
if (!response.ok) { |
|
const resData = await response.json(); |
|
form.setErrors({ username: resData.error.message }) |
|
} else { |
|
console.log("Friend added"); |
|
} |
|
} |
|
|
|
return ( |
|
<Card sx={{ backgroundColor: '#272623', textAlign: 'left' }} p='30px'> |
|
<Title>Friends</Title> |
|
<Flex direction='row' gap='lg' my='20px'> |
|
<TextInput w='300px' sx={{ backgroundColor: '#272623' }} placeholder='Search username' icon={<IconSearch />} {...form.getInputProps('username')} /> |
|
<Button color='gray' onClick={addFriend}>Add friend</Button> |
|
</Flex> |
|
<FriendsList /> |
|
</Card> |
|
) |
|
} |
|
|
|
export default Friends |