Pop out of Threads Activity Centre (#12136)
* Add `Thread Activity centre` labs flag * Rename translation string * WIP Thread Activity Centre * Update supportedLevels * css lint * i18n lint * Fix labs subsection test * Update Threads Activity Centre label * Rename Thread Activity Centre to Threads Activity Centre * Use compound `MenuItem` instead of custom button * Color thread icon when hovered * Make the pop-up scrollable and add a max height * Remove Math.random in key * Remove unused class * Change add comments on `mx_ThreadsActivityRows` and `mx_ThreadsActivityRow` * Make threads activity centre labs flag split out unread counts Just shows notif & unread counts for main thread if the TAC is enabled. * Fix tests * Simpler fix * Open thread panel when thread clicke in Threads Activity Centre Hopefully this is a sensible enough way. The panel will stay open of course (ie. if you go to a different room & come back), but that's the nature of the right panel. * Dynamic state of room * Add doc * Use the StatelessNotificationBadge component in ThreadsActivityCentre and re-use the existing NotificationLevel * Remove unused style * Add room sorting * Fix `ThreadsActivityRow` props doc * Pass in & cache the status of the TAC labs flag * Pass includeThreads as setting to doesRoomHaveUnreadMessages too * Fix tests * Add analytics to the TAC (#12179) * Update TAC label (#12186) * Add `IndicatorIcon` to the TAC button (#12182) Add `IndicatorIcon` to the TAC button * Threads don't have activity if the room is muted This makes it match the computation in determineUnreadState. Ideally this logic should all be in one place. * Re-use doesRoomHaveUnreadThreads for useRoomThreadNotifications This incorporates the logic of not showing unread dots if the room is muted * Add TAC description in labs (#12197) * Fox position & size of dot on the tac button IndicatorIcon doesn't like having the size of its icon adjusted and we probably shouldn't do it anyway: better to specify to the component what size we want it. * TAC: Utils tests (#12200) * Add tests for `doesRoomHaveUnreadThreads` * Add tests for `getThreadNotificationLevel` * Add test for the ThreadsActivityCentre component * Add snapshot test * Fix narrow hover background on TAC button Make the button 32x32 (and the inner icon 24x24) * Add caption for empty TAC * s/tac/threads_activity_centre/ * Fix i18n & add tests * Add playwright tests for the TAC (#12227) * Fox comments --------- Co-authored-by: David Baker <dbkr@users.noreply.github.com>
This commit is contained in:
parent
3052025dd0
commit
a4987060b7
24 changed files with 1455 additions and 14 deletions
74
res/css/structures/_ThreadsActivityCentre.pcss
Normal file
74
res/css/structures/_ThreadsActivityCentre.pcss
Normal file
|
@ -0,0 +1,74 @@
|
|||
/*
|
||||
*
|
||||
* Copyright 2024 The Matrix.org Foundation C.I.C.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* /
|
||||
*/
|
||||
|
||||
.mx_ThreadsActivityCentreButton {
|
||||
color: $secondary-content;
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 8px;
|
||||
margin: auto;
|
||||
|
||||
&.expanded {
|
||||
/* align with settings icon */
|
||||
margin-left: 20px;
|
||||
|
||||
& > .mx_ThreadsActivityCentreButton_IndicatorIcon {
|
||||
/* align with settings label */
|
||||
margin-right: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
&:not(.expanded) {
|
||||
&:hover,
|
||||
&:hover .mx_ThreadsActivityCentreButton_Icon {
|
||||
background-color: $quaternary-content;
|
||||
color: $primary-content;
|
||||
}
|
||||
}
|
||||
|
||||
& .mx_ThreadsActivityCentreButton_Icon {
|
||||
color: $secondary-content;
|
||||
}
|
||||
}
|
||||
|
||||
.mx_ThreadsActivity_rows {
|
||||
overflow-y: scroll;
|
||||
/* Let some space at the top and the bottom of the pop-up */
|
||||
max-height: calc(100vh - 200px);
|
||||
|
||||
.mx_ThreadsActivityRow {
|
||||
height: 48px;
|
||||
|
||||
/* Make the label of the MenuItem stay on one line and truncate with ellipsis if needed */
|
||||
& > span {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
width: 210px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.mx_ThreadsActivityCentre_emptyCaption {
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
font-size: 13px;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue