- Create narrator_texts table migration with context/hero_type indexes
- Add NarratorText model with getRandomText() for variant selection
- Add NarratorTextSeeder with 30+ texts for 11 contexts
- Implement vouvoiement (recruteur) vs tutoiement (client/dev)
- Create NarratorController with GET /api/narrator/{context}
- Add useFetchNarratorText composable for frontend
Contexts: intro, transitions, hints, encouragements, contact_unlocked, welcome_back
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
19 lines
741 B
PHP
19 lines
741 B
PHP
<?php
|
|
|
|
use App\Http\Controllers\Api\NarratorController;
|
|
use App\Http\Controllers\Api\ProjectController;
|
|
use App\Http\Controllers\Api\SkillController;
|
|
use App\Http\Controllers\Api\TestimonialController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/health', function () {
|
|
return response()->json(['status' => 'ok']);
|
|
});
|
|
|
|
Route::get('/projects', [ProjectController::class, 'index']);
|
|
Route::get('/projects/{slug}', [ProjectController::class, 'show']);
|
|
Route::get('/skills', [SkillController::class, 'index']);
|
|
Route::get('/skills/{slug}/projects', [SkillController::class, 'projects']);
|
|
Route::get('/testimonials', [TestimonialController::class, 'index']);
|
|
Route::get('/narrator/{context}', [NarratorController::class, 'getText']);
|