|
|
|
@ -76,10 +76,54 @@ class _PointagePageState extends State<PointagePage> { |
|
|
|
itemCount: _pointages.length, |
|
|
|
itemBuilder: (context, index) { |
|
|
|
final pointage = _pointages[index]; |
|
|
|
return ListTile( |
|
|
|
title: Text(pointage.date), |
|
|
|
subtitle: Text( |
|
|
|
'Arrivée: ${pointage.heureArrivee}, Départ: ${pointage.heureDepart.isNotEmpty ? pointage.heureDepart : '---'}'), |
|
|
|
return Padding( |
|
|
|
padding: const EdgeInsets.symmetric( |
|
|
|
horizontal: 12.0, vertical: 6.0), |
|
|
|
child: Card( |
|
|
|
shape: RoundedRectangleBorder( |
|
|
|
borderRadius: BorderRadius.circular(16), |
|
|
|
side: BorderSide(color: Colors.blueGrey.shade100), |
|
|
|
), |
|
|
|
elevation: 4, |
|
|
|
shadowColor: Colors.blueGrey.shade50, |
|
|
|
child: ListTile( |
|
|
|
leading: CircleAvatar( |
|
|
|
backgroundColor: Colors.blue.shade100, |
|
|
|
child: Icon(Icons.calendar_today, color: Colors.blue), |
|
|
|
), |
|
|
|
title: Text( |
|
|
|
pointage.date, |
|
|
|
style: TextStyle(fontWeight: FontWeight.bold), |
|
|
|
), |
|
|
|
subtitle: Column( |
|
|
|
crossAxisAlignment: CrossAxisAlignment.start, |
|
|
|
children: [ |
|
|
|
const SizedBox(height: 4), |
|
|
|
Row( |
|
|
|
children: [ |
|
|
|
Icon(Icons.login, |
|
|
|
size: 18, color: Colors.green.shade700), |
|
|
|
const SizedBox(width: 6), |
|
|
|
Text("Arrivée : ${pointage.heureArrivee}", |
|
|
|
style: |
|
|
|
TextStyle(color: Colors.green.shade700)), |
|
|
|
], |
|
|
|
), |
|
|
|
Row( |
|
|
|
children: [ |
|
|
|
Icon(Icons.logout, |
|
|
|
size: 18, color: Colors.red.shade700), |
|
|
|
const SizedBox(width: 6), |
|
|
|
Text( |
|
|
|
"Départ : ${pointage.heureDepart.isNotEmpty ? pointage.heureDepart : "---"}", |
|
|
|
style: TextStyle(color: Colors.red.shade700)), |
|
|
|
], |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
isThreeLine: true, |
|
|
|
), |
|
|
|
), |
|
|
|
); |
|
|
|
}, |
|
|
|
), |
|
|
|
|