[feature] Parse content warning to HTML, serialize via client API as plaintext (#3876)

* [feature] Parse content warning as HTML, serialize via API to plaintext

* tidy up some cruft

* whoops

* oops

* i'm da joker baybee

* clemency muy lorde

* rename some of the text functions for clarity

* jiggle the opts

* fiddle de deee

* hopefully the last test fix i ever have to do in my beautiful life
This commit is contained in:
tobi
2025-03-07 15:04:34 +01:00
committed by GitHub
parent 424f62dd70
commit d8113c11e4
48 changed files with 985 additions and 635 deletions

View File

@@ -141,6 +141,52 @@ main {
}
}
.text > .content,
.text-spoiler > summary > .spoiler-content {
word-break: break-word;
line-height: 1.6rem;
width: 100%;
a {
color: $link-fg;
text-decoration: underline;
}
/*
Normalize header sizes to fit better
with the line-height we use for statuses.
*/
h1 {
margin: 0;
font-size: 1.8rem;
line-height: initial;
}
h2 {
margin: 0;
font-size: 1.6rem;
line-height: initial;
}
h3 {
margin: 0;
font-size: 1.4rem;
line-height: initial;
}
h4 {
margin: 0;
font-size: 1.2rem;
line-height: initial;
}
h5 {
margin: 0;
font-size: 1rem;
line-height: initial;
}
}
.text {
margin: 0;
grid-row: span 1;
@@ -152,51 +198,6 @@ main {
width: 100%;
a {
color: $link-fg;
text-decoration: underline;
}
.content {
word-break: break-word;
line-height: 1.6rem;
width: 100%;
/*
Normalize header sizes to fit better
with the line-height we use for statuses.
*/
h1 {
margin: 0;
font-size: 1.8rem;
line-height: initial;
}
h2 {
margin: 0;
font-size: 1.6rem;
line-height: initial;
}
h3 {
margin: 0;
font-size: 1.4rem;
line-height: initial;
}
h4 {
margin: 0;
font-size: 1.2rem;
line-height: initial;
}
h5 {
margin: 0;
font-size: 1rem;
line-height: initial;
}
}
.poll {
background-color: $gray2;
z-index: 2;

View File

@@ -126,15 +126,15 @@ function StatusBody({ status }: { status: StatusType }) {
<div className="status-body">
<details className="text-spoiler">
<summary>
<span
className="spoiler-text"
<div
className="spoiler-content"
lang={status.language}
>
{ status.spoiler_text
? status.spoiler_text + " "
: "[no content warning set] "
}
</span>
</div>
<span
className="button"
role="button"