From d1c91abcc3bff30592c5dd6b31483a6a4e015e84 Mon Sep 17 00:00:00 2001 From: lovelytransgirl Date: Tue, 17 Jun 2025 23:20:56 +0700 Subject: [PATCH] Store user's name using sessionStorage --- src/pages/conversationPage.jsx | 10 ++++++++-- src/pages/namePage.jsx | 12 +++++++++--- src/pages/storyPage.jsx | 7 ++++++- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/pages/conversationPage.jsx b/src/pages/conversationPage.jsx index e6dc980..63ab8ea 100644 --- a/src/pages/conversationPage.jsx +++ b/src/pages/conversationPage.jsx @@ -8,6 +8,12 @@ import Animation from './components/animation.jsx'; function ConversationPage({data , onClicked}) { const backgroundSRC = `${import.meta.env.VITE_ASSETS_URL}/${data.background}` + const [name] = useState(() => { + return sessionStorage.getItem("name") || ''; + }); + + const DialogText = data.text.replace("{name}", name); + const DialogName = data.name.replace("{name}", name); return (
- {data.name} + {DialogName}
- {data.text} + {DialogText}
); diff --git a/src/pages/namePage.jsx b/src/pages/namePage.jsx index 735db28..9f53238 100644 --- a/src/pages/namePage.jsx +++ b/src/pages/namePage.jsx @@ -1,10 +1,16 @@ import '../css/global.css' import '../css/customInput.css' import BlackButton from './components/customButton' -import { useState } from 'react'; +import { useState, useEffect } from 'react'; function NamePage() { - const [name, setName] = useState(''); + const [name, setName] = useState(() => { + return sessionStorage.getItem("name") || ''; + }); + + useEffect(() => { + sessionStorage.setItem("name", name); + }, [name]); return (
{ + return sessionStorage.getItem("name") || ''; + }); + + const DialogText = data.text.replace("{name}", name); return (
- {data.text} + {DialogText}
);