From 96cc6d6c941b9a96899160243665261d84c941ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliwier=20Szafra=C5=84ski?= Date: Thu, 12 Feb 2026 16:50:32 +0100 Subject: [PATCH] feat: add support for custom text in the 'Today' button --- lib/src/web_date_picker.dart | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/lib/src/web_date_picker.dart b/lib/src/web_date_picker.dart index 61b9233..72e8725 100644 --- a/lib/src/web_date_picker.dart +++ b/lib/src/web_date_picker.dart @@ -36,6 +36,7 @@ Future showWebDatePicker({ bool autoCloseOnDateSelect = false, bool showDisabledCursor = false, void Function()? onReset, + String? todayButtonText, }) { if (asDialog) { final renderBox = context.findRenderObject()! as RenderBox; @@ -69,6 +70,7 @@ Future showWebDatePicker({ showCancelButton: showCancelButton, showDisabledCursor: showDisabledCursor, onReset: onReset, + todayButtonText: todayButtonText, ), ), ), @@ -99,6 +101,7 @@ Future showWebDatePicker({ showCancelButton: showCancelButton, showDisabledCursor: showDisabledCursor, onReset: onReset, + todayButtonText: todayButtonText, ), asDropDown: true, useTargetWidth: width != null ? false : true, @@ -130,6 +133,7 @@ class _WebDatePicker extends StatefulWidget { this.autoCloseOnDateSelect = false, this.showDisabledCursor = false, this.onReset, + this.todayButtonText, }); final List blockedDates; @@ -153,6 +157,7 @@ class _WebDatePicker extends StatefulWidget { final bool autoCloseOnDateSelect; final bool showDisabledCursor; final void Function()? onReset; + final String? todayButtonText; @override State<_WebDatePicker> createState() => _WebDatePickerState(); @@ -719,11 +724,23 @@ class _WebDatePickerState extends State<_WebDatePicker> { /// Today if (widget.showTodayButton) - _iconWidget( - Icons.today, - tooltip: localizations.currentDateLabel, - onTap: _onStartDateChanged, - ), + if (widget.todayButtonText != null) + TextButton( + onPressed: () => _onStartDateChanged(), + child: Text( + widget.todayButtonText!, + style: TextStyle( + color: widget.confirmButtonColor ?? theme.colorScheme.primary, + ), + ), + ) + else + _iconWidget( + Icons.today, + tooltip: localizations.currentDateLabel, + onTap: _onStartDateChanged, + ), + const Spacer(), /// CANCEL