protected function getPaginationLink()

in src/site/controllers/GuidePageController.php [130:178]


  protected function getPaginationLink(
    dict<string, NavDataNode> $guides,
    string $guide,
    string $page,
    bool $next = false,
  ): x\node {
    $adjacent_page = $this->getAdjacentPage($guides, $guide, $page, $next);

    if ($adjacent_page === null) {
      return <x:frag />;
    }
    $page = $adjacent_page['page'];
    $guide = $adjacent_page['guide'];

    $guide_title = $guide[0];
    $page_title = <x:frag />;
    if ($guide_title !== $page[0]) {
      $guide_title .= ':';
      $page_title =
        <span class="paginationPageTitle">
          {$page[0]}
        </span>;
    }

    $class = "paginationLink ";
    $class = $class.($next ? "next" : "previous");

    if ($next) {
      $align = 'right';
      $glyph = UIGlyphIcon::RIGHT;
    } else {
      $align = 'left';
      $glyph = UIGlyphIcon::LEFT;
    }

    return
      <div class={$class}>
        <ui:button
          align={$align}
          href={$page[1]['urlPath']}
          glyph={$glyph}
          size="medium">
          {$page_title}
          <span class="paginationGuideTitle">
            {$guide_title}
          </span>
        </ui:button>
      </div>;
  }