generated from coulomb/repo-seed
feat(WP-0015/B1-B6): StaticPages controller and public intro/tutorial UI
B1 — Web/Controller/StaticPages.hs: LandingAction, CapabilitiesAction,
TutorialAction, ExtensionGuideAction (no auth guard)
B2 — Web/View/StaticPages/Landing.hs: hero, traceability chain, capability
grid, GAAF status bar, CTAs to capabilities and management UI
B3 — Web/View/StaticPages/Capabilities.hs: 12-phase capability map, GAAF
scorecard, API v1/v2 surface table, learning loop, type registry system
B4 — Web/View/StaticPages/Tutorial.hs: 6-step developer tutorial (widgets,
events, governance, deployment, learning, federation)
Web/View/StaticPages/ExtensionGuide.hs: 6-step hub extension guide
(HubCapabilityManifest, type registry, widgets, patterns, agents)
with GAAF rules summary
B5 — Web/Routes.hs: StaticPagesController manual routes; "/" → Landing,
"/capabilities", "/tutorial", "/extension-guide"
Web/Types.hs: StaticPagesController data type
B6 — Web/FrontController.hs: import StaticPagesController; register route
(last, catches root); nav adds About/Tutorial/Extend links and
separator; logo now links to LandingAction
B7 (deployment verification) remains pending until devenv up is available.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -300,3 +300,18 @@ instance HasPath ApiV2LearningController where
|
||||
|
||||
-- Sessions
|
||||
instance AutoRoute SessionsController
|
||||
|
||||
-- WP-0015 — Public intro / tutorial pages (manual routing so / is the root)
|
||||
instance CanRoute StaticPagesController where
|
||||
parseRoute' = choice
|
||||
[ do endOfInput; pure LandingAction
|
||||
, do _ <- string "/capabilities"; endOfInput; pure CapabilitiesAction
|
||||
, do _ <- string "/tutorial"; endOfInput; pure TutorialAction
|
||||
, do _ <- string "/extension-guide"; endOfInput; pure ExtensionGuideAction
|
||||
]
|
||||
|
||||
instance HasPath StaticPagesController where
|
||||
pathTo LandingAction = "/"
|
||||
pathTo CapabilitiesAction = "/capabilities"
|
||||
pathTo TutorialAction = "/tutorial"
|
||||
pathTo ExtensionGuideAction = "/extension-guide"
|
||||
|
||||
Reference in New Issue
Block a user