feat: progress bar startup check with 29 diagnostics (v1.7.21)

- Replace banner checklist with real-time progress bar + per-check label
  Bar fills smoothly (0→100%) as each check runs; label shows current check.
  On success: bar stays green briefly then fades. On warnings: amber badges
  shown for 2.2s. On critical error: bar turns red + error block + Retry.
- Extend health_check to 29 comprehensive checks:
  PHP 8.0+ version, 4 critical extensions (pdo_sqlite/curl/json/mbstring),
  4 optional extensions (openssl/fileinfo/zip/intl), PHP memory/timeout/upload,
  data/ writable, rate_limits/ dir, backups/ dir, actual file-write test,
  free disk space, SQLite connect, required tables, PRAGMA quick_check integrity,
  WAL mode, DB file size, inventory row count, .env file, Gemini AI key,
  Bring! credentials + token, cURL SSL version, internet reachability (Gemini API)
- Fresh-install detection: if dispensa.db not found + data/ writable → OK (auto-create)
- Translations: startup.* expanded to 28 keys in IT, EN, DE, FR, ES
- CSS: new .preloader-progress-wrap, .preloader-bar-track, .preloader-bar,
  .preloader-check-label, .preloader-warn-badge; removed old .preloader-checks
- Version: v1.7.21, assets v=20260520b
This commit is contained in:
dadaloop82
2026-05-17 09:50:42 +00:00
parent d3b119c7fe
commit 78f499205c
10 changed files with 512 additions and 174 deletions
+24 -6
View File
@@ -1203,15 +1203,33 @@
"btn_title": "Exportieren"
},
"startup": {
"check_php": "PHP",
"check_exts": "PHP-Erweiterungen",
"connecting": "Serververbindung wird hergestellt...",
"check_php_memory": "PHP-Speicher",
"check_php_timeout": "PHP-Timeout",
"check_php_upload": "PHP-Upload",
"check_data_dir": "Datenverzeichnis",
"check_db": "Datenbank",
"check_env": "Konfiguration (.env)",
"check_rate_limits": "Rate-Limits-Verzeichnis",
"check_backups": "Backup-Verzeichnis",
"check_write_test": "Schreibtest",
"check_disk_space": "Speicherplatz",
"check_db_connect": "Datenbankverbindung",
"check_db_tables": "Datenbanktabellen",
"check_db_integrity": "Datenbankintegrität",
"check_db_wal": "WAL-Modus",
"check_db_size": "Datenbankgröße",
"check_db_rows": "Inventardaten",
"check_env": ".env-Datei",
"check_gemini": "Gemini-AI-Schlüssel",
"check_bring": "Bring!-Token",
"check_bring_creds": "Bring!-Anmeldedaten",
"check_bring_token": "Bring!-Token",
"check_curl_ssl": "cURL-SSL",
"check_internet": "Internetverbindung",
"fresh_install": "Neuinstallation",
"warnings_found": "Warnungen",
"all_ok": "System OK",
"critical_error_short": "Kritischer Fehler",
"critical_error": "Kritischer Fehler: Die App kann nicht gestartet werden. Prüfe die Serverlogs.",
"error_network": "Server nicht erreichbar. Bitte Verbindung prüfen.",
"error_network": "Server nicht erreichbar. Bitte Netzwerkverbindung prüfen.",
"retry": "Erneut versuchen"
}
}
+24 -6
View File
@@ -1203,15 +1203,33 @@
"btn_title": "Export"
},
"startup": {
"check_php": "PHP",
"check_exts": "PHP extensions",
"connecting": "Connecting to server...",
"check_php_memory": "PHP memory",
"check_php_timeout": "PHP timeout",
"check_php_upload": "PHP upload",
"check_data_dir": "Data directory",
"check_db": "Database",
"check_env": "Configuration (.env)",
"check_rate_limits": "Rate limits dir",
"check_backups": "Backup dir",
"check_write_test": "Disk write test",
"check_disk_space": "Disk space",
"check_db_connect": "Database connection",
"check_db_tables": "Database tables",
"check_db_integrity": "Database integrity",
"check_db_wal": "WAL mode",
"check_db_size": "Database size",
"check_db_rows": "Inventory data",
"check_env": ".env file",
"check_gemini": "Gemini AI key",
"check_bring": "Bring! token",
"check_bring_creds": "Bring! credentials",
"check_bring_token": "Bring! token",
"check_curl_ssl": "cURL SSL",
"check_internet": "Internet connection",
"fresh_install": "fresh install",
"warnings_found": "warnings found",
"all_ok": "System OK",
"critical_error_short": "Critical error",
"critical_error": "Critical error: the app cannot start. Check your server logs.",
"error_network": "Cannot reach the server. Check your connection.",
"error_network": "Cannot reach the server. Check your network connection.",
"retry": "Retry"
}
}
+24 -6
View File
@@ -1203,15 +1203,33 @@
"btn_title": "Exportar"
},
"startup": {
"check_php": "PHP",
"check_exts": "Extensiones PHP",
"connecting": "Conectando al servidor...",
"check_php_memory": "Memoria PHP",
"check_php_timeout": "Tiempo de espera PHP",
"check_php_upload": "Upload PHP",
"check_data_dir": "Carpeta de datos",
"check_db": "Base de datos",
"check_env": "Configuración (.env)",
"check_rate_limits": "Dir. rate limits",
"check_backups": "Dir. copias de seguridad",
"check_write_test": "Prueba escritura disco",
"check_disk_space": "Espacio en disco",
"check_db_connect": "Conexión base de datos",
"check_db_tables": "Tablas de la BD",
"check_db_integrity": "Integridad BD",
"check_db_wal": "Modo WAL",
"check_db_size": "Tamaño de la BD",
"check_db_rows": "Datos del inventario",
"check_env": "Archivo .env",
"check_gemini": "Clave Gemini AI",
"check_bring": "Token de Bring!",
"check_bring_creds": "Credenciales Bring!",
"check_bring_token": "Token de Bring!",
"check_curl_ssl": "cURL SSL",
"check_internet": "Conexión a internet",
"fresh_install": "instalación nueva",
"warnings_found": "avisos detectados",
"all_ok": "Sistema OK",
"critical_error_short": "Error crítico",
"critical_error": "Error crítico: la aplicación no puede iniciarse. Revisa los registros del servidor.",
"error_network": "No se puede contactar con el servidor. Comprueba tu conexión.",
"error_network": "No se puede contactar con el servidor. Comprueba tu conexión de red.",
"retry": "Reintentar"
}
}
+25 -7
View File
@@ -1203,15 +1203,33 @@
"btn_title": "Exporter"
},
"startup": {
"check_php": "PHP",
"check_exts": "Extensions PHP",
"connecting": "Connexion au serveur...",
"check_php_memory": "Mémoire PHP",
"check_php_timeout": "Délai PHP",
"check_php_upload": "Upload PHP",
"check_data_dir": "Dossier de données",
"check_db": "Base de données",
"check_env": "Configuration (.env)",
"check_rate_limits": "Dossier rate limits",
"check_backups": "Dossier sauvegardes",
"check_write_test": "Test d'écriture disque",
"check_disk_space": "Espace disque",
"check_db_connect": "Connexion base de données",
"check_db_tables": "Tables de la BDD",
"check_db_integrity": "Intégrité BDD",
"check_db_wal": "Mode WAL",
"check_db_size": "Taille de la BDD",
"check_db_rows": "Données inventaire",
"check_env": "Fichier .env",
"check_gemini": "Clé Gemini AI",
"check_bring": "Token Bring!",
"critical_error": "Erreur critique : l'application ne peut pas démarrer. Vérifiez les logs du serveur.",
"error_network": "Impossible de contacter le serveur. Vérifiez votre connexion.",
"check_bring_creds": "Identifiants Bring!",
"check_bring_token": "Token Bring!",
"check_curl_ssl": "cURL SSL",
"check_internet": "Connexion internet",
"fresh_install": "nouvelle installation",
"warnings_found": "avertissements détectés",
"all_ok": "Système OK",
"critical_error_short": "Erreur critique",
"critical_error": "Erreur critique : l'application ne peut pas démarrer. Vérifiez les logs.",
"error_network": "Impossible de contacter le serveur. Vérifiez votre connexion réseau.",
"retry": "Réessayer"
}
}
+25 -7
View File
@@ -1203,15 +1203,33 @@
"btn_title": "Esporta"
},
"startup": {
"check_php": "PHP",
"check_exts": "Estensioni PHP",
"connecting": "Connessione al server...",
"check_php_memory": "Memoria PHP",
"check_php_timeout": "Timeout PHP",
"check_php_upload": "Upload PHP",
"check_data_dir": "Cartella dati",
"check_db": "Database",
"check_env": "Configurazione (.env)",
"check_rate_limits": "Dir rate limits",
"check_backups": "Dir backup",
"check_write_test": "Test scrittura disco",
"check_disk_space": "Spazio disco",
"check_db_connect": "Connessione database",
"check_db_tables": "Tabelle database",
"check_db_integrity": "Integrità database",
"check_db_wal": "WAL mode",
"check_db_size": "Dimensione database",
"check_db_rows": "Dati inventario",
"check_env": "File .env",
"check_gemini": "Chiave Gemini AI",
"check_bring": "Token Bring!",
"critical_error": "Errore critico: impossibile avviare l'app. Controlla i log del server.",
"error_network": "Impossibile contattare il server. Controlla la connessione.",
"check_bring_creds": "Credenziali Bring!",
"check_bring_token": "Token Bring!",
"check_curl_ssl": "cURL SSL",
"check_internet": "Connessione internet",
"fresh_install": "nuovo impianto",
"warnings_found": "avvisi rilevati",
"all_ok": "Sistema OK",
"critical_error_short": "Errore critico",
"critical_error": "Errore critico: l'app non può avviarsi. Controlla i log del server.",
"error_network": "Impossibile contattare il server. Controlla la connessione di rete.",
"retry": "Riprova"
}
}