Add placeholder pages for Domains and Accounts; mark current page in navbar

This commit is contained in:
Lexi / Zoe 2021-07-29 18:15:38 +02:00
parent e58036b2b3
commit 70093b1376
Signed by: binaryDiv
GPG key ID: F8D4956E224DA232
10 changed files with 95 additions and 15 deletions

View file

@ -5,6 +5,8 @@ namespace MailAccountAdmin;
use DI\Container;
use MailAccountAdmin\Common\UserHelper;
use MailAccountAdmin\Frontend\Accounts\AccountController;
use MailAccountAdmin\Frontend\Domains\DomainController;
use MailAccountAdmin\Frontend\Login\LoginController;
use MailAccountAdmin\Frontend\Dashboard\DashboardController;
use MailAccountAdmin\Repositories\AdminUserRepository;
@ -64,7 +66,7 @@ class Dependencies
);
});
// Login page
// Frontend controllers
$container->set(LoginController::class, function (ContainerInterface $c) {
return new LoginController(
$c->get(self::TWIG),
@ -72,14 +74,24 @@ class Dependencies
$c->get(AdminUserRepository::class),
);
});
// Dashboard
$container->set(DashboardController::class, function (ContainerInterface $c) {
return new DashboardController(
$c->get(self::TWIG),
$c->get(UserHelper::class),
);
});
$container->set(DomainController::class, function (ContainerInterface $c) {
return new DomainController(
$c->get(self::TWIG),
$c->get(UserHelper::class),
);
});
$container->set(AccountController::class, function (ContainerInterface $c) {
return new AccountController(
$c->get(self::TWIG),
$c->get(UserHelper::class),
);
});
return $container;
}

View file

@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
namespace MailAccountAdmin\Frontend\Accounts;
use MailAccountAdmin\Frontend\BaseController;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
class AccountController extends BaseController
{
public function showAccounts(Request $request, Response $response): Response
{
$renderData = [
];
return $this->view->render($response, 'accounts.html.twig', $renderData);
}
}

View file

@ -11,13 +11,6 @@ class DashboardController extends BaseController
{
public function showDashboard(Request $request, Response $response): Response
{
$currentUser = $this->userHelper->getCurrentUser();
$renderData = [
'username' => $currentUser->getUsername(),
'user' => $currentUser,
];
return $this->view->render($response, 'dashboard.html.twig', $renderData);
return $this->view->render($response, 'dashboard.html.twig');
}
}

View file

@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
namespace MailAccountAdmin\Frontend\Domains;
use MailAccountAdmin\Frontend\BaseController;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
class DomainController extends BaseController
{
public function showDomains(Request $request, Response $response): Response
{
$renderData = [
];
return $this->view->render($response, 'domains.html.twig', $renderData);
}
}

View file

@ -3,7 +3,9 @@ declare(strict_types=1);
namespace MailAccountAdmin;
use MailAccountAdmin\Frontend\Accounts\AccountController;
use MailAccountAdmin\Frontend\Dashboard\DashboardController;
use MailAccountAdmin\Frontend\Domains\DomainController;
use MailAccountAdmin\Frontend\Login\LoginController;
use Slim\App;
@ -18,5 +20,13 @@ class Routes
// Dashboard
$app->get('/', DashboardController::class . ':showDashboard');
// Domains
$app->get('/domains', DomainController::class . ':showDomains');
$app->get('/domains/{foo}', DomainController::class . ':showDomains');
// Accounts
$app->get('/accounts', AccountController::class . ':showAccounts');
$app->get('/accounts/{foo}', AccountController::class . ':showAccounts');
}
}