diff --git a/src/components/domains/dashboard/cards/PortraitCard/PortraitCard.tsx b/src/components/domains/dashboard/cards/PortraitCard/PortraitCard.tsx
index ba1b7ba..cd7c3cc 100644
--- a/src/components/domains/dashboard/cards/PortraitCard/PortraitCard.tsx
+++ b/src/components/domains/dashboard/cards/PortraitCard/PortraitCard.tsx
@@ -1,6 +1,7 @@
"use client";
import Image from "next/image";
+import { useRouter } from "next/navigation";
import { Card, Icon, IconName, Typography } from "@/components/ui";
import { PartnerPortrait } from "@/entities/dashboard/types";
@@ -35,7 +36,7 @@ const getStatusConfig = (status: PartnerPortrait["status"]) => {
case "processing":
return {
icon: ,
- text: "Generating...",
+ text: "Processing...",
showCheckmark: false,
className: styles.statusProcessing,
};
@@ -62,6 +63,8 @@ export default function PortraitCard({
status: initialStatus,
imageUrl: initialImageUrl,
}: PortraitCardProps) {
+ const router = useRouter();
+
// Use polling hook to update status in real-time
const { status, imageUrl: polledImageUrl } = useGenerationStatus(_id, initialStatus);
@@ -71,8 +74,18 @@ export default function PortraitCard({
const statusConfig = getStatusConfig(status as PartnerPortrait["status"]);
const isReady = status === "done" && imageUrl;
+ const handleClick = () => {
+ if (isReady) {
+ router.push(`/portraits/${_id}`);
+ }
+ };
+
return (
-
+
{imageUrl ? (
{portraits.map(portrait => (
-
-
-
+
))}