mirror of
https://github.com/discourse/discourse.git
synced 2025-03-02 20:35:24 +08:00

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.
22 lines
537 B
SCSS
22 lines
537 B
SCSS
@mixin chat-height($inset: 0px) {
|
|
// desktop and mobile
|
|
// 46px is the height of the navbar
|
|
height: calc(
|
|
var(--chat-vh, 1vh) * 100 - var(--header-offset, 0px) -
|
|
var(--composer-height, 0px) - var(--chat-header-offset)
|
|
);
|
|
|
|
// mobile with keyboard opened
|
|
.keyboard-visible & {
|
|
height: calc(var(--chat-vh, 1vh) * 100 - var(--header-offset, 0px));
|
|
}
|
|
|
|
// ipad
|
|
.footer-nav-ipad & {
|
|
height: calc(
|
|
var(--chat-vh, 1vh) * 100 - var(--header-offset, 0px) -
|
|
var(--composer-height, 0px)
|
|
);
|
|
}
|
|
}
|