Files
wursor/web/next.config.ts
SinachPatandClaude Sonnet 5.5 f69ce33dd0 feat(web): marketing theme toggle, site search palette, and phone dev access
- Theme toggle in the nav: follows the device until chosen, remembers the choice, sets data-theme before first paint (no flash).
- Site search: Cmd/Ctrl+K command palette on every marketing page, opened by the shortcut, a nav Search button, or the Docs search field. Searches pages, docs topics and articles that have a page.
- Docs topics move to content.ts so the page and the search index share one source.
- next.config: allowedDevOrigins for private network ranges so a phone on the same Wi-Fi hydrates the dev site. Dev only.
- Sun and moon icons added by hand (not Figma exports); noted in the icons README.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 22:27:34 +01:00

22 lines
991 B
TypeScript

import type { NextConfig } from 'next';
const apiOrigin = process.env.WURSOR_API_URL ?? 'http://localhost:3000';
const config: NextConfig = {
reactStrictMode: true,
// `next dev` blocks its dev endpoints for any host but localhost, so a phone on the same Wi-Fi gets the HTML but a page that
// never hydrates (menu, search and theme buttons all dead). Allow private-network addresses. Dev only; no effect on `next build`.
allowedDevOrigins: ['10.*.*.*', '192.168.*.*', '172.*.*.*'],
// Do not let `next dev` write its own agent instructions into web/. The repository's AGENTS.md is the guide.
agentRules: false,
// Interim: the Sprint 1 shell at /app still calls the API on the same origin.
// Replaced by server-held sessions (ADR 0018, step C).
async rewrites() {
return ['/auth/:path*', '/chat/:path*', '/chat', '/sites/:path*', '/sites', '/health'].map(
(source) => ({ source, destination: `${apiOrigin}${source}` }),
);
},
};
export default config;