fix infinite loading bug + enable corepack during eas submit

This commit is contained in:
daniel31x13
2025-12-31 08:57:46 -05:00
parent eccf27425c
commit cf84474921
11 changed files with 43 additions and 42 deletions

View File

@@ -44,7 +44,7 @@ export default function CollectionsScreen() {
collapsableChildren={false}
>
{collections.isLoading ? (
<View className="flex justify-center h-full items-center">
<View className="flex justify-center h-screen items-center">
<ActivityIndicator size="large" />
<Text className="text-base mt-2.5 text-neutral">Loading...</Text>
</View>

View File

@@ -27,8 +27,8 @@ export default function Layout() {
Platform.OS === "ios"
? "transparent"
: colorScheme === "dark"
? rawTheme["dark"]["base-100"]
: "white",
? rawTheme["dark"]["base-100"]
: "white",
},
}}
>

View File

@@ -1,4 +1,11 @@
import { Platform, ScrollView, StyleSheet } from "react-native";
import {
ActivityIndicator,
Platform,
ScrollView,
StyleSheet,
Text,
View,
} from "react-native";
import React, { useEffect, useMemo, useState } from "react";
import { useDashboardData } from "@linkwarden/router/dashboardData";
import useAuthStore from "@/store/auth";
@@ -53,22 +60,36 @@ export default function DashboardScreen() {
});
}, [dashboardSections]);
const [pullRefreshing, setPullRefreshing] = useState(false);
const onRefresh = async () => {
setPullRefreshing(true);
try {
await Promise.all([
dashboardData.refetch(),
userData.refetch(),
collectionsData.refetch(),
tagsData.refetch(),
]);
} finally {
setPullRefreshing(false);
}
};
if (orderedSections.length === 0 && dashboardData.isLoading)
return (
<View className="flex justify-center h-screen items-center bg-base-100">
<ActivityIndicator size="large" />
<Text className="text-base mt-2.5 text-neutral">Loading...</Text>
</View>
);
return (
<ScrollView
refreshControl={
<Spinner
refreshing={
dashboardData.isRefetching ||
userData.isRefetching ||
collectionsData.isRefetching ||
tagsData.isRefetching
}
onRefresh={() => {
dashboardData.refetch();
userData.refetch();
collectionsData.refetch();
tagsData.refetch();
}}
refreshing={pullRefreshing}
onRefresh={onRefresh}
progressBackgroundColor={
rawTheme[colorScheme as ThemeName]["base-200"]
}

View File

@@ -42,7 +42,7 @@ export default function TagsScreen() {
collapsableChildren={false}
>
{tags.isLoading ? (
<View className="flex justify-center h-full items-center">
<View className="flex justify-center h-screen items-center">
<ActivityIndicator size="large" />
<Text className="text-base mt-2.5 text-neutral">Loading...</Text>
</View>

View File

@@ -1,4 +1,4 @@
import { Alert, Platform, Text, View } from "react-native";
import { Alert, Text, View } from "react-native";
import { useRef, useState } from "react";
import ActionSheet, { ActionSheetRef } from "react-native-actions-sheet";
import Input from "@/components/ui/Input";

View File

@@ -1,4 +1,4 @@
import { View, Text, Alert, Platform } from "react-native";
import { View, Text, Alert } from "react-native";
import { useCallback, useEffect, useMemo, useState } from "react";
import ActionSheet, {
FlatList,

View File

@@ -1,4 +1,4 @@
import { Alert, Platform, Text, View } from "react-native";
import { Alert, Text, View } from "react-native";
import { useRef, useState } from "react";
import ActionSheet, { ActionSheetRef } from "react-native-actions-sheet";
import Input from "@/components/ui/Input";

View File

@@ -28,7 +28,7 @@ export default function Links({ links, data }: Props) {
const [promptedRefetch, setPromptedRefetch] = useState(false);
return data.isLoading ? (
<View className="flex justify-center h-full items-center">
<View className="flex justify-center h-screen items-center">
<ActivityIndicator size="large" />
<Text className="text-base mt-2.5 text-neutral">Loading...</Text>
</View>

View File

@@ -1,17 +0,0 @@
import { PropsWithChildren } from "react";
import { IconSymbol } from "../ui/IconSymbol";
import ModalBase from "../ModalBase";
import { Text } from "react-native";
type Props = PropsWithChildren<{
isVisible: boolean;
onClose: () => void;
}>;
export default function AddLink({ isVisible, onClose }: Props) {
return (
// <ModalBase isVisible={isVisible} onClose={onClose}>
<Text>Hi</Text>
// </ModalBase>
);
}

View File

@@ -20,6 +20,7 @@
}
},
"production": {
"corepack": true,
"distribution": "store",
"autoIncrement": true,
"channel": "production"

View File

@@ -23,10 +23,6 @@
"format": "yarn workspaces run format",
"postinstall": "yarn workspace @linkwarden/web run postinstall && patch-package"
},
"resolutions": {
"@types/react": "18.3.1",
"@types/react-dom": "18.3.1"
},
"devDependencies": {
"dotenv-cli": "^8.0.0"
},