Skip to content

Commit 95da383

Browse files
Move threads header below base card header (#28969)
* Move threads header below base card header * Fix jest tests
1 parent b8a3468 commit 95da383

File tree

3 files changed

+56
-44
lines changed

3 files changed

+56
-44
lines changed

res/css/views/right_panel/_ThreadPanel.pcss

Lines changed: 39 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -15,41 +15,48 @@ Please see LICENSE files in the repository root for full details.
1515
flex: unset;
1616
}
1717

18-
.mx_BaseCard_header {
19-
.mx_BaseCard_header_title {
20-
.mx_AccessibleButton {
21-
font-size: 12px;
22-
color: $secondary-content;
23-
}
18+
.mx_ThreadPanelHeader {
19+
height: 60px;
20+
display: flex;
21+
box-sizing: border-box;
22+
padding: 16px;
23+
align-items: center;
24+
border-bottom: 1px solid var(--cpd-color-gray-400);
25+
26+
.mx_AccessibleButton {
27+
font-size: 12px;
28+
color: $secondary-content;
29+
}
2430

25-
.mx_ThreadPanel_vertical_separator {
26-
height: 16px;
27-
margin-left: var(--cpd-space-3x);
28-
margin-right: var(--cpd-space-1x);
29-
border-left: 1px solid var(--cpd-color-gray-400);
31+
.mx_ThreadPanel_vertical_separator {
32+
height: 28px;
33+
margin-left: var(--cpd-space-3x);
34+
margin-right: var(--cpd-space-2x);
35+
border-left: 1px solid var(--cpd-color-gray-400);
36+
}
37+
38+
.mx_ThreadPanel_dropdown {
39+
font: var(--cpd-font-body-sm-regular);
40+
padding: 3px $spacing-4 3px $spacing-8;
41+
border-radius: 4px;
42+
line-height: 1.5;
43+
user-select: none;
44+
45+
&:hover,
46+
&[aria-expanded="true"] {
47+
background: $quinary-content;
3048
}
3149

32-
.mx_ThreadPanel_dropdown {
33-
padding: 3px $spacing-4 3px $spacing-8;
34-
border-radius: 4px;
35-
line-height: 1.5;
36-
user-select: none;
37-
38-
&:hover,
39-
&[aria-expanded="true"] {
40-
background: $quinary-content;
41-
}
42-
43-
&::before {
44-
content: "";
45-
width: 18px;
46-
height: 18px;
47-
background: currentColor;
48-
mask-image: url("@vector-im/compound-design-tokens/icons/chevron-down.svg");
49-
mask-size: 100%;
50-
mask-repeat: no-repeat;
51-
float: right;
52-
}
50+
&::before {
51+
margin-left: 2px;
52+
content: "";
53+
width: 20px;
54+
height: 20px;
55+
background: currentColor;
56+
mask-image: url("@vector-im/compound-design-tokens/icons/chevron-down.svg");
57+
mask-size: 100%;
58+
mask-repeat: no-repeat;
59+
float: right;
5360
}
5461
}
5562
}

src/components/structures/ThreadPanel.tsx

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,10 @@ export const ThreadPanelHeader: React.FC<{
129129
);
130130

131131
return (
132-
<div className="mx_BaseCard_header_title">
132+
<div className="mx_ThreadPanelHeader">
133133
<Tooltip label={_t("threads|mark_all_read")}>
134-
<IconButton onClick={onMarkAllThreadsReadClick} size="24px">
135-
<MarkAllThreadsReadIcon />
134+
<IconButton onClick={onMarkAllThreadsReadClick} size="28px">
135+
<MarkAllThreadsReadIcon height={20} width={20} />
136136
</IconButton>
137137
</Tooltip>
138138
<div className="mx_ThreadPanel_vertical_separator" />
@@ -192,9 +192,7 @@ const ThreadPanel: React.FC<IProps> = ({ roomId, onClose, permalinkCreator }) =>
192192
narrow={narrow}
193193
>
194194
<BaseCard
195-
header={
196-
hasThreads && <ThreadPanelHeader filterOption={filterOption} setFilterOption={setFilterOption} />
197-
}
195+
header={_t("common|threads")}
198196
id="thread-panel"
199197
className="mx_ThreadPanel"
200198
ariaLabelledBy="thread-panel-tab"
@@ -204,6 +202,7 @@ const ThreadPanel: React.FC<IProps> = ({ roomId, onClose, permalinkCreator }) =>
204202
ref={card}
205203
closeButtonRef={closeButonRef}
206204
>
205+
{hasThreads && <ThreadPanelHeader filterOption={filterOption} setFilterOption={setFilterOption} />}
207206
<Measured sensor={card} onMeasurement={setNarrow} />
208207
{timelineSet ? (
209208
<TimelinePanel

test/unit-tests/components/structures/__snapshots__/ThreadPanel-test.tsx.snap

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,23 @@
33
exports[`ThreadPanel Header expect that All filter for ThreadPanelHeader properly renders Show: All threads 1`] = `
44
<DocumentFragment>
55
<div
6-
class="mx_BaseCard_header_title"
6+
class="mx_ThreadPanelHeader"
77
>
88
<button
99
aria-labelledby=":r0:"
1010
class="_icon-button_bh2qc_17"
1111
role="button"
12-
style="--cpd-icon-button-size: 24px;"
12+
style="--cpd-icon-button-size: 28px;"
1313
tabindex="0"
1414
>
1515
<div
1616
class="_indicator-icon_133tf_26"
1717
style="--cpd-icon-button-size: 100%;"
1818
>
19-
<div />
19+
<div
20+
height="20"
21+
width="20"
22+
/>
2023
</div>
2124
</button>
2225
<div
@@ -38,20 +41,23 @@ exports[`ThreadPanel Header expect that All filter for ThreadPanelHeader properl
3841
exports[`ThreadPanel Header expect that My filter for ThreadPanelHeader properly renders Show: My threads 1`] = `
3942
<DocumentFragment>
4043
<div
41-
class="mx_BaseCard_header_title"
44+
class="mx_ThreadPanelHeader"
4245
>
4346
<button
4447
aria-labelledby=":r6:"
4548
class="_icon-button_bh2qc_17"
4649
role="button"
47-
style="--cpd-icon-button-size: 24px;"
50+
style="--cpd-icon-button-size: 28px;"
4851
tabindex="0"
4952
>
5053
<div
5154
class="_indicator-icon_133tf_26"
5255
style="--cpd-icon-button-size: 100%;"
5356
>
54-
<div />
57+
<div
58+
height="20"
59+
width="20"
60+
/>
5561
</div>
5662
</button>
5763
<div

0 commit comments

Comments
 (0)