diff options
| author | Guillermo Serrahima <dev@vylion.com> | 2026-03-21 02:31:24 +0100 |
|---|---|---|
| committer | Guillermo Serrahima <dev@vylion.com> | 2026-03-21 03:16:54 +0100 |
| commit | 7b71cad1a32887b09d2f220ec18aec068732ad9b (patch) | |
| tree | dd9a978a0fbc8f769daf3c0a872468c7c853717e | |
| parent | b7fe11cbe9915a870d2e5c6d18dd01057218debf (diff) | |
| download | llostre-7b71cad1a32887b09d2f220ec18aec068732ad9b.tar.xz llostre-7b71cad1a32887b09d2f220ec18aec068732ad9b.zip | |
Fix post rendering
| -rw-r--r-- | backend/notes/note.go | 2 | ||||
| -rw-r--r-- | frontend/src/main.ts | 8 | ||||
| -rw-r--r-- | frontend/src/style.css | 36 |
3 files changed, 43 insertions, 3 deletions
diff --git a/backend/notes/note.go b/backend/notes/note.go index 36b9f2b..c427a8f 100644 --- a/backend/notes/note.go +++ b/backend/notes/note.go @@ -7,7 +7,7 @@ import ( type Note struct { URI string `json:"uri"` - AuthorDID string `json:"authorDid"` + AuthorDID string `json:"authorDID"` AuthorHandle string `json:"authorHandle"` AuthorName string `json:"authorName"` AuthorNoUnauth bool `json:"authorNoUnauth"` // author has !no-unauthenticated label diff --git a/frontend/src/main.ts b/frontend/src/main.ts index 9ede3bc..816b86c 100644 --- a/frontend/src/main.ts +++ b/frontend/src/main.ts @@ -126,6 +126,14 @@ function createNoteElement(note: Note): HTMLElement { const noteDiv = document.createElement('div'); noteDiv.className = 'note'; + if (note.authorDID === "MISSING") { + noteDiv.classList.add('info'); + const textDiv = document.createElement('div'); + textDiv.textContent = note.text; + noteDiv.appendChild(textDiv); + return noteDiv; + } + const avatar = document.createElement('img'); avatar.className = 'note-avatar'; avatar.src = note.avatarURL || ''; diff --git a/frontend/src/style.css b/frontend/src/style.css index 88bef9d..8e1d095 100644 --- a/frontend/src/style.css +++ b/frontend/src/style.css @@ -114,11 +114,37 @@ h1 { .note { display: flex; gap: 10px; - background: var(--bg-secondary); + padding: 16px; + margin-bottom: 16px; +} + +/* standalone notes (not in a chain) */ +.note:not(.reply-chain .note) { + background: var(--bg-primary); + border: 2px solid var(--border); + border-radius: 8px; +} + +/* reply chains container */ +.reply-chain { + background: var(--bg-primary); border: 2px solid var(--border); border-radius: 8px; - padding: 16px; margin-bottom: 16px; + overflow: hidden; +} + +/* notes inside chains */ +.reply-chain .note { + background: transparent; + border: none; + border-radius: 0; + margin: 0; +} + +/* separator between notes in chain */ +.reply-chain .note + .note { + border-top: 2px solid var(--border); } .note-avatar { @@ -140,6 +166,12 @@ h1 { font-size: 12px; } +.info { + color: var(--text-muted); + font-style: italic; + text-align: center; +} + .spinner { border: 8px solid #f3f3f3; border-top: 8px solid var(--accent); |
