| 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 |