import React, { useState } from 'react'; import { View, StyleSheet, Button, Text, ScrollView } from 'react-native'; import { useProfileImage } from '@/lib/hooks/useProfileImage'; import { useBannerImage } from '@/lib/hooks/useBannerImage'; import UserAvatar from '@/components/UserAvatar'; import { Image } from 'react-native'; import { profileImageCache } from '@/lib/db/services/ProfileImageCache'; import { bannerImageCache } from '@/lib/db/services/BannerImageCache'; export default function CacheTestScreen() { const [pubkey, setPubkey] = useState('fa984bd7dbb282f07e16e7ae87b26a2a7b9b90b7246a44771f0cf5ae58018f52'); const [stats, setStats] = useState(null); // Using our React Query hooks const { data: profileImageData, isLoading: profileLoading } = useProfileImage(pubkey); const { data: bannerImageData, isLoading: bannerLoading } = useBannerImage(pubkey); // Convert null to undefined to maintain compatibility with components expecting string | undefined const profileImage = profileImageData === null ? undefined : profileImageData; const bannerImage = bannerImageData === null ? undefined : bannerImageData; const getStats = async () => { const profileStats = await profileImageCache.getCacheStats(); const bannerStats = await bannerImageCache.getCacheStats(); setStats({ profile: profileStats, banner: bannerStats }); }; return ( Image Cache Test Profile Image {profileLoading ? ( Loading profile image... ) : ( Source: {profileImage || 'Using fallback'} )} Banner Image {bannerLoading ? ( Loading banner image... ) : ( {bannerImage ? ( ) : ( No banner image )} Source: {bannerImage || 'Using fallback'} )}