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

Adds Thread List UI Component #621

Merged
merged 48 commits into from
Oct 17, 2024
Merged

Adds Thread List UI Component #621

merged 48 commits into from
Oct 17, 2024

Conversation

nuno-vieira
Copy link
Member

@nuno-vieira nuno-vieira commented Oct 14, 2024

🔗 Issue Link

Resolves https://stream-io.atlassian.net/browse/PBE-4346

🎯 Goal

Adds Thread List UI Component and implements Threads v2.

🛠 Implementation

Overall, I followed the Channel List implementation as much as possible to keep it consistent.

Summary:

  • Implements Tab Bar with Channel List and Thread List in the Demo App
  • Fixes Channel List loading shimmering effect not working
  • Fixes Channel List not preselecting the Channel on iPad
  • Adds Channel List Item background colour when selected on iPad
  • Adds markThreadRead() logic to ChannelViewModel
  • Adds new Thread List UI Component

🧪 Testing

The following QA Scenarios should be tested:
https://www.notion.so/stream-wiki/iOS-Threads-v2-bad42bdd8cc84016ace1010e1a783fea

☑️ Checklist

  • I have signed the Stream CLA (required)
  • Changelog is updated with client-facing changes
  • New code is covered by unit tests
  • Affected documentation updated (docusaurus, tutorial, CMS (task created)

@nuno-vieira nuno-vieira requested a review from a team as a code owner October 14, 2024 17:45
@Stream-SDK-Bot
Copy link
Collaborator

Stream-SDK-Bot commented Oct 14, 2024

SDK Size

title develop branch diff status
StreamChatSwiftUI 7.14 MB 7.97 MB +847 KB 🟢

@nuno-vieira nuno-vieira changed the base branch from develop to main October 14, 2024 18:54
@nuno-vieira nuno-vieira changed the base branch from main to develop October 14, 2024 18:55
Copy link
Contributor

@martinmitrevski martinmitrevski left a comment

Choose a reason for hiding this comment

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

Looks great, really nice to see you in the SwiftUI world!
One weird thing is that I can't open the project (see the comments), although there are no conflicts in the xcodeproj file.
Let's check this tomorrow and I will do some testing afterwards.

Copy link
Contributor

@martinmitrevski martinmitrevski left a comment

Choose a reason for hiding this comment

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

Almost there - I left few small comments. But, I still can't open the xcodeproj on the two latest Xcodes, therefore I can't test the feature.


// MARK: Threads

public func makeThreadDestination() -> (ChatThread) -> ChatChannelView<Self> {
Copy link
Contributor

Choose a reason for hiding this comment

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

wonder if the additional protocol methods contribute to the SDK size? 🤔

Copy link
Member Author

Choose a reason for hiding this comment

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

Could be... usually Structs and Protocols increase the size

StreamChatSwiftUI.xcodeproj/project.pbxproj Show resolved Hide resolved
Copy link
Contributor

@martinmitrevski martinmitrevski left a comment

Choose a reason for hiding this comment

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

LGTM! ✅ Just check if we really need that brewfile.lock file. In any case, feel free to merge it - we anyway have to add the docs in the other repo.

Brewfile.lock.json Show resolved Hide resolved
Copy link

sonarcloud bot commented Oct 16, 2024

@nuno-vieira nuno-vieira merged commit 6c5cfeb into develop Oct 17, 2024
9 of 10 checks passed
@nuno-vieira nuno-vieira deleted the add/threads-v2 branch October 17, 2024 09:32
@Stream-SDK-Bot Stream-SDK-Bot mentioned this pull request Oct 18, 2024
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.

3 participants