
Performs a comprehensive project rename from 'barcode_scanner' to 'e_scan' (or 'eScan' for user-facing labels). This update spans all relevant files, including: - Application IDs and bundle identifiers for Android, iOS, macOS, and Linux. - VS Code launch configurations. - Dart package import paths. - Project names and titles in `pubspec.yaml`, `README.md`, and platform-specific configurations (e.g., CMakeLists, Info.plist, AndroidManifest).
84 lines
2.4 KiB
Dart
84 lines
2.4 KiB
Dart
import 'package:e_scan/themes/app_theme.dart';
|
||
import 'package:flutter/material.dart';
|
||
|
||
class StockPickingCard extends StatelessWidget {
|
||
const StockPickingCard({
|
||
super.key,
|
||
required this.reference,
|
||
required this.from,
|
||
required this.to,
|
||
required this.contact,
|
||
required this.origin,
|
||
required this.status,
|
||
this.margin,
|
||
});
|
||
final String? reference;
|
||
final String? from;
|
||
final String? to;
|
||
final String? contact;
|
||
final String? origin;
|
||
final String? status;
|
||
final EdgeInsetsGeometry? margin;
|
||
|
||
@override
|
||
Widget build(BuildContext context) {
|
||
return Card(
|
||
elevation: 3,
|
||
color: AppTheme.of(context).primaryBackground,
|
||
margin: margin ?? const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
|
||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
|
||
child: Padding(
|
||
padding: const EdgeInsets.all(16.0),
|
||
child: Column(
|
||
crossAxisAlignment: CrossAxisAlignment.start,
|
||
children: [
|
||
Row(
|
||
children: [
|
||
const Icon(Icons.receipt_long, color: Colors.blue),
|
||
const SizedBox(width: 8),
|
||
Expanded(
|
||
child: Text(
|
||
reference ?? 'Référence inconnue',
|
||
style: const TextStyle(
|
||
fontSize: 18,
|
||
fontWeight: FontWeight.bold,
|
||
),
|
||
),
|
||
),
|
||
],
|
||
),
|
||
const SizedBox(height: 12),
|
||
_infoRow(Icons.call_made, "De", from),
|
||
_infoRow(Icons.call_received, "Vers", to),
|
||
_infoRow(Icons.person, "Contact", contact),
|
||
_infoRow(Icons.insert_drive_file, "Document d’origine", origin),
|
||
_infoRow(Icons.check_circle, "Statut", status),
|
||
],
|
||
),
|
||
),
|
||
);
|
||
}
|
||
|
||
Widget _infoRow(IconData icon, String label, String? value) {
|
||
return Padding(
|
||
padding: const EdgeInsets.symmetric(vertical: 4.0),
|
||
child: Row(
|
||
children: [
|
||
Icon(icon, size: 20, color: Colors.grey[700]),
|
||
const SizedBox(width: 8),
|
||
Text(
|
||
"$label : ",
|
||
style: const TextStyle(fontWeight: FontWeight.w600),
|
||
),
|
||
Expanded(
|
||
child: Text(
|
||
value ?? "-",
|
||
style: const TextStyle(color: Colors.black87),
|
||
),
|
||
),
|
||
],
|
||
),
|
||
);
|
||
}
|
||
}
|