// Last-completed-review timestamp, local only — the review is a habit, not // synced data. import AsyncStorage from "@react-native-async-storage/async-storage"; import { useCallback, useEffect, useState } from "react"; const KEY = "review_last_v1"; export async function getLastReview(): Promise { return AsyncStorage.getItem(KEY); } export async function markReviewed(): Promise { await AsyncStorage.setItem(KEY, new Date().toISOString()); } export function daysSince(iso: string | null): number | null { if (!iso) return null; return Math.floor((Date.now() - new Date(iso).getTime()) / 86_400_000); } /** [lastReviewIso, reload] — call reload on focus to pick up changes. */ export function useLastReview(): [string | null, () => void] { const [last, setLast] = useState(null); const reload = useCallback(() => { void getLastReview().then(setLast); }, []); useEffect(reload, [reload]); return [last, reload]; }