load fast
Build and Deploy Docker Images / build_and_deploy (push) Has been cancelled

This commit is contained in:
hamid zarghami
2026-06-06 09:08:38 +03:30
parent ace6a0b288
commit e68543f869
12 changed files with 255 additions and 248 deletions
+9 -2
View File
@@ -8,7 +8,7 @@ import PlusIcon from "@/components/icons/PlusIcon";
import { motion } from "framer-motion";
import Link from "next/link";
import { useParams } from "next/navigation";
import { memo, useMemo } from "react";
import { memo, useEffect, useMemo, useState } from "react";
interface MenuItemProps {
food: Food;
@@ -38,6 +38,12 @@ const MenuItem = ({ food }: MenuItemProps) => {
return fallbackImage;
}, [food.images]);
const [imageSrc, setImageSrc] = useState(resolvedImage);
useEffect(() => {
setImageSrc(resolvedImage);
}, [resolvedImage]);
const foodName = useMemo(() => food.title || "بدون نام", [food.title]);
const foodContent = useMemo(() => {
@@ -95,11 +101,12 @@ const MenuItem = ({ food }: MenuItemProps) => {
<Link href={foodDetailUrl} className="cursor-pointer">
<img
className="rounded-xl bg-[#F2F2F9] min-w-28 w-28 object-cover"
src={resolvedImage}
src={imageSrc}
height={112}
width={112}
alt={foodName}
loading="lazy"
onError={() => setImageSrc(fallbackImage)}
/>
</Link>
<div className="w-full inline-flex flex-col justify-between min-w-0">