From 54a496fa7650669cf329aebf859453d2102cf9a8 Mon Sep 17 00:00:00 2001 From: Reinaldo Neto Date: Thu, 13 Oct 2022 19:49:49 -0300 Subject: [PATCH 1/2] [FIX] UiKit/DatePicker is broken --- app/containers/UIKit/DatePicker.tsx | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/app/containers/UIKit/DatePicker.tsx b/app/containers/UIKit/DatePicker.tsx index f962d052900..43fd6784ad0 100644 --- a/app/containers/UIKit/DatePicker.tsx +++ b/app/containers/UIKit/DatePicker.tsx @@ -1,5 +1,5 @@ import React, { useState } from 'react'; -import { StyleSheet, Text, View } from 'react-native'; +import { StyleSheet, Text, unstable_batchedUpdates, View } from 'react-native'; import DateTimePicker, { Event } from '@react-native-community/datetimepicker'; import Touchable from 'react-native-platform-touchable'; import { BlockContext } from '@rocket.chat/ui-kit'; @@ -48,11 +48,15 @@ export const DatePicker = ({ element, language, action, context, loading, value, // timestamp as number exists in Event // @ts-ignore const onChange = ({ nativeEvent: { timestamp } }: Event, date?: Date) => { - const newDate = date || new Date(timestamp); - onChangeDate(newDate); - action({ value: moment(newDate).format('YYYY-MM-DD') }); - if (isAndroid) { - onShow(false); + if (date || timestamp) { + const newDate = date || new Date(timestamp); + action({ value: moment(newDate).format('YYYY-MM-DD') }); + unstable_batchedUpdates(() => { + onChangeDate(newDate); + if (isAndroid) { + onShow(false); + } + }); } }; @@ -85,7 +89,13 @@ export const DatePicker = ({ element, language, action, context, loading, value, } const content = show ? ( - + ) : null; return ( From 1686317733d3a8c9e26d6f79eb91df03fa9d92a4 Mon Sep 17 00:00:00 2001 From: Reinaldo Neto Date: Fri, 14 Oct 2022 16:19:34 -0300 Subject: [PATCH 2/2] minor tweak --- app/containers/UIKit/DatePicker.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/containers/UIKit/DatePicker.tsx b/app/containers/UIKit/DatePicker.tsx index 43fd6784ad0..2466393bcb1 100644 --- a/app/containers/UIKit/DatePicker.tsx +++ b/app/containers/UIKit/DatePicker.tsx @@ -50,13 +50,13 @@ export const DatePicker = ({ element, language, action, context, loading, value, const onChange = ({ nativeEvent: { timestamp } }: Event, date?: Date) => { if (date || timestamp) { const newDate = date || new Date(timestamp); - action({ value: moment(newDate).format('YYYY-MM-DD') }); unstable_batchedUpdates(() => { onChangeDate(newDate); if (isAndroid) { onShow(false); } }); + action({ value: moment(newDate).format('YYYY-MM-DD') }); } };