Don't show a bottom border ahead of the date separator
							parent
							
								
									24d0950b7e
								
							
						
					
					
						commit
						14a7b83988
					
				|  | @ -44,7 +44,7 @@ limitations under the License. | |||
|     position: relative; | ||||
|     padding-bottom: 18px; | ||||
| 
 | ||||
|     &:not(.mx_EventTile_last)::after { | ||||
|     &:not(.mx_EventTile_last):not(.mx_EventTile_lastInSection)::after { | ||||
|         position: absolute; | ||||
|         bottom: 0; | ||||
|         left: 0; | ||||
|  |  | |||
|  | @ -518,10 +518,13 @@ export default class MessagePanel extends React.Component { | |||
|             if (!grouper) { | ||||
|                 const wantTile = this._shouldShowEvent(mxEv); | ||||
|                 if (wantTile) { | ||||
|                     const nextEvent = i < this.props.events.length - 1 | ||||
|                         ? this.props.events[i + 1] | ||||
|                         : null; | ||||
|                     // make sure we unpack the array returned by _getTilesForEvent,
 | ||||
|                     // otherwise react will auto-generate keys and we will end up
 | ||||
|                     // replacing all of the DOM elements every time we paginate.
 | ||||
|                     ret.push(...this._getTilesForEvent(prevEvent, mxEv, last)); | ||||
|                     ret.push(...this._getTilesForEvent(prevEvent, mxEv, last, nextEvent)); | ||||
|                     prevEvent = mxEv; | ||||
|                 } | ||||
| 
 | ||||
|  | @ -537,7 +540,7 @@ export default class MessagePanel extends React.Component { | |||
|         return ret; | ||||
|     } | ||||
| 
 | ||||
|     _getTilesForEvent(prevEvent, mxEv, last) { | ||||
|     _getTilesForEvent(prevEvent, mxEv, last, nextEvent) { | ||||
|         const TileErrorBoundary = sdk.getComponent('messages.TileErrorBoundary'); | ||||
|         const EventTile = sdk.getComponent('rooms.EventTile'); | ||||
|         const DateSeparator = sdk.getComponent('messages.DateSeparator'); | ||||
|  | @ -562,6 +565,11 @@ export default class MessagePanel extends React.Component { | |||
|             ret.push(dateSeparator); | ||||
|         } | ||||
| 
 | ||||
|         let willWantDateSeparator = false; | ||||
|         if (nextEvent) { | ||||
|             willWantDateSeparator = this._wantsDateSeparator(mxEv, nextEvent.getDate() || new Date()); | ||||
|         } | ||||
| 
 | ||||
|         // is this a continuation of the previous message?
 | ||||
|         const continuation = !wantsDateSeparator && shouldFormContinuation(prevEvent, mxEv); | ||||
| 
 | ||||
|  | @ -598,6 +606,7 @@ export default class MessagePanel extends React.Component { | |||
|                         isTwelveHour={this.props.isTwelveHour} | ||||
|                         permalinkCreator={this.props.permalinkCreator} | ||||
|                         last={last} | ||||
|                         lastInSection={willWantDateSeparator} | ||||
|                         isSelectedEvent={highlight} | ||||
|                         getRelationsForEvent={this.props.getRelationsForEvent} | ||||
|                         showReactions={this.props.showReactions} | ||||
|  |  | |||
|  | @ -148,6 +148,10 @@ export default class EventTile extends React.Component { | |||
|          */ | ||||
|         last: PropTypes.bool, | ||||
| 
 | ||||
|         // true if the event is the last event in a section (adds a css class for
 | ||||
|         // targeting)
 | ||||
|         lastInSection: PropTypes.bool, | ||||
| 
 | ||||
|         /* true if this is search context (which has the effect of greying out | ||||
|          * the text | ||||
|          */ | ||||
|  | @ -674,6 +678,7 @@ export default class EventTile extends React.Component { | |||
|             mx_EventTile_selected: this.props.isSelectedEvent, | ||||
|             mx_EventTile_continuation: this.props.tileShape ? '' : this.props.continuation, | ||||
|             mx_EventTile_last: this.props.last, | ||||
|             mx_EventTile_lastInSection: this.props.lastInSection, | ||||
|             mx_EventTile_contextual: this.props.contextual, | ||||
|             mx_EventTile_actionBarFocused: this.state.actionBarFocused, | ||||
|             mx_EventTile_verified: !isBubbleMessage && this.state.verified === E2E_STATE.VERIFIED, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Travis Ralston
						Travis Ralston