<?php
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Slim\Views\Twig;

include "../brain/data/Book.inc.php";

class DashControl
{
  public static function start(
    ServerRequestInterface $request,
    ResponseInterface $response,
    array $args
  ): ResponseInterface {
    $view = Twig::fromRequest($request);
    $pageOptions = [];
    $template = "";
    switch (isset($args["second"]) ? $args["second"] : "index") {
      case "pages":
        $currentPage = isset($args["fourth"]) ? $args["fourth"] : 1;
        $data = (new Book("../content/pages"))->getPages($currentPage, 4);
        $template = "dash/book.twig";
        $pageOptions = [
          "entryCount" => $data["entryCount"],
          "numOfPages" => $data["numOfPages"],
          "currentPage" => $currentPage,
          "filter" => $data["paginate"]["sort"],
          "stats" => $data["stats"],
          "pages" => $data["pages"],
          "paginate" => $data["paginate"],
        ];
        break;
      default:
        $template = "dash/start.twig";
        if (Session::active()) {
          $pageOptions = [
            "title" => "Welcome to Fipamo",
            "status" => Session::active(),
            "data" => (new Book("../content/pages"))->getPages(1, 4),
          ];
        } else {
          $pageOptions = [
            "title" => "Welcome to Fipamo",
            "status" => Session::active(),
          ];
        }
        break;
    }
    return $view->render($response, $template, $pageOptions);
  }
}