···8080 title = self.query_one("#thread-title", Input).value.strip()
8181 body = self.query_one("#thread-body", TextArea).text.strip()
8282 if not title or not body:
8383- self.notify("Title and body are required.", severity="error")
8383+ self.notify("Title and body cannot be empty.", severity="error")
8484 return
85858686 board_uri = f"at://{self.bbs.identity.did}/xyz.atboards.board/{self.board.slug}"
···187187188188 body = self.query_one("#reply-body", TextArea).text.strip()
189189 if not body:
190190- self.notify("Reply body is required.", severity="error")
190190+ self.notify("Message body cannot be empty.", severity="error")
191191 return
192192193193 # Handle file attachment
···77 """Return the user session if logged in and not banned, else notify and return None."""
88 session = screen.app.user_session
99 if not session:
1010- screen.notify("You are not logged in.", severity="error")
1010+ screen.notify("You must be logged in to do that.", severity="error")
1111 return None
1212 if session["did"] in screen.bbs.site.banned_dids:
1313 screen.notify("You have been banned from this BBS.", severity="error")
+1-1
web/templates/board.html
···103103 })
104104 .catch(() => {
105105 const loading = document.getElementById('threads-loading');
106106- if (loading) loading.textContent = 'Failed to load threads.';
106106+ if (loading) loading.textContent = 'Could not fetch threads.';
107107 });
108108 }
109109
+1-1
web/templates/thread.html
···162162 })
163163 .catch(() => {
164164 const loading = document.getElementById('replies-loading');
165165- if (loading) loading.textContent = 'Failed to load replies.';
165165+ if (loading) loading.textContent = 'Could not fetch replies.';
166166 });
167167 }
168168