✅ 오늘 배운 것
어제 만들고 피드백을 받은 폼을 적용하면 된다. '설정' 페이지에서 '문의하기' 버튼을 누르면 폼 링크를 안내하면 되겠다.
현재 설정 화면은 이렇게 되어 있는데 누르면 아무 변화가 없이 껍데기로 만들어 놓은 상황이다. 이 중에서 '문의' 버튼을 클릭했을 때 폼 링크를 띄워줘야 한다.
그렇게 하기 위해서 기존에는 id 값과 title 값만 있었던 data 배열에 해당 항목을 누르면 호출될 함수를 추가해 주었다.
const data = [
{
title: '내 정보',
id: 1,
handlePress: () => {}, // 추가한 속성
},
{
title: '언어 변경',
id: 2,
handlePress: () => {}, // 추가한 속성
},
{
title: '문의',
id: 3,
handlePress: () => {}, // 추가한 속성
},
];
여기서 지금 작업할 부분은 '문의' 부분이다. 이 버튼을 누르면 나타날 페이지 하나를 새로 만들고, 그 페이지로 라우팅시키는 코드를 작성해 보자.
위의 id:3번의 handlePress 함수를 다음과 같이 바꿔주었다.
handlePress: () => {
router.push('settingsContactView');
}
그리고 'settingsContactView'에 대한 파일도 만들어 주었다.
const settingsContactView = () => {
const handleGoogleFormPress = () => {
Linking.openURL(googleFormUrl);
};
return (
<>
<IconRegistry icons={EvaIconsPack} />
<ApplicationProvider {...eva} theme={eva.light}>
<SafeAreaView style={styles.container}>
<Layout style={styles.layout} level="1">
<Text style={styles.text}>
<Text style={styles.link} onClick={handleGoogleFormPress}>
구글 폼
</Text>
으로 문의해 주세요.
</Text>
</Layout>
</SafeAreaView>
</ApplicationProvider>
</>
);
};
export default settingsContactView;
그 결과 위에서의 '문의' 버튼을 누르면 아래와 같이 뜬다.
잘 동작하는 것 같지만 두 가지의 문제가 있다.
1. 헤더의 'settingsContactView'를 '문의'로 바꿔야 한다.
2. '구글 폼'을 누르면 아무리 에뮬레이터에서 실행 중이더라도 구글 폼이 웹 상에서 열려야 하는데 열리지 않는다.
이 두 문제를 내일 해결해 보려고 한다.
아 그리고 앱이 런칭되었다..!! 물론 아직 기능을 붙이고 자잘한 오류가 있으면 고치는 단계지만, 구글 플레이스토어 심사가 오래 걸린다는 말을 많이 들어서 사실 몇 주 전에 개발과 같이 이 런칭을 병행하고 있었다.
어제 드디어 런칭이 됐다는 소식을 듣고 비록 내가 런칭한 건 아니지만 얼마나 뿌듯하던지... 앱의 링크를 슬쩍 남겨본다.
https://play.google.com/store/apps/details?id=com.safezone.onestep&pcampaignid=web_share
'개발 일기장 > SWM Onestep' 카테고리의 다른 글
20241002 TIL: 사용자 문의 폼 적용하기 [끝] & 다국어 처리 지원하기 [진행중] (1) | 2024.10.02 |
---|---|
20241001 TIL: 구글 로그인 정보가 이상한 오류 [진행중] (2) | 2024.10.01 |
20240929 TIL: 사용자 문의 폼 만들기 [진행중] (0) | 2024.09.29 |
20240928 TIL: 비동기 뷰로 변환하기 [진행중] (1) | 2024.09.28 |
20240927 TIL: 알림 기능 개발하기 [끝] & 비동기 뷰로 변환하기 [진행중] (0) | 2024.09.27 |