Skip to content

Commit 183b262

Browse files
committed
chore: refactor post nesting
1 parent 22caf5d commit 183b262

File tree

4 files changed

+180
-117
lines changed

4 files changed

+180
-117
lines changed

crates/rostra-web-ui/assets/style.css

Lines changed: 39 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -488,12 +488,12 @@ img.u-userImage[loading="lazy"][src][width][height] {
488488

489489
/* Align post (non-replies) to where a root reply would be,
490490
to make visually parsing even easier. */
491-
.o-mainBarTimeline__item.-post>.m-postOverview {
491+
.o-mainBarTimeline__item.-post>.m-postView {
492492
padding-left: 1rem;
493493
padding-top: 1rem;
494494
}
495495

496-
.o-mainBarTimeline__item.-preview .m-postOverview {
496+
.o-mainBarTimeline__item.-preview .m-postView {
497497
opacity: 0.6;
498498
}
499499

@@ -511,35 +511,38 @@ img.u-userImage[loading="lazy"][src][width][height] {
511511
padding: 10pt;
512512
}
513513

514-
.m-postOverview {
514+
.m-postView {
515515
max-width: 55rem;
516516
}
517517

518+
.m-postContext__postView {
519+
margin-left: 1em;
520+
}
518521

519-
.m-postOverview__main {
522+
.m-postView__main {
520523
display: flex;
521524
/* min-width: 20rem; */
522525
max-width: 50rem;
523526
}
524527

525528

526-
.m-postOverview__userImage {
529+
.m-postView__userImage {
527530
margin: 2pt;
528531
}
529532

530-
.m-postOverview__contentSide {
533+
.m-postView__contentSide {
531534
padding-inline: 10pt;
532535
width: 100%;
533536
min-width: 0;
534537
overflow: hidden;
535538
}
536539

537-
.m-postOverview__content {
540+
.m-postView__content {
538541
position: relative;
539542
}
540543

541544
/* Unexpanded (folded) reply-parent's should be truncated, so the response itself is uncluttered */
542-
.m-postOverview.-reply-parent>div>.m-postOverview__contentSide:not(.-expanded)>.m-postOverview__content.-present {
545+
.m-postContext__postParent:not(.-expanded) {
543546
max-height: 10rem;
544547
overflow: hidden;
545548
display: -webkit-box;
@@ -549,55 +552,55 @@ img.u-userImage[loading="lazy"][src][width][height] {
549552
}
550553

551554
/* Cover reply-parent's folded content with gradient if not expanded */
552-
.m-postOverview.-reply-parent>div>.m-postOverview__contentSide:not(.-expanded)>.m-postOverview__content.-present::after {
555+
.m-postContext__postParent:not(.-expanded) .m-postView__content::before {
553556
content: '';
554557
position: absolute;
555-
bottom: 0;
558+
top: 0;
556559
left: 0;
557560
right: 0;
558-
/* height: 10rem; */
559-
top: 40%;
561+
height: 10rem;
562+
/* top: 40%; */
560563
background: linear-gradient(to bottom,
561564
rgba(59, 59, 59, 0) 0%,
562-
var(--color-timeline-bg) 85%);
565+
var(--color-timeline-bg) 60%);
563566
z-index: 1;
564567
}
565568

566569
/* By default, hide buttons on reply parents */
567-
.m-postOverview.-reply-parent>.m-postOverview__buttonBar {
570+
.m-postView.-reply-parent>.m-postView__buttonBar {
568571
display: none;
569572
}
570573

571574
/* When expanded, show the buttons - this class will be added via JS */
572-
.m-postOverview.-reply-parent.-show-buttons>.m-postOverview__buttonBar {
575+
.m-postView.-reply-parent.-show-buttons>.m-postView__buttonBar {
573576
display: flex;
574577
}
575578

576579
/* But if it's expanded, show the buttons */
577-
.m-postOverview.-reply-parent:has(>div>.m-postOverview__contentSide.-expanded)>.m-postOverview__buttonBar {
580+
.m-postView.-reply-parent:has(>div>.m-postView__contentSide.-expanded)>.m-postView__buttonBar {
578581
display: flex;
579582
}
580583

581-
.m-postOverview__contentSide>* {
584+
.m-postView__contentSide>* {
582585
word-wrap: break-word;
583586
word-break: break-all;
584587
}
585588

586589

587-
.m-postOverview__userHandle {
590+
.m-postView__userHandle {
588591
display: flex;
589592
gap: 2pt;
590593
justify-content: space-between;
591594
align-items: center;
592595
}
593596

594-
.m-postOverview__header {
597+
.m-postView__header {
595598
display: flex;
596599
gap: 2pt;
597600
justify-content: space-between;
598601
}
599602

600-
.m-postOverview__timestamp {
603+
.m-postView__timestamp {
601604
font-size: 0.8rem;
602605
color: oklch(60% 0 0);
603606
opacity: 0.7;
@@ -607,15 +610,15 @@ img.u-userImage[loading="lazy"][src][width][height] {
607610
align-items: center;
608611
}
609612

610-
.m-postOverview__personaDisplayName {
613+
.m-postView__personaDisplayName {
611614
display: none;
612615
}
613616

614-
.m-postOverview__header:hover .m-postOverview__personaDisplayName {
617+
.m-postView__header:hover .m-postView__personaDisplayName {
615618
display: inline-block;
616619
}
617620

618-
.m-postOverview__comments {
621+
.m-postView__comments {
619622
padding-left: 1rem;
620623
}
621624

@@ -637,58 +640,58 @@ emoji-picker {
637640
width: 100%;
638641
}
639642

640-
.m-postOverview__content {
643+
.m-postView__content {
641644
word-break: break-word;
642645
}
643646

644-
.m-postOverview__content .lazyload-wrapper:not(.-expanded) img,
645-
.m-postOverview__content .lazyload-wrapper:not(.-expanded) iframe {
647+
.m-postView__content .lazyload-wrapper:not(.-expanded) img,
648+
.m-postView__content .lazyload-wrapper:not(.-expanded) iframe {
646649
display: none;
647650
}
648651

649-
.m-postOverview__content .lazyload-wrapper.-expanded p {
652+
.m-postView__content .lazyload-wrapper.-expanded p {
650653
display: none;
651654
}
652655

653-
.m-postOverview__content .lazyload-wrapper p {
656+
.m-postView__content .lazyload-wrapper p {
654657
font-style: italic;
655658
}
656659

657-
.m-postOverview__content.-missing {
660+
.m-postView__content.-missing {
658661
color: red;
659662
font-style: italic;
660663
}
661664

662-
.m-postOverview__buttonBar {
665+
.m-postView__buttonBar {
663666
display: flex;
664667
justify-content: space-between;
665668
gap: 5pt;
666669
}
667670

668671

669-
.m-postOverview__reactions {
672+
.m-postView__reactions {
670673
display: flex;
671674
gap: .5rem;
672675
}
673676

674-
.m-postOverview__buttons {
677+
.m-postView__buttons {
675678
display: flex;
676679
gap: .5rem;
677680
}
678681

679-
.m-postOverview__commentsButtonIcon {
682+
.m-postView__commentsButtonIcon {
680683
background: url('/assets/icons/comment.svg') center/contain no-repeat;
681684
}
682685

683-
.m-postOverview__replyToButtonIcon {
686+
.m-postView__replyToButtonIcon {
684687
background: url('/assets/icons/reply.svg') center/contain no-repeat;
685688
}
686689

687-
.m-postOverview__deleteButtonIcon {
690+
.m-postView__deleteButtonIcon {
688691
background: url('/assets/icons/xmark.svg') center/contain no-repeat;
689692
}
690693

691-
.m-postOverview__fetchButtonIcon {
694+
.m-postView__fetchButtonIcon {
692695
background: url('/assets/icons/download.svg') center/contain no-repeat;
693696
}
694697

crates/rostra-web-ui/src/routes/new_post.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ pub async fn post_new_post(
132132
."-reply"[reply_to.is_some()]
133133
."-post"[reply_to.is_none()]
134134
{
135-
(state.render_post_overview(
135+
(state.render_post_context(
136136
&client_ref,
137137
client_ref.rostra_id())
138138
.maybe_reply_to(reply_to)
@@ -172,7 +172,7 @@ pub async fn get_post_preview_dialog(
172172
div ."o-previewDialog -active" hx-swap-oob="outerHTML:.o-previewDialog" {
173173
div ."o-previewDialog__content" {
174174
div ."o-previewDialog__post" {
175-
(state.render_post_overview(
175+
(state.render_post_context(
176176
&client.client_ref()?,
177177
self_id
178178
)
@@ -248,7 +248,7 @@ pub async fn get_post_preview(
248248
."-reply"[form.reply_to.is_some()]
249249
."-post"[form.reply_to.is_none()]
250250
{
251-
(state.render_post_overview(
251+
(state.render_post_context(
252252
&client.client_ref()?,
253253
self_id
254254
)

0 commit comments

Comments
 (0)