<?php

use App\Livewire\Auth\OperatorLogin;
use App\Livewire\Auth\OperatorSetPassword;
use App\Livewire\Auth\OperatorTwoFactorChallenge;
use Illuminate\Support\Facades\Route;

/*
| The console's own front door.
|
| Registered before the authenticated console routes so that /login on the
| console host resolves here, and NOT to the portal's sign-in page — which is
| what put a "Registrieren" link in front of an operator and a 404 behind it.
*/
Route::get('/login', OperatorLogin::class)->name('login');
Route::get('/two-factor', OperatorTwoFactorChallenge::class)->name('two-factor');

/*
| Die Einladung: hier vergibt ein neu angelegter Betreiber sein Passwort.
|
| In der GAST-Gruppe der Konsole und nicht in routes/admin.php — die liegt
| hinter `auth:operator,web`, und wer diesen Link öffnet, hat noch gar keinen
| Zugang. Es bleibt trotzdem eine Route der Konsole und keine des Portals: sie
| heisst `admin.invitation`, sie liegt unter demselben Präfix beziehungsweise
| Hostnamen wie der Rest der Konsole, und sie durchläuft damit denselben
| `web`-Stapel — also RestrictAdminHost (auf welchem Namen die Konsole
| antwortet) UND RestrictConsoleNetwork (wer sie überhaupt erreichen darf).
| Ein Einladungslink führt deshalb bewusst in ein Netz, das der Eingeladene
| erst haben muss; die Mail sagt das ausdrücklich, damit ein 404 nicht wie ein
| kaputter Link aussieht.
*/
Route::get('/invitation/{token}', OperatorSetPassword::class)->name('invitation');
