From 7cee9435ef95c1b1adc115a6e760d4770636ba94 Mon Sep 17 00:00:00 2001 From: anit7215 Date: Fri, 22 Aug 2025 13:03:31 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=8A=A4=ED=81=AC=EB=A1=A4=EB=B7=B0=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Time-Up/App.tsx | 62 +++++++++---------- .../src/pages/Alarm/My/EditMyAlarmPage.tsx | 5 +- .../src/pages/Alarm/My/MyAlarmDetailPage.tsx | 4 +- .../Alarm/WakeUp/EditWakeUpAlarmPage.tsx | 5 +- .../Alarm/WakeUp/WakeUpAlarmDetailPage.tsx | 4 +- .../pages/Alarm/WakeUp/WakeUpAlarmPage.tsx | 7 +-- 6 files changed, 45 insertions(+), 42 deletions(-) diff --git a/Time-Up/App.tsx b/Time-Up/App.tsx index 8fdab4f..256dc28 100644 --- a/Time-Up/App.tsx +++ b/Time-Up/App.tsx @@ -43,9 +43,7 @@ import SetRemindAlarmPage from './src/pages/SetPage/SetRemindAlarmPage'; import SetScheduleRepeatPage from './src/pages/SetScheduleRepeatPage'; import ViewScheduleDetailPage from './src/pages/ViewScheduleDetailPage'; -import { saveFCMPushToken } from './src/apis/pushToken'; import { getAccessToken } from './src/utils/storage'; -import { requestWebPushToken } from './src/utils/webPush'; const queryClient = new QueryClient(); @@ -113,36 +111,36 @@ export default function App() { // return () => { cancelled = true; }; // }, []); - useEffect(() => { - if (Platform.OS !== 'web') return; - if (webPushInitRef.current) return; - webPushInitRef.current = true; - let cancelled = false; - - (async () => { - try { - const token = await requestWebPushToken(); - if (!token || cancelled) { - console.warn('웹 푸시 권한 거부 또는 토큰 없음'); - return; - } - console.log('Web FCM Token:', token); - - const res = await saveFCMPushToken(token); - if ((res as any)?.result === 'Error') { - console.warn('웹 push-token 저장 실패:', (res as any)?.error); - } else { - console.log('웹 push-token 저장 성공'); - } - } catch (e) { - console.warn('웹 푸시 토큰 발급/저장 실패:', e); - } - })(); - - return () => { - cancelled = true; - }; - }, []); + // useEffect(() => { + // if (Platform.OS !== 'web') return; + // if (webPushInitRef.current) return; + // webPushInitRef.current = true; + // let cancelled = false; + + // (async () => { + // try { + // const token = await requestWebPushToken(); + // if (!token || cancelled) { + // console.warn('웹 푸시 권한 거부 또는 토큰 없음'); + // return; + // } + // console.log('Web FCM Token:', token); + + // const res = await saveFCMPushToken(token); + // if ((res as any)?.result === 'Error') { + // console.warn('웹 push-token 저장 실패:', (res as any)?.error); + // } else { + // console.log('웹 push-token 저장 성공'); + // } + // } catch (e) { + // console.warn('웹 푸시 토큰 발급/저장 실패:', e); + // } + // })(); + + // return () => { + // cancelled = true; + // }; + // }, []); if (!mapsLoaded || !initialRoute) return null; const content = ( diff --git a/Time-Up/src/pages/Alarm/My/EditMyAlarmPage.tsx b/Time-Up/src/pages/Alarm/My/EditMyAlarmPage.tsx index 6439b55..ff6e019 100644 --- a/Time-Up/src/pages/Alarm/My/EditMyAlarmPage.tsx +++ b/Time-Up/src/pages/Alarm/My/EditMyAlarmPage.tsx @@ -14,7 +14,7 @@ import moment from 'moment'; import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { Alert, Dimensions, Platform, Text, TextInput, TouchableOpacity, View } from 'react-native'; import { Calendar } from 'react-native-calendars'; -import { GestureHandlerRootView } from 'react-native-gesture-handler'; +import { GestureHandlerRootView, ScrollView } from 'react-native-gesture-handler'; import IconBiv from '../../../../assets/images/AlarmBiv.svg'; import IconMemo from '../../../../assets/images/AlarmMemo.svg'; @@ -194,6 +194,7 @@ export default function EditMyAlarmPage() { return ( + - + ); diff --git a/Time-Up/src/pages/Alarm/My/MyAlarmDetailPage.tsx b/Time-Up/src/pages/Alarm/My/MyAlarmDetailPage.tsx index beafec6..8f5290e 100644 --- a/Time-Up/src/pages/Alarm/My/MyAlarmDetailPage.tsx +++ b/Time-Up/src/pages/Alarm/My/MyAlarmDetailPage.tsx @@ -9,6 +9,7 @@ import ToggleSwitch from '../../../components/common/ToggleSwitch'; import useAppNavigation from '../../../hooks/useAppNavigation'; import BottomLayout from '../../../Layouts/BottomLayout'; +import { ScrollView } from 'react-native-gesture-handler'; import IconBiv from '../../../../assets/images/AlarmBiv.svg'; import IconMemo from '../../../../assets/images/AlarmMemo.svg'; import IconMusic from '../../../../assets/images/AlarmMusic.svg'; @@ -79,6 +80,7 @@ export default function MyAlarmDetailPage() { return ( + {alarm.title} @@ -174,7 +176,7 @@ export default function MyAlarmDetailPage() { - + ); } diff --git a/Time-Up/src/pages/Alarm/WakeUp/EditWakeUpAlarmPage.tsx b/Time-Up/src/pages/Alarm/WakeUp/EditWakeUpAlarmPage.tsx index c1c7174..4e81252 100644 --- a/Time-Up/src/pages/Alarm/WakeUp/EditWakeUpAlarmPage.tsx +++ b/Time-Up/src/pages/Alarm/WakeUp/EditWakeUpAlarmPage.tsx @@ -6,7 +6,7 @@ import { AlarmItem } from '@/src/types/alarm'; import { toPutWakeupAlarmRequest } from '@/src/utils/alarmTransform'; import { BottomSheetModal, BottomSheetView } from '@gorhom/bottom-sheet'; import React, { useCallback, useMemo, useRef, useState } from 'react'; -import { Dimensions, Platform, Text, TextInput, TouchableOpacity, View } from 'react-native'; +import { Dimensions, Platform, ScrollView, Text, TextInput, TouchableOpacity, View } from 'react-native'; import { GestureHandlerRootView } from 'react-native-gesture-handler'; import ToggleSwitch from '../../../components/common/ToggleSwitch'; import { Day, useAlarmContext } from '../../../contexts/AlarmContext'; @@ -159,6 +159,7 @@ export default function EditWakeUpAlarmPage() { return ( + + - ); diff --git a/Time-Up/src/pages/Alarm/WakeUp/WakeUpAlarmDetailPage.tsx b/Time-Up/src/pages/Alarm/WakeUp/WakeUpAlarmDetailPage.tsx index bda7440..622cd27 100644 --- a/Time-Up/src/pages/Alarm/WakeUp/WakeUpAlarmDetailPage.tsx +++ b/Time-Up/src/pages/Alarm/WakeUp/WakeUpAlarmDetailPage.tsx @@ -8,6 +8,7 @@ import { Day, useAlarmContext } from '../../../contexts/AlarmContext'; import useAppNavigation from '../../../hooks/useAppNavigation'; import BottomLayout from '../../../Layouts/BottomLayout'; +import { ScrollView } from 'react-native-gesture-handler'; import IconBiv from '../../../../assets/images/AlarmBiv.svg'; import IconCalendar from '../../../../assets/images/AlarmCalendar.svg'; import IconMemo from '../../../../assets/images/AlarmMemo.svg'; @@ -52,6 +53,7 @@ export default function WakeUpAlarmDetailPage() { return ( + @@ -183,7 +185,7 @@ export default function WakeUpAlarmDetailPage() { - + ); } \ No newline at end of file diff --git a/Time-Up/src/pages/Alarm/WakeUp/WakeUpAlarmPage.tsx b/Time-Up/src/pages/Alarm/WakeUp/WakeUpAlarmPage.tsx index ab50c9c..562bbe7 100644 --- a/Time-Up/src/pages/Alarm/WakeUp/WakeUpAlarmPage.tsx +++ b/Time-Up/src/pages/Alarm/WakeUp/WakeUpAlarmPage.tsx @@ -72,8 +72,8 @@ export default function WakeUpAlarmPage() { }; const formatAutoTimeLine = (iso: string) => { const d = new Date(iso); - const h = d.getHours(); - const m = d.getMinutes(); + const h = d.getUTCHours(); + const m = d.getUTCMinutes(); const period = h < 12 ? '오전' : '오후'; const hh = (h % 12) || 12; return `${period} ${String(hh).padStart(2, '0')} : ${String(m).padStart(2, '0')}`; @@ -199,12 +199,11 @@ export default function WakeUpAlarmPage() { 내 알람 - - + {weekdays.map((day) => { const alarm = wakeupAlarms.find((a) => a.date.dayOfWeek === day);