mirror of
https://github.com/Novaloop-AG/healthchat-web.git
synced 2026-11-04 10:32:44 +00:00
feat(spaces): move module items below home in panel
This commit is contained in:
@@ -308,7 +308,15 @@ const InnerSpacePanel = React.memo<IInnerSpacePanelProps>(
|
|||||||
|
|
||||||
const moduleSpaceItems = useModuleSpacePanelItems(ModuleApi.instance.extras);
|
const moduleSpaceItems = useModuleSpacePanelItems(ModuleApi.instance.extras);
|
||||||
|
|
||||||
const metaSpacesSection = metaSpaces
|
const homeSection = metaSpaces
|
||||||
|
.filter((key) => key === MetaSpace.Home)
|
||||||
|
.map((key) => {
|
||||||
|
const Component = metaSpaceComponentMap[key];
|
||||||
|
return <Component key={key} selected={activeSpace === key} isPanelCollapsed={isPanelCollapsed} />;
|
||||||
|
});
|
||||||
|
|
||||||
|
const otherMetaSpacesSection = metaSpaces
|
||||||
|
.filter((key) => key !== MetaSpace.Home)
|
||||||
.filter((key) => !(key === MetaSpace.VideoRooms && !SettingsStore.getValue("feature_video_rooms")))
|
.filter((key) => !(key === MetaSpace.VideoRooms && !SettingsStore.getValue("feature_video_rooms")))
|
||||||
.map((key) => {
|
.map((key) => {
|
||||||
const Component = metaSpaceComponentMap[key];
|
const Component = metaSpaceComponentMap[key];
|
||||||
@@ -331,7 +339,29 @@ const InnerSpacePanel = React.memo<IInnerSpacePanelProps>(
|
|||||||
role="tree"
|
role="tree"
|
||||||
aria-label={_t("common|spaces")}
|
aria-label={_t("common|spaces")}
|
||||||
>
|
>
|
||||||
{metaSpacesSection}
|
{homeSection}
|
||||||
|
{moduleSpaceItems.map((item) => (
|
||||||
|
<li
|
||||||
|
key={item.spaceKey}
|
||||||
|
className={classNames("mx_SpaceItem", {
|
||||||
|
collapsed: isPanelCollapsed,
|
||||||
|
})}
|
||||||
|
role="treeitem"
|
||||||
|
aria-selected={false} // TODO
|
||||||
|
>
|
||||||
|
<SpaceButton
|
||||||
|
{...item}
|
||||||
|
isNarrow={isPanelCollapsed}
|
||||||
|
size="32px"
|
||||||
|
selected={activeSpace === item.spaceKey}
|
||||||
|
onClick={() => {
|
||||||
|
SpaceStore.instance.setActiveSpace(item.spaceKey);
|
||||||
|
item.onSelected?.();
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
{otherMetaSpacesSection}
|
||||||
{invites.map((s) => (
|
{invites.map((s) => (
|
||||||
<SpaceItem
|
<SpaceItem
|
||||||
key={s.roomId}
|
key={s.roomId}
|
||||||
@@ -359,27 +389,6 @@ const InnerSpacePanel = React.memo<IInnerSpacePanelProps>(
|
|||||||
</Draggable>
|
</Draggable>
|
||||||
))}
|
))}
|
||||||
{children}
|
{children}
|
||||||
{moduleSpaceItems.map((item) => (
|
|
||||||
<li
|
|
||||||
key={item.spaceKey}
|
|
||||||
className={classNames("mx_SpaceItem", {
|
|
||||||
collapsed: isPanelCollapsed,
|
|
||||||
})}
|
|
||||||
role="treeitem"
|
|
||||||
aria-selected={false} // TODO
|
|
||||||
>
|
|
||||||
<SpaceButton
|
|
||||||
{...item}
|
|
||||||
isNarrow={isPanelCollapsed}
|
|
||||||
size="32px"
|
|
||||||
selected={activeSpace === item.spaceKey}
|
|
||||||
onClick={() => {
|
|
||||||
SpaceStore.instance.setActiveSpace(item.spaceKey);
|
|
||||||
item.onSelected?.();
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
</li>
|
|
||||||
))}
|
|
||||||
{shouldShowComponent(UIComponent.CreateSpaces) && (
|
{shouldShowComponent(UIComponent.CreateSpaces) && (
|
||||||
<CreateSpaceButton isPanelCollapsed={isPanelCollapsed} setPanelCollapsed={setPanelCollapsed} />
|
<CreateSpaceButton isPanelCollapsed={isPanelCollapsed} setPanelCollapsed={setPanelCollapsed} />
|
||||||
)}
|
)}
|
||||||
|
|||||||
Reference in New Issue
Block a user