<?php

use Illuminate\Support\Facades\Route;
use Admin\Http\Controllers\{
    DashboardController,
    MainPageController,
    PageController,
    AreaController,
    AreaHallController,
    ArticleController,
    EventController,
    PortfolioController,
    KitchenMenuController,
    SpecialOfferController,
    CelebrationController,
    ManagerContactController,
    FeedbackController,
    SubscribeController,
    SettingsController,
    LandingAreaController,
    LandingAreaHallController,
    SeoController,
};

Route::as('admin.')->middleware(['auth:sanctum', 'verified'])->prefix('admin')->group(function () {

    Route::get('/', [DashboardController::class, 'index'])->name('dashboard');

    Route::as('main-page.')->prefix('main-page')->group(function () {
        Route::get('/detail', [MainPageController::class, 'detail'])->name('detail');
        Route::post('/update', [MainPageController::class, 'update'])->name('update');
    });

    Route::as('page.')->prefix('page')->group(function () {
        Route::get('/list', [PageController::class, 'list'])->name('list');
        Route::get('/create', [PageController::class, 'create'])->name('create');
        Route::post('/store', [PageController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [PageController::class, 'detail'])->name('detail');
        Route::post('/update/{id}', [PageController::class, 'update'])->name('update');
    });

    Route::as('area.')->prefix('area')->group(function () {
        Route::get('/list', [AreaController::class, 'list'])->name('list');
        Route::get('/create', [AreaController::class, 'create'])->name('create');
        Route::post('/store', [AreaController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [AreaController::class, 'detail'])->name('detail');
        Route::post('/update/{id}', [AreaController::class, 'update'])->name('update');
    });

    Route::as('area-hall.')->prefix('area-hall')->group(function () {
        // Route::get('/list', [AreaHallController::class, 'list'])->name('list');
        Route::get('/create/{areaId?}', [AreaHallController::class, 'create'])->name('create');
        Route::post('/store', [AreaHallController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [AreaHallController::class, 'detail'])->name('detail');
        Route::post('/update/{id}', [AreaHallController::class, 'update'])->name('update');
        Route::post('/delete/{id}', [AreaHallController::class, 'delete'])->name('delete');
    });

    Route::as('event.')->prefix('event')->group(function () {
        Route::get('/list', [EventController::class, 'list'])->name('list');
        Route::get('/create', [EventController::class, 'create'])->name('create');
        Route::post('/store', [EventController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [EventController::class, 'detail'])->name('detail');
        Route::post('/update/{id}', [EventController::class, 'update'])->name('update');
    });

    Route::as('article.')->prefix('article')->group(function () {
        Route::get('/list', [ArticleController::class, 'list'])->name('list');
        Route::get('/create', [ArticleController::class, 'create'])->name('create');
        Route::post('/store', [ArticleController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [ArticleController::class, 'detail'])->name('detail');
        Route::post('/update/{id}', [ArticleController::class, 'update'])->name('update');
        Route::post('/delete/{id}', [ArticleController::class, 'delete'])->name('delete');
    });

    Route::as('portfolio.')->prefix('portfolio')->group(function () {
        Route::get('/list', [PortfolioController::class, 'list'])->name('list');
        Route::get('/create', [PortfolioController::class, 'create'])->name('create');
        Route::post('/store', [PortfolioController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [PortfolioController::class, 'detail'])->name('detail');
        Route::post('/update/{id}', [PortfolioController::class, 'update'])->name('update');
        Route::post('/delete/{id}', [PortfolioController::class, 'delete'])->name('delete');
    });

    Route::as('kitchen-menu.')->prefix('kitchen-menu')->group(function () {
        Route::get('/list', [KitchenMenuController::class, 'list'])->name('list');
        Route::get('/create', [KitchenMenuController::class, 'create'])->name('create');
        Route::post('/store', [KitchenMenuController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [KitchenMenuController::class, 'detail'])->name('detail');
        Route::post('/update/{id}', [KitchenMenuController::class, 'update'])->name('update');
        Route::post('/delete/{id}', [KitchenMenuController::class, 'delete'])->name('delete');
    });

    Route::as('special-offer.')->prefix('special-offer')->group(function () {
        Route::get('/list', [SpecialOfferController::class, 'list'])->name('list');
        Route::get('/create', [SpecialOfferController::class, 'create'])->name('create');
        Route::post('/store', [SpecialOfferController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [SpecialOfferController::class, 'detail'])->name('detail');
        Route::post('/update/{id}', [SpecialOfferController::class, 'update'])->name('update');
        Route::post('/delete/{id}', [SpecialOfferController::class, 'delete'])->name('delete');
    });

    Route::as('celebration.')->prefix('celebration')->group(function () {
        Route::get('/list', [CelebrationController::class, 'list'])->name('list');
        Route::get('/create', [CelebrationController::class, 'create'])->name('create');
        Route::post('/store', [CelebrationController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [CelebrationController::class, 'detail'])->name('detail');
        Route::post('/update/{id}', [CelebrationController::class, 'update'])->name('update');
        Route::post('/delete/{id}', [CelebrationController::class, 'delete'])->name('delete');
    });

    Route::as('manager-contact.')->prefix('manager-contact')->group(function () {
        Route::get('/list', [ManagerContactController::class, 'list'])->name('list');
        Route::get('/create', [ManagerContactController::class, 'create'])->name('create');
        Route::post('/store', [ManagerContactController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [ManagerContactController::class, 'detail'])->name('detail');
        Route::post('/update/{id}', [ManagerContactController::class, 'update'])->name('update');
        Route::get('/delete/{id}', [ManagerContactController::class, 'delete'])->name('delete');
    });

    Route::as('feedback.')->prefix('feedback')->group(function () {
        Route::get('/list', [FeedbackController::class, 'list'])->name('list');
        // Route::get('/create', [FeedbackController::class, 'create'])->name('create');
        //Route::post('/store', [FeedbackController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [FeedbackController::class, 'detail'])->name('detail');
        //Route::post('/update/{id}', [FeedbackController::class, 'update'])->name('update');
    });

    Route::as('subscribe.')->prefix('subscribe')->group(function () {
        Route::get('/list', [SubscribeController::class, 'list'])->name('list');
        // Route::get('/create', [SubscribeController::class, 'create'])->name('create');
        //Route::post('/store', [SubscribeController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [SubscribeController::class, 'detail'])->name('detail');
        //Route::post('/update/{id}', [SubscribeController::class, 'update'])->name('update');
    });

    Route::as('settings.')->prefix('settings')->group(function () {
        Route::get('/list', [SettingsController::class, 'list'])->name('list');
        Route::post('/update', [SettingsController::class, 'update'])->name('update');
    });

    Route::as('landing-area.')->prefix('landing-area')->group(function () {
        Route::get('/list', [LandingAreaController::class, 'list'])->name('list');
        Route::get('/create', [LandingAreaController::class, 'create'])->name('create');
        Route::post('/store', [LandingAreaController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [LandingAreaController::class, 'detail'])->name('detail');
        Route::post('/update/{id}', [LandingAreaController::class, 'update'])->name('update');
    });

    Route::as('landing-area-hall.')->prefix('landing-area-hall')->group(function () {
        // Route::get('/list', [AreaHallController::class, 'list'])->name('list');
        Route::get('/create/{areaId?}', [LandingAreaHallController::class, 'create'])->name('create');
        Route::post('/store', [LandingAreaHallController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [LandingAreaHallController::class, 'detail'])->name('detail');
        Route::post('/update/{id}', [LandingAreaHallController::class, 'update'])->name('update');
        Route::get('/delete/{id}', [LandingAreaHallController::class, 'delete'])->name('delete');
    });

    Route::as('seo.')->prefix('seo')->group(function () {
        Route::get('/list', [SeoController::class, 'list'])->name('list');
        Route::get('/create', [SeoController::class, 'create'])->name('create');
        Route::post('/store', [SeoController::class, 'store'])->name('store');
        Route::get('/detail/{id}', [SeoController::class, 'detail'])->name('detail');
        Route::post('/update/{id}', [SeoController::class, 'update'])->name('update');
    });
});
