fipamo/app/Http/Controllers/Dash/IndexController.php
ro 4f7bbcdf86
cleaned up new page creation
editing page works but making new pages was still wonky, so that was
fixed and now page creation works fine

made some minor tweaks to prettier config for css formatting
2024-03-12 16:16:36 -06:00

82 lines
2.3 KiB
PHP

<?php
namespace App\Http\Controllers\Dash;
use App\Interfaces\PageRepositoryInterface;
use App\Services\AuthService;
use App\Services\ThemeService;
use App\Http\Controllers\Controller;
class IndexController extends Controller
{
protected PageRepositoryInterface $pages;
protected AuthService $auth;
protected ThemeService $themes;
public function __construct(
PageRepositoryInterface $pageRepository,
AuthService $authService,
ThemeService $themeService,
) {
$this->pages = $pageRepository;
$this->auth = $authService;
$this->themes = $themeService;
}
public function login()
{
if ($this->auth::status()) {
return redirect('dashboard/start');
} else {
return view('back.login', [
"status" => $this->auth::status(),
"title" => "Hi!"
]);
}
}
public function start()
{
$result = [];
if ($this->auth::status()) {
$result = $this->pages->getGroup(1, 4);
}
return view('back.start', [
"status" => $this->auth::status(),
"result" => $result,
"title" => "Start"
]);
}
public function book($pageFilter = 'all', $pageNum = 1)
{
$result = [];
if ($this->auth::status()) {
$result = $this->pages->getGroup($pageNum, 4, $pageFilter);
}
return view('back.book', [
"status" => $this->auth::status(),
"result" => $result,
"currentPage" => $pageNum,
"title" => "Pages"
]);
}
public function page($mode, $uuid)
{
$title;
$page = [];
$views = [];
$mode == 'edit' ? $page = $this->pages->getById($uuid)->first() : $page = [];
$mode == 'edit' ? $title = $page['title'] : $title = 'Add New';
$mode == 'edit' ? $views = $this->themes->getCustomViews($page['layout']) : $views[] = 'page';
return view('back.page', [
"status" => $this->auth::status(),
"mode" => $mode,
"page" => $page,
"views" => $views,
"title" => $title,
]);
}
}