mirror of
https://github.com/discourse/discourse.git
synced 2025-05-24 14:12:10 +08:00
DEV: implements <Chat::Navbar /> (#24917)
This new navbar component is used for every navbar in chat, full page or drawer, and any screen. This commit also uses this opportunity to correctly decouple drawer-routes from full page routes. This will avoid having this kind of properties in components: `@includeHeader={{false}}`. The header is now defined in the parent template using a navbar. Each route has now its own template wrapped in a div of the name of the route, eg: `<div class="c-routes-threads">..</div>`. The navbar API: ```gjs <Navbar as |navbar|> <navbar.BackButton /> <navbar.Title @title="Foo" /> <navbar.ChannelTitle @channel={{@channel}} /> <navbar.Actions as |action|> <action.CloseThreadButton /> </navbar.Actions> </navbar> ``` The full list of components is listed in `plugins/chat/assets/javascripts/discourse/components/navbar/index.gjs` and `plugins/chat/assets/javascripts/discourse/components/navbar/actions.gjs`. Visually the header is not changing much, only in drawer mode the background has been removed. This commit also introduces a `<List />` component to facilitate rendering lists in chat plugin.
This commit is contained in:
@ -16,9 +16,10 @@ module("Discourse Chat | Component | chat-thread-header", function (hooks) {
|
||||
<Chat::Thread::Header @thread={{this.thread}} @channel={{this.thread.channel}} />
|
||||
`);
|
||||
|
||||
assert.equal(
|
||||
query(".chat-thread-header__label").innerHTML.trim(),
|
||||
"<style>body { background: red;}</style>"
|
||||
assert.ok(
|
||||
query(".c-navbar__title")
|
||||
.innerHTML.trim()
|
||||
.includes("<style>body { background: red;}</style>")
|
||||
);
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user