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

View File

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