Skip to content

Commit

Permalink
fix: support rendering on unsupported platforms (#629)
Browse files Browse the repository at this point in the history
  • Loading branch information
henninghall committed Mar 28, 2023
1 parent c7c66c4 commit 12de914
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 10 deletions.
13 changes: 7 additions & 6 deletions src/DatePickerAndroid.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
import React from 'react'
import { NativeModules, requireNativeComponent } from 'react-native'
import { NativeModules, requireNativeComponent, Platform } from 'react-native'
import { shouldCloseModal, shouldOpenModal } from './modal'

function addMinutes(date, minutesToAdd) {
return new Date(date.valueOf() + minutesToAdd * 60 * 1000)
}

const NativeDatePicker = requireNativeComponent(
`DatePickerManager`,
DatePickerAndroid,
{ nativeOnly: { onChange: true } }
)
const NativeDatePicker =
Platform.OS === 'android'
? requireNativeComponent(`DatePickerManager`, DatePickerAndroid, {
nativeOnly: { onChange: true },
})
: null

const height = 180
const timeModeWidth = 240
Expand Down
5 changes: 3 additions & 2 deletions src/DatePickerIOS.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import React from 'react'
import { StyleSheet, requireNativeComponent, NativeModules } from 'react-native'
import { StyleSheet, requireNativeComponent, NativeModules, Platform } from 'react-native'
import { shouldCloseModal, shouldOpenModal } from './modal'

const RCTDatePickerIOS = requireNativeComponent('RNDatePicker')
const RCTDatePickerIOS =
Platform.OS === 'ios' ? requireNativeComponent('RNDatePicker') : null

export default class DatePickerIOS extends React.Component {
_picker = null
Expand Down
5 changes: 3 additions & 2 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import React from 'react'
import { Platform, Appearance } from 'react-native'
import DatePickerIOS from './DatePickerIOS'
import { Platform, Appearance, Text } from 'react-native'
import DatePickerAndroid from './DatePickerAndroid'
import propTypes from './propTypes'
import { colorToHex } from './colorToHex'
import { throwIfInvalidProps } from './propChecker'
import DatePickerIOS from './DatePickerIOS'

const DatePicker = Platform.select({
android: DatePickerAndroid,
ios: DatePickerIOS,
default: () => <Text>DatePicker is not supported on this platform.</Text>,
})

DatePicker.propTypes = propTypes
Expand Down

0 comments on commit 12de914

Please sign in to comment.