Skip to content

Commit 0108fc0

Browse files
committed
fix(MessageItem): refactor repeating styles
1 parent 654d687 commit 0108fc0

File tree

1 file changed

+48
-60
lines changed

1 file changed

+48
-60
lines changed

src/components/MessagesList/MessagesGroup/Message/MessageItem.vue

Lines changed: 48 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -420,12 +420,9 @@ export default {
420420
.message {
421421
position: relative;
422422
423-
--color-primary-element-extra-light: color(from var(--color-primary-element-light) srgb r g b / 0.45);
424-
--color-primary-element-extra-light-hover: color(from var(--color-primary-element-light-hover) srgb r g b / 0.45);
425-
426423
&:not(.message--deleted):hover > .message-body,
427424
&--hovered .normal:not(.message--deleted) > .message-body {
428-
background-color: var(--color-background-hover);
425+
background-color: var(--message-body-hover, var(--color-background-hover));
429426
}
430427
431428
&:not(.message--sided) {
@@ -439,16 +436,6 @@ export default {
439436
}
440437
441438
// BEGIN Split view
442-
&.outgoing:not(.message--deleted):hover > .message-body,
443-
&--hovered.outgoing:not(.message--deleted) > .message-body {
444-
background-color: var(--color-primary-light-hover);
445-
}
446-
447-
&.incoming:not(.message--deleted):hover > .message-body,
448-
&--hovered.incoming:not(.message--deleted) > .message-body {
449-
background-color: var(--color-primary-element-extra-light-hover);
450-
}
451-
452439
&--sided {
453440
width: fit-content;
454441
max-width: min(90%, calc(100% - 3 * var(--default-clickable-area) - 2 * var(--default-grid-baseline)));
@@ -457,17 +444,36 @@ export default {
457444
max-width: 90%;
458445
}
459446
460-
.message-body__scroll.bottom-side {
461-
top: unset !important;
462-
inset-inline-start: unset !important;
463-
bottom: 0;
464-
inset-inline-end: 0;
465-
padding-block-end: var(--default-grid-baseline);
466-
height: fit-content;
467-
pointer-events: none;
447+
// Shared styles for message bubbles
448+
.message-body {
449+
border: 1px solid var(--color-primary-element-light-hover);
450+
border-block-end-width: 2px;
451+
}
452+
453+
.message-body__scroll {
454+
--overlay-offset: 100%;
455+
display: flex;
456+
align-items: center;
457+
top: 0;
458+
padding-inline: var(--default-grid-baseline);
459+
min-width: calc(3 * var(--default-clickable-area) + 2 * var(--default-grid-baseline));
460+
height: 100%;
468461
469-
& > * {
470-
pointer-events: auto;
462+
&.overlay {
463+
--overlay-offset: max(100% - var(--default-clickable-area) * 4, var(--default-clickable-area) * 4 - 100%);
464+
}
465+
466+
&.bottom-side {
467+
top: unset !important;
468+
inset-inline-start: unset !important;
469+
bottom: 0;
470+
padding-block-end: var(--default-grid-baseline);
471+
height: fit-content;
472+
pointer-events: none;
473+
474+
& > * {
475+
pointer-events: auto;
476+
}
471477
}
472478
}
473479
@@ -489,27 +495,16 @@ export default {
489495
}
490496
491497
.message-body {
498+
--message-body-hover: var(--color-primary-light-hover);
492499
background-color: var(--color-primary-light);
493-
border-radius: var(--border-radius-large) var(--border-radius-small) var(--border-radius-large) var(--border-radius-large);
494-
border: 1px solid var(--color-primary-element-light-hover);
495-
border-width: 1px 1px 2px 1px;
496-
497-
&__scroll {
498-
display: flex;
499-
align-items: center;
500-
inset-inline-end: 100%;
501-
top: 0;
502-
padding-inline: var(--default-grid-baseline);
503-
min-width: calc(3 * var(--default-clickable-area) + 2 * var(--default-grid-baseline));
504-
height: 100%;
505-
506-
&.overlay {
507-
inset-inline-end: max(100% - var(--default-clickable-area) * 4, (100% - var(--default-clickable-area) * 4) * -1);
508-
}
500+
border-start-end-radius: var(--border-radius-small);
501+
}
509502
510-
&.bottom-side {
511-
inset-inline-end: auto;
512-
}
503+
.message-body__scroll {
504+
inset-inline-end: var(--overlay-offset);
505+
506+
&.bottom-side {
507+
inset-inline-end: auto;
513508
}
514509
}
515510
}
@@ -518,23 +513,16 @@ export default {
518513
align-self: flex-start;
519514
520515
.message-body {
521-
background-color: var(--color-primary-element-extra-light);
522-
border-radius: var(--border-radius-small) var(--border-radius-large) var(--border-radius-large) var(--border-radius-large);
523-
border: 1px solid var(--color-primary-element-light-hover);
524-
border-width: 1px 1px 2px 1px;
525-
526-
&__scroll {
527-
display: flex;
528-
align-items: center;
529-
inset-inline-start: 100%;
530-
top: 0;
531-
padding-inline: var(--default-grid-baseline);
532-
min-width: calc(3 * var(--default-clickable-area) + 2 * var(--default-grid-baseline));
533-
height: 100%;
534-
535-
&.overlay {
536-
inset-inline-start: max(100% - var(--default-clickable-area) * 4, (100% - var(--default-clickable-area) * 4) * -1);
537-
}
516+
--message-body-hover: color(from var(--color-primary-element-light-hover) srgb r g b / 0.45);
517+
background-color: color(from var(--color-primary-element-light) srgb r g b / 0.45);
518+
border-start-start-radius: var(--border-radius-small);
519+
}
520+
521+
.message-body__scroll {
522+
inset-inline-start: var(--overlay-offset);
523+
524+
&.bottom-side {
525+
inset-inline-end: 0;
538526
}
539527
}
540528
}

0 commit comments

Comments
 (0)