tangled
alpha
login
or
join now
nonbinary.computer
/
weaver
atproto blogging
24
fork
atom
overview
issues
2
pulls
pipelines
image pop-in
Orual
1 month ago
e7defa5c
0625c497
+23
-19
5 changed files
expand all
collapse all
unified
split
crates
weaver-app
assets
styling
notebook-cover.css
src
components
entry.rs
notebook_cover.rs
weaver-renderer
src
atproto
embed_renderer.rs
css.rs
+2
crates/weaver-app/assets/styling/notebook-cover.css
···
52
52
height: 48px;
53
53
min-width: 48px;
54
54
min-height: 48px;
55
55
+
max-width: 48px;
56
56
+
max-height: 48px;
55
57
}
56
58
57
59
.notebook-cover-description {
+6
-6
crates/weaver-app/src/components/entry.rs
···
463
463
rsx! {
464
464
span { class: "embed-author entry-card-author",
465
465
if let Some(ref avatar_url) = profile.avatar {
466
466
-
img { class: "embed-avatar", src: avatar_url.as_ref(), alt: "" }
466
466
+
img { class: "embed-avatar", src: avatar_url.as_ref(), alt: "", width: "42", height: "42" }
467
467
}
468
468
span { class: "embed-author-info",
469
469
span { class: "embed-author-name", "{display_name}" }
···
478
478
rsx! {
479
479
span { class: "embed-author entry-card-author",
480
480
if let Some(ref avatar_url) = profile.avatar {
481
481
-
img { class: "embed-avatar", src: avatar_url.as_ref(), alt: "" }
481
481
+
img { class: "embed-avatar", src: avatar_url.as_ref(), alt: "", width: "42", height: "42" }
482
482
}
483
483
span { class: "embed-author-info",
484
484
span { class: "embed-author-name", "{display_name}" }
···
629
629
to: Route::RepositoryIndex { ident: AtIdentifier::Handle(handle.clone()) },
630
630
class: "embed-author entry-card-author",
631
631
if let Some(ref avatar_url) = profile.avatar {
632
632
-
img { class: "embed-avatar", src: avatar_url.as_ref(), alt: "" }
632
632
+
img { class: "embed-avatar", src: avatar_url.as_ref(), alt: "", width: "42", height: "42" }
633
633
}
634
634
span { class: "embed-author-info",
635
635
span { class: "embed-author-name", "{display_name}" }
···
646
646
to: Route::RepositoryIndex { ident: AtIdentifier::Handle(handle.clone()) },
647
647
class: "embed-author entry-card-author",
648
648
if let Some(ref avatar_url) = profile.avatar {
649
649
-
img { class: "embed-avatar", src: avatar_url.as_ref(), alt: "" }
649
649
+
img { class: "embed-avatar", src: avatar_url.as_ref(), alt: "", width: "42", height: "42" }
650
650
}
651
651
span { class: "embed-author-info",
652
652
span { class: "embed-author-name", "{display_name}" }
···
762
762
to: Route::RepositoryIndex { ident: AtIdentifier::Handle(handle.clone()) },
763
763
class: "embed-author",
764
764
if let Some(ref avatar_url) = profile.avatar {
765
765
-
img { class: "embed-avatar", src: avatar_url.as_ref(), alt: "" }
765
765
+
img { class: "embed-avatar", src: avatar_url.as_ref(), alt: "", width: "42", height: "42" }
766
766
}
767
767
span { class: "embed-author-info",
768
768
span { class: "embed-author-name", "{display_name}" }
···
779
779
to: Route::RepositoryIndex { ident: AtIdentifier::Handle(handle.clone()) },
780
780
class: "embed-author",
781
781
if let Some(ref avatar_url) = profile.avatar {
782
782
-
img { class: "embed-avatar", src: avatar_url.as_ref(), alt: "" }
782
782
+
img { class: "embed-avatar", src: avatar_url.as_ref(), alt: "", width: "42", height: "42" }
783
783
}
784
784
span { class: "embed-author-info",
785
785
span { class: "embed-author-name", "{display_name}" }
+2
-2
crates/weaver-app/src/components/notebook_cover.rs
···
130
130
rsx! {
131
131
span { class: "embed-author notebook-author",
132
132
if let Some(ref avatar) = p.avatar {
133
133
-
img { class: "embed-avatar", src: avatar.as_ref(), alt: "" }
133
133
+
img { class: "embed-avatar", src: avatar.as_ref(), alt: "", width: "48", height: "48" }
134
134
}
135
135
span { class: "embed-author-info",
136
136
span { class: "embed-author-name", "{display_name}" }
···
149
149
rsx! {
150
150
span { class: "embed-author notebook-author",
151
151
if let Some(ref avatar) = p.avatar {
152
152
-
img { class: "embed-avatar", src: avatar.as_ref(), alt: "" }
152
152
+
img { class: "embed-avatar", src: avatar.as_ref(), alt: "", width: "48", height: "48" }
153
153
}
154
154
span { class: "embed-author-info",
155
155
span { class: "embed-author-name", "{display_name}" }
+8
-8
crates/weaver-renderer/src/atproto/embed_renderer.rs
···
250
250
if let Some(avatar) = &profile.avatar {
251
251
html.push_str("<img class=\"embed-avatar\" src=\"");
252
252
html.push_str(&html_escape(avatar.as_ref()));
253
253
-
html.push_str("\" alt=\"\" />");
253
253
+
html.push_str("\" alt=\"\" width=\"42\" height=\"42\" />");
254
254
}
255
255
html.push_str("<span class=\"embed-author-info\">");
256
256
if let Some(display_name) = &profile.display_name {
···
288
288
if let Some(avatar) = &profile.avatar {
289
289
html.push_str("<img class=\"embed-avatar\" src=\"");
290
290
html.push_str(&html_escape(avatar.as_ref()));
291
291
-
html.push_str("\" alt=\"\" />");
291
291
+
html.push_str("\" alt=\"\" width=\"42\" height=\"42\" />");
292
292
}
293
293
html.push_str("<span class=\"embed-author-info\">");
294
294
if let Some(display_name) = &profile.display_name {
···
573
573
html.push_str("\" target=\"_blank\" rel=\"noopener\">");
574
574
html.push_str("<img class=\"embed-avatar\" src=\"");
575
575
html.push_str(&html_escape(avatar_url));
576
576
-
html.push_str("\" alt=\"\" />");
576
576
+
html.push_str("\" alt=\"\" width=\"42\" height=\"42\" />");
577
577
html.push_str("</a>");
578
578
} else {
579
579
html.push_str("<img class=\"embed-avatar\" src=\"");
580
580
html.push_str(&html_escape(avatar_url));
581
581
-
html.push_str("\" alt=\"\" />");
581
581
+
html.push_str("\" alt=\"\" width=\"42\" height=\"42\" />");
582
582
}
583
583
}
584
584
···
886
886
if let Some(avatar) = &generator.avatar {
887
887
html.push_str("<img class=\"embed-avatar\" src=\"");
888
888
html.push_str(&html_escape(avatar.as_ref()));
889
889
-
html.push_str("\" alt=\"\" />");
889
889
+
html.push_str("\" alt=\"\" width=\"42\" height=\"42\" />");
890
890
}
891
891
html.push_str("<span class=\"embed-author-info\">");
892
892
html.push_str("<span class=\"embed-author-name\">");
···
927
927
if let Some(avatar) = &list.avatar {
928
928
html.push_str("<img class=\"embed-avatar\" src=\"");
929
929
html.push_str(&html_escape(avatar.as_ref()));
930
930
-
html.push_str("\" alt=\"\" />");
930
930
+
html.push_str("\" alt=\"\" width=\"42\" height=\"42\" />");
931
931
}
932
932
html.push_str("<span class=\"embed-author-info\">");
933
933
html.push_str("<span class=\"embed-author-name\">");
···
968
968
if let Some(avatar) = &labeler.creator.avatar {
969
969
html.push_str("<img class=\"embed-avatar\" src=\"");
970
970
html.push_str(&html_escape(avatar.as_ref()));
971
971
-
html.push_str("\" alt=\"\" />");
971
971
+
html.push_str("\" alt=\"\" width=\"42\" height=\"42\" />");
972
972
}
973
973
html.push_str("<span class=\"embed-author-info\">");
974
974
if let Some(name) = &labeler.creator.display_name {
···
1001
1001
if let Some(avatar) = &sp.creator.avatar {
1002
1002
html.push_str("<img class=\"embed-avatar\" src=\"");
1003
1003
html.push_str(&html_escape(avatar.as_ref()));
1004
1004
-
html.push_str("\" alt=\"\" />");
1004
1004
+
html.push_str("\" alt=\"\" width=\"42\" height=\"42\" />");
1005
1005
}
1006
1006
html.push_str("<span class=\"embed-author-info\">");
1007
1007
+5
-3
crates/weaver-renderer/src/css.rs
···
356
356
.embed-avatar {{
357
357
width: 42px;
358
358
height: 42px;
359
359
-
min-width: 42px;
360
360
-
min-height: 42px;
359
359
+
max-width: 42px;
360
360
+
max-height: 42px;
361
361
+
aspect-ratio: 1;
361
362
margin: 0;
362
362
-
flex-shrink: 0;
363
363
object-fit: cover;
364
364
}}
365
365
···
617
617
height: 24px;
618
618
min-width: 24px;
619
619
min-height: 24px;
620
620
+
max-width: 24px;
621
621
+
max-height: 24px;
620
622
}}
621
623
622
624
.embed-quote .embed-content {{