Skip to content

Commit ab6044a

Browse files
authored
feat: use consistent datetime format ml-308 (#338)
* feat(frontend, shared): use consistent datetime format ml-308 * fix(frontend): lint errors ml-308 * feat(frontend, shared): create type from enum ml-308
1 parent 7510e24 commit ab6044a

File tree

7 files changed

+42
-25
lines changed

7 files changed

+42
-25
lines changed
Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Document, Page, Text, View } from "~/libs/components/components.js";
2+
import { DateTimeFormat } from "~/libs/enums/enums.js";
23
import { formatDate } from "~/libs/helpers/helpers.js";
34
import { type MeetingPdfProperties } from "~/libs/types/types.js";
45

@@ -11,31 +12,33 @@ const MeetingPdf: React.FC<MeetingPdfProperties> = ({
1112
summary,
1213
title,
1314
transcription,
14-
}: MeetingPdfProperties): React.ReactElement => (
15-
<Document>
16-
<Page size="A4" style={styles.page}>
17-
<View style={styles.section}>
18-
<Text style={styles.title}>{title}</Text>
19-
<Text style={styles.text}>
20-
Date: {formatDate(new Date(createdAt), "D MMMM hA")}
21-
</Text>
22-
</View>
15+
}: MeetingPdfProperties): React.ReactElement => {
16+
return (
17+
<Document>
18+
<Page size="A4" style={styles.page}>
19+
<View style={styles.section}>
20+
<Text style={styles.title}>{title}</Text>
21+
<Text style={styles.text}>
22+
Date: {formatDate(new Date(createdAt), DateTimeFormat.MEETING)}
23+
</Text>
24+
</View>
2325

24-
<Text style={styles.sectionHeader}>SUMMARY SECTION</Text>
25-
<View style={styles.line} />
26-
<View style={styles.section}>{renderMarkdown(summary)}</View>
27-
28-
<Text style={styles.sectionHeader}>ACTION POINTS</Text>
29-
<View style={styles.line} />
30-
<View style={styles.section}>{renderMarkdown(actionItems)}</View>
26+
<Text style={styles.sectionHeader}>SUMMARY SECTION</Text>
27+
<View style={styles.line} />
28+
<View style={styles.section}>{renderMarkdown(summary)}</View>
3129

32-
<View style={styles.section}>
33-
<Text style={styles.sectionHeader}>TRANSCRIPTION</Text>
30+
<Text style={styles.sectionHeader}>ACTION POINTS</Text>
3431
<View style={styles.line} />
35-
{renderMarkdown(transcription)}
36-
</View>
37-
</Page>
38-
</Document>
39-
);
32+
<View style={styles.section}>{renderMarkdown(actionItems)}</View>
33+
34+
<View style={styles.section}>
35+
<Text style={styles.sectionHeader}>TRANSCRIPTION</Text>
36+
<View style={styles.line} />
37+
{renderMarkdown(transcription)}
38+
</View>
39+
</Page>
40+
</Document>
41+
);
42+
};
4043

4144
export { MeetingPdf };

apps/frontend/src/libs/enums/enums.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export {
3131
APIPath,
3232
AppEnvironment,
3333
ContentType,
34+
DateTimeFormat,
3435
HTTPMethod,
3536
KeyboardKey,
3637
MeetingErrorMessage,

apps/frontend/src/pages/meeting-details/meeting-details.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { EMPTY_ARRAY_LENGTH } from "~/libs/constants/constants.js";
1414
import {
1515
AppRoute,
1616
DataStatus,
17+
DateTimeFormat,
1718
MeetingErrorMessage,
1819
MeetingStatus,
1920
NotificationMessage,
@@ -165,7 +166,8 @@ const MeetingDetails: React.FC = () => {
165166
<div className={styles["meeting-details"]}>
166167
<div className={styles["meeting-details__header"]}>
167168
<h1 className={styles["meeting-details__title"]}>
168-
{title} | {formatDate(new Date(meeting.createdAt), "D MMMM hA")}
169+
{title} |{" "}
170+
{formatDate(new Date(meeting.createdAt), DateTimeFormat.MEETING)}
169171
<MeetingStatusBadge status={meeting.status} />
170172
</h1>
171173
<div className={styles["meeting-details__actions"]}>

packages/shared/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export {
77
APIPath,
88
AppEnvironment,
99
ContentType,
10+
DateTimeFormat,
1011
ExceptionMessage,
1112
Extension,
1213
KeyboardKey,
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
const DateTimeFormat = {
2+
AUDIO_PLAYER: "mm:ss",
3+
MEETING: "MMM D, YYYY, h:mm A",
4+
} as const;
5+
6+
export { DateTimeFormat };

packages/shared/src/libs/enums/enums.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
export { APIPath } from "./api-path.enum.js";
22
export { AppEnvironment } from "./app-environment.enum.js";
33
export { ContentType } from "./content-type.enum.js";
4+
export { DateTimeFormat } from "./datetime-format.enum.js";
45
export { ExceptionMessage } from "./exception-message.enum.js";
56
export { Extension } from "./extension.enum.js";
67
export { KeyboardKey } from "./keyboard-key.enum.js";
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1-
type DateFormat = "D MMMM hA" | "MMM D, YYYY, h:mm A";
1+
import { type DateTimeFormat } from "../enums/enums.js";
2+
import { type ValueOf } from "./types.js";
3+
4+
type DateFormat = ValueOf<typeof DateTimeFormat>;
25

36
export { type DateFormat };

0 commit comments

Comments
 (0)