Files
nice-app-web/src/entities/alarm/ui/service-language-bottom-sheet.tsx
focp212@naver.com f511517050 setting
2025-10-27 16:35:30 +09:00

68 lines
2.2 KiB
TypeScript

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>
</>
);
};