managarten/maerchenzauber/apps/mobile/hooks/useFirstVisit.ts
Till-JS e7f5f942f3 chore: initial commit - consolidate 4 projects into monorepo
Projects included:
- maerchenzauber (NestJS backend + Expo mobile + SvelteKit web + Astro landing)
- manacore (Expo mobile + SvelteKit web + Astro landing)
- manadeck (NestJS backend + Expo mobile + SvelteKit web)
- memoro (Expo mobile + SvelteKit web + Astro landing)

This commit preserves the current state before monorepo restructuring.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 23:38:24 +01:00

26 lines
795 B
TypeScript

import { useEffect, useState } from 'react';
import AsyncStorage from '@react-native-async-storage/async-storage';
export const useFirstVisit = (pageId: string) => {
const [isFirstVisit, setIsFirstVisit] = useState(true);
const [showAllTooltips, setShowAllTooltips] = useState(false);
useEffect(() => {
const checkFirstVisit = async () => {
try {
const visited = await AsyncStorage.getItem(`visited_${pageId}`);
if (!visited) {
setShowAllTooltips(true);
await AsyncStorage.setItem(`visited_${pageId}`, 'true');
}
setIsFirstVisit(false);
} catch (error) {
console.error('Error checking first visit:', error);
}
};
checkFirstVisit();
}, [pageId]);
return { isFirstVisit, showAllTooltips };
};