import React from "react"; import { StyleSheet, View, Image } from "react-native"; import { useUiStore } from "~/lib/stores"; const GlobalLoadingOverlay: React.FC = () => { const isLoading = useUiStore((state) => state.isLoading); const isOpaque = useUiStore((state) => state.isOpaque); if (!isLoading) { return null; } // Opaque mode: full screen white background with primary loader if (isOpaque) { return ( ); } // Default mode: semi-transparent overlay with loader return ( ); }; const styles = StyleSheet.create({ overlay: { ...StyleSheet.absoluteFillObject, alignItems: "center", justifyContent: "center", zIndex: 1000, }, backdrop: { ...StyleSheet.absoluteFillObject, backgroundColor: "rgba(0, 0, 0, 0.25)", }, opaqueBackdrop: { ...StyleSheet.absoluteFillObject, backgroundColor: "#ffffff", }, loaderContainer: { paddingVertical: 24, paddingHorizontal: 32, borderRadius: 16, }, }); export default GlobalLoadingOverlay;