added calendar events refresh

This commit is contained in:
ivic00
2024-11-17 20:23:41 +01:00
parent a95191c890
commit d7928c799d
5 changed files with 78 additions and 28 deletions

View File

@ -1,8 +1,40 @@
import React from "react";
import React, { useState } from "react";
import { ScrollView, RefreshControl } from "react-native";
import { useSetAtom } from "jotai";
import CalendarPage from "@/components/pages/calendar/CalendarPage";
import { refreshTriggerAtom } from "@/components/pages/calendar/atoms";
export default function Screen() {
return (
<CalendarPage/>
);
const [refreshing, setRefreshing] = useState(false);
const setRefreshTrigger = useSetAtom(refreshTriggerAtom);
const onRefresh = React.useCallback(async () => {
setRefreshing(true);
const minimumDelay = new Promise((resolve) => setTimeout(resolve, 1000));
try {
setRefreshTrigger((prev) => !prev);
await Promise.all([minimumDelay]);
} catch (error) {
console.error("Refresh failed:", error);
} finally {
setRefreshing(false);
}
}, [setRefreshTrigger]);
return (
<ScrollView
style={{ flex: 1 }}
contentContainerStyle={{ flex: 1 }}
refreshControl={
<RefreshControl refreshing={refreshing} onRefresh={onRefresh} />
}
bounces={true}
showsVerticalScrollIndicator={false}
>
<CalendarPage />
</ScrollView>
);
}