This commit is contained in:
focp212@naver.com
2025-10-27 16:35:30 +09:00
parent 3517157be5
commit f511517050
5 changed files with 281 additions and 7 deletions

View File

@@ -0,0 +1,67 @@
import { LoginType } from "@/entities/common/model/types";
import { IMAGE_ROOT } from "@/shared/constants/common";
export interface LoginTypeBottomSheetProps {
loginTypeBottomSheetOn: boolean;
setLoginTypeBottomSheetOn: (loginTypeBottomSheetOn: boolean) => void;
loginType: LoginType;
setLoginType: (loginType: LoginType) => void;
};
export const LoginTypeBottomSheet = ({
loginTypeBottomSheetOn,
setLoginTypeBottomSheetOn,
loginType,
setLoginType
}: LoginTypeBottomSheetProps) => {
const onClickToClose = () => {
setLoginTypeBottomSheetOn(false);
};
const onChangeLoginType = (type: LoginType) => {
setLoginType(type);
onClickToClose();
};
return (
<>
<div className="bg-dim"></div>
<div className="bottomsheet">
<div className="bottomsheet-header">
<div className="bottomsheet-title">
<h2> .</h2>
<button
className="close-btn"
type="button"
>
<img
src={ IMAGE_ROOT + '/ico_close.svg' }
alt="닫기"
onClick={ onClickToClose }
/>
</button>
</div>
</div>
<div className="bottomsheet-content">
<div className="bottom-section">
<ul className="list-style-circle link">
<li
className={ `${(loginType === LoginType['Id/Pw'])? 'selected': ''}` }
onClick={ () => onChangeLoginType(LoginType['Id/Pw']) }
>ID/PW </li>
<li
className={ `${(loginType === LoginType.Finger)? 'selected': ''}` }
onClick={ () => onChangeLoginType(LoginType.Finger) }
> </li>
<li
className={ `${(loginType === LoginType.Face)? 'selected': ''}` }
onClick={ () => onChangeLoginType(LoginType.Face) }
> </li>
</ul>
</div>
</div>
</div>
</>
);
};

View File

@@ -0,0 +1,68 @@
import { AppLanguage } from "@/entities/common/model/types";
import { IMAGE_ROOT } from "@/shared/constants/common";
export interface ServiceLanguageBottomSheetProps {
serviceLanguageBottomSheetOn: boolean;
setServiceLanguageBottomSheetOn: (serviceLanguageBottomSheetOn: boolean) => void;
appLanguage: AppLanguage;
setAppLanguage: (appLanguage: AppLanguage) => void;
};
export const ServiceLanguageBottomSheet = ({
serviceLanguageBottomSheetOn,
setServiceLanguageBottomSheetOn,
appLanguage,
setAppLanguage
}: ServiceLanguageBottomSheetProps) => {
const onClickToClose = () => {
setServiceLanguageBottomSheetOn(false);
};
const onChangeServiceLanguage = (language: AppLanguage) => {
setAppLanguage(language);
onClickToClose();
};
return (
<>
<div className="bg-dim"></div>
<div className="bottomsheet">
<div className="bottomsheet-header">
<div className="bottomsheet-title">
<h2> .</h2>
<button
className="close-btn"
type="button"
>
<img
src={ IMAGE_ROOT + '/ico_close.svg' }
alt="닫기"
onClick={ onClickToClose }
/>
</button>
</div>
</div>
<div className="bottomsheet-content">
<div className="bottom-section">
<p className="fs16"> ENGLISH </p>
<ul className="list-style-circle link">
<li
className={ `${(appLanguage === AppLanguage.DEVICE)? 'selected': ''}` }
onClick={ () => onChangeServiceLanguage(AppLanguage.DEVICE) }
> </li>
<li
className={ `${(appLanguage === AppLanguage.KO)? 'selected': ''}` }
onClick={ () => onChangeServiceLanguage(AppLanguage.KO) }
></li>
<li
className={ `${(appLanguage === AppLanguage.EN)? 'selected': ''}` }
onClick={ () => onChangeServiceLanguage(AppLanguage.EN)
}>ENGLISH</li>
</ul>
</div>
</div>
</div>
</>
);
};

View File

@@ -1,3 +1,13 @@
export enum AppLanguage {
'DEVICE' = 'DEVICE',
'KO' = 'KO',
'EN' = 'EN'
};
export enum LoginType {
'Id/Pw' = 'Id/Pw',
'Finger' = 'Finger',
'Face' = 'Face'
};
export enum SuccessResult {
SUCCESS = 'SUCCESS',
FAIL = 'FAIL'