From 10045ed9de192936311184f9d6366a879ed758c3 Mon Sep 17 00:00:00 2001 From: Sergey Mankovsky Date: Thu, 6 Jun 2024 15:11:03 +0200 Subject: [PATCH] Fix send to zulip duration --- www/app/[domain]/browse/page.tsx | 4 ++-- www/app/lib/time.ts | 4 ++++ www/app/lib/zulip.ts | 10 +++++----- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/www/app/[domain]/browse/page.tsx b/www/app/[domain]/browse/page.tsx index 211c927b..877d19b5 100644 --- a/www/app/[domain]/browse/page.tsx +++ b/www/app/[domain]/browse/page.tsx @@ -8,7 +8,7 @@ import { FaGear } from "react-icons/fa6"; import { FaCheck, FaTrash, FaStar, FaMicrophone } from "react-icons/fa"; import { MdError } from "react-icons/md"; import useTranscriptList from "../transcripts/useTranscriptList"; -import { formatTime } from "../../lib/time"; +import { formatTimeMs } from "../../lib/time"; import useApi from "../../lib/useApi"; import { useError } from "../../(errors)/errorContext"; import { FaEllipsisVertical } from "react-icons/fa6"; @@ -273,7 +273,7 @@ export default function TranscriptBrowser() { {new Date(item.created_at).toLocaleString("en-US")} {"\u00A0"}-{"\u00A0"} - {formatTime(Math.floor(item.duration / 1000))} + {formatTimeMs(item.duration)} {item.short_summary} diff --git a/www/app/lib/time.ts b/www/app/lib/time.ts index 28d5d330..a632c979 100644 --- a/www/app/lib/time.ts +++ b/www/app/lib/time.ts @@ -1,3 +1,7 @@ +export const formatTimeMs = (milliseconds: number): string => { + return formatTime(Math.floor(milliseconds / 1000)); +}; + export const formatTime = (seconds: number): string => { let hours = Math.floor(seconds / 3600); let minutes = Math.floor((seconds % 3600) / 60); diff --git a/www/app/lib/zulip.ts b/www/app/lib/zulip.ts index 48ec94fb..12e761a4 100644 --- a/www/app/lib/zulip.ts +++ b/www/app/lib/zulip.ts @@ -1,11 +1,11 @@ import { GetTranscript, GetTranscriptTopic } from "../api"; -import { formatTime } from "./time"; +import { formatTime, formatTimeMs } from "./time"; import { extractDomain } from "./utils"; export async function sendZulipMessage( stream: string, topic: string, - message: string, + message: string ) { console.log("Sendiing zulip message", stream, topic); try { @@ -28,14 +28,14 @@ export const ZULIP_MSG_MAX_LENGTH = 10000; export function getZulipMessage( transcript: GetTranscript, topics: GetTranscriptTopic[] | null, - includeTopics: boolean, + includeTopics: boolean ) { const date = new Date(transcript.created_at); // Get the timezone offset in minutes and convert it to hours and minutes const timezoneOffset = -date.getTimezoneOffset(); const offsetHours = String( - Math.floor(Math.abs(timezoneOffset) / 60), + Math.floor(Math.abs(timezoneOffset) / 60) ).padStart(2, "0"); const offsetMinutes = String(Math.abs(timezoneOffset) % 60).padStart(2, "0"); const offsetSign = timezoneOffset >= 0 ? "+" : "-"; @@ -58,7 +58,7 @@ export function getZulipMessage( **Date**: **Link**: [${extractDomain(link)}](${link}) -**Duration**: ${formatTime(transcript.duration)} +**Duration**: ${formatTimeMs(transcript.duration)} `; let topicText = "";