설정 페이지 텍스트 다국어화 및 UI 개선

- 하드코딩된 한국어 텍스트를 번역 키로 변경
- 이용약관 링크를 별도 행으로 분리
- 로그아웃 확인 Dialog 추가

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jay Sheen
2025-10-29 14:29:53 +09:00
parent c82f37fbb5
commit 5888c2844b
3 changed files with 30 additions and 18 deletions

View File

@@ -15,6 +15,7 @@ import { ChangeEvent, useCallback, useEffect, useState } from 'react';
import { useAppBridge } from '@/hooks/useAppBridge';
import { useTranslation } from 'react-i18next';
import appBridge from '@/utils/appBridge';
import { Dialog } from '@/shared/ui/dialogs/dialog';
export const SettingPage = () => {
let userInfo = useStore.getState().UserStore.userInfo;
@@ -55,13 +56,15 @@ export const SettingPage = () => {
'62': false,
'15': false
});
const [dialogOpen, setDialogOpen] = useState<boolean>(false);
const onClickPrivacyPolicy = () => {
window.open('https://www.nicevan.co.kr/privacy-policy', '_blank');
const onClickPolicy = () => {
window.open('https://www.nicepay.co.kr/cs/terms/policy1.do', '_blank');
};
const onClickLogout = () => {
logout();
setDialogOpen(true);
};
const checkPushNotificationStatus = useCallback(() => {
@@ -415,21 +418,12 @@ export const SettingPage = () => {
<div className="settings-divider"></div>
<div className="settings-row danger" onClick={onClickLogout}>
<div className="settings-row-title bd-style">{t('settings.logout')}</div>
<div className="settings-row danger" onClick={onClickPolicy}>
<div className="settings-row-title bd-style">{t('settings.termsAndPrivacy')}</div>
</div>
<div style={{ marginTop: '10px', paddingBottom: '10px' }}>
<div
onClick={onClickPrivacyPolicy}
style={{
cursor: 'pointer',
color: '#043465',
textDecoration: 'underline',
textAlign: 'center',
padding: '12px'
}}
>{t('settings.privacyPolicy')}</div>
<div className="settings-row danger" onClick={onClickLogout}>
<div className="settings-row-title bd-style">{t('settings.logout')}</div>
</div>
</div>
</main>
@@ -452,6 +446,20 @@ export const SettingPage = () => {
changeLanguage={ changeLanguage }
></ServiceLanguageBottomSheet>
}
{ !!dialogOpen &&
<Dialog
open={dialogOpen}
onClose={() => setDialogOpen(false)}
message={t('settings.logoutConfirm')}
afterLeave={() => setDialogOpen(false)}
buttonLabel={[t('common.cancel'), t('common.confirm')]}
onConfirmClick={() => {
console.log(t('common.confirm'));
logout();
}}
onCancelClick={() => setDialogOpen(false)}
/>
}
</>
);
};