Initial commit - construprogress app
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\Auth\VerifyEmailController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Livewire\Volt\Volt;
|
||||
|
||||
Route::middleware('guest')->group(function () {
|
||||
Volt::route('register', 'pages.auth.register')
|
||||
->name('register');
|
||||
|
||||
Volt::route('login', 'pages.auth.login')
|
||||
->name('login');
|
||||
|
||||
Volt::route('forgot-password', 'pages.auth.forgot-password')
|
||||
->name('password.request');
|
||||
|
||||
Volt::route('reset-password/{token}', 'pages.auth.reset-password')
|
||||
->name('password.reset');
|
||||
});
|
||||
|
||||
Route::middleware('auth')->group(function () {
|
||||
Volt::route('verify-email', 'pages.auth.verify-email')
|
||||
->name('verification.notice');
|
||||
|
||||
Route::get('verify-email/{id}/{hash}', VerifyEmailController::class)
|
||||
->middleware(['signed', 'throttle:6,1'])
|
||||
->name('verification.verify');
|
||||
|
||||
Volt::route('confirm-password', 'pages.auth.confirm-password')
|
||||
->name('password.confirm');
|
||||
});
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Foundation\Inspiring;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
|
||||
Artisan::command('inspire', function () {
|
||||
$this->comment(Inspiring::quote());
|
||||
})->purpose('Display an inspiring quote');
|
||||
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\ProfileController;
|
||||
use App\Http\Controllers\ProjectController;
|
||||
use App\Http\Controllers\OfflineSyncController;
|
||||
use App\Livewire\ProjectMap;
|
||||
use App\Livewire\ProjectList;
|
||||
use App\Livewire\PhaseProgress;
|
||||
|
||||
use App\Http\Controllers\Auth\AuthenticatedSessionController;
|
||||
use App\Http\Controllers\Auth\ConfirmablePasswordController;
|
||||
use App\Http\Controllers\Auth\EmailVerificationNotificationController;
|
||||
use App\Http\Controllers\Auth\EmailVerificationPromptController;
|
||||
use App\Http\Controllers\Auth\NewPasswordController;
|
||||
use App\Http\Controllers\Auth\PasswordController;
|
||||
use App\Http\Controllers\Auth\PasswordResetLinkController;
|
||||
use App\Http\Controllers\Auth\RegisteredUserController;
|
||||
use App\Http\Controllers\Auth\VerifyEmailController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Web Routes
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
// Redirección raíz a dashboard (solo para usuarios autenticados)
|
||||
Route::get('/', function () {
|
||||
return redirect()->route('dashboard');
|
||||
})->middleware(['auth']);
|
||||
|
||||
// Grupo de rutas protegidas por autenticación
|
||||
Route::middleware(['auth'])->group(function () {
|
||||
|
||||
// Dashboard principal (vista con estadísticas y lista de proyectos)
|
||||
Route::get('/dashboard', function () {
|
||||
return view('dashboard');
|
||||
})->name('dashboard');
|
||||
|
||||
// ------------------------------------------------------------
|
||||
// Gestión de proyectos (CRUD completo)
|
||||
// ------------------------------------------------------------
|
||||
Route::resource('projects', ProjectController::class);
|
||||
// Ruta personalizada para ver el mapa de un proyecto específico
|
||||
Route::get('/projects/{project}/map', [ProjectController::class, 'map'])->name('projects.map');
|
||||
// Ruta para que el componente Livewire muestre/gestione el progreso de una fase
|
||||
Route::get('/phases/{phase}/progress', PhaseProgress::class)->name('phases.progress');
|
||||
Route::get('/projects-list', ProjectList::class)->name('projects.list');
|
||||
// Ruta para templates
|
||||
Route::get('/projects/{project}/templates', function ($project) {
|
||||
return view('projects.templates', ['project' => \App\Models\Project::findOrFail($project)]);
|
||||
})->name('projects.templates')->middleware('can:edit projects');
|
||||
|
||||
// Rutas para el LayerManager:
|
||||
Route::get('/projects/{project}/phases/{phase}/layers/manage', \App\Livewire\LayerManager::class)->name('layers.manage');
|
||||
|
||||
// ------------------------------------------------------------
|
||||
// Sincronización offline (para trabajadores en campo)
|
||||
// ------------------------------------------------------------
|
||||
Route::post('/offline/pending', [OfflineSyncController::class, 'storePending'])->name('offline.store');
|
||||
Route::post('/offline/sync', [OfflineSyncController::class, 'sync'])->name('offline.sync');
|
||||
|
||||
// ------------------------------------------------------------
|
||||
// Perfil de usuario (proporcionado por Laravel Breeze)
|
||||
// ------------------------------------------------------------
|
||||
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile');
|
||||
//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');
|
||||
Route::post('/logout', [AuthenticatedSessionController::class, 'destroy'])
|
||||
->name('logout');
|
||||
|
||||
});
|
||||
|
||||
// Incluir rutas de autenticación (login, registro, recuperación de contraseña, logout)
|
||||
require __DIR__ . '/auth.php';
|
||||
Reference in New Issue
Block a user