From 802558510fbebb32304cb1d8c52969fd284e6abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Faleiros?= Date: Thu, 7 May 2026 15:55:43 -0300 Subject: [PATCH] fix: override native browser date input format to explicitly show DD/MM/YY in custom period selector --- src/components/DateRangePicker.tsx | 56 +++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 13 deletions(-) diff --git a/src/components/DateRangePicker.tsx b/src/components/DateRangePicker.tsx index c0b94da..39e0fca 100644 --- a/src/components/DateRangePicker.tsx +++ b/src/components/DateRangePicker.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { useState, useRef } from 'react'; import { Calendar, RefreshCw, ChevronDown } from 'lucide-react'; import type { DateRange } from '../types'; @@ -33,6 +33,8 @@ const REFRESH_OPTIONS = [ const DateRangePicker: React.FC = ({ dateRange, onChange, refreshInterval, setRefreshInterval, onManualRefresh }) => { const [isPresetOpen, setIsPresetOpen] = useState(false); + const startRef = useRef(null); + const endRef = useRef(null); const formatShortDate = (date: Date) => { return date.toLocaleDateString('pt-BR', { day: '2-digit', month: '2-digit', year: '2-digit' }); @@ -66,6 +68,20 @@ const DateRangePicker: React.FC = ({ dateRange, onChange, } }; + const openPicker = (ref: React.RefObject) => { + if (ref.current) { + try { + if ('showPicker' in HTMLInputElement.prototype) { + ref.current.showPicker(); + } else { + ref.current.focus(); + } + } catch (e) { + ref.current.focus(); + } + } + }; + return (
{/* Date Presets Dropdown */} @@ -88,21 +104,35 @@ const DateRangePicker: React.FC = ({ dateRange, onChange,
De: - +
openPicker(startRef)} + > + {formatShortDate(dateRange.start)} + +
Até: - +
openPicker(endRef)} + > + {formatShortDate(dateRange.end)} + +