Commit 9848c1c9 authored by Mark Florian's avatar Mark Florian Committed by Mark Florian

Correctly align resolved discussion text

The header of the `NoteableDiscussion` component is really a media
object[1], but it didn't have the right DOM or styling to correctly
achieve it.

This change wraps all the children of the media object (except the
floated image) in a dedicated `.timeline-content` element, which is
styled to establish its own block formatting context[2]. This ensures
*all* of its children sit left-aligned to the right edge of the float.

In short, the DOM used to look like this:

    .discussion-header
        .timeline-icon
        note-header
        note-edited-text

and now it looks like this:

    .discussion-header
        .timeline-icon
        .timeline-content (with own formatting context)
            note-header
            note-edited-text

This is also now more consistent with the DOM of `NoteableNote`, in that
`.timeline-icon` and `.timeline-content` seem to want to be siblings.

[1]: http://www.stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code/
[2]: https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context
parent 885e2a9c
...@@ -358,6 +358,7 @@ Please check your network connection and try again.`; ...@@ -358,6 +358,7 @@ Please check your network connection and try again.`;
:img-size="40" :img-size="40"
/> />
</div> </div>
<div class="timeline-content">
<note-header <note-header
:author="author" :author="author"
:created-at="initialDiscussion.created_at" :created-at="initialDiscussion.created_at"
...@@ -383,6 +384,7 @@ Please check your network connection and try again.`; ...@@ -383,6 +384,7 @@ Please check your network connection and try again.`;
class-name="discussion-headline-light js-discussion-headline" class-name="discussion-headline-light js-discussion-headline"
/> />
</div> </div>
</div>
<div v-if="shouldShowDiscussions" class="discussion-body"> <div v-if="shouldShowDiscussions" class="discussion-body">
<component <component
:is="wrapperComponent" :is="wrapperComponent"
......
...@@ -550,6 +550,11 @@ $note-form-margin-left: 72px; ...@@ -550,6 +550,11 @@ $note-form-margin-left: 72px;
.note-header-info { .note-header-info {
padding-bottom: 0; padding-bottom: 0;
} }
.timeline-content {
overflow-x: auto;
overflow-y: hidden;
}
} }
.unresolved { .unresolved {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment