buildLayout method

  1. @override
Component buildLayout(
  1. Page page,
  2. Component child
)

Builds the layout for the given page and child component.

Implementation

@override
Component buildLayout(Page page, Component child) {
  final lang = switch (page.data) {
    {'page': {'lang': final String lang}} => lang,
    {'site': {'lang': final String lang}} => lang,
    _ => null,
  };

  final base = switch (page.data) {
    {'site': {'base': final String base}} => base,
    {'site': {'base': final bool base}} => base ? '/' : null,
    _ => '/',
  };

  return Document(lang: lang, base: base, meta: {}, head: buildHead(page).toList(), body: buildBody(page, child));
}