What's Included
- TypeScript source (MiniPlayerSheet.tsx)
- Provider/layout setup snippet (_layout.tsx)
- Demo screen
- Album art + control icon assets
- README with install + usage
About the Project
Built on @gorhom/bottom-sheet v5 (BottomSheetModal in detached mode with three snap points) driving react-native-reanimated shared values. The sheet's animatedIndex feeds interpolate/interpolateColor inside useAnimatedStyle to scale the artwork (40→240), animate height/margins/border-radius/shadow, and tween the background between white and gray; withSpring/withTiming in the onAnimate callback handle the artwork translate and the cross-fade between the collapsed and expanded layouts on the UI thread. enableContentPanningGesture is toggled via state so pan-to-collapse only works while expanded. Tuned with overshootClamping spring configs for an iOS-accurate feel and styled to work on both iOS and Android. Requires GestureHandlerRootView and BottomSheetModalProvider at the root; runs in Expo Go (no native code) on Expo SDK 56.