1import 'package:fluentui_system_icons/fluentui_system_icons.dart';
2import 'package:flutter/material.dart';
4import '../../core/ui/theme/color_palette.dart';
5import '../../core/ui/widgets/custom_scaffold.dart';
11 State<VehicleDocumentsScreen>
createState() => _VehicleDocumentsScreenState();
14class _VehicleDocumentsScreenState
extends State<VehicleDocumentsScreen>
15 with SingleTickerProviderStateMixin {
18 Colors.green.shade400,
'Valid until Dec 2025'),
20 'Vehicle registration',
21 FluentIcons.checkbox_unchecked_12_regular,
23 'Valid until Nov 2025'),
25 'Vehicle sanitization record',
26 FluentIcons.vehicle_car_16_regular,
30 'Minicipal permit\n(if applicable)',
31 FluentIcons.text_description_16_regular,
32 Colors.indigo.shade400,
37 Widget
build(BuildContext context) {
38 return CustomScaffold(
41 body: SingleChildScrollView(
51 padding:
const EdgeInsets.all(20),
53 crossAxisAlignment: CrossAxisAlignment.start,
58 crossAxisAlignment: CrossAxisAlignment.start,
64 fontWeight: FontWeight.bold,
71 const EdgeInsets.symmetric(horizontal: 12, vertical: 6),
72 decoration: BoxDecoration(
74 borderRadius: BorderRadius.circular(20),
78 Icon(Icons.check_circle,
79 color: Colors.greenAccent, size: 16),
82 'All documents up to date',
83 style: TextStyle(
color: Colors.black, fontSize: 12),
95 padding:
const EdgeInsets.symmetric(horizontal: 12, vertical: 6),
96 decoration: BoxDecoration(
98 borderRadius: BorderRadius.circular(20),
101 mainAxisSize: MainAxisSize.min,
103 Icon(FluentIcons.vehicle_car_16_regular,
104 color: Colors.blue.shade400, size: 16),
108 style: TextStyle(
color: Colors.black, fontSize: 12),
120 for (
int index = 0; index <
documents.length; index++)
127 margin:
const EdgeInsets.only(
132 decoration: BoxDecoration(
134 borderRadius: BorderRadius.circular(20),
137 color: Colors.black.withValues(alpha: 0.1),
139 offset:
const Offset(0, 10),
144 borderRadius: BorderRadius.circular(20),
146 color: Colors.transparent,
150 padding:
const EdgeInsets.all(20),
154 padding:
const EdgeInsets.all(12),
155 decoration: BoxDecoration(
157 borderRadius: BorderRadius.circular(16),
164 crossAxisAlignment: CrossAxisAlignment.start,
168 style:
const TextStyle(
170 fontWeight: FontWeight.bold,
177 color: Colors.grey.shade600,
185 padding:
const EdgeInsets.all(8),
186 decoration: BoxDecoration(
188 borderRadius: BorderRadius.circular(12),
191 Icons.download_rounded,
class App extends StatefulWidget build(BuildContext context)
static const antiFlashWhite
DocumentItem(this.title, this.icon, this.color, this.subtitle)
Widget _buildDocumentCard(DocumentItem document)
Widget _buildDocumentsView()
class DocumentsScreen extends StatefulWidget documents
style Text( '${ 'scheduling.reference'.tr()}:${collection.internalCode}', style:Theme.of(context).textTheme.bodySmall,)
style SizedBox(height:2.h)
style Column(crossAxisAlignment:CrossAxisAlignment.end, children:[Container(padding:EdgeInsets.symmetric(horizontal:8.w, vertical:4.h), decoration:BoxDecoration(color:ColorPalette.tiffanyBlue.withValues(alpha:0.1), borderRadius:BorderRadius.circular(12),), child:Text(collection.type ?? '', style:Theme.of(context).textTheme.bodySmall?.copyWith(color:ColorPalette.tiffanyBlue, fontWeight:FontWeight.bold,),),),],)