Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2.2.0] 쿠링봇 UI #218

Merged
merged 3 commits into from
Aug 22, 2024
Merged

[2.2.0] 쿠링봇 UI #218

merged 3 commits into from
Aug 22, 2024

Conversation

wonniiii
Copy link
Member

@wonniiii wonniiii commented Aug 6, 2024

내용

  • 쿠링봇 UI 구현했습니다.
  • TCA로 변환하려고 노력 많이 했는데 적용하기 너무 어려워서 일단 변경 전 코드 올리고, 서버 연결하면서 계속 더 고민하고 바꾸겠습니다 ㅠㅠ
  • [2.1.0] 쿠링봇 UI 구현 #214

코드

  • 질문 횟수가 2회면 텍스트필드와 전송 버튼 작동 안하게 구현했습니다.
  • 현재 응답은 임시 응답으로 넣어놓은 상태고 서버 연결하면서 응답중일때 Lottie 적용할 예정입니다.

스크린샷

RPReplay_Final1722981751.mov

@wonniiii wonniiii added 새기능/개선작업 새 기능 작업 또는 개선 작업 쿠링봇 쿠링봇 기능 labels Aug 6, 2024
@wonniiii wonniiii self-assigned this Aug 6, 2024
Copy link
Contributor

@x-0o0 x-0o0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아직 채팅의 자동스크롤 기능 같은건 이번 작업 범위는 아닌거죠~?

패키지 타겟 관리도 잘하시구 TCA 도 잘 사용하시는 것 같네요👍

그리고 TCA 가 어려우시다면 평범하게 애플 Observable 로 가는 걸 추천드려요. 효원님께 도움이 되는 쪽으로!!!

고생하셨습니다

lgvv
lgvv previously approved these changes Aug 7, 2024
sunshiningsoo
sunshiningsoo previously approved these changes Aug 7, 2024
Copy link
Member

@sunshiningsoo sunshiningsoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오.. 좋은데요..!!

@wonniiii
Copy link
Member Author

wonniiii commented Aug 7, 2024

아직 채팅의 자동스크롤 기능 같은건 이번 작업 범위는 아닌거죠~?

패키지 타겟 관리도 잘하시구 TCA 도 잘 사용하시는 것 같네요👍

그리고 TCA 가 어려우시다면 평범하게 애플 Observable 로 가는 걸 추천드려요. 효원님께 도움이 되는 쪽으로!!!

고생하셨습니다

질문을 2번밖에 할 수가 없어서 스크롤 기능은 아직 필요하지 않다고 생각했습니다 ! TCA 전환은 차차 수정하겠습니다..ㅠㅠ!!

@wonniiii wonniiii dismissed stale reviews from sunshiningsoo and lgvv via 5b1ce13 August 7, 2024 08:45
@wonniiii wonniiii changed the title [2.1.0] 쿠링봇 UI [2.1.2] 쿠링봇 UI Aug 11, 2024
@mwy3055
Copy link
Member

mwy3055 commented Aug 13, 2024

아직 채팅의 자동스크롤 기능 같은건 이번 작업 범위는 아닌거죠~?
패키지 타겟 관리도 잘하시구 TCA 도 잘 사용하시는 것 같네요👍
그리고 TCA 가 어려우시다면 평범하게 애플 Observable 로 가는 걸 추천드려요. 효원님께 도움이 되는 쪽으로!!!
고생하셨습니다

질문을 2번밖에 할 수가 없어서 스크롤 기능은 아직 필요하지 않다고 생각했습니다 ! TCA 전환은 차차 수정하겠습니다..ㅠㅠ!!

cf: 안드는 자동 스크롤 가능하게 구현했습니다. 제 폰에서는 답변이 좀만 길어져도 스크롤이 필요하더라고요. 아이폰은 어떨지 모르겠네요

@x-0o0
Copy link
Contributor

x-0o0 commented Aug 17, 2024

@wonniiii

우영님이 남겨주신 커멘트 한번 보고 자동스크롤 고민해보시면 좋을 거 같아요.

아마 새 메세지가 들어왔을 때 자동 스크롤 해주는 경우만 고려해도 될 거 같은데 이 경우 코드가 엄청 단순하거든요.

// Message List
ScrollView {
    LazyVStack {
        ForEach(messages) { 
            ... 
        }
        .id(chatMessage.id) // 1. 메세지 버블에 `id` 적용
    }
}
ScrollViewReader { proxy in // 2. 자동스크롤을 위해 메세지 리스트를 ScrollViewReader 로 감쌉니다.
    MessageList()
        .onChange(of: chatHistory) {
            withAnimation { proxy.scrollTo(lastMessage.id, anchor: .bottom) // 3. 마지막 메세지가 달라지면 자동 스크롤
        }

@wonniiii
Copy link
Member Author

@wonniiii

우영님이 남겨주신 커멘트 한번 보고 자동스크롤 고민해보시면 좋을 거 같아요.

아마 새 메세지가 들어왔을 때 자동 스크롤 해주는 경우만 고려해도 될 거 같은데 이 경우 코드가 엄청 단순하거든요.

// Message List
ScrollView {
    LazyVStack {
        ForEach(messages) { 
            ... 
        }
        .id(chatMessage.id) // 1. 메세지 버블에 `id` 적용
    }
}
ScrollViewReader { proxy in // 2. 자동스크롤을 위해 메세지 리스트를 ScrollViewReader 로 감쌉니다.
    MessageList()
        .onChange(of: chatHistory) {
            withAnimation { proxy.scrollTo(lastMessage.id, anchor: .bottom) // 3. 마지막 메세지가 달라지면 자동 스크롤
        }

넵 확인했습니다 ! 의외로 엄청 단순하군요. 적용해서 올리겠습니다 !

@lgvv lgvv changed the title [2.1.2] 쿠링봇 UI [2.2.0] 쿠링봇 UI Aug 21, 2024
@wonniiii wonniiii merged commit d7bb69a into develop/2.0.0 Aug 22, 2024
@wonniiii wonniiii deleted the feature/kuringbot/UI branch August 22, 2024 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
새기능/개선작업 새 기능 작업 또는 개선 작업 쿠링봇 쿠링봇 기능
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants