fixed pages
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user