diff --git a/app/assets/javascripts/discourse/app/components/composer-toggles.js b/app/assets/javascripts/discourse/app/components/composer-toggles.js index 39d15632681..44479836643 100644 --- a/app/assets/javascripts/discourse/app/components/composer-toggles.js +++ b/app/assets/javascripts/discourse/app/components/composer-toggles.js @@ -29,13 +29,13 @@ export default class ComposerToggles extends Component { toggleIcon(composeState) { return composeState === "draft" || composeState === "saving" ? "xmark" - : "chevron-down"; + : "angles-down"; } @discourseComputed("composeState") fullscreenIcon(composeState) { return composeState === "draft" - ? "chevron-up" + ? "angles-up" : composeState === "fullscreen" ? "discourse-compress" : "discourse-expand"; diff --git a/plugins/chat/assets/javascripts/discourse/components/chat-drawer.hbs b/plugins/chat/assets/javascripts/discourse/components/chat-drawer.hbs index 712f71fabf4..065424920c6 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat-drawer.hbs +++ b/plugins/chat/assets/javascripts/discourse/components/chat-drawer.hbs @@ -12,7 +12,7 @@ data-chat-thread-id={{this.chat.activeChannel.activeThread.id}} class={{concat-class "chat-drawer" - (if this.chatStateManager.isDrawerExpanded "is-expanded") + (if this.chatStateManager.isDrawerExpanded "is-expanded" "is-collapsed") }} {{chat/resizable-node ".chat-drawer-resizer" this.didResize}} style={{this.drawerStyle}} diff --git a/plugins/chat/assets/javascripts/discourse/components/chat/navbar/back-button.gjs b/plugins/chat/assets/javascripts/discourse/components/chat/navbar/back-button.gjs index 465040f4595..bf21d186262 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat/navbar/back-button.gjs +++ b/plugins/chat/assets/javascripts/discourse/components/chat/navbar/back-button.gjs @@ -1,9 +1,12 @@ import Component from "@glimmer/component"; import { LinkTo } from "@ember/routing"; +import { service } from "@ember/service"; import icon from "discourse-common/helpers/d-icon"; import { i18n } from "discourse-i18n"; export default class ChatNavbarBackButton extends Component { + @service chatStateManager; + get icon() { return this.args.icon ?? "chevron-left"; } @@ -16,32 +19,41 @@ export default class ChatNavbarBackButton extends Component { return this.args.route ?? "chat"; } + get showBackButton() { + return ( + this.chatStateManager.isDrawerExpanded || + this.chatStateManager.isFullPageActive + ); + } + } diff --git a/plugins/chat/assets/javascripts/discourse/components/chat/navbar/channel-title.gjs b/plugins/chat/assets/javascripts/discourse/components/chat/navbar/channel-title.gjs index 036d23855c0..80d725d83a3 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat/navbar/channel-title.gjs +++ b/plugins/chat/assets/javascripts/discourse/components/chat/navbar/channel-title.gjs @@ -1,16 +1,26 @@ +import Component from "@glimmer/component"; import { LinkTo } from "@ember/routing"; +import { service } from "@ember/service"; import ChannelTitle from "discourse/plugins/chat/discourse/components/channel-title"; -const ChatNavbarChannelTitle = ; +export default class ChatNavbarChannelTitle extends Component { + @service chatStateManager; -export default ChatNavbarChannelTitle; + +} diff --git a/plugins/chat/assets/stylesheets/common/chat-drawer.scss b/plugins/chat/assets/stylesheets/common/chat-drawer.scss index 1ecd84c9a31..f35458f7443 100644 --- a/plugins/chat/assets/stylesheets/common/chat-drawer.scss +++ b/plugins/chat/assets/stylesheets/common/chat-drawer.scss @@ -8,6 +8,10 @@ body.composer-open .chat-drawer-outlet-container { width: 15px; height: 15px; z-index: z("composer", "content"); + + .is-collapsed & { + display: none; + } } html:not(.rtl) { @@ -76,9 +80,10 @@ html.rtl { } } - &:not(.is-expanded) { + &.is-collapsed { min-height: 0 !important; height: auto !important; + max-width: 25vw; } .chat-channel, diff --git a/plugins/chat/assets/stylesheets/common/chat-navbar.scss b/plugins/chat/assets/stylesheets/common/chat-navbar.scss index 41d36815c58..b97a300c070 100644 --- a/plugins/chat/assets/stylesheets/common/chat-navbar.scss +++ b/plugins/chat/assets/stylesheets/common/chat-navbar.scss @@ -32,13 +32,43 @@ width: 100%; gap: 0.25rem; position: relative; + container-type: inline-size; + + .is-collapsed & { + margin-left: 1rem; + &__title { + margin-left: 0 !important; + } + + &__toggle-drawer-button { + &:after { + @container (inline-size) { + content: ""; + position: absolute; + height: 100%; + left: 0; + width: calc(100cqw - 2.3em + 1rem); + } + + &:hover { + color: var(--tertiary-hover); + + .d-icon { + color: inherit; + } + } + } + } + } .single-select-header { padding: 0.3675rem 0.584rem; } > .c-navbar__title:first-child { - margin-left: 1rem; + .chat-drawer & { + margin-left: 1rem; + } } }