bump it bop it upgrade it (rn 79/expo 53) (#8281)
* basic bumps * more tweaking * fix rn patch * fix crop picker patch * fix media library patch * rm unnecessary patch * fix notifications patch * update bottomsheet * Update withAppDelegateReferrer.js * Delete withNoBundleCompression.js * rm withNoBundleCompression plugin * rm findLast shim * metro package exports is enabled by default * update react/react-dom/react-compiler * fix reanimated issue * vendor expo-ized emoji popup * fix types * hackfix view full thread * Update EmojiPickerModule.podspec * more upgrades * fix multiformats package version * add baseurl * bump mmkv * bumps * update react-keyed-flatten-children * bump locale packages * fix emoji picker dark mode * rn upgrades * Revert "bump locale packages" This reverts commitfc82f0f173. * upgrade testing-library * rm test renderer * update patch name minors * rm findNodeHandle from tabbar * only do scrollview tag thing on ios * disable package exports * update expo notifications handler * memoize emoji picker styles * fix tests, mock multiformats * bump some dev deps with RC versions * completely rearchitect toasts * rm logs * layout animation config for composer footer * disable autolinking for patched libs * undo lingui changes * version bump from release candidate to 0.1 * update atproto deps * rm @did-plc/server * fix key issue (maybe) * move URL polyfill to the polyfill file * fix yarn lock * upgrade to 53.0.3 * reanimated layout anim bug patch * workletize a function that wasn't getting autoworkletized anymore (#8309) * bump to expo 53.0.4 * bump RN to 0.79.2 * fix yarn lock ci * Revert "completely rearchitect toasts" This reverts commit2e2fcaeeed. * final upgrades * chore: cleanup yarn lock * prettier --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import {useMemo} from 'react'
|
||||
import {useColorScheme} from 'react-native'
|
||||
|
||||
import {type EmojiPickerViewProps} from './EmojiPickerModule.types'
|
||||
import EmojiPickerNativeView from './EmojiPickerView'
|
||||
|
||||
const EmojiPicker = ({onEmojiSelected}: EmojiPickerViewProps) => {
|
||||
const scheme = useColorScheme()
|
||||
const styles = useMemo(
|
||||
() =>
|
||||
({
|
||||
flex: 1,
|
||||
width: '100%',
|
||||
backgroundColor: scheme === 'dark' ? '#000' : '#fff',
|
||||
} as const),
|
||||
[scheme],
|
||||
)
|
||||
|
||||
return (
|
||||
<EmojiPickerNativeView
|
||||
onEmojiSelected={emoji => {
|
||||
onEmojiSelected(emoji)
|
||||
}}
|
||||
style={styles}
|
||||
/>
|
||||
)
|
||||
}
|
||||
export default EmojiPicker
|
||||
@@ -0,0 +1,15 @@
|
||||
import {type EmojiPickerViewProps} from './EmojiPickerModule.types'
|
||||
import EmojiPickerNativeView from './EmojiPickerView'
|
||||
|
||||
const EmojiPicker = ({children, onEmojiSelected}: EmojiPickerViewProps) => {
|
||||
return (
|
||||
<EmojiPickerNativeView
|
||||
onEmojiSelected={emoji => {
|
||||
onEmojiSelected(emoji)
|
||||
}}>
|
||||
{children}
|
||||
</EmojiPickerNativeView>
|
||||
)
|
||||
}
|
||||
|
||||
export default EmojiPicker
|
||||
@@ -0,0 +1,5 @@
|
||||
import {NativeModule, requireNativeModule} from 'expo'
|
||||
|
||||
declare class EmojiPickerModule extends NativeModule {}
|
||||
|
||||
export default requireNativeModule<EmojiPickerModule>('EmojiPicker')
|
||||
@@ -0,0 +1,20 @@
|
||||
import {type ViewProps} from 'react-native'
|
||||
|
||||
export type EmojiSelectionListener = (event: {
|
||||
nativeEvent: SelectionEvent
|
||||
}) => void
|
||||
|
||||
export type SelectionEvent = {
|
||||
emoji: string
|
||||
}
|
||||
|
||||
export type EmojiPickerViewProps = ViewProps & {
|
||||
/*
|
||||
* Callback that will be called when an emoji is selected.
|
||||
*/
|
||||
onEmojiSelected: (emoji: string) => void
|
||||
}
|
||||
|
||||
export type EmojiPickerNativeViewProps = ViewProps & {
|
||||
onEmojiSelected: EmojiSelectionListener
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
import {requireNativeView} from 'expo'
|
||||
import type * as React from 'react'
|
||||
|
||||
import {
|
||||
type EmojiPickerNativeViewProps,
|
||||
type EmojiPickerViewProps,
|
||||
} from './EmojiPickerModule.types'
|
||||
|
||||
const NativeView: React.ComponentType<EmojiPickerNativeViewProps> =
|
||||
requireNativeView('EmojiPicker')
|
||||
|
||||
export default function EmojiPicker(props: EmojiPickerViewProps) {
|
||||
return (
|
||||
<NativeView
|
||||
{...props}
|
||||
onEmojiSelected={({nativeEvent}) => {
|
||||
props.onEmojiSelected(nativeEvent.emoji)
|
||||
}}
|
||||
/>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user