Commits
GitHub 커밋 기반으로 자동 생성된 개발 기록
설정 탭 이탈 시 미저장 변경사항 확인 팝업 구현
🤖 845 in / 687 out / 1532 total tokens 사용자가 설정을 변경하고 저장하지 않은 채 다른 탭으로 이동하려 할 때 확인 팝업을 띄워주는 기능을 추가했다. settingsDirty 스토어를 새로 만들어 설정 변경 여부를 추적한다. Settings 컴포넌트에서 초기 설정값을 JSON으로 저장해두고, 현재 값과 비교하여 변경사항이
버튼 연타 입력 씹힘 수정 및 JS 로직 정리
🤖 440 in / 1376 out / 1816 total tokens 더블탭 줌 차단을 위한 불필요한 JS 핸들러를 제거하여 버튼 연타 입력 문제를 해결했습니다. 이제 핀치 줌은 JS로, 더블탭은 CSS touch-action 속성으로 처리하여 부하를 줄이고 성능을 개선했습니다. 사용자 경험을 위해 불필요한 이벤트 리스너를 정리했습니다.
더블탭 줌 차단, JS에서 CSS로 넘기다
🤖 440 in / 823 out / 1263 total tokens 모바일에서 더블탭 줌을 막으려고 JS로 touchend 이벤트를 감지하고 있었다. 300ms 안에 연속 탭이 들어오면 preventDefault로 차단하는 방식이었는데, 문제는 이게 버튼 연타 입력도 같이 씹어버린다는 것이다. 사용자가 빠르게 버튼을 누르면 정상적인 입력까지 막혀서
모바일 확대 기능 완전 차단
🤖 609 in / 1404 out / 2013 total tokens 모바일 기기의 확대 기능을 CSS와 JS 이벤트 차단으로 완전히 제거합니다. CSS touch-action 속성을 조정하여 제스처 줌을 막고, JS에서는 핀치 줌과 더블탭 줌 이벤트를 감지하여 브라우저 기본 동작을 방해합니다. 이로 인해 사용자가 앱 내에서 확대/축소를 시도하더라도
모바일 확대 완전 차단하기
🤖 609 in / 756 out / 1365 total tokens 공무원 근무기록 앱에서 모바일 확대를 완전히 차단했다. 사용자가 실수로 화면을 확대해서 UI가 깨지는 걸 방지하기 위해서다. CSS만으로는 한계가 있었다. touch-action: manipulation은 더블탭 줌은 막지만, 핀치 줌까지는 막지 못한다. 그래서 touch-acti
모바일에서 버튼 연타 시 화면 확대되던 문제 해결
🤖 726 in / 594 out / 1320 total tokens 공무원 근무기록 앱에서 출퇴근 버튼을 빠르게 연타하면 화면이 확대되는 문제가 있었다. 특히 iOS Safari에서 더블탭 줌 동작이 트리거되어 사용자 경험을 해쳤다. iOS 10부터는 viewport meta 태그의 user-scalable=no를 무시하기 때문에 CSS로 접근해야
모바일 버튼 연타 시 화면 확대 방지
🤖 726 in / 1263 out / 1989 total tokens touch-action: manipulation 전역 스타일 적용으로 iOS Safari 등에서 더블탭 줌을 비활성화한다. 스크롤 기능은 유지하면서 버튼 클릭 반응 속도만 개선하여 UX를 개선했다. 웹뷰 환경에서 발생하는 확대 현상을 CSS로 깔끔하게 해결했다.
출퇴근 시간 팝업에 빠른 조절 기능 구현
🤖 1180 in / 1612 out / 2792 total tokens 출퇴근 시간 입력 팝업에 -1, -5, -10, -60분 버튼을 추가했다. BottomBar와 DaySheet 컴포넌트 모두 시간을 분 단위로 계산하여 0~23시 59분 사이로 자동 정리하는 로직을 적용했다. CSS로 버튼 레이아웃도 함께 정리했다.
출퇴근 시간 팝업에 빠른 조절 버튼 추가
🤖 1180 in / 699 out / 1879 total tokens 출퇴근 시간 등록할 때 매번 타이핑하거나 시계를 조작하는 게 귀찮았다. 그래서 확인 팝업에 -1분, -5분, -10분, -60분 버튼을 달았다. 실수로 늦게 찍었거나 식사 시간을 빼고 싶을 때 한 번에 조절 가능하다. adjustTime 함수를 새로 만들었다. HH:MM 문자열을
출퇴근 기록에 시간 수정 기능 팝업 도입
🤖 980 in / 1747 out / 2727 total tokens 기존 즉시 등록 방식을 수정하여 사용자가 시간을 직접 선택하고 저장할 수 있도록 구현했다. BottomBar와 DaySheet에서 팝업 상태 관리 로직을 작성하고, 현재 시간을 자동으로 입력해준다.