discourse/plugins/chat/assets/stylesheets/common/chat-channel-title.scss
Joffrey JAFFEUX 53b96638c5
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.
2023-12-18 17:49:58 +01:00

133 lines
2.3 KiB
SCSS

.chat-channel-title {
display: flex;
align-items: center;
@include ellipsis;
.chat-channel-preview-card & {
max-width: 100%;
}
&__user-info {
overflow: hidden;
}
.user-status-message {
display: none; // we only show when in channels list
}
&__user-status-message {
flex-shrink: 3;
overflow: hidden;
}
.chat-name,
.category-chat-name,
&__usernames,
.dm-usernames {
@include ellipsis;
font-size: var(--font-0);
margin: 0;
.emoji {
height: 1.2em;
vertical-align: text-bottom;
width: 1.2em;
}
}
.d-icon {
position: unset;
}
.d-icon-lock {
margin-right: 0.25em;
}
.topic-chat-icon {
color: var(--primary-medium);
display: flex;
}
.chat-unread-count {
display: inline-block;
color: var(--secondary);
background-color: var(--tertiary-med-or-tertiary);
font-size: var(--font-down-2);
border-radius: 100%;
min-width: 1.4em;
min-height: 1.4em;
height: 1.4em;
width: 1.4em;
padding: 1px;
margin-left: 0.5rem;
text-align: center;
}
}
.chat-channel-title__users-count {
display: flex;
border-radius: 50%;
background: rgba(var(--primary-rgb), 0.1);
width: 22px;
height: 22px;
box-sizing: border-box;
justify-content: center;
font-weight: 700;
font-size: var(--font-down-1);
align-items: center;
padding: 0.25rem 0.5rem;
color: var(--primary-high);
}
.chat-channel-title__category-badge {
color: var(--primary-medium);
display: flex;
font-size: var(--font-up-1);
position: relative;
}
.chat-channel-title .chat-user-avatar {
font-size: var(--font-up-1);
+ .chat-channel-title__usernames {
margin-left: 0.5rem;
}
}
.chat-channel-title__restricted-category-icon {
background-color: var(--secondary);
position: absolute;
border-radius: 50%;
padding: 2px 2px 3px;
color: var(--primary-high);
height: 0.5rem;
width: 0.5rem;
right: -0.5rem;
top: -0.1rem;
}
.chat-channel-title__category-title {
.emoji {
height: 1.2em;
vertical-align: text-bottom;
width: 1.2em;
}
}
.chat-channel-title__name {
@include ellipsis;
font-size: var(--font-0);
color: var(--primary);
margin-left: 0.5rem;
}
.channel-info {
.chat-channel-title__name {
max-width: 100%;
}
}
.has-unread .chat-channel-title__name {
font-weight: bold;
}