Skip to content

태그를 LongPressGesture로 복붙 가능하도록 구현한다 #293

Description

@opficdev

목적

Todo에서 사용자가 입력한 실제 태그를 시스템 상황별 메뉴를 통해 복사할 수 있도록 한다.

구현 범위

  • TagList.contentTags에서 실제 태그를 생성하는 Tag에 SwiftUI .contextMenu 적용
  • Todo 상세 화면과 Todo 생성·수정 화면의 기존 TagList에 동일한 동작 제공
  • 메뉴에는 복사 동작 하나만 표시
  • 복사 동작 선택 시 화면에 표시된 태그 문자열을 그대로 클립보드에 저장
  • 복사 문자열에 # 접두사 미추가
  • 편집 상태에서 기존 태그 삭제 버튼과 삭제 동작 유지
  • Application/App/Sources/Resource/Localizable.xcstrings에 공통 복사 문구 추가
    • 한국어: 복사
    • 영어: Copy

입력 방식

  • 터치: 태그 길게 누르기
  • 마우스: 우클릭 또는 시스템이 길게 누르기로 해석하는 좌클릭 유지
  • 입력별 별도 메뉴를 만들지 않고 .contextMenu가 제공하는 시스템 입력 처리 사용

제외 범위

  • 마감일을 표시하는 단독 Tag 복사
  • TagList의 오버플로우 표시 ... 복사
  • Tag 공개 생성자 또는 공개 API 변경
  • 복사 완료 Toast, 알림, 진동 등 별도 피드백 추가
  • 태그 삭제 동작 변경

수용 조건

  • 실제 태그를 길게 누르거나 지원되는 마우스 입력을 사용하면 복사 메뉴가 표시됨
  • 앱 언어가 한국어이면 복사, 영어이면 Copy로 표시됨
  • 복사 후 클립보드 값이 화면에 표시된 태그 문자열과 일치함
  • 복사된 값에 #이 포함되지 않음
  • 마감일과 ...에서는 복사 메뉴가 표시되지 않음
  • Todo 생성·수정 화면에서 기존 태그 삭제 동작이 유지됨

현재 상태

  • 설계 확정
  • 구현 및 검증 미완료

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions