Add checkAlarmLink feature to handle alarm links on first access

- Add CHECK_ALARM_LINK to BridgeMessageType enum
- Implement checkAlarmLink method in appBridge class
- Add checkAlarmLink to useAppBridge hook
- Call checkAlarmLink on HomePage when firstAccess is true
- Clean up unused imports and minor code formatting

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jay Sheen
2025-11-05 14:28:16 +09:00
parent a61f0bc2ff
commit 24c45731dc
4 changed files with 37 additions and 18 deletions

View File

@@ -18,11 +18,11 @@ import {
import { useStore } from '@/shared/model/store';
import { UserFavorite } from '@/entities/user/model/types';
import { useHomeBannerListMutation } from '@/entities/home/api/use-home-banner-list-mutation';
import {
BannerList,
BannerType,
HomeBannerListParams,
HomeBannerListResponse
import {
BannerList,
BannerType,
HomeBannerListParams,
HomeBannerListResponse
} from '@/entities/home/model/types';
export let homeReloadKey = 1;
@@ -31,7 +31,7 @@ export const setHomeReloadKey = () => {
};
export const HomePage = () => {
const { openBiometricRegistrationPopup } = useAppBridge();
const { openBiometricRegistrationPopup, checkAlarmLink } = useAppBridge();
const { mutateAsync: homeBannerList } = useHomeBannerListMutation();
useSetHeaderTitle('');
@@ -44,7 +44,7 @@ export const HomePage = () => {
const [bottomBannerOn, setBottomBannerOn] = useState<boolean>(false);
const [authRegisterOn, setAuthRegisterOn] = useState<boolean>(false);
const [favoriteItems, setFavoriteItems] = useState<Array<UserFavorite>>([]);
const [, setFavoriteItems] = useState<Array<UserFavorite>>([]);
const [bannerList, setBannerList] = useState<Array<BannerList>>([]);
const callHomeBannerList = () => {
@@ -75,7 +75,7 @@ export const HomePage = () => {
const checkBottomBannerOpen = () => {
if(!!bannerToday){
if(bannerToday){
bannerToday = bannerToday.toString();
}
let sw = (today !== bannerToday);
@@ -87,31 +87,31 @@ export const HomePage = () => {
setAuthRegisterOn(true);
}
}).catch((e) => {
console.log('catch', e);
console.log('catch', e);
}).finally(() => {
console.log('finally');
setAuthRegisterOn(true);
});
};
useEffect(() => {
let firstAccess = useStore.getState().UserStore.firstAccess;
checkBottomBannerOpen();
if(!!firstAccess){
if(firstAccess){
checkAuthRegisterOpen();
// 알림 링크 확인
checkAlarmLink();
}
else{
useStore.getState().UserStore.setFirstAccess(false);
}
let userFavorite = useStore.getState().UserStore.userFavorite;
setFavoriteItems(userFavorite);
callHomeBannerList();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
const setBottomBannerEffect = (mode: boolean) => {