Skip to content

[Feat] 카드 복수 선택 UI로 전환 (문장 조합 대응) #1

Description

@nayeaong

🍒 IssueName

카드 선택 화면을 단일 선택 → 복수 선택으로 전환

📝 Description

사용자가 카드를 여러 장 골라 문장을 조합할 수 있어야 한다(예: "이거"+"주세요" → "이거 주세요").
지금은 card_select_screen.dart가 단일 선택으로 하드코딩돼 있어 카드를 한 장밖에 못 고른다.

백엔드는 이미 준비 완료됐다: POST /selectcards 배열을 받아 한 번에 기록하도록 바뀌었다
(기존 card 단수 호출도 당분간 계속 동작함). 관련 백엔드 PR: malkong/backend#26

🔧 바꿔야 할 부분 (lib/screens/card_select_screen.dart)

  • RecommendedCard? _selected (단수) → List<RecommendedCard> _selected (복수)
  • onTap: () => setState(() => _selected = card) (교체) → 토글 방식으로 변경(이미 선택된 카드면 목록에서 제거, 아니면 추가)
  • 안내 문구 '하고 싶은 말을 한 장 골라 주세요.' → 복수 선택에 맞게 수정
  • ResultScreen(card: card, ...) → 선택된 카드 목록을 넘기도록 변경
  • /select 호출: 카드마다 여러 번 호출하지 말고, 선택 완료 시 cards 배열로 한 번만 호출
    (lib/services/api_service.dartselectCardcards 배열을 받도록 같이 손봐야 함)

⚠️ 별도 확인 필요 — 문장 조합/TTS

ResultScreen이 지금은 TtsService.speak(card.word)로 카드 하나의 단어만 그대로 읽는다.
카드 여러 장을 자연스러운 한 문장으로 만드는 로직이 앱에도 백엔드에도 아직 없다
(팀원의 card_tts 브랜치에 generate_sentence_from_cards가 있지만 어디에도 연결 안 됨).
이 이슈 범위에서는 카드 여러 장을 단순히 이어붙여 읽는 정도로 우선 처리하고,
자연스러운 문장 조합은 별도 이슈로 논의 필요.

💨 참고 — 응답속도 개선

Mode 1(speech_text: '')의 /analyze 응답이 10~15초 → 1초 미만으로 개선됐다
(malkong/backend#26). api_service.dart_analyzeTimeout(현재 30초)을 줄여도 된다.

🌱 Todo

  • card_select_screen.dart 복수 선택 UI로 전환
  • api_service.dartselectCardcards 배열 호출로 변경
  • ResultScreen이 선택된 카드 목록을 받아 표시
  • (별도 논의) 문장 조합/TTS 방식 결정

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions