All files / app/(tabs)/ranking/hooks useImagePreview.ts

100% Statements 9/9
100% Branches 0/0
100% Functions 3/3
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30              6x 6x     6x 2x 2x       6x 1x 1x     6x              
import { useState } from 'react';
 
/**
 * 图片预览 Hook
 * 负责图片预览的状态管理
 */
export function useImagePreview() {
  const [previewVisible, setPreviewVisible] = useState(false);
  const [previewImageUrl, setPreviewImageUrl] = useState<string>('');
 
  // 处理图片点击
  const handleImagePress = (imageUrl: string) => {
    setPreviewImageUrl(imageUrl);
    setPreviewVisible(true);
  };
 
  // 关闭图片预览
  const closePreview = () => {
    setPreviewVisible(false);
    setPreviewImageUrl('');
  };
 
  return {
    previewVisible,
    previewImageUrl,
    handleImagePress,
    closePreview,
  };
}