<?php

use App\Http\Controllers\Admin\PluginController;
use App\Http\Controllers\GalleryAccessController;
use App\Http\Controllers\HomeController;
use App\Http\Controllers\ProfileController;
use Illuminate\Foundation\Application;
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/gallery/access', [GalleryAccessController::class, 'create'])->name('gallery.access.default');
Route::post('/gallery/access', [GalleryAccessController::class, 'store'])->name('gallery.access.default.store');

Route::get('/g/{gallery:slug}/access', [GalleryAccessController::class, 'create'])->name('gallery.access.show');
Route::post('/g/{gallery:slug}/access', [GalleryAccessController::class, 'store'])->name('gallery.access.store');

Route::get('/', [HomeController::class, 'index'])
    ->middleware('gallery.access')
    ->name('home');

Route::get('/g/{gallery:slug}', [HomeController::class, 'index'])
    ->middleware('gallery.access')
    ->name('gallery.show');

Route::get('/login', function () {
    return Inertia::render('Login');
})->name('login');

Route::middleware('auth')->group(function () {
    Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
    Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
    Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');

    // Plugin routes
    Route::get('/admin/plugins', [PluginController::class, 'index'])->name('admin.plugins.index');
});

require __DIR__.'/auth.php';
