<?php

declare(strict_types=1);

use Core\Website\Api\Controllers\DocsController;
use Illuminate\Support\Facades\Route;

// Documentation landing
Route::get('/', [DocsController::class, 'index'])->name('api.docs');

// Guides
Route::get('/guides', [DocsController::class, 'guides'])->name('api.guides');
Route::get('/guides/quickstart', [DocsController::class, 'quickstart'])->name('api.guides.quickstart');
Route::get('/guides/authentication', [DocsController::class, 'authentication'])->name('api.guides.authentication');
Route::get('/guides/biolinks', [DocsController::class, 'biolinks'])->name('api.guides.biolinks');
Route::get('/guides/qrcodes', [DocsController::class, 'qrcodes'])->name('api.guides.qrcodes');
Route::get('/guides/webhooks', [DocsController::class, 'webhooks'])->name('api.guides.webhooks');
Route::get('/guides/errors', [DocsController::class, 'errors'])->name('api.guides.errors');

// API Reference
Route::get('/reference', [DocsController::class, 'reference'])->name('api.reference');

// Swagger UI
Route::get('/swagger', [DocsController::class, 'swagger'])->name('api.swagger');

// Scalar (modern API reference with sidebar)
Route::get('/scalar', [DocsController::class, 'scalar'])->name('api.scalar');

// ReDoc (three-panel API reference)
Route::get('/redoc', [DocsController::class, 'redoc'])->name('api.redoc');

// OpenAPI spec
Route::get('/openapi.json', [DocsController::class, 'openapi'])->name('api.openapi.json');
