import React from 'react';
import { ActivityIndicator, StyleSheet, View } from 'react-native';
import { usePaginatedMessageListContext } from '../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
import { useTheme } from '../../contexts/themeContext/ThemeContext';
const styles = StyleSheet.create({
activityIndicatorContainer: {
padding: 10,
width: '100%',
},
});
export type InlineLoadingMoreIndicatorPropsWithContext = {
loadingMore?: boolean;
};
export const InlineLoadingMoreIndicatorWithContext = ({
loadingMore,
}: InlineLoadingMoreIndicatorPropsWithContext) => {
const { theme } = useTheme();
const { semantics } = theme;
if (!loadingMore) {
return null;
}
return (
);
};
const areEqual = (
prevProps: InlineLoadingMoreIndicatorPropsWithContext,
nextProps: InlineLoadingMoreIndicatorPropsWithContext,
) => {
const { loadingMore: prevLoadingMore } = prevProps;
const { loadingMore: nextLoadingMore } = nextProps;
const loadingMoreEqual = prevLoadingMore === nextLoadingMore;
if (!loadingMoreEqual) {
return false;
}
return true;
};
const MemoizedInlineLoadingMoreIndicator = React.memo(
InlineLoadingMoreIndicatorWithContext,
areEqual,
) as typeof InlineLoadingMoreIndicatorWithContext;
export const InlineLoadingMoreIndicator = () => {
const { loadingMore } = usePaginatedMessageListContext();
return ;
};