diff --git a/src/Web/autopilot-monitor-web/app/icon.svg b/src/Web/autopilot-monitor-web/app/icon.svg index a3524134..8cec9458 100644 --- a/src/Web/autopilot-monitor-web/app/icon.svg +++ b/src/Web/autopilot-monitor-web/app/icon.svg @@ -1,6 +1,8 @@ - - - - + + + + + + diff --git a/src/Web/autopilot-monitor-web/app/landing/page.tsx b/src/Web/autopilot-monitor-web/app/landing/page.tsx index fbc117f7..d847ed05 100644 --- a/src/Web/autopilot-monitor-web/app/landing/page.tsx +++ b/src/Web/autopilot-monitor-web/app/landing/page.tsx @@ -11,6 +11,106 @@ const PLATFORM_STATS = { uniqueDeviceModels: 1, }; +const QUICK_START = [ + { + title: "Sign in and grant access", + description: "Authenticate with Microsoft and approve tenant access once.", + }, + { + title: "Deploy bootstrapper in Intune", + description: "Assign the bootstrap script to your Autopilot scope.", + }, + { + title: "Watch live telemetry", + description: "Track phases, apps, failures, and actions in real time.", + }, +]; + +const FLOW_STEPS = [ + { + title: "Intune assignment", + description: "Target the bootstrapper script to your selected Autopilot device groups.", + icon: "users", + }, + { + title: "Bootstrapper execution", + description: "Device runs the bootstrapper script and installs Autopilot Monitor Agent.", + icon: "code", + }, + { + title: "Live monitoring", + description: "Phase transitions, app installs, and progress are captured continuously.", + icon: "monitor", + }, + { + title: "Event upload", + description: "Predefined and custom events are uploaded to the backend pipeline.", + icon: "cloud", + }, + { + title: "Rule analysis", + description: "Backend correlates phases and runs analyze rules for instant insights.", + icon: "rules", + }, + { + title: "Completion and notifications", + description: "Session status is finalized and Teams notifications are triggered.", + icon: "bell", + }, + { + title: "Diagnostics download", + description: "Grab diagnostic bundles quickly for fast root-cause validation.", + icon: "download", + }, +]; + +function StepIcon({ icon }: { icon: string }) { + switch (icon) { + case "users": + return ( + + + + ); + case "code": + return ( + + + + ); + case "monitor": + return ( + + + + ); + case "cloud": + return ( + + + + ); + case "rules": + return ( + + + + ); + case "bell": + return ( + + + + ); + default: + return ( + + + + ); + } +} + export default function LandingPage() { const { login, isAuthenticated, isLoading, user, isPreviewBlocked } = useAuth(); const router = useRouter(); @@ -46,8 +146,12 @@ export default function LandingPage() {
- - + + + + + +
@@ -67,10 +171,28 @@ export default function LandingPage() {
-

+
+ + + + + +

+ Community-driven Analyze Rules support + : discover, build, and share rules for everyone. +

+
+
+

Advanced Monitoring for Windows Enrollments -

+

+
+ + Private Preview Running + +
+

Real-time insights, intelligent troubleshooting, and comprehensive analytics for your Autopilot deployments. Monitor every phase, run customizable analyze rules, and resolve issues faster than ever before. @@ -78,13 +200,13 @@ export default function LandingPage() {

@@ -127,11 +249,181 @@ export default function LandingPage() {

+ {/* Eye-Catcher Workflow Section */} +
+
+
+

+ How It Works +

+

+ From Intune rollout to deep insights in minutes +

+

+ Simple onboarding, clear phase visibility, and automated analysis in one workflow. + Deploy once, monitor everything, and react faster when issues appear. +

+
+ +
+ {QUICK_START.map((item, index) => ( +
+
+ {index + 1} +
+

{item.title}

+

{item.description}

+
+ ))} +
+ +
+

+ This is what happens after rollout: each phase is captured, correlated, and translated into clear, actionable insights. +

+
+ +
+
+
+ +
+
+
+

+ One pipeline from deployment to action +

+
+ +
+ +
+ {/* Desktop: independent left/right stacks for true vertical overlap */} +
+
+ {FLOW_STEPS.filter((_, i) => i % 2 === 0).map((step, leftIndex) => { + const index = leftIndex * 2; + return ( +
+
+ +

+ Step {index + 1} +

+
+

{step.title}

+ + + +
+

{step.description}

+
+ ); + })} +
+ +
+
+
+ +
+ {FLOW_STEPS.filter((_, i) => i % 2 === 1).map((step, rightIndex) => { + const index = rightIndex * 2 + 1; + return ( +
+
+ +

+ Step {index + 1} +

+
+

{step.title}

+ + + +
+

{step.description}

+
+ ); + })} +
+
+ + {/* Mobile: linear timeline */} +
+
+
+ {FLOW_STEPS.map((step, index) => ( +
+
+ +
+

+ Step {index + 1} +

+
+

{step.title}

+ + + +
+

{step.description}

+
+
+ ))} +
+
+
+ +
+ {[ + "Know exactly what happens at each enrollment phase", + "Detect app bottlenecks and policy issues immediately", + "Move from alert to diagnostics with minimal friction", + ].map(item => ( +
+ {item} +
+ ))} +
+
+
+
+
+ {/* Features Grid */}

- Everything you need to monitor Autopilot + Everything you need for full Autopilot visibility

{/* Feature 1 - Real-Time Monitoring */} @@ -296,13 +588,13 @@ export default function LandingPage() { }, { label: "User-Facing Progress Page", - monitor: "Branded progress view with live app status & download info", + monitor: "Progress view with live app status & download info", standard: "Generic ESP screen — no details for the end user", }, { label: "Fleet Health Dashboard", monitor: "Success rates, failure trends, avg. duration across all devices", - standard: "Manual report extraction from Intune — no live overview", + standard: "Limited manual report extraction from Intune", }, { label: "Analyze Rules", @@ -316,14 +608,9 @@ export default function LandingPage() { }, { label: "Geo & Network Context", - monitor: "Device location, ISP, and network info captured at enrollment start", + monitor: "Device location, and network info captured at enrollment start", standard: "No location or network context in deployment records", }, - { - label: "Hardware Insights", - monitor: "Manufacturer, model, and cert identity correlated per session", - standard: "Device info only available post-enrollment in Intune", - }, { label: "Performance Monitoring", monitor: "CPU, memory, disk, and network snapshots during deployment", @@ -379,7 +666,7 @@ export default function LandingPage() {

@@ -392,6 +679,51 @@ export default function LandingPage() {

© 2026 Autopilot Monitor developed by Oliver Kieselbach and powered by Azure and Microsoft Identity.

+ +
); } diff --git a/src/Web/autopilot-monitor-web/app/layout.tsx b/src/Web/autopilot-monitor-web/app/layout.tsx index 9a11de87..da9579b5 100644 --- a/src/Web/autopilot-monitor-web/app/layout.tsx +++ b/src/Web/autopilot-monitor-web/app/layout.tsx @@ -13,6 +13,11 @@ const inter = Inter({ subsets: ["latin"] }); export const metadata: Metadata = { title: "Autopilot Monitor", description: "Advanced monitoring and troubleshooting for Windows Autopilot deployments", + icons: { + icon: "/icon.svg", + shortcut: "/icon.svg", + apple: "/icon.svg", + }, }; export default function RootLayout({