diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-03-21 12:22:32 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-03-21 12:24:00 +0900 |
| commit | a75f9fa78897de7317fe336e68db7a255899ae33 (patch) | |
| tree | 3ec56670b7f51c0f2929dfc0c9a55ae48f6820af /frontend/app/components/GolfPlayApps/GolfPlayAppGaming.tsx | |
| parent | 95903269b252729ee6573a5b607d98fa0223cd9a (diff) | |
| download | phperkaigi-2025-albatross-a75f9fa78897de7317fe336e68db7a255899ae33.tar.gz phperkaigi-2025-albatross-a75f9fa78897de7317fe336e68db7a255899ae33.tar.zst phperkaigi-2025-albatross-a75f9fa78897de7317fe336e68db7a255899ae33.zip | |
feat(frontend): do not transit to finished page
Diffstat (limited to 'frontend/app/components/GolfPlayApps/GolfPlayAppGaming.tsx')
| -rw-r--r-- | frontend/app/components/GolfPlayApps/GolfPlayAppGaming.tsx | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/frontend/app/components/GolfPlayApps/GolfPlayAppGaming.tsx b/frontend/app/components/GolfPlayApps/GolfPlayAppGaming.tsx index b40f3c3..86b2379 100644 --- a/frontend/app/components/GolfPlayApps/GolfPlayAppGaming.tsx +++ b/frontend/app/components/GolfPlayApps/GolfPlayAppGaming.tsx @@ -26,6 +26,7 @@ type Props = { initialCode: string; onCodeChange: (code: string) => void; onCodeSubmit: (code: string) => void; + isFinished: boolean; }; export default function GolfPlayAppGaming({ @@ -37,6 +38,7 @@ export default function GolfPlayAppGaming({ initialCode, onCodeChange, onCodeSubmit, + isFinished, }: Props) { const leftTimeSeconds = useAtomValue(gamingLeftTimeSecondsAtom)!; const score = useAtomValue(scoreAtom); @@ -47,11 +49,13 @@ export default function GolfPlayAppGaming({ const handleTextChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => { setCodeSize(calcCodeSize(e.target.value)); - onCodeChange(e.target.value); + if (!isFinished) { + onCodeChange(e.target.value); + } }; const handleSubmitButtonClick = () => { - if (textareaRef.current) { + if (textareaRef.current && !isFinished) { onCodeSubmit(textareaRef.current.value); } }; @@ -61,7 +65,11 @@ export default function GolfPlayAppGaming({ <div className="text-white bg-sky-600 flex flex-row justify-between px-4 py-2"> <div className="font-bold"> <div className="text-gray-100">{gameDisplayName}</div> - <LeftTime sec={leftTimeSeconds} /> + {isFinished ? ( + <div className="text-2xl md:text-3xl">終了</div> + ) : ( + <LeftTime sec={leftTimeSeconds} /> + )} </div> <Link to={"/dashboard"}> <div className="flex gap-6 items-center font-bold"> @@ -91,7 +99,10 @@ export default function GolfPlayAppGaming({ <div className="grow font-semibold text-lg"> コードサイズ: {codeSize} </div> - <SubmitButton onClick={handleSubmitButtonClick}> + <SubmitButton + onClick={handleSubmitButtonClick} + disabled={isFinished} + > 提出 </SubmitButton> </div> |
