<?php
require __DIR__ . "/vendor/autoload.php";

use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
use Slim\Views\Twig;
use Slim\Views\TwigMiddleware;

include "brain/controller/IndexControl.inc.php";
include "brain/controller/DashControl.inc.php";
include "brain/data/Auth.inc.php";

$app = AppFactory::create();
$twig = Twig::create("brain/views/");
$app->add(TwigMiddleware::create($app, $twig));

//Index
$app->get("/[{first}[/{second}]]", function (
  Request $request,
  Response $response,
  array $args
) {
  $view = Twig::fromRequest($request);
  if (isset($args["first"])) {
    $first = $args["first"];
    if (is_numeric($first)) {
      $response->getBody()->write("FIND A PAGE, B!");
    } else {
      //$response->getBody()->write("This is the dash, brah!");

      if ($first == "dashboard") {
        if (isset($args["second"])) {
          $section = $args["second"];
        } else {
          $section = "index";
        }

        $dash = new DashControl();
        $pages = $dash->getPages($section);

        $count = count($pages);

        //$response->getBody()->write("There are " . $count . " pages, champ");
        $auth = new Auth();
        return $view->render($response, "dash/start.twig", [
          "title" => "Fipamo Dash",
          "status" => $auth->sessionStatus(),
          "pages" => $pages,
          "totalPages" => $count,
        ]);
      } else {
      }
    }
  } else {
    $response->getBody()->write("No Params, Homie!");
  }

  if (isset($args["second"])) {
    $year = $args["second"];
  }

  return $response;
});

//Dashboard Index
/**
$app->get('/@/dashboard', function (Request $request, Response $response) {
        $index = new IndexControl();
        $settings = new Settings();
        $folks = $settings->getFolks();
        $secret = $index->getSecret();
        $view = Twig::fromRequest($request);
        
        return $view->render($response, 'index.twig', [
                'title' => 'This is Fipamo',
                'name' => 'Ro',
                'occupation'=>'pretty cool... I guess',
                'folks' => $folks[0]['handle'],
                'secret' => $secret
        ]);
});
**/
$app->run();