stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
55 lines • 2.37 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.InlineLoadingMoreRecentThreadIndicator = exports.InlineLoadingMoreRecentIndicatorWithContext = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _contexts = require("../../contexts");
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
var _theme = require("../../theme");
var _jsxRuntime = require("react/jsx-runtime");
var _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/MessageList/InlineLoadingMoreRecentThreadIndicator.tsx";
var styles = _reactNative.StyleSheet.create({
activityIndicatorContainer: {
padding: _theme.primitives.spacingSm,
width: '100%'
}
});
var InlineLoadingMoreRecentIndicatorWithContext = ({
loadingMoreRecent
}) => {
var _useTheme = (0, _ThemeContext.useTheme)(),
theme = _useTheme.theme;
var semantics = theme.semantics;
if (!loadingMoreRecent) {
return null;
}
return (0, _jsxRuntime.jsx)(_reactNative.View, {
style: styles.activityIndicatorContainer,
children: (0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
color: semantics.accentPrimary,
size: "small"
})
});
};
exports.InlineLoadingMoreRecentIndicatorWithContext = InlineLoadingMoreRecentIndicatorWithContext;
var areEqual = (prevProps, nextProps) => {
var prevLoadingMoreRecent = prevProps.loadingMoreRecent;
var nextLoadingMoreRecent = nextProps.loadingMoreRecent;
var loadingMoreRecentEqual = prevLoadingMoreRecent === nextLoadingMoreRecent;
if (!loadingMoreRecentEqual) {
return false;
}
return true;
};
var MemoizedInlineLoadingMoreRecentIndicator = _react.default.memo(InlineLoadingMoreRecentIndicatorWithContext, areEqual);
var InlineLoadingMoreRecentThreadIndicator = () => {
var _useThreadContext = (0, _contexts.useThreadContext)(),
threadLoadingMoreRecent = _useThreadContext.threadLoadingMoreRecent;
return (0, _jsxRuntime.jsx)(MemoizedInlineLoadingMoreRecentIndicator, {
loadingMoreRecent: threadLoadingMoreRecent
});
};
exports.InlineLoadingMoreRecentThreadIndicator = InlineLoadingMoreRecentThreadIndicator;
//# sourceMappingURL=InlineLoadingMoreRecentThreadIndicator.js.map