journal.pl/src/pages/UserPage.tsx

70 lines
2.0 KiB
TypeScript
Raw Normal View History

2023-04-16 12:18:29 +03:00
import React, { useCallback, useEffect, useState } from 'react';
import { useParams } from 'react-router-dom';
import { ArrowImg, IconButton, InputElement, InputLabel, InputWrapper, MainWrapper, StartWrapper } from './style';
import arrow from '../assets/36-arrow-right.svg';
export const UserPage = () => {
const [socketId, setSocketId] = useState(null);
2023-04-16 12:30:42 +03:00
const [error, setError] = useState(null);
2023-04-16 12:18:29 +03:00
const { lessonId } = useParams();
useEffect(() => {
2024-02-28 23:43:36 +03:00
// socket.on('connect', () => {
// const id = localStorage.getItem('socketId');
// if (!id) {
// localStorage.setItem('socketId', socket.id);
// setSocketId(socket.id);
// } else {
// setSocketId(id);
// }
2023-04-16 12:18:29 +03:00
2024-02-28 23:43:36 +03:00
// const name = localStorage.getItem('name');
// if (name) {
// const socket = getSocket();
// socket.emit('add', { socketId: id || socket.id, name, lessonid: lessonId });
// }
// })
// socket.on('error', data => {
// setError(data)
// })
2023-04-16 12:18:29 +03:00
}, []);
const [value, setValue] = useState(localStorage.getItem('name') || '');
const handleChange = useCallback(event => {
setValue(event.target.value.toUpperCase())
}, [setValue]);
const handleSubmit = useCallback((event) => {
event.preventDefault();
localStorage.setItem('name', value)
2024-02-28 23:43:36 +03:00
// socket.emit('add', { socketId: localStorage.getItem('socketId') || socketId, name: value, lessonid: lessonId });
2023-04-16 12:18:29 +03:00
}, [value])
2023-04-16 12:30:42 +03:00
2023-04-16 12:18:29 +03:00
return (
<MainWrapper>
<StartWrapper>
<form onSubmit={handleSubmit}>
<InputWrapper>
<InputLabel
htmlFor='input'
>
Как вас зовут:
</InputLabel>
<InputElement
value={value}
onChange={handleChange}
id="input"
type="text"
autoComplete="off"
/>
<IconButton type="submit">
<ArrowImg src={arrow} />
</IconButton>
</InputWrapper>
</form>
</StartWrapper>
</MainWrapper>
)
}