discourse/plugins/chat/assets/stylesheets/mobile/chat-footer.scss
David Battersby 6b3a68e562
FEATURE: Mobile Chat Notification Badges (#25438)
This change adds notification badges to the new footer tabs on mobile chat, to help users easily find areas where there’s new activity to review.

When on mobile chat:
- Show a badge on the DMs footer when there is unread activity in DMs.
- Show a badge on the Channels footer tab when there is unread channel activity.
- Show a badge on the Threads footer tab when there is unread activity in a followed thread.
- Notification badges should be removed once the unread activity is viewed.

Additionally this change will:
- Show green notification badges for channel mentions or DMs
- Show blue notification badges for unread messages in channels or threads

Co-authored-by: chapoi <101828855+chapoi@users.noreply.github.com>
2024-01-29 10:38:14 +08:00

76 lines
1.5 KiB
SCSS

.full-page-chat {
#main-chat-outlet.chat-view {
grid-template-areas:
"list"
"footer";
}
.channels-list {
grid-area: list;
padding-bottom: 0;
}
.c-footer {
grid-area: footer;
background: var(--secondary);
border-top: 1px solid var(--primary-low);
display: flex;
align-items: flex-end;
justify-content: space-around;
position: sticky;
bottom: 0;
left: 0;
padding-bottom: env(safe-area-inset-bottom);
&__item {
display: flex;
flex-direction: column;
align-items: center;
flex-basis: 33%;
flex-shrink: 0;
padding-block: 0.75rem;
height: 100%;
position: relative;
&.--active {
.d-icon,
.d-button-label {
color: var(--quaternary);
}
}
.d-icon {
margin-right: 0;
font-size: var(--font-up-4);
color: var(--primary-medium);
&.d-icon-discourse-threads {
font-size: var(--font-up-3); //visual correction
}
}
.d-button-label {
font-size: var(--font-down-1-rem);
color: var(--primary-medium);
}
.chat-channel-unread-indicator,
.chat-channel-unread-indicator.-urgent {
top: 0.25rem;
right: unset;
left: 50%;
margin-left: 0.75rem;
}
.chat-channel-unread-indicator:not(.-urgent) {
width: 11px;
height: 11px;
}
}
}
}
.has-full-page-chat div#reply-control {
display: none;
}