diff options
author | hailey <me@haileyok.com> | 2025-05-02 13:23:39 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-02 13:23:39 -0700 |
commit | 544f7befe0f7d3e61fb03365ec588a2ab3c5a17a (patch) | |
tree | 9d6276058aeeb44e77cba2b11bcc9e95cb8b7521 /modules/expo-emoji-picker/src | |
parent | 46ea3fdbeeab4e31657638955401145683738fbf (diff) | |
download | voidsky-544f7befe0f7d3e61fb03365ec588a2ab3c5a17a.tar.zst |
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 commit fc82f0f173032127dd7c18ed0316ae26f53db51d. * 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 commit 2e2fcaeeed527580a6c485718544b85e8b4f52b9. * final upgrades * chore: cleanup yarn lock * prettier --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Diffstat (limited to 'modules/expo-emoji-picker/src')
5 files changed, 89 insertions, 0 deletions
diff --git a/modules/expo-emoji-picker/src/EmojiPicker.android.tsx b/modules/expo-emoji-picker/src/EmojiPicker.android.tsx new file mode 100644 index 000000000..d8493b72e --- /dev/null +++ b/modules/expo-emoji-picker/src/EmojiPicker.android.tsx @@ -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 diff --git a/modules/expo-emoji-picker/src/EmojiPicker.tsx b/modules/expo-emoji-picker/src/EmojiPicker.tsx new file mode 100644 index 000000000..8fee11df7 --- /dev/null +++ b/modules/expo-emoji-picker/src/EmojiPicker.tsx @@ -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 diff --git a/modules/expo-emoji-picker/src/EmojiPickerModule.ts b/modules/expo-emoji-picker/src/EmojiPickerModule.ts new file mode 100644 index 000000000..a5b04e662 --- /dev/null +++ b/modules/expo-emoji-picker/src/EmojiPickerModule.ts @@ -0,0 +1,5 @@ +import {NativeModule, requireNativeModule} from 'expo' + +declare class EmojiPickerModule extends NativeModule {} + +export default requireNativeModule<EmojiPickerModule>('EmojiPicker') diff --git a/modules/expo-emoji-picker/src/EmojiPickerModule.types.ts b/modules/expo-emoji-picker/src/EmojiPickerModule.types.ts new file mode 100644 index 000000000..14690a38a --- /dev/null +++ b/modules/expo-emoji-picker/src/EmojiPickerModule.types.ts @@ -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 +} diff --git a/modules/expo-emoji-picker/src/EmojiPickerView.tsx b/modules/expo-emoji-picker/src/EmojiPickerView.tsx new file mode 100644 index 000000000..0dff25fb5 --- /dev/null +++ b/modules/expo-emoji-picker/src/EmojiPickerView.tsx @@ -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) + }} + /> + ) +} |