Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion components/DiscordLive/DiscordMessageList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { DiscordMessage, DiscordMessages } from "@skyra/discord-components-react
import { ReactNode } from "react"
import styles from './DiscordLive.module.css'
import { formatDiscordContent } from "./DiscordLive"
import { TimeUtil } from "../../utils/TimeUtil"

type DiscordMessageType = {
id: number,
Expand All @@ -22,7 +23,13 @@ type DiscordMessageListProps = {
export default function DiscordMessageList({ visibleMessages, recursiveContent }: DiscordMessageListProps) {
return <DiscordMessages className={styles.discordMessages}>
{visibleMessages.map((message, i) => visibleMessages[i - 1]?.author?.name != visibleMessages[i].author.name ? (
<DiscordMessage key={message.id} avatar={`/discordlive/avatars/${message.author.avatar}`} author={message.author.name} roleColor={message.author.color}>
<DiscordMessage
key={message.id}
avatar={`/discordlive/avatars/${message.author.avatar}`}
timestamp={TimeUtil.formatTimestamp(message.timestamp)}
author={message.author.name}
roleColor={message.author.color}
>
<span className="discord-message-markup">{formatDiscordContent(message.content)}</span>
<span className="discord-message-markup">{recursiveContent(i)}</span>
</DiscordMessage>
Expand Down
13 changes: 12 additions & 1 deletion utils/TimeUtil.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,18 @@ export class TimeUtil {
);
}

/**
* Formats a timestamp into a string representation of the date and time.
*
* Format: DD.MM.YYYY hh.mm
*/
static formatTimestamp(timestamp: number) {
const date = new Date(timestamp);
const day = date.toLocaleDateString("Fi");
const time = date.toLocaleTimeString("Fi", {timeStyle: "short"});
return `${day} ${time}`;
}

// Helper function to format the date as "d. mmmm." or "d. mmmm yyyy."
static formatFinnishDate = (date: Date): string => {
const day = date.getDate();
Expand All @@ -87,7 +99,6 @@ export class TimeUtil {
/**
* Format date into a readable string in relation to the current date
*/

static formatDateInRelationToCurrent(date: Date): string {
const now = new Date();

Expand Down