feat(web): retire the roadmap page

Route, nav/footer/about links, sitemap and robots entries removed; /roadmap
temporarily redirects to / (non-permanent — a roadmap may return under the
docs site later). Verified: tsc clean, 506 tests green, production build ok.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Oliver Kieselbach
2026-07-06 18:31:00 +02:00
parent b054537ad5
commit 9ecf5db274
9 changed files with 5 additions and 96 deletions
@@ -292,9 +292,6 @@ export default function AboutPage() {
<a href="https://docs.autopilotmonitor.com" target="_blank" rel="noopener noreferrer" className="rounded-lg border border-gray-200 px-4 py-3 hover:border-blue-300 hover:bg-blue-50/50 transition-colors text-gray-700 font-medium">
Documentation →
</a>
<Link href="/roadmap" className="rounded-lg border border-gray-200 px-4 py-3 hover:border-blue-300 hover:bg-blue-50/50 transition-colors text-gray-700 font-medium">
Roadmap →
</Link>
<a href="https://docs.autopilotmonitor.com/changelog/platform-changelog" target="_blank" rel="noopener noreferrer" className="rounded-lg border border-gray-200 px-4 py-3 hover:border-blue-300 hover:bg-blue-50/50 transition-colors text-gray-700 font-medium">
Changelog →
</a>
@@ -829,7 +829,6 @@ export default function LandingPage() {
<h4 className="text-[11px] font-semibold text-gray-900 uppercase tracking-wider mb-2.5">About</h4>
<ul className="space-y-1.5">
<li><a href="/about" className="text-xs text-gray-500 hover:text-blue-600 transition-colors">Overview</a></li>
<li><a href="/roadmap" className="text-xs text-gray-500 hover:text-blue-600 transition-colors">Roadmap</a></li>
</ul>
</div>
@@ -1,32 +0,0 @@
import type { Metadata } from "next";
export const metadata: Metadata = {
title: "Roadmap",
description:
"See what's coming next for Autopilot Monitor. Explore planned features including MSP multi-tenant support and upcoming improvements for Windows Autopilot monitoring.",
keywords: [
"Autopilot Monitor roadmap",
"Autopilot Monitor upcoming features",
"MSP Autopilot monitoring",
"Windows Autopilot tool roadmap",
"Autopilot Monitor future",
],
openGraph: {
title: "Roadmap | AutopilotMonitor",
description:
"See what's coming next for Autopilot Monitor. Explore planned features including MSP multi-tenant support and upcoming improvements.",
url: "https://www.autopilotmonitor.com/roadmap",
},
twitter: {
title: "Roadmap | AutopilotMonitor",
description:
"See what's coming next for Autopilot Monitor. Explore planned features including MSP multi-tenant support and upcoming improvements.",
},
alternates: {
canonical: "https://www.autopilotmonitor.com/roadmap",
},
};
export default function RoadmapLayout({ children }: { children: React.ReactNode }) {
return <>{children}</>;
}
@@ -1,35 +0,0 @@
import { PublicPageHeader } from "../../components/PublicPageHeader";
export default function RoadmapPage() {
return (
<div className="min-h-screen bg-gray-50">
<PublicPageHeader title="Roadmap" />
<main className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
<div className="bg-white rounded-2xl shadow-sm border border-gray-200 p-8 sm:p-10">
<p className="text-gray-600">
Planned features for upcoming releases.
</p>
<section className="mt-8">
<h2 className="text-lg font-semibold text-gray-900 mb-3">Current Focus</h2>
<ul className="space-y-2">
<li className="flex items-center gap-2 text-gray-700">
<span className="inline-block w-2 h-2 rounded-full bg-blue-600" />
Stablizing the system and fixing bugs from Private Preview feedback.
</li>
<li className="flex items-center gap-2 text-gray-700">
<span className="inline-block w-2 h-2 rounded-full bg-blue-600" />
Implementing core monitoring features like analyze rules and reporting.
</li>
<li className="flex items-center gap-2 text-gray-700">
<span className="inline-block w-2 h-2 rounded-full bg-blue-600" />
Expanding documentation and troubleshooting guides.
</li>
</ul>
</section>
</div>
</main>
</div>
);
}
+1 -1
View File
@@ -5,7 +5,7 @@ export default function robots(): MetadataRoute.Robots {
rules: [
{
userAgent: "*",
allow: ["/", "/about", "/roadmap", "/privacy", "/terms"],
allow: ["/", "/about", "/privacy", "/terms"],
disallow: [
"/dashboard",
"/fleet-health",
@@ -24,12 +24,6 @@ export default function sitemap(): MetadataRoute.Sitemap {
changeFrequency: "monthly",
priority: 0.7,
},
{
url: `${BASE_URL}/roadmap`,
lastModified: lastmod("/roadmap"),
changeFrequency: "weekly",
priority: 0.7,
},
{
url: `${BASE_URL}/privacy`,
lastModified: lastmod("/privacy"),
@@ -6,7 +6,7 @@ import { usePathname } from "next/navigation";
import { useAuth } from "../contexts/AuthContext";
import { useSidebar, PageSectionItem } from "../contexts/SidebarContext";
import { CollapseState } from "../hooks/useSidebarState";
import { DefaultSectionIcon, BookOpenIcon, RocketLaunchIcon, InformationCircleIcon, DocumentTextIcon, ShieldCheckIcon } from "../lib/sidebarIcons";
import { DefaultSectionIcon, BookOpenIcon, InformationCircleIcon, DocumentTextIcon, ShieldCheckIcon } from "../lib/sidebarIcons";
import { DASHBOARD_ITEM, NAV_GROUPS, EXPANDABLE_NAV_GROUPS, REGULAR_USER_ITEMS, NavItem, NavGroup, ExpandableNavGroup, ExpandableNavItem } from "../lib/globalNavConfig";
import { PublicSiteNavbar } from "./PublicSiteNavbar";
import { useAdminMode } from "../hooks/useAdminMode";
@@ -263,7 +263,7 @@ export function GlobalSidebar({ children }: { children: ReactNode }) {
// All public pages that should show sidebar + navbar
// (docs + changelog moved to docs.autopilotmonitor.com)
const PUBLIC_PATHS = ["/terms", "/privacy", "/roadmap", "/about"];
const PUBLIC_PATHS = ["/terms", "/privacy", "/about"];
const isPublicPage = PUBLIC_PATHS.some((p) => pathname === p || pathname.startsWith(p + "/"));
// Landing page: never show sidebar
@@ -597,7 +597,6 @@ export function GlobalSidebar({ children }: { children: ReactNode }) {
<div className={`${collapseState === "full" || isMobile ? "mt-3" : "mt-1"}`}>
<ul className="space-y-0.5">
{renderGlobalItem({ id: "docs", label: "Docs", href: "https://docs.autopilotmonitor.com", icon: <BookOpenIcon /> })}
{renderGlobalItem({ id: "roadmap", label: "Roadmap", href: "/roadmap", icon: <RocketLaunchIcon /> })}
{renderGlobalItem({ id: "about", label: "About", href: "/about", icon: <InformationCircleIcon /> })}
{renderGlobalItem({ id: "terms", label: "Terms", href: "/terms", icon: <DocumentTextIcon /> })}
{renderGlobalItem({ id: "privacy", label: "Privacy", href: "/privacy", icon: <ShieldCheckIcon /> })}
@@ -499,17 +499,6 @@ export default function Navbar() {
<span>Documentation</span>
</a>
<Link
href="/roadmap"
className="w-full flex items-center gap-2.5 px-3 py-2 text-sm text-gray-700 hover:bg-gray-50 transition-colors"
onClick={() => setShowHelp(false)}
>
<svg className="w-4 h-4 text-gray-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
<path strokeLinecap="round" strokeLinejoin="round" d="M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 01.553-.894L9 2m0 18l6-3m-6 3V2m6 15l5.447-2.724A1 1 0 0021 13.382V2.618a1 1 0 00-.553-.894L15 2m0 15V2" />
</svg>
<span>Roadmap</span>
</Link>
<a
href="https://docs.autopilotmonitor.com/changelog/platform-changelog"
target="_blank"
@@ -706,10 +695,6 @@ export default function Navbar() {
<svg className="w-4 h-4 text-gray-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}><path strokeLinecap="round" strokeLinejoin="round" d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253" /></svg>
<span>Documentation</span>
</a>
<Link href="/roadmap" className="w-full flex items-center gap-2.5 px-3 py-2 text-sm text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors" onClick={() => { setShowOverflow(false); setOverflowSubmenu(null); }}>
<svg className="w-4 h-4 text-gray-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}><path strokeLinecap="round" strokeLinejoin="round" d="M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 01.553-.894L9 2m0 18l6-3m-6 3V2m6 15l5.447-2.724A1 1 0 0021 13.382V2.618a1 1 0 00-.553-.894L15 2m0 15V2" /></svg>
<span>Roadmap</span>
</Link>
<a href="https://docs.autopilotmonitor.com/changelog/platform-changelog" target="_blank" rel="noopener noreferrer" className="w-full flex items-center gap-2.5 px-3 py-2 text-sm text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors" onClick={() => { setShowOverflow(false); setOverflowSubmenu(null); }}>
<svg className="w-4 h-4 text-gray-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}><path strokeLinecap="round" strokeLinejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2" /></svg>
<span>Changelog</span>
@@ -47,6 +47,8 @@ const nextConfig: NextConfig = {
{ source: "/docs/:path*", destination: DOCS, permanent: true },
// Platform changelog moved into the GitBook docs as well
{ source: "/changelog", destination: `${DOCS}/changelog/platform-changelog`, permanent: true },
// Roadmap page retired for now (may return under docs later) — non-permanent on purpose
{ source: "/roadmap", destination: "/", permanent: false },
];
},
async headers() {