Remove refreshing logic from Exercises and Home

Working with the SQLite DB should be so fast that
these loaders will be pointless.
This commit is contained in:
Brandon Presley 2022-07-04 18:25:39 +12:00
parent 8d4c075677
commit dd33c1144e
2 changed files with 2 additions and 17 deletions

View File

@ -10,11 +10,9 @@ export default function Exercises({
navigation, navigation,
}: NativeStackScreenProps<RootStackParamList, 'Exercises'>) { }: NativeStackScreenProps<RootStackParamList, 'Exercises'>) {
const [exercises, setExercises] = useState<Exercise[]>([]); const [exercises, setExercises] = useState<Exercise[]>([]);
const [refreshing, setRefreshing] = useState(false);
const [search, setSearch] = useState(''); const [search, setSearch] = useState('');
const refresh = async () => { const refresh = async () => {
setRefreshing(true);
const db = await getDb(); const db = await getDb();
const [result] = await db.executeSql( const [result] = await db.executeSql(
`SELECT name, reps, unit, MAX(weight) AS weight `SELECT name, reps, unit, MAX(weight) AS weight
@ -23,7 +21,6 @@ export default function Exercises({
GROUP BY name;`, GROUP BY name;`,
[`%${search}%`], [`%${search}%`],
); );
setRefreshing(false);
if (!result) return setExercises([]); if (!result) return setExercises([]);
setExercises(result.rows.raw()); setExercises(result.rows.raw());
}; };
@ -44,12 +41,7 @@ export default function Exercises({
return ( return (
<View style={styles.container}> <View style={styles.container}>
<Searchbar placeholder="Search" value={search} onChangeText={setSearch} /> <Searchbar placeholder="Search" value={search} onChangeText={setSearch} />
<FlatList <FlatList renderItem={renderItem} data={exercises} />
onRefresh={refresh}
refreshing={refreshing}
renderItem={renderItem}
data={exercises}
/>
</View> </View>
); );
} }

View File

@ -7,7 +7,7 @@ import {
StyleSheet, StyleSheet,
View, View,
} from 'react-native'; } from 'react-native';
import {List, Searchbar, TextInput} from 'react-native-paper'; import {List, Searchbar} from 'react-native-paper';
import Alarm from './Alarm'; import Alarm from './Alarm';
import {getDb} from './db'; import {getDb} from './db';
import EditSet from './EditSet'; import EditSet from './EditSet';
@ -20,18 +20,15 @@ export default function Home() {
const [sets, setSets] = useState<Set[]>(); const [sets, setSets] = useState<Set[]>();
const [id, setId] = useState<number>(); const [id, setId] = useState<number>();
const [offset, setOffset] = useState(0); const [offset, setOffset] = useState(0);
const [refreshing, setRefreshing] = useState(false);
const [showEdit, setShowEdit] = useState(false); const [showEdit, setShowEdit] = useState(false);
const [search, setSearch] = useState(''); const [search, setSearch] = useState('');
const refresh = async () => { const refresh = async () => {
setRefreshing(true);
const db = await getDb(); const db = await getDb();
const [result] = await db.executeSql( const [result] = await db.executeSql(
`SELECT * from sets WHERE name LIKE ? ORDER BY created DESC LIMIT ? OFFSET ?`, `SELECT * from sets WHERE name LIKE ? ORDER BY created DESC LIMIT ? OFFSET ?`,
[`%${search}%`, limit, 0], [`%${search}%`, limit, 0],
); );
setRefreshing(false);
if (!result) return setSets([]); if (!result) return setSets([]);
setSets(result.rows.raw()); setSets(result.rows.raw());
setOffset(0); setOffset(0);
@ -68,13 +65,11 @@ export default function Home() {
const next = async () => { const next = async () => {
const newOffset = offset + limit; const newOffset = offset + limit;
setRefreshing(true);
const db = await getDb(); const db = await getDb();
const [result] = await db.executeSql( const [result] = await db.executeSql(
`SELECT * from sets WHERE name LIKE ? LIMIT ? OFFSET ?`, `SELECT * from sets WHERE name LIKE ? LIMIT ? OFFSET ?`,
[`%${search}%`, limit, newOffset], [`%${search}%`, limit, newOffset],
); );
setRefreshing(false);
if (!result) return; if (!result) return;
if (!sets) return; if (!sets) return;
setSets([...sets, ...result.rows.raw()]); setSets([...sets, ...result.rows.raw()]);
@ -89,8 +84,6 @@ export default function Home() {
data={sets} data={sets}
renderItem={renderItem} renderItem={renderItem}
keyExtractor={set => set.id.toString()} keyExtractor={set => set.id.toString()}
onRefresh={refresh}
refreshing={refreshing}
onScrollEndDrag={next} onScrollEndDrag={next}
/> />
<View style={styles.bottom}> <View style={styles.bottom}>