diff --git a/src/app/(investment)/deals/[id]/displayImage.tsx b/src/app/(investment)/deals/[id]/displayImage.tsx index b1b6557..a39df0f 100644 --- a/src/app/(investment)/deals/[id]/displayImage.tsx +++ b/src/app/(investment)/deals/[id]/displayImage.tsx @@ -16,26 +16,27 @@ interface ItemProps { alt: string; width: number; height: number; + className?: string; } -const ImageModal = ({ src, alt, width, height }: ItemProps) => { +const ImageModal = ({ src, alt, width, height, className }: ItemProps) => { return ( - {alt} + {alt} Image Preview Click outside to close the image preview. - {alt} + {alt} ); }; -export function DisplayFullImage({ src, alt, width, height }: ItemProps) { - return ; +export function DisplayFullImage({ src, alt, width, height, className }: ItemProps) { + return ; } diff --git a/src/app/(investment)/deals/[id]/page.tsx b/src/app/(investment)/deals/[id]/page.tsx index cc6dc13..f223de3 100644 --- a/src/app/(investment)/deals/[id]/page.tsx +++ b/src/app/(investment)/deals/[id]/page.tsx @@ -12,16 +12,25 @@ import { Separator } from "@/components/ui/separator"; import { createSupabaseClient } from "@/lib/supabase/serverComponentClient"; import FollowShareButtons from "./followShareButton"; import { DisplayFullImage } from "./displayImage"; - import { getProjectData } from "@/lib/data/projectQuery"; import { getDealList } from "@/app/api/dealApi"; import { sumByKey, toPercentage } from "@/lib/utils"; import { redirect } from "next/navigation"; +const PHOTO_MATERIAL_ID = 2; export default async function ProjectDealPage({ params }: { params: { id: number } }) { const supabase = createSupabaseClient(); const { data: projectData, error: projectDataError } = await getProjectData(supabase, params.id); + const { data: projectMaterial, error: projectMaterialError } = await supabase + .from("project_material") + .select("material_url") + .eq("project_id", params.id) + .eq("material_type_id", PHOTO_MATERIAL_ID); + // console.log(projectMaterial); + if (projectMaterialError) { + console.error("Error while fetching project material" + projectMaterialError); + } if (!projectData) { redirect("/deals"); } @@ -44,96 +53,110 @@ export default async function ProjectDealPage({ params }: { params: { id: number const timeDiff = Math.max(new Date(projectData.investment_deadline).getTime() - new Date().getTime(), 0); const hourLeft = Math.floor(timeDiff / (1000 * 60 * 60)); - const carouselData = Array(5).fill({ - src: projectData.card_image_url || "/boiler1.jpg", - alt: `${projectData.project_name} Image`, - }); + // const carouselData = Array(5).fill({ + // src: projectData.card_image_url || "/boiler1.jpg", + // alt: `${projectData.project_name} Image`, + // }); + const carouselData = projectMaterial + ? projectMaterial.flatMap((item) => + (item.material_url || ["/boiler1.jpg"]).map((url: string) => ({ + src: url, + alt: "Image", + })) + ) + : []; + + console.log(carouselData); return (
-
- {/* Name, star and share button packed */} -