diff --git a/src/redux/updates/updates.actions.js b/src/redux/updates/updates.actions.js index f17b995f..56a9ad65 100644 --- a/src/redux/updates/updates.actions.js +++ b/src/redux/updates/updates.actions.js @@ -26,7 +26,7 @@ export const getUpdatesAction = () => async dispatch => { const groupedUpdates = Object.keys(groups).map(date => { return { date, - chapters: groups[date], + data: groups[date], }; }); diff --git a/src/screens/history/History.js b/src/screens/history/History.js index c4bcad76..6f483a73 100644 --- a/src/screens/history/History.js +++ b/src/screens/history/History.js @@ -5,6 +5,7 @@ import { ActivityIndicator, Text, View, + SectionList, } from 'react-native'; import moment from 'moment'; @@ -106,7 +107,7 @@ const History = ({navigation}) => { const groupedHistory = Object.keys(groups).map(date => { return { date, - novels: groups[date], + data: groups[date], }; }); @@ -129,23 +130,15 @@ const History = ({navigation}) => { }, ]} /> - item.date} - renderItem={({item}) => ( - item.novelId.toString()} - data={item.novels} - renderItem={renderHistoryCard} - ListHeaderComponent={ - - {moment(item.date).calendar(null, dateFormat)} - - } - /> + sections={searchText ? searchResults : groupByDate(history)} + keyExtractor={(item, index) => index.toString()} + renderItem={renderHistoryCard} + renderSectionHeader={({section: {date}}) => ( + + {moment(date).calendar(null, dateFormat)} + )} ListFooterComponent={ loading && ( diff --git a/src/screens/updates/Updates.js b/src/screens/updates/Updates.js index 3a585a85..7ae42398 100644 --- a/src/screens/updates/Updates.js +++ b/src/screens/updates/Updates.js @@ -6,6 +6,7 @@ import { ActivityIndicator, RefreshControl, Text, + SectionList, } from 'react-native'; import {useFocusEffect} from '@react-navigation/native'; import {useDispatch, useSelector} from 'react-redux'; @@ -116,15 +117,6 @@ const Updates = ({navigation}) => { const ListEmptyComponent = () => !loading && ; - const refreshControl = () => ( - - ); - const clearSearchbar = () => setSearchText(''); const onChangeText = text => { @@ -149,8 +141,6 @@ const Updates = ({navigation}) => { setSearchResults(results); }; - const keyExtractor = useCallback(item => item.updateId.toString(), []); - return ( { Library last updated: {moment(lastUpdateTime).fromNow()} )} - index.toString()} - renderItem={({item}) => ( - - {moment(item.date).calendar(null, dateFormat)} - - } - data={item.chapters} - keyExtractor={keyExtractor} - renderItem={renderItem} - /> + renderItem={renderItem} + renderSectionHeader={({section: {date}}) => ( + + {moment(date).calendar(null, dateFormat)} + )} ListFooterComponent={} ListEmptyComponent={} - refreshControl={refreshControl()} + refreshControl={ + + } /> ); @@ -213,7 +197,12 @@ const styles = StyleSheet.create({ }, flatList: { flexGrow: 1, - paddingBottom: 8, + paddingBottom: 40, + }, + header: { + paddingVertical: 8, + paddingHorizontal: 16, + textTransform: 'uppercase', }, lastUpdateTime: { paddingHorizontal: 16,