- Created new Expo app with SDK 54+ and Expo Router - Installed and configured NativeWind v5 for Tailwind styling - Upgraded voice-assistant to React 19 for consistency - Kept voice-mobile outside workspace to avoid Metro bundler conflicts - Disabled React Compiler experimental feature for stability Setup includes: - postcss.config.mjs with Tailwind PostCSS plugin - global.css with Tailwind and NativeWind imports - metro.config.js with NativeWind wrapper - lightningcss pinned to 1.30.1 for stability Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
19 lines
564 B
TypeScript
19 lines
564 B
TypeScript
import { BottomTabBarButtonProps } from '@react-navigation/bottom-tabs';
|
|
import { PlatformPressable } from '@react-navigation/elements';
|
|
import * as Haptics from 'expo-haptics';
|
|
|
|
export function HapticTab(props: BottomTabBarButtonProps) {
|
|
return (
|
|
<PlatformPressable
|
|
{...props}
|
|
onPressIn={(ev) => {
|
|
if (process.env.EXPO_OS === 'ios') {
|
|
// Add a soft haptic feedback when pressing down on the tabs.
|
|
Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light);
|
|
}
|
|
props.onPressIn?.(ev);
|
|
}}
|
|
/>
|
|
);
|
|
}
|