Current section

Files

Jump to
sprocket src docs controllers index.gleam
Raw

src/docs/controllers/index.gleam

import gleam/http/request.{Request}
import gleam/http/response.{Response}
import sprocket/render.{render}
import sprocket/component.{component}
import sprocket/internal/render/html
import docs/views/page_view.{PageViewProps, page_view}
import docs/app_context.{AppContext}
import docs/page_route
pub fn index(req: Request(String), ctx: AppContext) -> Response(String) {
let view =
component(
page_view,
PageViewProps(
route: page_route.from_string(req.path),
path_segments: request.path_segments(req),
),
)
let body = render(view, html.preflight_renderer(ctx.ca, view))
response.new(200)
|> response.set_body(body)
|> response.prepend_header("content-type", "text/html")
}