Fix send to zulip duration

This commit is contained in:
2024-06-06 15:11:03 +02:00
parent 61939ff1d8
commit 10045ed9de
3 changed files with 11 additions and 7 deletions

View File

@@ -8,7 +8,7 @@ import { FaGear } from "react-icons/fa6";
import { FaCheck, FaTrash, FaStar, FaMicrophone } from "react-icons/fa"; import { FaCheck, FaTrash, FaStar, FaMicrophone } from "react-icons/fa";
import { MdError } from "react-icons/md"; import { MdError } from "react-icons/md";
import useTranscriptList from "../transcripts/useTranscriptList"; import useTranscriptList from "../transcripts/useTranscriptList";
import { formatTime } from "../../lib/time"; import { formatTimeMs } from "../../lib/time";
import useApi from "../../lib/useApi"; import useApi from "../../lib/useApi";
import { useError } from "../../(errors)/errorContext"; import { useError } from "../../(errors)/errorContext";
import { FaEllipsisVertical } from "react-icons/fa6"; import { FaEllipsisVertical } from "react-icons/fa6";
@@ -273,7 +273,7 @@ export default function TranscriptBrowser() {
<Text fontSize="small"> <Text fontSize="small">
{new Date(item.created_at).toLocaleString("en-US")} {new Date(item.created_at).toLocaleString("en-US")}
{"\u00A0"}-{"\u00A0"} {"\u00A0"}-{"\u00A0"}
{formatTime(Math.floor(item.duration / 1000))} {formatTimeMs(item.duration)}
</Text> </Text>
<ExpandableText noOfLines={5}> <ExpandableText noOfLines={5}>
{item.short_summary} {item.short_summary}

View File

@@ -1,3 +1,7 @@
export const formatTimeMs = (milliseconds: number): string => {
return formatTime(Math.floor(milliseconds / 1000));
};
export const formatTime = (seconds: number): string => { export const formatTime = (seconds: number): string => {
let hours = Math.floor(seconds / 3600); let hours = Math.floor(seconds / 3600);
let minutes = Math.floor((seconds % 3600) / 60); let minutes = Math.floor((seconds % 3600) / 60);

View File

@@ -1,11 +1,11 @@
import { GetTranscript, GetTranscriptTopic } from "../api"; import { GetTranscript, GetTranscriptTopic } from "../api";
import { formatTime } from "./time"; import { formatTime, formatTimeMs } from "./time";
import { extractDomain } from "./utils"; import { extractDomain } from "./utils";
export async function sendZulipMessage( export async function sendZulipMessage(
stream: string, stream: string,
topic: string, topic: string,
message: string, message: string
) { ) {
console.log("Sendiing zulip message", stream, topic); console.log("Sendiing zulip message", stream, topic);
try { try {
@@ -28,14 +28,14 @@ export const ZULIP_MSG_MAX_LENGTH = 10000;
export function getZulipMessage( export function getZulipMessage(
transcript: GetTranscript, transcript: GetTranscript,
topics: GetTranscriptTopic[] | null, topics: GetTranscriptTopic[] | null,
includeTopics: boolean, includeTopics: boolean
) { ) {
const date = new Date(transcript.created_at); const date = new Date(transcript.created_at);
// Get the timezone offset in minutes and convert it to hours and minutes // Get the timezone offset in minutes and convert it to hours and minutes
const timezoneOffset = -date.getTimezoneOffset(); const timezoneOffset = -date.getTimezoneOffset();
const offsetHours = String( const offsetHours = String(
Math.floor(Math.abs(timezoneOffset) / 60), Math.floor(Math.abs(timezoneOffset) / 60)
).padStart(2, "0"); ).padStart(2, "0");
const offsetMinutes = String(Math.abs(timezoneOffset) % 60).padStart(2, "0"); const offsetMinutes = String(Math.abs(timezoneOffset) % 60).padStart(2, "0");
const offsetSign = timezoneOffset >= 0 ? "+" : "-"; const offsetSign = timezoneOffset >= 0 ? "+" : "-";
@@ -58,7 +58,7 @@ export function getZulipMessage(
**Date**: <time:${dateTimeString}> **Date**: <time:${dateTimeString}>
**Link**: [${extractDomain(link)}](${link}) **Link**: [${extractDomain(link)}](${link})
**Duration**: ${formatTime(transcript.duration)} **Duration**: ${formatTimeMs(transcript.duration)}
`; `;
let topicText = ""; let topicText = "";