<?php

use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Admin\DashboardController;
use App\Http\Controllers\Admin\UsersController;
use App\Http\Controllers\Admin\ImportsController;

$registerWebRoutes = function () {
    Route::redirect('/', '/services');

    $allowRegister = (bool) config('admin.public_register', false);
    Auth::routes(['register' => $allowRegister]);

    Route::middleware(['auth', 'admin'])->prefix('admin')->name('admin.')->group(function () {
        Route::get('/', [DashboardController::class, 'index'])->name('dashboard');
        Route::get('/imports', [ImportsController::class, 'index'])->name('imports');

        Route::get('/users', [UsersController::class, 'index'])->name('users.index');
        Route::get('/users/create', [UsersController::class, 'create'])->name('users.create');
        Route::post('/users', [UsersController::class, 'store'])->name('users.store');
        Route::get('/users/{user}/edit', [UsersController::class, 'edit'])->name('users.edit');
        Route::put('/users/{user}', [UsersController::class, 'update'])->name('users.update');
        Route::delete('/users/{user}', [UsersController::class, 'destroy'])->name('users.destroy');
    });
};

$domain = (string) config('art.domain', '');
if ($domain !== '') {
    Route::domain($domain)->group(function () use ($registerWebRoutes) {
        $registerWebRoutes();
    });
} else {
    $registerWebRoutes();
}
