@oxyhq/services
Version:
47 lines (46 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**
* Reusable loading state component
* Provides consistent loading indicators across screens
*/
const LoadingState = ({
message,
color,
size = 'large'
}) => {
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
style: styles.container,
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
size: size,
color: color
}), message && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
style: [styles.message, color ? {
color
} : undefined],
children: message
})]
});
};
const styles = _reactNative.StyleSheet.create({
container: {
alignItems: 'center',
justifyContent: 'center',
padding: 40,
gap: 12
},
message: {
marginTop: 12,
fontSize: 16,
textAlign: 'center'
}
});
var _default = exports.default = /*#__PURE__*/_react.default.memo(LoadingState);
//# sourceMappingURL=LoadingState.js.map