diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-07-21 16:13:58 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-07-21 16:13:58 +0900 |
| commit | a46f583437e9b66ebec6fa22e27567a71b17b497 (patch) | |
| tree | f375449ee38de9701637fbe77c79111da9f76307 /frontend/src/routes/golf/play/apps/Gaming.tsx | |
| parent | 877c19ecbb2425d756f3cbafb1cf52f69279e92d (diff) | |
| download | phperkaigi-2025-albatross-a46f583437e9b66ebec6fa22e27567a71b17b497.tar.gz phperkaigi-2025-albatross-a46f583437e9b66ebec6fa22e27567a71b17b497.tar.zst phperkaigi-2025-albatross-a46f583437e9b66ebec6fa22e27567a71b17b497.zip | |
react router
Diffstat (limited to 'frontend/src/routes/golf/play/apps/Gaming.tsx')
| -rw-r--r-- | frontend/src/routes/golf/play/apps/Gaming.tsx | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/frontend/src/routes/golf/play/apps/Gaming.tsx b/frontend/src/routes/golf/play/apps/Gaming.tsx new file mode 100644 index 0000000..27488e3 --- /dev/null +++ b/frontend/src/routes/golf/play/apps/Gaming.tsx @@ -0,0 +1,34 @@ +import React from 'react'; + +type Props = { + gameId: number; + playerId: number; + problem: string | null; + onCodeChange: (data: { code: string }) => void; + score: number | null; +}; + +export default ({ problem, onCodeChange, score }: Props) => { + const handleTextChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => { + onCodeChange({ code: e.target.value }); + }; + + return ( + <div style={{ display: 'flex' }}> + <div style={{ flex: 1, padding: '10px', borderRight: '1px solid #ccc' }}> + <div> + {problem} + </div> + <div> + {score == null ? 'Score: -' : `Score: ${score} byte`} + </div> + </div> + <div style={{ flex: 1, padding: '10px' }}> + <textarea + style={{ width: '100%', height: '100%' }} + onChange={handleTextChange} + /> + </div> + </div> + ); +}; |
