| import React from "react"; |
| import { Button, Card, Flex, Image, Select, Text, Title } from "@mantine/core"; |
| import { Form, redirect } from "react-router-dom"; |
|
|
| const Computer = () => { |
| |
| return ( |
| <Card |
| maw={600} |
| sx={{ |
| width: "100%", |
| height: "75vh", |
| textAlign: "center", |
| backgroundColor: "#262523", |
| }} |
| p={'30px'} |
| > |
| <Flex align="center" justify="center" gap="xs" my="lg"> |
| <Image |
| width="30px" |
| src="https://www.chess.com/bundles/web/images/color-icons/computer.2318c3b4.svg" |
| /> |
| <Title order={2}>Play with Computer</Title> |
| </Flex> |
| <Flex direction="column" gap="10px"> |
| <Form action={`/play/computer`} method='POST'> |
| <Select |
| defaultValue="w" |
| my="20px" |
| color="lime" |
| name="color" |
| label={ |
| <Text mx="auto" order={3}> |
| Select your color |
| </Text> |
| } |
| placeholder="choose your color" |
| data={[ |
| { value: "w", label: "White" }, |
| { value: "b", label: "Black" }, |
| ]} |
| /> |
| <Button color="lime" type="submit"> |
| Play |
| </Button> |
| </Form> |
| </Flex> |
| </Card> |
| ); |
| }; |
|
|
| export const playComputerAction = async ({request}) => { |
| const formData = await request.formData(); |
| let color = formData.get('color'); |
|
|
| localStorage.setItem('myColor',color); |
|
|
| return redirect('/game/computer'); |
| } |
|
|
| export default Computer; |
|
|