Files
ncd-fe/packages/pl-fe/src/normalizers/announcement.ts
marcin mikołajczak eb231d562e Migrate everything to pl-api
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-08-28 21:07:16 +02:00

21 lines
725 B
TypeScript

import emojify from 'pl-fe/features/emoji';
import { makeCustomEmojiMap } from 'pl-fe/schemas/utils';
import type { AdminAnnouncement as BaseAdminAnnouncement, Announcement as BaseAnnouncement } from 'pl-api';
const normalizeAnnouncement = <T extends BaseAnnouncement = BaseAnnouncement>(announcement: T) => {
const emojiMap = makeCustomEmojiMap(announcement.emojis);
const contentHtml = emojify(announcement.content, emojiMap);
return {
...announcement,
contentHtml,
};
};
type Announcement = ReturnType<typeof normalizeAnnouncement>;
type AdminAnnouncement = ReturnType<typeof normalizeAnnouncement<BaseAdminAnnouncement>>;
export { normalizeAnnouncement, type AdminAnnouncement, type Announcement };