Skip to content

Feat/check person#5

Merged
cho2-0923 merged 3 commits intomainfrom
feat/checkPerson
May 16, 2025
Merged

Feat/check person#5
cho2-0923 merged 3 commits intomainfrom
feat/checkPerson

Conversation

@Fletacode
Copy link
Copy Markdown
Contributor

🚀 주요 변경 내용 (Key Changes)

이번 Pull Request는 애플리케이션의 사용자 경험 개선 및 기능 확장을 목표로 여러 화면과 API 로직을 수정했습니다. 주요 변경 사항은 다음과 같습니다.

  1. 저장된 대상 화면 (SavedTargetsScreen.js) 개선:

    • "Linkle!" 버튼 클릭 시, 랜덤으로 선택된 연락처와 Linkle을 시작할지 확인하는 Alert UI를 추가했습니다.
    • 사용자가 "Linkle 시작"을 선택하면 2초 후 QuestionScreen으로 이동하며, 선택된 연락처가 하이라이트됩니다. "취소" 선택 시 하이라이트는 초기화됩니다.
  2. 질문 화면 (QuestionScreen.js) 로직 대폭 수정:

    • 질문 생성 방식 변경:
      • 초기: 정적 질문 목록 사용.
      • 1차: Gemini API (requestInitialQuestions)를 통해 5개의 초기 질문 동적 생성 및 순차적 질문.
      • 2차: QuestionApi.jsrequestInitialQuestions 함수 부재로 인한 TypeError 해결.
      • 3차: 첫 질문은 고정, 이후 질문은 이전 대화 기반으로 Gemini API (requestNextQuestion)가 동적 생성.
      • 4차: FIRST_QUESTION 상수 값 변경.
      • 5차: 미리 정의된 5개 질문 목록 (QUESTIONS_LIST) 순차 사용 (API 동적 생성 제거).
      • 현재 로직 (6차):
        • 첫 번째 질문 (FIRST_QUESTION)은 고정.
        • 이후 4개 질문은 기본 질문 템플릿 (BASE_QUESTIONS_TEMPLATES)을 사용하되, 각 질문 표시 전 이전 대화 내용 및 사용자 정의 프롬프트 (REFINEMENT_PROMPT_VARIABLE)를 Gemini API (requestRefinedQuestion)에 전달하여 질문을 맥락에 맞게 "개선"하여 표시합니다.
        • REFINEMENT_PROMPT_VARIABLE의 내용을 한국어에서 영어로 변경했습니다.
        • API가 생성하는 최종 질문의 언어를 영어로 변경하도록 QuestionApi.js의 시스템 프롬프트를 수정했습니다.
    • 오류 수정: BASE_QUESTIONS_TEMPLATES 배열 길이 불일치로 인한 TypeError: Cannot read property 'replaceAll' of undefined 오류를 해결했습니다. (배열 요소 추가 및 인덱스 검사 로직)
  3. API 호출 로직 (QuestionApi.js) 수정:

    • requestRefinedQuestion 함수를 현재 질문 생성 로직에 맞춰 구현 및 사용합니다.
      • 친구 이름, 기본 질문 템플릿, 이전 대화 내용, 사용자 정의 개선 지침을 받아 질문을 개선하여 반환합니다.
      • 시스템 프롬프트에 최종 질문 언어를 영어로 명시했습니다.
    • requestInitialQuestionsrequestNextQuestion 함수는 현재 주석 처리되었습니다.
  4. 디자인 통일화:

    • DeviceContactsScreen.js의 디자인 가이드 (배경색 #FFFCF4, 주요 텍스트 #4A4031, 강조색 #B08D57 등)를 QuestionScreen.jsTopicResultScreen.js에 적용하여 시각적 일관성을 높였습니다.
    • 채팅 버블, 입력 UI, 버튼, 로딩 UI 등의 스타일을 수정했습니다.

✅ 체크리스트 (Checklist)

  • 코드가 프로젝트의 코딩 스타일 가이드를 따릅니다.
  • 새로운 기능에 대한 테스트 코드를 작성했거나, 수동 테스트를 완료했습니다.
  • 변경 사항이 기존 기능에 영향을 주지 않는 것을 확인했습니다.
  • 문서 (README, Wiki 등)를 업데이트했습니다. (필요한 경우)
  • 모든 테스트를 통과했습니다.

📝 추가 정보 (Additional Notes)

  • QuestionApi.jsrequestInitialQuestionsrequestNextQuestion 함수는 현재 사용되지 않아 주석 처리되어 있습니다. 추후 필요에 따라 재활성화하거나 삭제할 수 있습니다.
  • 질문 개선을 위한 REFINEMENT_PROMPT_VARIABLE의 내용은 영어로 작성되어 있으며, Gemini API를 통해 최종적으로 영어 질문을 생성하도록 설정되어 있습니다.

@Fletacode Fletacode requested a review from cho2-0923 May 16, 2025 08:55
@cho2-0923 cho2-0923 merged commit 0c207db into main May 16, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants