diff --git a/src/routers/photo/item/index.tsx b/src/routers/photo/item/index.tsx index e7ce952..32fca6c 100644 --- a/src/routers/photo/item/index.tsx +++ b/src/routers/photo/item/index.tsx @@ -1,5 +1,5 @@ import { PhotoRouterImageCardType } from "../phototype"; -import { useState } from "react"; +import { useEffect, useState, useMemo } from "react"; import ImgModals from "./modal"; import ChevronRightIcon from "@mui/icons-material/ChevronRight"; import { Link, styled } from "@mui/material"; @@ -7,25 +7,49 @@ import style from "./photo.module.less"; import { ImageBasic } from "@components/image"; import { Omit } from "@utils/index"; import CollectionsIcon from "@mui/icons-material/Collections"; +import { getImageSize } from "@components/image/tool"; + type CardType = { data: PhotoRouterImageCardType; }; - +const useLoading = (url: string) => { + const [isLoading, set] = useState(true); + useMemo(async () => { + await getImageSize(url); + set(() => false); + }, [url]); + return isLoading; +}; export default function PhotoCard(props: CardType) { const { images, dynamic_id, ...resPorps } = props.data; const [open, set] = useState(false), handlerChangeOpen = () => set((open) => !open); - const modalPorps = { open, images, onClose: handlerChangeOpen, dynamic_id }; + const modalPorps = { open, images, onClose: handlerChangeOpen, dynamic_id }, + url = `${images[0].src}@${250}w.webp`; + const isLoading = useLoading(url); return (
+ > + + ({ columnGap: "2px", pointerEvents: "none", fontSize: "14px", + borderTopRightRadius: "8px", + [theme.breakpoints.down("sm")]: { + borderTopRightRadius: "4px", + }, })); const DivJump = styled("div")(({ theme }) => ({ diff --git a/src/routers/photo/masonry.tsx b/src/routers/photo/masonry.tsx index 2bafe37..83ff061 100644 --- a/src/routers/photo/masonry.tsx +++ b/src/routers/photo/masonry.tsx @@ -41,10 +41,10 @@ const usePhotoMasonryData = (props: PhotoRouterMasonryType) => { width: img.img_width, })), }; - if (data.length < 3) { + if (data.length < 9) { message.info("没有更多图片了,尝试使用其他tag吧!"); } - if (index === data.length - 3) { + if (index === data.length - 9) { return { ...itemRes, observer: true,