Repository navigation
Add About and Contact pages and fix the privacy contact address - #258
Merged
Merged
Conversation
/about and /contact are new prerendered pages with AboutPage and ContactPage JSON-LD. The privacy policy pointed at privacy@debatelab.app, a domain that belongs to another product; it now uses privacyEmail from src/config/site.json, and the terms gain a Contact section. The home Organization gets an email and contactPoint, and every footer (React and the generated guides) links About and Contact. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed.
Note 🎁 Summarized by CodeRabbit Free
Comment |
This was referenced Oct 28, 2026
Privacy, Terms and the ExpoCit sources page now show the site footer, so they link About and Contact too. Terms section 11 makes both addresses mailto links, and the Spanish contact tip heading reads "Para ayudarte mejor". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task 1 from the 28 Oct site spec: About and Contact pages, and a privacy contact that reaches us.
What changed
/aboutand/contact, prerendered like/termsand/privacy(AboutPage.tsx,ContactPage.tsx). Copy is in the catalog in English, Hungarian and Spanish, so the language switcher works on them. Both pages show the site footer.contactEmail(hello@debateowl.com) andprivacyEmail(privacy@debateowl.com) live insrc/config/site.json. Changing an address is a one-line edit.privacyEmail. The policy date moves to 28 October 2026 because its text changed.mailto:links. Date moves to 28 October 2026./aboutis anAboutPageand/contactaContactPage, bothaboutthe home page's#organization, each with a breadcrumb. The home Organization gainsemailand acontactPoint(customer support, en/hu/es).urlis unchanged./hu,/es, tools pages, About, Contact, and now Privacy, Terms and/expocit/sources, which had no footer before) links About and Contact, labelled Rólunk / Kapcsolat and Acerca de / Contacto in Hungarian and Spanish. All three point at the English pages. The 31 generated guides get the same two links. Only the footer line changed in each guide, so nodateModifiedmoved.docs/operations.mdlists the two new prerendered pages.Not on the pages: phone number, street address, city, the developer's name. The maker is "a student developer". I also left out "in Hungary", since the brief ruled out the location.
Acceptance criteria
/aboutand/contactare prerendered, titledAbout DebateOwl | DebateOwlandContact | DebateOwl, one-sentence meta descriptions (137 and 128 chars), self-canonical, favicon links, header brand link to/, and a body link with anchor textDebateOwltohttps://debateowl.com/./aboutsays only what DebateOwl is, the DebateLab name until 27 October 2026, built by a student developer, made by Pi-Stack (linked), the trial and price ($5/month + tax, fromsite.json), the three languages, and links to pricing, privacy, terms and contact. No user counts, testimonials, partners or time-saved claims./contactshows both addresses asmailto:links and lists what to write about: account, billing or something broken; privacy and data requests; feedback.curl -s <preview>/privacy/ | grep -c debatelab.appgives 0 on a localvite preview(the slash makes vite preview servedist/privacy/index.html; Vercel serves it without one), anddist/privacy/index.htmlhas 0 too./termshas a Contact section with the same addresses.AboutPagewithabout: {"@id": "https://debateowl.com/#organization"},ContactPage, and the home Organization'semailandcontactPointare in the built HTML./share/…) and the 404 page, which are noindex and outside the sitemap, still have no footer.sitemap: 54 URLs, 53 with lastmod), and llms.txt lists both pages./,/aboutand/contact: 0 errors, 0 warnings. Google's Rich Results Test needs a public URL, so it hasn't run. Run it on the preview or after deploy.Jargon counts
\b(frameworks?|contentions?|warrants?|impact calculus)\b, visible text / JSON-LD. This PR doesn't change guide copy.Format pages that keep their own terms, unchanged here: /lincoln-douglas-debate 28 / 8, /policy-debate 0 / 0.
Verification
npm run verifylocally withNODE_OPTIONS=--max-old-space-size=3072, Node 22.23.2, at head214b1059(after the review fixes): exit 0. Unit 96 files / 714 tests, collaboration 30, edge 493 passed / 0 failed, build with prerender, sitemap (54 URLs), check-site and check-links clean, Playwright@smokedesktop Chromium 47 passed. The first head,2b85354d, also passed. GitHub Actions is billing-blocked, so this is a local pass, not CI.vite build+vite preview: all 54 sitemap URLs return 200 with their own title, a one-sentence 70–160 character description and a self-canonical. That was checked with a stand-in for the spec'saudit.py, which isn't on this VPS. Screenshots at 1440 px and 390 px are in~/.t3/scratch/debateowl-site-1028/shots/(about-*.png,contact-*.png,terms-*.png,privacy-*.png) on the VPS.~/.t3/scratch/debateowl-site-1028/shots/on the VPS:about-*,contact-*,terms-*andprivacy-*(.png).Relation to the other two PRs
Independent of #259 (Task 2) and #260 (Task 3), and none of them stacks on another. All three regenerate
public/*/index.htmlandpublic/llms.txt, but on different lines: this PR changes only the guide footer line and the llms.txt Main pages list. They should merge in any order. If one conflicts, rerunpython3 scripts/generate_seo_content.pyafter the merge.🤖 Generated with Claude Code