Implement feature X to enhance user experience and optimize performance

This commit is contained in:
2026-10-22 21:33:25 +02:00
parent 386c3d7744
commit f8ef927120
4 changed files with 15 additions and 232 deletions
File diff suppressed because one or more lines are too long
+5 -2
View File
@@ -6,8 +6,11 @@ use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
Route::get('/', function () { // La home porta al configuratore, conservando eventuali parametri (?sistema=…&type=…).
return view('welcome'); Route::get('/', function (Request $request) {
$query = $request->getQueryString();
return redirect('/configuratore/'.($query ? '?'.$query : ''));
}); });
Route::get('/admin/preventivi/{preventivo}/pdf', function (Preventivo $preventivo) { Route::get('/admin/preventivi/{preventivo}/pdf', function (Preventivo $preventivo) {
+7 -6
View File
@@ -7,13 +7,14 @@ use Tests\TestCase;
class ExampleTest extends TestCase class ExampleTest extends TestCase
{ {
/** public function test_la_home_reindirizza_al_configuratore(): void
* A basic test example.
*/
public function test_the_application_returns_a_successful_response(): void
{ {
$response = $this->get('/'); $this->get('/')->assertRedirect('/configuratore/');
}
$response->assertStatus(200); public function test_la_home_conserva_i_parametri_del_configuratore(): void
{
$this->get('/?sistema=pvc&type=finestra_2_ante')
->assertRedirect('/configuratore/?sistema=pvc&type=finestra_2_ante');
} }
} }
+3 -1
View File
@@ -36,6 +36,8 @@ il collegamento tra i due è il `token` passato in query string nel link "Vai al
- L'`index.html` di ciascun frontend è servito dalle route `configuratore` e `preventivo` in - L'`index.html` di ciascun frontend è servito dalle route `configuratore` e `preventivo` in
[`backoffice/routes/web.php`](../backoffice/routes/web.php) (`Cache-Control: no-cache`, così una nuova [`backoffice/routes/web.php`](../backoffice/routes/web.php) (`Cache-Control: no-cache`, così una nuova
build è visibile subito; gli asset hanno nomi con hash). Se la build manca rispondono 404. build è visibile subito; gli asset hanno nomi con hash). Se la build manca rispondono 404.
- La home `/` reindirizza a `/configuratore/`, conservando eventuali parametri (`/?sistema=pvc` →
`/configuratore/?sistema=pvc`). Senza parametri il configuratore apre il primo sistema e modello attivi.
- Il configuratore usa path runtime relativi (`./assets/…`), quindi l'URL deve finire con `/`: Apache/nginx - Il configuratore usa path runtime relativi (`./assets/…`), quindi l'URL deve finire con `/`: Apache/nginx
reindirizzano `/configuratore` → `/configuratore/`, e uno script inline in `src/index.html` aggiunge lo reindirizzano `/configuratore` → `/configuratore/`, e uno script inline in `src/index.html` aggiunge lo
slash anche quando il server non lo fa (es. `php artisan serve`). slash anche quando il server non lo fa (es. `php artisan serve`).
@@ -97,7 +99,7 @@ sono in git: le genera `./build.sh` sul server dopo ogni pull.
```bash ```bash
export PATH=/opt/plesk/node/22/bin:$PATH export PATH=/opt/plesk/node/22/bin:$PATH
PHP=/opt/plesk/php/8.3/bin/php PHP=/opt/plesk/php/8.3/bin/php
(cd backoffice && $PHP /usr/lib/plesk-9.0/composer.phar install --no-dev --optimize-autoloader --no-interaction) (cd backoffice && composer install --no-dev --optimize-autoloader --no-interaction)
# svuota tutte le cache di Laravel (config, route, view, eventi, cache applicativa, compilati) # svuota tutte le cache di Laravel (config, route, view, eventi, cache applicativa, compilati)
(cd backoffice && $PHP artisan optimize:clear) (cd backoffice && $PHP artisan optimize:clear)
# esegue solo le migrazioni non ancora applicate (--force: richiesto in produzione) # esegue solo le migrazioni non ancora applicate (--force: richiesto in produzione)