fixed pages

This commit is contained in:
2026-08-22 08:26:27 +02:00
parent 64eade33f3
commit 770c89ca3f
4 changed files with 276 additions and 79 deletions
+4 -30
View File
@@ -221,19 +221,10 @@ class _MedicalCertificatesPageState extends State<MedicalCertificatesPage> {
}
Future<void> _openFileUrl(String url) async {
// url tipico: "/userarea/certificate/xxx"
// fix plural errato se presente
var fixed = url.replaceFirst(
'/userarea/certificates/',
'/userarea/certificate/',
);
// se non ha /public davanti, lo aggiungiamo
if (!fixed.startsWith('/public/')) {
fixed = '/public${fixed.startsWith('/') ? '' : '/'}$fixed';
}
final abs = '${ApiConfig.scheme}://${ApiConfig.host}$fixed';
// L'API restituisce già "/user/document/<file>".
// Costruiamo l'URL assoluto senza manipolazioni.
final path = url.startsWith('/') ? url : '/$url';
final abs = '${ApiConfig.scheme}://${ApiConfig.host}$path';
final uri = Uri.parse(abs);
final ok = await launchUrl(uri, mode: LaunchMode.externalApplication);
@@ -388,7 +379,6 @@ class _MedicalCertificatesPageState extends State<MedicalCertificatesPage> {
final filename = (c['filename'] ?? '').toString();
final uploadedAt = (c['uploaded_at'] ?? '').toString();
final expiry = (c['expiry_date'] ?? '').toString();
final notes = (c['notes'] ?? '').toString();
final fileUrl = (c['file_url'] ?? '').toString();
return Card(
@@ -489,11 +479,6 @@ class _MedicalCertificatesPageState extends State<MedicalCertificatesPage> {
],
),
if (notes.trim().isNotEmpty) ...[
const SizedBox(height: 10),
Text(notes, style: const TextStyle(fontSize: 12)),
],
const SizedBox(height: 10),
Row(
children: [
@@ -627,17 +612,6 @@ class _UploadCard extends StatelessWidget {
label: Text(expiryLabel),
),
const SizedBox(height: 10),
TextField(
controller: notesController,
minLines: 2,
maxLines: 4,
decoration: const InputDecoration(
labelText: 'Note (opzionale)',
border: OutlineInputBorder(),
),
),
const SizedBox(height: 12),
SizedBox(