feat(web): add downloads page and wire account download card

The funnel dead-ended at "we'll email you" — there was no downloads
surface. Add a real /downloads page in the landing template style
(shared nav + footer + page shell) with client-side navigator.platform
OS detection. macOS (Apple Silicon .dmg) is featured as the shipping
build; Windows (.msi) and Linux (.deb/.AppImage) are linked but clearly
marked "coming soon" to match current product state — Windows chat and
the Linux soul backend are not yet ready, so presenting them as fully
working would overpromise.

Also un-break the account dashboard download card, which was hardcoded
disabled ("Shipping within 30 days"). It now links the live macOS
installer plus the full /downloads page.
This commit is contained in:
2026-07-14 12:18:11 -05:00
parent b87b0bed24
commit da5d498de5
3 changed files with 169 additions and 5 deletions
+10
View File
@@ -87,6 +87,7 @@ from checkout import { checkout_page }
from safety import { safety }
from gallery import { gallery_page }
from account import { account_page }
from downloads import { downloads_page }
// Share-card HTML allowlist
//
@@ -1971,6 +1972,15 @@ fn handle_request_inner(method: String, path: String, headers: Map, body: String
) + badge_css + success_body + page_close()
}
// Downloads
// Public installer page. macOS ships today; Windows/Linux linked but marked
// coming soon. Live-rendered like /about (page shell wraps downloads_page()).
if str_starts_with(path, "/downloads") {
let dl_title: String = "Download Neuron - macOS, Windows & Linux"
let dl_desc: String = "Download Neuron for macOS. Your AI that remembers you, running on your own machine. Windows and Linux support is on the way."
return page_open_seo(dl_title, dl_desc, "/downloads", dl_desc, "false") + downloads_page() + page_close()
}
// Account dashboard
// Use prefix match so OAuth/email-confirmation redirects with query strings still hit.
if str_starts_with(path, "/account") {