diff --git a/apps/web/app/(org)/dashboard/caps/components/CapCard/CapCard.tsx b/apps/web/app/(org)/dashboard/caps/components/CapCard/CapCard.tsx index 60a366cde3..3beb25ccd5 100644 --- a/apps/web/app/(org)/dashboard/caps/components/CapCard/CapCard.tsx +++ b/apps/web/app/(org)/dashboard/caps/components/CapCard/CapCard.tsx @@ -19,6 +19,7 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useMutation } from "@tanstack/react-query"; import clsx from "clsx"; +import moment from "moment"; import Link from "next/link"; import { useRouter } from "next/navigation"; import { type PropsWithChildren, useState } from "react"; @@ -104,6 +105,23 @@ export const CapCard = ({ const router = useRouter(); + const formatDuration = (duration: string) => { + if (!duration) return "0 secs"; + + const momentDuration = moment.duration(duration, "milliseconds"); + const totalMinutes = Math.floor(momentDuration.asMinutes()); + const totalHours = Math.floor(momentDuration.asHours()); + const seconds = momentDuration.seconds(); + + if (totalHours > 0) { + return "1 hr"; + } else if (totalMinutes > 0) { + return `${totalMinutes} mins`; + } else { + return `${seconds} secs`; + } + }; + const downloadMutation = useMutation({ mutationFn: async () => { const response = await downloadVideo(cap.id); @@ -389,6 +407,11 @@ export const CapCard = ({ /> )} + {cap.metadata?.duration && ( +

+ {formatDuration(cap.metadata.duration as string)} +

+ )} {!sharedCapCard && onSelectToggle && (