- 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>
22 lines
480 B
TypeScript
22 lines
480 B
TypeScript
import { useEffect, useState } from 'react';
|
|
import { useColorScheme as useRNColorScheme } from 'react-native';
|
|
|
|
/**
|
|
* To support static rendering, this value needs to be re-calculated on the client side for web
|
|
*/
|
|
export function useColorScheme() {
|
|
const [hasHydrated, setHasHydrated] = useState(false);
|
|
|
|
useEffect(() => {
|
|
setHasHydrated(true);
|
|
}, []);
|
|
|
|
const colorScheme = useRNColorScheme();
|
|
|
|
if (hasHydrated) {
|
|
return colorScheme;
|
|
}
|
|
|
|
return 'light';
|
|
}
|