카테고리 태그 버튼에 키보드 접근성 추가
commitsMidWayDer · c9c6443

카테고리 태그 버튼에 키보드 접근성 추가

🤖 1783 in / 933 out / 2716 total tokens 카테고리 태그 버튼(카페, 편의점, 다이소 등)에 키보드 접근성을 적용했다. 탭 키로 포커스 이동이 가능하고 스크린 리더도 카테고리 이름을 읽을 수 있다. tabIndex={0}로 포커스 가능하게 만들고, aria-label로 "카페 카테고리 선택" 같은 의미 있는 라벨을 붙였다

이더1개월 전1 min read0
접근성a11y키보드네비게이션
카카오맵 스타일로 검색창/태그 상단 이동
commitsMidWayDer · 63bcc14

카카오맵 스타일로 검색창/태그 상단 이동

🤖 847 in / 869 out / 1716 total tokens 모바일 UI를 카카오맵처럼 상단 중심 구조로 개선했다. 기존엔 검색창과 카테고리 태그가 분산되어 있었는데, 사용자 시선이 위로 몰리는 자연스러운 흐름으로 재배치했다. BottomQuickBar에서 QUICK_CATEGORIES 배열을 제거하고, page.tsx의 상단 검색바 영역으

이더1개월 전2 min read0
UI/UX모바일리팩토링
테스트 환경에서 navigator undefined 에러 해결
commitsMidWayDer · 91dbc34

테스트 환경에서 navigator undefined 에러 해결

🤖 598 in / 1793 out / 2391 total tokens useOnlineStatus 훅 테스트 돌리는데 navigator is not defined 에러가 터졌다. Node.js 환경인 Jest에서 브라우저 전역 객체인 navigator에 접근하려 해서 발생한 문제다. getSnapshot 함수 초입에 typeof 체크를 추가했다.

이더1개월 전2 min read0
ReactJestBugFix
useOnlineStatus 훅, useSyncExternalStore로 리팩토링
commitsMidWayDer · 68aff84

useOnlineStatus 훅, useSyncExternalStore로 리팩토링

🤖 741 in / 1474 out / 2215 total tokens useOnlineStatus 훅에서 useEffect 내 동기 setState 호출로 인한 ESLint 에러를 해결했다. 기존엔 useState로 초기값 true를 설정하고, useEffect에서 navigator.onLine으로 동기 업데이트 후 이벤트 리스너를 등록하는 방식이

이더1개월 전3 min read0
ReacthooksuseSyncExternalStore
검색 자동완성 드롭다운이 배경과 겹쳐 보이던 문제 수정
commitsMidWayDer · 093907c

검색 자동완성 드롭다운이 배경과 겹쳐 보이던 문제 수정

🤖 1022 in / 818 out / 1840 total tokens 출발지/도착지 검색할 때 자동완성 드롭다운이 배경이랑 섞여서 구분이 안 됐다. 입력 필드도 배경이 투명해서 경계가 모호했고. AddressInput 컴포넌트에서 드롭다운 z-index를 50에서 100으로 올렸다. 테두리도 1px에서 2px로 두껍게, 그림자도 강화했다. 입력 필

이더1개월 전2 min read0
UICSSz-index
모바일 UX/UI 심화 최적화: GPU 가속과 접근성 강화
commitsMidWayDer · 2dbe104

모바일 UX/UI 심화 최적화: GPU 가속과 접근성 강화

🤖 2335 in / 1232 out / 3567 total tokens 모바일 경험을 개선했다. GPU 가속으로 애니메이션을 부드럽게, 접근성으로 더 많은 사용자에게. GPU 가속을 전면 적용했다. will-change, translate3d 조합으로 레이어를 분리했다. 바텀시트, 스와이프 카드, 검색 오버레이에 gpu-accelerate 클래스를

이더1개월 전3 min read0
모바일UX접근성
모바일 UX 개선: 터치 타겟과 가독성 확보
commitsMidWayDer · 2c65a6f

모바일 UX 개선: 터치 타겟과 가독성 확보

🤖 1410 in / 1100 out / 2510 total tokens 모바일에서 터치하기 어려운 버튼과 입력 필드를 개선했다. 사용자 피드백으로 접수된 모바일 UI/UX 이슈를 해결했다. 버튼은 48x48px 최소 크기를 맞췄다. 스왑 버튼은 40x40에서 48x48로, CompactCard의 액션 버튼은 32x32에서 44x44로 확대했다. 최

이더1개월 전2 min read1
mobile-uxcsstouch-target
ESLint 0 errors, 0 warnings 달성
commitsMidWayDer · 1f32c9a

ESLint 0 errors, 0 warnings 달성

🤖 1908 in / 603 out / 2511 total tokens v0.66.0에서 코드 품질 개선 작업을 완료했다. ESLint 에러와 워닝을 모두 제거해서 깨끗한 린트 상태를 달성했다. NotificationSettings.tsx에서 구독 관련 함수들을 useCallback으로 래핑해서 불필요한 리렌더링을 방지했다. RouteNameDial

이더1개월 전1 min read0
ESLint코드품질React
ESLint 0 errors, 0 warnings 달성 및 v0.66.0 릴리즈
commitsMidWayDer · 1f32c9a

ESLint 0 errors, 0 warnings 달성 및 v0.66.0 릴리즈

🤖 1908 in / 1977 out / 3885 total tokens v0.66.0으로 업데이트하며 11개 파일의 ESLint 오류와 경고를 모두 해결했습니다. 특히 RouteNameDialog에서 setState in effect 경고를 해결하기 위해 eslint-disable 주석을 추가하고, NotificationSettings의 함수를 us

이더1개월 전1 min read0
ESLintClean CodeRelease
SavedRoutesList 동적 import로 초기 로딩 속도 최적화
commitsMidWayDer · ac801c4

SavedRoutesList 동적 import로 초기 로딩 속도 최적화

🤖 770 in / 1276 out / 2046 total tokens SearchOverlay에서 사용하던 SavedRoutesList를 Next.js dynamic import로 변경했습니다. 사용하지 않는 store import를 제거하고 로딩 스켈레톤을 구현했습니다. 초기 번들 크기를 줄여 사용자 경험을 개선했습니다.

이더1개월 전1 min read0
performancenextjsoptimization