mirror of https://github.com/vector-im/riot-web
				
				
				
			Rearrange dom hierarchy to put space panel at same level as LeftPanel
so they don't steal horizontal space from each otherpull/21833/head
							parent
							
								
									d707cf6597
								
							
						
					
					
						commit
						baaceccfda
					
				|  | @ -19,7 +19,7 @@ $roomListCollapsedWidth: 68px; | |||
| 
 | ||||
| .mx_LeftPanel { | ||||
|     background-color: $roomlist-bg-color; | ||||
|     min-width: 260px; | ||||
|     min-width: 200px; | ||||
|     max-width: 50%; | ||||
| 
 | ||||
|     // Create a row-based flexbox for the GroupFilterPanel and the room list | ||||
|  |  | |||
|  | @ -66,7 +66,7 @@ limitations under the License. | |||
| } | ||||
| 
 | ||||
| /* not the left panel, and not the resize handle, so the roomview/groupview/... */ | ||||
| .mx_MatrixChat > :not(.mx_LeftPanel):not(.mx_ResizeHandle) { | ||||
| .mx_MatrixChat > :not(.mx_LeftPanel):not(.mx_SpacePanel):not(.mx_ResizeHandle) { | ||||
|     background-color: $primary-bg-color; | ||||
| 
 | ||||
|     flex: 1 1 0; | ||||
|  |  | |||
|  | @ -39,7 +39,6 @@ import { OwnProfileStore } from "../../stores/OwnProfileStore"; | |||
| import { MatrixClientPeg } from "../../MatrixClientPeg"; | ||||
| import RoomListNumResults from "../views/rooms/RoomListNumResults"; | ||||
| import LeftPanelWidget from "./LeftPanelWidget"; | ||||
| import SpacePanel from "../views/spaces/SpacePanel"; | ||||
| 
 | ||||
| interface IProps { | ||||
|     isMinimized: boolean; | ||||
|  | @ -390,11 +389,7 @@ export default class LeftPanel extends React.Component<IProps, IState> { | |||
| 
 | ||||
|     public render(): React.ReactNode { | ||||
|         let leftLeftPanel; | ||||
|         // Currently TagPanel.enableTagPanel is disabled when Legacy Communities are disabled so for now
 | ||||
|         // ignore it and force the rendering of SpacePanel if that Labs flag is enabled.
 | ||||
|         if (SettingsStore.getValue("feature_spaces")) { | ||||
|             leftLeftPanel = <SpacePanel />; | ||||
|         } else if (this.state.showGroupFilterPanel) { | ||||
|         if (this.state.showGroupFilterPanel) { | ||||
|             leftLeftPanel = ( | ||||
|                 <div className="mx_LeftPanel_GroupFilterPanelContainer"> | ||||
|                     <GroupFilterPanel /> | ||||
|  |  | |||
|  | @ -56,6 +56,7 @@ import Modal from "../../Modal"; | |||
| import { ICollapseConfig } from "../../resizer/distributors/collapse"; | ||||
| import HostSignupContainer from '../views/host_signup/HostSignupContainer'; | ||||
| import { IOpts } from "../../createRoom"; | ||||
| import SpacePanel from "../views/spaces/SpacePanel"; | ||||
| 
 | ||||
| // We need to fetch each pinned message individually (if we don't already have it)
 | ||||
| // so each pinned message may trigger a request. Limit the number per room for sanity.
 | ||||
|  | @ -227,14 +228,7 @@ class LoggedInView extends React.Component<IProps, IState> { | |||
|         let size; | ||||
|         let collapsed; | ||||
|         const collapseConfig: ICollapseConfig = { | ||||
|             // TODO: the space panel currently does not have a fixed width,
 | ||||
|             // just the headers at each level have a max-width of 150px
 | ||||
|             // Taking 222px for the space panel for now,
 | ||||
|             // so this will look slightly off for now,
 | ||||
|             // depending on the depth of your space tree.
 | ||||
|             // To fix this, we'll need to turn toggleSize
 | ||||
|             // into a callback so it can be measured when starting the resize operation
 | ||||
|             toggleSize: 222 + 68, | ||||
|             toggleSize: 200, | ||||
|             onCollapsed: (_collapsed) => { | ||||
|                 collapsed = _collapsed; | ||||
|                 if (_collapsed) { | ||||
|  | @ -668,13 +662,6 @@ class LoggedInView extends React.Component<IProps, IState> { | |||
|             bodyClasses += ' mx_MatrixChat_useCompactLayout'; | ||||
|         } | ||||
| 
 | ||||
|         const leftPanel = ( | ||||
|             <LeftPanel | ||||
|                 isMinimized={this.props.collapseLhs || false} | ||||
|                 resizeNotifier={this.props.resizeNotifier} | ||||
|             /> | ||||
|         ); | ||||
| 
 | ||||
|         return ( | ||||
|             <MatrixClientContext.Provider value={this._matrixClient}> | ||||
|                 <div | ||||
|  | @ -686,7 +673,11 @@ class LoggedInView extends React.Component<IProps, IState> { | |||
|                     <ToastContainer /> | ||||
|                     <DragDropContext onDragEnd={this._onDragEnd}> | ||||
|                         <div ref={this._resizeContainer} className={bodyClasses}> | ||||
|                             { leftPanel } | ||||
|                             { SettingsStore.getValue("feature_spaces") ? <SpacePanel /> : null } | ||||
|                             <LeftPanel | ||||
|                                 isMinimized={this.props.collapseLhs || false} | ||||
|                                 resizeNotifier={this.props.resizeNotifier} | ||||
|                             /> | ||||
|                             <ResizeHandle /> | ||||
|                             { pageElement } | ||||
|                         </div> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Michael Telatynski
						Michael Telatynski