Skip to content
This repository has been archived by the owner on Oct 14, 2023. It is now read-only.

Feature/tea 58 web api #10

Merged
merged 5 commits into from
Dec 1, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions packages/client/src/App.css
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,10 @@ body {
margin: 0;
padding: 0;
}

#tableGame:fullscreen {
background-color: #fff;
display: flex;
align-items: center;
justify-content: center;
}
4 changes: 2 additions & 2 deletions packages/client/src/components/ModalPassword/index.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React, { useCallback, useEffect } from 'react'
import { useEffect } from 'react'
import * as RB from '@mui/material'
import { useForm, FormProvider } from 'react-hook-form'
import { passwordType } from '../../pages/profile/types'
Expand All @@ -11,7 +11,7 @@ const ModalPassword = (props: any) => {
},
mode: 'onBlur',
})
const { register, handleSubmit, reset } = methods
const { register, handleSubmit } = methods

useEffect(() => {
methods.reset({
Expand Down
34 changes: 15 additions & 19 deletions packages/client/src/pages/LoginPage/Login.test.tsx
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
import { render, screen, fireEvent } from '@testing-library/react'
import '@testing-library/jest-dom'
import { BrowserRouter } from 'react-router-dom'
import { Provider } from 'react-redux'
import { setupStore } from '@store/index'

import Login from './Login'

describe('Login component', () => {
it('Login component renders', () => {
render(
const store = setupStore()

const renderLoginComponent = () =>
render(
<Provider store={store}>
<BrowserRouter>
<Login />
</BrowserRouter>
)
</Provider>
)

describe('Login component', () => {
it('Login component renders', () => {
renderLoginComponent()
expect(screen.getByText(/вход/i)).toBeInTheDocument()
})

it('login input in dom', () => {
render(
<BrowserRouter>
<Login />
</BrowserRouter>
)
renderLoginComponent()

expect(screen.getByLabelText(/логин/i)).toBeInTheDocument()
})

it('login onChange works', () => {
render(
<BrowserRouter>
<Login />
</BrowserRouter>
)
renderLoginComponent()

const input = screen.getByLabelText(/логин/i) as HTMLInputElement

Expand All @@ -39,11 +39,7 @@ describe('Login component', () => {
})

it('password onChange works', () => {
render(
<BrowserRouter>
<Login />
</BrowserRouter>
)
renderLoginComponent()

const input = screen.getByLabelText(/Пароль/i) as HTMLInputElement

Expand Down
54 changes: 35 additions & 19 deletions packages/client/src/pages/game/GamePlay/Game.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -47,24 +47,37 @@ const Game = (): ReactElement => {
}
}, [playerShips])

const toggleFullScreen = () => {
const tableGame = document.getElementById('tableGame')
if (tableGame !== null) {
if (tableGame.requestFullscreen) {
tableGame.requestFullscreen()
}
} else if (document.exitFullscreen) {
document.exitFullscreen()
}
}

return (
<>
<Container sx={{ ...game }}>
<Box sx={{ ...gameBoard }}>
<Board
name="computer"
nameBoard="поиск кораблей противника"
compShips={compShips}
gameIsFinished={gameIsFinished}
coords={coords}
/>
<Board
name="player"
nameBoard="расположение моих кораблей"
playerShips={playerShips}
gameIsFinished={gameIsFinished}
coords={coords}
/>
<Box id="tableGame">
<Board
name="computer"
nameBoard="поиск кораблей противника"
compShips={compShips}
gameIsFinished={gameIsFinished}
coords={coords}
/>
<Board
name="player"
nameBoard="расположение моих кораблей"
playerShips={playerShips}
gameIsFinished={gameIsFinished}
coords={coords}
/>
</Box>
<Box sx={{ ...wrapButton }}>
<Button
onClick={restartGame}
Expand All @@ -73,6 +86,12 @@ const Game = (): ReactElement => {
sx={{ ...buttonStyles, marginTop: '3rem' }}>
Играть снова
</Button>
<Button
variant="contained"
onClick={toggleFullScreen}
sx={{ ...buttonStyles, marginTop: '1rem' }}>
Полноэкранный режим
</Button>
<Button
variant="contained"
href="/profile"
Expand All @@ -86,7 +105,7 @@ const Game = (): ReactElement => {
Рейтинг
</Button>
<Box sx={{ ...wrapShip }}>
<Box sx={{ display: 'flex', margin: '1rem 0' }}>
<Box sx={{ display: 'flex', marginTop: '1rem' }}>
<Box
component="img"
src={cell1}
Expand All @@ -97,12 +116,11 @@ const Game = (): ReactElement => {
component="p"
sx={{
textAlign: 'center',
marginBottom: '1rem',
}}>
одноклеточных по 3 штуки
</Typography>
</Box>
<Box sx={{ display: 'flex', marginBottom: '1rem' }}>
<Box sx={{ display: 'flex' }}>
<Box
component="img"
src={cell2}
Expand All @@ -113,7 +131,6 @@ const Game = (): ReactElement => {
component="p"
sx={{
textAlign: 'center',
marginBottom: '1rem',
}}>
двухклеточных по 2 штуки
</Typography>
Expand All @@ -129,7 +146,6 @@ const Game = (): ReactElement => {
component="p"
sx={{
textAlign: 'center',
marginBottom: '1rem',
}}>
трехклеточных по 1 штуки
</Typography>
Expand Down
Loading