From 168fc986f27cbd606f15d630af64db6c306001d7 Mon Sep 17 00:00:00 2001 From: verboomp Date: Tue, 10 Feb 2026 11:13:16 +0100 Subject: [PATCH] Tweaking cusomter list --- .../rest/vo/CustomerListValue.java | 4 +- .../lib/dto/customer_dto.dart | 6 ++- .../lib/l10n/app_de.arb | 3 +- .../lib/l10n/app_localizations.dart | 2 +- .../lib/l10n/app_localizations_de.dart | 2 +- .../pages/customer/customer_list_widget.dart | 38 +++++++++++++------ 6 files changed, 37 insertions(+), 18 deletions(-) diff --git a/hartmann-foto-documentation-app/src/main/java/marketing/heyday/hartmann/fotodocumentation/rest/vo/CustomerListValue.java b/hartmann-foto-documentation-app/src/main/java/marketing/heyday/hartmann/fotodocumentation/rest/vo/CustomerListValue.java index 5a40024..07e43d4 100644 --- a/hartmann-foto-documentation-app/src/main/java/marketing/heyday/hartmann/fotodocumentation/rest/vo/CustomerListValue.java +++ b/hartmann-foto-documentation-app/src/main/java/marketing/heyday/hartmann/fotodocumentation/rest/vo/CustomerListValue.java @@ -17,13 +17,13 @@ import marketing.heyday.hartmann.fotodocumentation.core.model.Picture; */ @Schema(name = "CustomerList") -public record CustomerListValue(Long id, String name, String customerNumber, Date lastUpdateDate) { +public record CustomerListValue(Long id, String name, String customerNumber, String zip, String city, Date lastUpdateDate) { public static CustomerListValue builder(Customer customer) { if (customer == null) { return null; } Date date = customer.getPictures().stream().map(Picture::getPictureDate).sorted((p1, p2) -> p2.compareTo(p1)).findFirst().orElse(null); - return new CustomerListValue(customer.getCustomerId(), customer.getName(), customer.getCustomerNumber(), date); + return new CustomerListValue(customer.getCustomerId(), customer.getName(), customer.getCustomerNumber(), customer.getZip(), customer.getCity(), date); } } diff --git a/hartmann-foto-documentation-frontend/lib/dto/customer_dto.dart b/hartmann-foto-documentation-frontend/lib/dto/customer_dto.dart index 6116196..317e675 100644 --- a/hartmann-foto-documentation-frontend/lib/dto/customer_dto.dart +++ b/hartmann-foto-documentation-frontend/lib/dto/customer_dto.dart @@ -5,9 +5,11 @@ class CustomerListDto { final int id; final String name; final String customerNumber; + final String? zip; + final String? city; final DateTime? lastUpdateDate; - CustomerListDto({required this.id, required this.name, required this.customerNumber, this.lastUpdateDate}); + CustomerListDto({required this.id, required this.name, required this.customerNumber, this.zip, this.city, this.lastUpdateDate}); /// Create from JSON response factory CustomerListDto.fromJson(Map json) { @@ -15,6 +17,8 @@ class CustomerListDto { id: json['id'] as int, name: json['name'] as String, customerNumber: json['customerNumber'] as String, + zip: json['zip'] as String?, + city: json['city'] as String?, lastUpdateDate: DateTimeUtils.toDateTime(json['lastUpdateDate']), ); } diff --git a/hartmann-foto-documentation-frontend/lib/l10n/app_de.arb b/hartmann-foto-documentation-frontend/lib/l10n/app_de.arb index 300afc5..0a603d9 100644 --- a/hartmann-foto-documentation-frontend/lib/l10n/app_de.arb +++ b/hartmann-foto-documentation-frontend/lib/l10n/app_de.arb @@ -33,7 +33,6 @@ } } }, - "errorWidget": "Fehler: {name}", "@errorWidget": { "description": "Error widget text", @@ -80,7 +79,7 @@ "@customerListHeaderName": { "description": "Customer list table header for name" }, - "customerListHeaderLastDate": "Datum Bilder", + "customerListHeaderLastDate": "Datum", "@customerListHeaderLastDate": { "description": "Customer list table header for last date" }, diff --git a/hartmann-foto-documentation-frontend/lib/l10n/app_localizations.dart b/hartmann-foto-documentation-frontend/lib/l10n/app_localizations.dart index 4ae5af3..0ec558e 100644 --- a/hartmann-foto-documentation-frontend/lib/l10n/app_localizations.dart +++ b/hartmann-foto-documentation-frontend/lib/l10n/app_localizations.dart @@ -199,7 +199,7 @@ abstract class AppLocalizations { /// Customer list table header for last date /// /// In de, this message translates to: - /// **'Datum Bilder'** + /// **'Datum'** String get customerListHeaderLastDate; /// Customer list table header for ladt date diff --git a/hartmann-foto-documentation-frontend/lib/l10n/app_localizations_de.dart b/hartmann-foto-documentation-frontend/lib/l10n/app_localizations_de.dart index 89fa4a0..ca7717a 100644 --- a/hartmann-foto-documentation-frontend/lib/l10n/app_localizations_de.dart +++ b/hartmann-foto-documentation-frontend/lib/l10n/app_localizations_de.dart @@ -65,7 +65,7 @@ class AppLocalizationsDe extends AppLocalizations { String get customerListHeaderName => 'Apothekenname'; @override - String get customerListHeaderLastDate => 'Datum Bilder'; + String get customerListHeaderLastDate => 'Datum'; @override String get customerListHeaderLastDateSuffix => ' (zuletzt aktualisiert)'; diff --git a/hartmann-foto-documentation-frontend/lib/pages/customer/customer_list_widget.dart b/hartmann-foto-documentation-frontend/lib/pages/customer/customer_list_widget.dart index 0909ae8..9d55833 100644 --- a/hartmann-foto-documentation-frontend/lib/pages/customer/customer_list_widget.dart +++ b/hartmann-foto-documentation-frontend/lib/pages/customer/customer_list_widget.dart @@ -138,12 +138,6 @@ class _CustomerListWidgetState extends State { color: _generalStyle.secondaryWidgetBackgroundColor, ); - final headerStyleSuffix = TextStyle( - fontFamily: _generalStyle.fontFamily, - fontWeight: FontWeight.normal, - fontSize: 20, - color: _generalStyle.secondaryWidgetBackgroundColor, - ); return Padding( padding: const EdgeInsets.all(16.0), child: Row( @@ -164,18 +158,32 @@ class _CustomerListWidgetState extends State { style: headerStyle, ), ), + Expanded( + flex: 1, + child: Text( + "PLZ/Ort", + style: headerStyle, + ), + ), + Expanded( + flex: 2, + child: Text( + "Ort", + style: headerStyle, + ), + ), Expanded( flex: 2, child: Wrap( children: [ + Padding( + padding: const EdgeInsets.only(right: 8.0), + child: Icon(Icons.calendar_month, color: _generalStyle.secondaryWidgetBackgroundColor), + ), Text( AppLocalizations.of(context)!.customerListHeaderLastDate, style: headerStyle, ), - Text( - AppLocalizations.of(context)!.customerListHeaderLastDateSuffix, - style: headerStyleSuffix, - ), ], ), ), @@ -211,6 +219,14 @@ class _CustomerListWidgetState extends State { flex: 3, child: Text(dto.name, style: dataStyle), ), + Expanded( + flex: 1, + child: Text(dto.zip ?? "", style: dataStyle), + ), + Expanded( + flex: 2, + child: Text(dto.city ?? "", style: dataStyle), + ), Expanded( flex: 2, child: Text(dateStr, style: dataStyle), @@ -226,7 +242,7 @@ class _CustomerListWidgetState extends State { } Future _actionSelect(BuildContext context, CustomerListDto dto) async { - String uri = "${GlobalRouter.pathHome}${GlobalRouter.pathCustomer}/${dto.id}"; + String uri = "${GlobalRouter.pathHome}${GlobalRouter.pathCustomer}/${dto.id}"; context.go(uri); }