From 8b05476a42dbc4f885bfaf4619bd61103fdf4c6f Mon Sep 17 00:00:00 2001 From: kimywann Date: Mon, 23 Feb 2026 18:39:51 +0900 Subject: [PATCH 1/7] =?UTF-8?q?docs:=20=ED=8A=B8=EB=9F=AC=EB=B8=94=20?= =?UTF-8?q?=EC=8A=88=ED=8C=85=20=EB=B6=80=EB=AC=B8=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/README.md b/README.md index 9a177fe..dbab442 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,6 @@

사이드 프로젝트 팀을 위한 체계적인 일정 관리 앱, 함께 만들고 함께 확인하는 협업 공간.

-

1 2 @@ -35,15 +34,6 @@ --- -## 트러블 슈팅 -- SafeAreaView 플랫폼 별 여백 이슈 -- 플랫폼 별 키보드 이슈 -- 모달 위에 모달 위에 모달 이슈 -- 팀 리스트 바로 안 불러와지는 것 -- 중복 리프레쉬 토큰 재발급 인터셉터로 해결 - ---- - ## 🛠 기술 스택 ### Core From 19a3f1deed8932e87ec31f4ab569da65984dcdba Mon Sep 17 00:00:00 2001 From: kimywann Date: Mon, 23 Feb 2026 18:51:33 +0900 Subject: [PATCH 2/7] =?UTF-8?q?ref:=20CtaButton=20=EB=9D=BC=EC=9D=B4?= =?UTF-8?q?=ED=8C=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/auth/permission.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/auth/permission.tsx b/app/auth/permission.tsx index 50100a6..4eb88b0 100644 --- a/app/auth/permission.tsx +++ b/app/auth/permission.tsx @@ -157,7 +157,7 @@ export default function PermissionsScreen() { From 89798f835e12f53e93de0b486344447ed32af2b4 Mon Sep 17 00:00:00 2001 From: kimywann Date: Mon, 23 Feb 2026 19:16:19 +0900 Subject: [PATCH 3/7] =?UTF-8?q?fix:=20=ED=8C=80=20=EC=B0=B8=EA=B0=80=20?= =?UTF-8?q?=EC=8B=9C=20=EC=82=AC=EC=9D=B4=EB=93=9C=20=EB=AA=A8=EB=8B=AC?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=ED=8C=80=20=EB=B0=94=EB=A1=9C=20=EB=9C=A8?= =?UTF-8?q?=EC=A7=80=EC=95=8A=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/teams/check/join/profile-setup.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/teams/check/join/profile-setup.tsx b/app/teams/check/join/profile-setup.tsx index 46a84b2..2bb72ae 100644 --- a/app/teams/check/join/profile-setup.tsx +++ b/app/teams/check/join/profile-setup.tsx @@ -4,6 +4,7 @@ import { Position } from "@/features/team/types/team.model"; import NemoText from "@/shared/ui/atoms/NemoText"; import Chips, { ChipText } from "@/shared/ui/molecules/Chips"; import CtaButton from "@/shared/ui/molecules/CtaButton"; +import { useQueryClient } from "@tanstack/react-query"; import { useLocalSearchParams, useRouter } from "expo-router"; import { useState } from "react"; import { StyleSheet, TouchableOpacity, View } from "react-native"; @@ -11,6 +12,7 @@ import { SafeAreaView } from "react-native-safe-area-context"; export default function ProfileSetupScreen() { const router = useRouter(); + const queryClient = useQueryClient(); const params = useLocalSearchParams<{ teamId?: string; inviteCode: string; @@ -23,7 +25,7 @@ export default function ProfileSetupScreen() { : []; const [selectedPositionId, setSelectedPositionId] = useState( - null + null, ); const [chipData, setChipData] = useState( @@ -31,7 +33,7 @@ export default function ProfileSetupScreen() { id: position.positionId, content: position.positionName, isActive: false, - })) + })), ); const handlePositionSelect = (items: ChipText[]) => { @@ -68,6 +70,11 @@ export default function ProfileSetupScreen() { positionId: selectedPositionId, }); + // teamList staleTime이 길어서 참가 직후 캐시가 그대로일 수 있음. + // 사이드바에서 즉시 새 팀이 보이도록 참가 성공 시점에 갱신한다. + await queryClient.invalidateQueries({ queryKey: ["teamList"] }); + await queryClient.refetchQueries({ queryKey: ["teamList"] }); + const joinedTeamId = Number(params.teamId); if (Number.isFinite(joinedTeamId) && joinedTeamId > 0) { router.replace(`/${joinedTeamId}/calendar`); From 30f40de31131a51928ca77a97dd2da8d755c5024 Mon Sep 17 00:00:00 2001 From: kimywann Date: Mon, 23 Feb 2026 19:43:33 +0900 Subject: [PATCH 4/7] =?UTF-8?q?fix:=20=EC=BA=98=EB=A6=B0=EB=8D=94=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=ED=95=A0=20=EB=95=8C=20=EC=B0=B8=EC=84=9D?= =?UTF-8?q?=EC=9E=90,=20=ED=8F=AC=EC=A7=80=EC=85=98=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=95=88=20=EB=9C=A8=EB=8A=94=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shared/hooks/useCalendarForm.tsx | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/shared/hooks/useCalendarForm.tsx b/shared/hooks/useCalendarForm.tsx index 5113714..8bb0e5a 100644 --- a/shared/hooks/useCalendarForm.tsx +++ b/shared/hooks/useCalendarForm.tsx @@ -63,13 +63,15 @@ export const createInitialState = ({ // schedule 편집 if (type === "schedule") { const s = data as SchedulesResponse; - const person = persons - .filter((per) => (s.attendeeMemberIds ?? []).includes(per.memberId)) - .map((per) => ({ ...per, isActive: true })); - - const position = positions - .filter((pos) => data.positionIds.includes(pos.positionId)) - .map((pos) => ({ ...pos, isActive: true })); + const person = persons.map((per) => ({ + ...per, + isActive: (s.attendeeMemberIds ?? []).includes(per.memberId), + })); + + const position = positions.map((pos) => ({ + ...pos, + isActive: (data.positionIds ?? []).includes(pos.positionId), + })); const { repeatType, repeatEndDate, From 4d9ae9577057acd90bcbcad00aca548c20645328 Mon Sep 17 00:00:00 2001 From: kimywann Date: Mon, 23 Feb 2026 19:59:00 +0900 Subject: [PATCH 5/7] =?UTF-8?q?ref:=20=EA=B6=8C=ED=95=9C=20=EC=8A=A4?= =?UTF-8?q?=ED=81=AC=EB=A6=B0=20=EB=9D=BC=EC=9D=B4=ED=8C=85=20=EB=B0=8F=20?= =?UTF-8?q?=EC=8A=A4=ED=8E=98=EC=9D=B4=EC=8B=B1=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/auth/permission.tsx | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/app/auth/permission.tsx b/app/auth/permission.tsx index 4eb88b0..59c8f25 100644 --- a/app/auth/permission.tsx +++ b/app/auth/permission.tsx @@ -38,7 +38,7 @@ export default function PermissionsScreen() { if (!pending) { Alert.alert( "오류", - "로그인 정보가 만료되었습니다. 다시 로그인해 주세요." + "로그인 정보가 만료되었습니다. 다시 로그인해 주세요.", ); router.replace("/auth"); return; @@ -112,7 +112,7 @@ export default function PermissionsScreen() { > 앱 접근 권한 안내 - + Nemonemo 서비스 이용을 위해 다음 권한을 확인해 주시길 바랍니다. @@ -169,12 +169,10 @@ const styles = StyleSheet.create({ container: { flex: 1, marginTop: 134, - marginHorizontal: 20, gap: globalSpacingMd, }, textContainer: { - padding: 20, - marginVertical: 30, + marginHorizontal: 20, gap: 20, }, card: { @@ -189,21 +187,29 @@ const styles = StyleSheet.create({ text_h1: { fontSize: 22, fontWeight: "700", - lineHeight: 27, - fontFamily: "Pretendard-Regular", + lineHeight: 24, + fontFamily: "Pretendard-Bold", color: "#2B2B2B", }, text_h3: { - fontSize: 19, + fontSize: 16, fontWeight: "500", - lineHeight: 27, + lineHeight: 18, + fontFamily: "Pretendard-Bold", + color: "#2B2B2B", + }, + text_h4: { + fontSize: 16, + fontWeight: "400", + lineHeight: 20, fontFamily: "Pretendard-Regular", color: "#2B2B2B", + marginHorizontal: 20, }, text_body1: { - fontSize: 16, - fontWeight: "200", - lineHeight: 27, + fontSize: 14, + fontWeight: "300", + lineHeight: 20, fontFamily: "Pretendard-Regular", color: globalGray700, }, @@ -216,10 +222,11 @@ const styles = StyleSheet.create({ }, text_body3: { fontSize: 12, - fontWeight: "200", - lineHeight: 17, + fontWeight: "300", + lineHeight: 18, fontFamily: "Pretendard-Regular", - color: globalGray700, + marginHorizontal: 20, + color: "#5F5F5F", }, rowIcon: { flexDirection: "row", alignItems: "center", gap: 12 }, rowText: { flex: 1, gap: 4 }, From 613486131ce5ae8332a56cdf5835f2102848a650 Mon Sep 17 00:00:00 2001 From: kimywann Date: Mon, 23 Feb 2026 20:02:58 +0900 Subject: [PATCH 6/7] =?UTF-8?q?ref:=20row=20=EB=B0=94=20=EC=A2=8C=EC=9A=B0?= =?UTF-8?q?=20=EA=B0=84=EA=B2=A9=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/auth/permission.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/app/auth/permission.tsx b/app/auth/permission.tsx index 59c8f25..6ab7596 100644 --- a/app/auth/permission.tsx +++ b/app/auth/permission.tsx @@ -177,7 +177,6 @@ const styles = StyleSheet.create({ }, card: { borderRadius: 12, - padding: 16, gap: 12, }, row: { From 42ae23195fa2343fbefe3ccffd86118247645b12 Mon Sep 17 00:00:00 2001 From: kimywann Date: Mon, 23 Feb 2026 20:10:18 +0900 Subject: [PATCH 7/7] =?UTF-8?q?style:=20CtaButton=EC=97=90=20marginBottom?= =?UTF-8?q?=20=EA=B0=92=20=EC=A7=80=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/auth/permission.tsx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/app/auth/permission.tsx b/app/auth/permission.tsx index 6ab7596..4b3c9b6 100644 --- a/app/auth/permission.tsx +++ b/app/auth/permission.tsx @@ -156,11 +156,13 @@ export default function PermissionsScreen() { - + + + ); }