FEATURE: Mobile Chat Footer Redesign (#25161)

This update adds three tabs to the bottom of the chat overlay to make it easier for users to navigate chat on mobile.

As a result of this change:

- Direct Messages are now shown separately from public channels on mobile
- My Threads has now moved from the channel list to it's own tab on mobile
- My Threads can still be accessed on desktop via the sidebar and within the drawer channel list
- Chat back button has been updated to navigate to the correct tab (for both channels and threads)

Some special cases:

- If DMs are not used then the tab is not rendered
- If the user has no threads then the tab is not rendered
- If both the tabs for DMs and Threads aren't available then the whole footer will not be rendered
- Chat footer is only shown on the listing pages (DMs, Channels, My Threads)

---------

Co-authored-by: chapoi <101828855+chapoi@users.noreply.github.com>
Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
This commit is contained in:
David Battersby
2024-01-16 14:29:33 +08:00
committed by GitHub
parent 1e57fed3b9
commit 4512e5652f
45 changed files with 801 additions and 345 deletions

View File

@ -21,4 +21,11 @@ class Chat::Api::CurrentUserThreadsController < Chat::ApiController
on_model_not_found(:threads) { render json: success_json.merge(threads: []) }
end
end
def thread_count
with_service(::Chat::LookupUserThreads) do
on_success { render json: success_json.merge(thread_count: result.threads.size) }
on_model_not_found(:threads) { render json: success_json.merge(thread_count: 0) }
end
end
end