<?php

use app\controllers\MainController;
use kernel\App;
use kernel\modules\admin_themes\controllers\AdminThemeController;
use Phroute\Phroute\RouteCollector;


App::$collector->group(["prefix" => "admin"], function (RouteCollector $router){
    App::$collector->group(["prefix" => "user"], callback: function (RouteCollector $router){
        App::$collector->get('/', [\app\controllers\UserController::class, 'actionIndex']);
        App::$collector->get('/page/{page_number}', [\app\controllers\UserController::class, 'actionIndex']);
        App::$collector->get('/create', [\app\controllers\UserController::class, 'actionCreate']);
        App::$collector->post("/", [\app\controllers\UserController::class, 'actionAdd']);
        App::$collector->get('/{id}', [\app\controllers\UserController::class, 'actionView']);
        App::$collector->any('/update/{id}', [\app\controllers\UserController::class, 'actionUpdate']);
        App::$collector->any("/edit/{id}", [\app\controllers\UserController::class, 'actionEdit']);
        App::$collector->get('/delete/{id}', [\app\controllers\UserController::class, 'actionDelete']);
    });
    App::$collector->group(["prefix" => "post"], function (RouteCollector $router){
        App::$collector->get('/', [\app\controllers\PostController::class, 'actionIndex']);
        App::$collector->get('/page/{page_number}', [\app\controllers\PostController::class, 'actionIndex']);
        App::$collector->get('/create', [\app\controllers\PostController::class, 'actionCreate']);
        App::$collector->post("/", [\app\controllers\PostController::class, 'actionAdd']);
        App::$collector->get('/{id}', [\app\controllers\PostController::class, 'actionView']);
        App::$collector->any('/update/{id}', [\app\controllers\PostController::class, 'actionUpdate']);
        App::$collector->any("/edit/{id}", [\app\controllers\PostController::class, 'actionEdit']);
        App::$collector->get('/delete/{id}', [\app\controllers\PostController::class, 'actionDelete']);
    });
    App::$collector->group(["prefix" => "settings"], function (RouteCollector $router){
        App::$collector->group(["prefix" => "menu"], function (RouteCollector $router){
            App::$collector->get('/', [\kernel\modules\menu\controllers\MenuController::class, 'actionIndex']);
            App::$collector->get('/page/{page_number}', [\kernel\modules\menu\controllers\MenuController::class, 'actionIndex']);
            App::$collector->get('/create', [\kernel\modules\menu\controllers\MenuController::class, 'actionCreate']);
            App::$collector->post("/", [\kernel\modules\menu\controllers\MenuController::class, 'actionAdd']);
            App::$collector->get('/{id}', [\kernel\modules\menu\controllers\MenuController::class, 'actionView']);
            App::$collector->any('/update/{id}', [\kernel\modules\menu\controllers\MenuController::class, 'actionUpdate']);
            App::$collector->any("/edit/{id}", [\kernel\modules\menu\controllers\MenuController::class, 'actionEdit']);
            App::$collector->get('/delete/{id}', [\kernel\modules\menu\controllers\MenuController::class, 'actionDelete']);
        });
        App::$collector->group(["prefix" => "admin-themes"], function (RouteCollector $router){
            App::$collector->get('/', [AdminThemeController::class, 'actionIndex']);
            App::$collector->get('/activate', [AdminThemeController::class, 'actionActivate']);
//            App::$collector->get('/create', [\kernel\modules\menu\controllers\MenuController::class, 'actionCreate']);
//            App::$collector->post("/", [\kernel\modules\menu\controllers\MenuController::class, 'actionAdd']);
//            App::$collector->get('/{id}', [\kernel\modules\menu\controllers\MenuController::class, 'actionView']);
//            App::$collector->any('/update/{id}', [\kernel\modules\menu\controllers\MenuController::class, 'actionUpdate']);
//            App::$collector->any("/edit/{id}", [\kernel\modules\menu\controllers\MenuController::class, 'actionEdit']);
//            App::$collector->get('/delete/{id}', [\kernel\modules\menu\controllers\MenuController::class, 'actionDelete']);
        });
    });
});