<br />
<b>Warning</b>:  chmod(): No such file or directory in <b>/www/sergiorios.com.ar/prueba.sergiorios.com.ar/public/wp-includes/load.php</b> on line <b>3</b><br />
<?php

use App\Http\Controllers\ProfileController;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\ExpenseController;
use App\Http\Controllers\IncomeController;
use App\Http\Controllers\ExpenseTagController;
use App\Http\Controllers\IncomeTagController;
use App\Http\Controllers\ReportController;
use App\Http\Controllers\BudgetController;
use Illuminate\Foundation\Application;
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;

Route::get('/', function () {
    return Inertia::render('Welcome', [
        'canLogin' => Route::has('login'),
        'canRegister' => Route::has('register'),
        'laravelVersion' => Application::VERSION,
        'phpVersion' => PHP_VERSION,
    ]);
});

// Authenticated routes
Route::middleware(['auth', 'verified'])->group(function () {
    // Dashboard
    Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
    Route::get('/dashboard/load-more', [DashboardController::class, 'loadMore'])->name('dashboard.loadMore');

    // Expenses
    Route::resource('expenses', ExpenseController::class)->except(['show']);

    // Incomes
    Route::resource('incomes', IncomeController::class)->except(['show']);

    // Tags (unified page)
    Route::get('/tags', [ExpenseTagController::class, 'index'])->name('tags.index');
    Route::post('/expense-tags', [ExpenseTagController::class, 'store'])->name('expense-tags.store');
    Route::put('/expense-tags/{expenseTag}', [ExpenseTagController::class, 'update'])->name('expense-tags.update');
    Route::delete('/expense-tags/{expenseTag}', [ExpenseTagController::class, 'destroy'])->name('expense-tags.destroy');
    Route::post('/income-tags', [IncomeTagController::class, 'store'])->name('income-tags.store');
    Route::put('/income-tags/{incomeTag}', [IncomeTagController::class, 'update'])->name('income-tags.update');
    Route::delete('/income-tags/{incomeTag}', [IncomeTagController::class, 'destroy'])->name('income-tags.destroy');

    // Reports
    Route::get('/reports', [ReportController::class, 'index'])->name('reports.index');

    // Budgets
    Route::get('/budgets', [BudgetController::class, 'index'])->name('budgets.index');
    Route::post('/budgets', [BudgetController::class, 'store'])->name('budgets.store');
    Route::put('/budgets/{budget}', [BudgetController::class, 'update'])->name('budgets.update');
    Route::delete('/budgets/{budget}', [BudgetController::class, 'destroy'])->name('budgets.destroy');
});

// Profile routes
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');
});

require __DIR__ . '/auth.php';
