Remove all loading logic
SQLite is so fast the spinners only mislead the user into thinking these operations take long. They are practically instant.
This commit is contained in:
parent
259d36d67f
commit
e483187338
|
@ -13,7 +13,6 @@ import Set from './set';
|
||||||
export default function BestList() {
|
export default function BestList() {
|
||||||
const [bests, setBests] = useState<Set[]>([]);
|
const [bests, setBests] = useState<Set[]>([]);
|
||||||
const [search, setSearch] = useState('');
|
const [search, setSearch] = useState('');
|
||||||
const [refreshing, setRefresing] = useState(false);
|
|
||||||
const navigation = useNavigation<NavigationProp<BestPageParams>>();
|
const navigation = useNavigation<NavigationProp<BestPageParams>>();
|
||||||
|
|
||||||
const refresh = useCallback(async () => {
|
const refresh = useCallback(async () => {
|
||||||
|
@ -56,12 +55,6 @@ export default function BestList() {
|
||||||
description="Once sets have been added, this will highlight your personal bests."
|
description="Once sets have been added, this will highlight your personal bests."
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
refreshing={refreshing}
|
|
||||||
onRefresh={async () => {
|
|
||||||
setRefresing(true);
|
|
||||||
await refresh();
|
|
||||||
setRefresing(false);
|
|
||||||
}}
|
|
||||||
renderItem={renderItem}
|
renderItem={renderItem}
|
||||||
data={bests}
|
data={bests}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -16,7 +16,6 @@ import {PlanPageParams} from './PlanPage';
|
||||||
export default function PlanList() {
|
export default function PlanList() {
|
||||||
const [search, setSearch] = useState('');
|
const [search, setSearch] = useState('');
|
||||||
const [plans, setPlans] = useState<Plan[]>([]);
|
const [plans, setPlans] = useState<Plan[]>([]);
|
||||||
const [refreshing, setRefresing] = useState(false);
|
|
||||||
const navigation = useNavigation<NavigationProp<PlanPageParams>>();
|
const navigation = useNavigation<NavigationProp<PlanPageParams>>();
|
||||||
|
|
||||||
const refresh = useCallback(async () => {
|
const refresh = useCallback(async () => {
|
||||||
|
@ -51,11 +50,6 @@ export default function PlanList() {
|
||||||
data={plans}
|
data={plans}
|
||||||
renderItem={renderItem}
|
renderItem={renderItem}
|
||||||
keyExtractor={set => set.id?.toString() || ''}
|
keyExtractor={set => set.id?.toString() || ''}
|
||||||
refreshing={refreshing}
|
|
||||||
onRefresh={() => {
|
|
||||||
setRefresing(true);
|
|
||||||
refresh().finally(() => setRefresing(false));
|
|
||||||
}}
|
|
||||||
ListEmptyComponent={
|
ListEmptyComponent={
|
||||||
<List.Item
|
<List.Item
|
||||||
title="No plans yet"
|
title="No plans yet"
|
||||||
|
|
|
@ -28,7 +28,6 @@ export default function SetList() {
|
||||||
const [workouts, setWorkouts] = useState<string[]>([]);
|
const [workouts, setWorkouts] = useState<string[]>([]);
|
||||||
const [offset, setOffset] = useState(0);
|
const [offset, setOffset] = useState(0);
|
||||||
const [search, setSearch] = useState('');
|
const [search, setSearch] = useState('');
|
||||||
const [refreshing, setRefreshing] = useState(false);
|
|
||||||
const [end, setEnd] = useState(false);
|
const [end, setEnd] = useState(false);
|
||||||
const [dates, setDates] = useState(false);
|
const [dates, setDates] = useState(false);
|
||||||
const [images, setImages] = useState(true);
|
const [images, setImages] = useState(true);
|
||||||
|
@ -42,11 +41,6 @@ export default function SetList() {
|
||||||
setEnd(false);
|
setEnd(false);
|
||||||
}, [search]);
|
}, [search]);
|
||||||
|
|
||||||
const refreshLoader = useCallback(async () => {
|
|
||||||
setRefreshing(true);
|
|
||||||
refresh().finally(() => setRefreshing(false));
|
|
||||||
}, [setRefreshing, refresh]);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
refresh();
|
refresh();
|
||||||
}, [search, refresh]);
|
}, [search, refresh]);
|
||||||
|
@ -105,7 +99,6 @@ export default function SetList() {
|
||||||
|
|
||||||
const next = useCallback(async () => {
|
const next = useCallback(async () => {
|
||||||
if (end) return;
|
if (end) return;
|
||||||
setRefreshing(true);
|
|
||||||
const newOffset = offset + limit;
|
const newOffset = offset + limit;
|
||||||
console.log(`${SetList.name}.next:`, {
|
console.log(`${SetList.name}.next:`, {
|
||||||
offset,
|
offset,
|
||||||
|
@ -147,8 +140,6 @@ export default function SetList() {
|
||||||
renderItem={renderItem}
|
renderItem={renderItem}
|
||||||
keyExtractor={s => s.id!.toString()}
|
keyExtractor={s => s.id!.toString()}
|
||||||
onEndReached={next}
|
onEndReached={next}
|
||||||
refreshing={refreshing}
|
|
||||||
onRefresh={refreshLoader}
|
|
||||||
/>
|
/>
|
||||||
<MassiveFab onPress={onAdd} />
|
<MassiveFab onPress={onAdd} />
|
||||||
</View>
|
</View>
|
||||||
|
|
|
@ -19,7 +19,6 @@ export default function WorkoutList() {
|
||||||
const [workouts, setWorkouts] = useState<Workout[]>();
|
const [workouts, setWorkouts] = useState<Workout[]>();
|
||||||
const [offset, setOffset] = useState(0);
|
const [offset, setOffset] = useState(0);
|
||||||
const [search, setSearch] = useState('');
|
const [search, setSearch] = useState('');
|
||||||
const [refreshing, setRefreshing] = useState(false);
|
|
||||||
const [end, setEnd] = useState(false);
|
const [end, setEnd] = useState(false);
|
||||||
const navigation = useNavigation<NavigationProp<WorkoutsPageParams>>();
|
const navigation = useNavigation<NavigationProp<WorkoutsPageParams>>();
|
||||||
|
|
||||||
|
@ -34,11 +33,6 @@ export default function WorkoutList() {
|
||||||
setEnd(false);
|
setEnd(false);
|
||||||
}, [search]);
|
}, [search]);
|
||||||
|
|
||||||
const refreshLoader = useCallback(async () => {
|
|
||||||
setRefreshing(true);
|
|
||||||
refresh().finally(() => setRefreshing(false));
|
|
||||||
}, [setRefreshing, refresh]);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
refresh();
|
refresh();
|
||||||
}, [search, refresh]);
|
}, [search, refresh]);
|
||||||
|
@ -58,7 +52,6 @@ export default function WorkoutList() {
|
||||||
|
|
||||||
const next = useCallback(async () => {
|
const next = useCallback(async () => {
|
||||||
if (end) return;
|
if (end) return;
|
||||||
setRefreshing(true);
|
|
||||||
const newOffset = offset + limit;
|
const newOffset = offset + limit;
|
||||||
console.log(`${SetList.name}.next:`, {
|
console.log(`${SetList.name}.next:`, {
|
||||||
offset,
|
offset,
|
||||||
|
@ -70,7 +63,7 @@ export default function WorkoutList() {
|
||||||
search: `%${search}%`,
|
search: `%${search}%`,
|
||||||
limit,
|
limit,
|
||||||
offset: newOffset,
|
offset: newOffset,
|
||||||
}).finally(() => setRefreshing(false));
|
});
|
||||||
if (newWorkouts.length === 0) return setEnd(true);
|
if (newWorkouts.length === 0) return setEnd(true);
|
||||||
if (!workouts) return;
|
if (!workouts) return;
|
||||||
setWorkouts([...workouts, ...newWorkouts]);
|
setWorkouts([...workouts, ...newWorkouts]);
|
||||||
|
@ -99,8 +92,6 @@ export default function WorkoutList() {
|
||||||
renderItem={renderItem}
|
renderItem={renderItem}
|
||||||
keyExtractor={w => w.name}
|
keyExtractor={w => w.name}
|
||||||
onEndReached={next}
|
onEndReached={next}
|
||||||
refreshing={refreshing}
|
|
||||||
onRefresh={refreshLoader}
|
|
||||||
/>
|
/>
|
||||||
<MassiveFab onPress={onAdd} />
|
<MassiveFab onPress={onAdd} />
|
||||||
</View>
|
</View>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user