From 68ff2d6992fa9b02708bffecdb5f9a5decefb216 Mon Sep 17 00:00:00 2001 From: 7w1 Date: Wed, 13 May 2026 20:45:31 -0500 Subject: [PATCH 1/3] add border for thread drawer --- .changeset/thread-drawer-root-separator.md | 5 ++ src/app/features/room/ThreadDrawer.css.ts | 17 +++++ src/app/features/room/ThreadDrawer.tsx | 77 +++++++++------------- 3 files changed, 52 insertions(+), 47 deletions(-) create mode 100644 .changeset/thread-drawer-root-separator.md diff --git a/.changeset/thread-drawer-root-separator.md b/.changeset/thread-drawer-root-separator.md new file mode 100644 index 000000000..f474a72f5 --- /dev/null +++ b/.changeset/thread-drawer-root-separator.md @@ -0,0 +1,5 @@ +--- +default: patch +--- + +Improve thread drawer separation between the pinned root message and replies with a border. diff --git a/src/app/features/room/ThreadDrawer.css.ts b/src/app/features/room/ThreadDrawer.css.ts index d44d1b103..607f2ac06 100644 --- a/src/app/features/room/ThreadDrawer.css.ts +++ b/src/app/features/room/ThreadDrawer.css.ts @@ -28,6 +28,23 @@ export const ThreadDrawerHeader = style({ borderBottomWidth: config.borderWidth.B300, }); +export const threadRootShell = style({ + position: 'relative', + display: 'flex', + flexDirection: 'column', + flexShrink: 0, +}); + +export const threadRootScrollShadow = style({ + position: 'relative', + flexShrink: 0, + zIndex: 1, + boxShadow: config.shadow.E100, + borderBottomWidth: config.borderWidth.B300, + borderBottomStyle: 'solid', + borderBottomColor: color.Surface.ContainerLine, +}); + export const ThreadDrawerContent = style({ position: 'relative', overflow: 'hidden', diff --git a/src/app/features/room/ThreadDrawer.tsx b/src/app/features/room/ThreadDrawer.tsx index 6a243bca1..070cdaf58 100644 --- a/src/app/features/room/ThreadDrawer.tsx +++ b/src/app/features/room/ThreadDrawer.tsx @@ -1,18 +1,6 @@ import type { MouseEventHandler } from 'react'; import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; -import { - Box, - Header, - Icon, - IconButton, - Icons, - Scroll, - Spinner, - Text, - color, - config, - toRem, -} from 'folds'; +import { Box, Header, Icon, IconButton, Icons, Scroll, Spinner, Text, config, toRem } from 'folds'; import type { IEvent, Room } from '$types/matrix-sdk'; import { Direction, @@ -807,36 +795,38 @@ export function ThreadDrawer({ room, threadRootId, onClose, overlay }: ThreadDra {/* Thread root message */} {rootEvent && ( - - - + + - {renderMatrixEvent( - rootEvent.getType(), - typeof rootEvent.getStateKey() === 'string', - rootEvent.getId()!, - rootEvent, - processedEvents.find((e) => e.id === threadRootId)?.itemIndex ?? 0, - thread?.timelineSet ?? room.getUnfilteredTimelineSet(), - false - )} - - + + {renderMatrixEvent( + rootEvent.getType(), + typeof rootEvent.getStateKey() === 'string', + rootEvent.getId()!, + rootEvent, + processedEvents.find((e) => e.id === threadRootId)?.itemIndex ?? 0, + thread?.timelineSet ?? room.getUnfilteredTimelineSet(), + false + )} + + + -
)} {/* Replies */} From 4b7354e381c50e0e675ae082a89b85f055c31215 Mon Sep 17 00:00:00 2001 From: 7w1 Date: Wed, 13 May 2026 20:54:25 -0500 Subject: [PATCH 2/3] fix: settings header --- src/app/features/settings/Settings.tsx | 46 ++++++++++++++------------ 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/src/app/features/settings/Settings.tsx b/src/app/features/settings/Settings.tsx index e480d53b9..65be2eaf5 100644 --- a/src/app/features/settings/Settings.tsx +++ b/src/app/features/settings/Settings.tsx @@ -249,29 +249,31 @@ export function Settings({ nav={ screenSize === ScreenSize.Mobile && visibleSection !== null ? undefined : ( - + - - {nameInitials(displayName)}} - /> - - - Settings - - - - {visibleSection === null && ( - - - - )} + + + {nameInitials(displayName)}} + /> + + + Settings + + + + {visibleSection === null && ( + + + + )} + From 6ade93e3ef93cc5263f5b821b962c5953a8641fb Mon Sep 17 00:00:00 2001 From: 7w1 Date: Wed, 13 May 2026 21:04:04 -0500 Subject: [PATCH 3/3] fix: top left headers --- src/app/components/page/Page.tsx | 4 +- src/app/components/page/style.css.ts | 2 +- src/app/pages/client/direct/Direct.tsx | 30 +++++++------- src/app/pages/client/home/Home.tsx | 35 ++++++++--------- src/app/pages/client/space/Space.tsx | 50 ++++++++++++------------ src/app/pages/client/space/styles.css.ts | 5 +-- 6 files changed, 62 insertions(+), 64 deletions(-) diff --git a/src/app/components/page/Page.tsx b/src/app/components/page/Page.tsx index bcad116d3..bafa45903 100644 --- a/src/app/components/page/Page.tsx +++ b/src/app/components/page/Page.tsx @@ -44,7 +44,9 @@ export function PageNav({ size, children }: ClientDrawerLayoutProps & css.PageNa ); } -export const PageNavHeader = as<'header', css.PageNavHeaderVariants>( +type PageNavHeaderOwnProps = Pick, 'size'>; + +export const PageNavHeader = as<'header', css.PageNavHeaderVariants & PageNavHeaderOwnProps>( ({ className, outlined, ...props }, ref) => (
- - - {!hideText && ( - + + {hideText ? ( + + + + + + ) : ( + + Direct Messages - )} - - - - + + + + + - + )} - - - {!hideText && ( - + + {hideText ? ( + + + + + + ) : ( + + Home - )} - - - - + + + + + - + )} - - - {hideText ? ( + + {hideText ? ( + - ) : ( - <> - - - {spaceName} - - {joinRules?.join_rule !== JoinRule.Public && ( - - )} - - - - - - - - )} - + + ) : ( + + + + {spaceName} + + {joinRules?.join_rule !== JoinRule.Public && } + + + + + + + + )} {menuAnchor && (