mirror of
https://github.com/koodiklinikka/koodiklinikka.fi.git
synced 2026-02-11 15:51:46 +00:00
36 lines
885 B
TypeScript
36 lines
885 B
TypeScript
import { KKEvent } from "../../data/events";
|
|
import twitterText from "twitter-text";
|
|
|
|
export interface TwitterItem {
|
|
retweeted?: boolean;
|
|
retweeted_status?: TwitterItem;
|
|
user: {
|
|
screen_name: string;
|
|
profile_image_url_https: string;
|
|
};
|
|
text: string;
|
|
created_at: number | string; // TODO: type?
|
|
}
|
|
|
|
function convertTwitterItem(item: TwitterItem): KKEvent {
|
|
if (item.retweeted && item.retweeted_status) {
|
|
item = item.retweeted_status;
|
|
}
|
|
|
|
const url = `https://twitter.com/${item.user.screen_name}`;
|
|
|
|
return {
|
|
user: `@${item.user.screen_name}`,
|
|
userLink: url,
|
|
image: item.user.profile_image_url_https,
|
|
imageLink: url,
|
|
body: twitterText.autoLink(item.text),
|
|
timestamp: new Date(item.created_at),
|
|
type: "twitter",
|
|
};
|
|
}
|
|
|
|
export function convertTwitterItems(items: readonly TwitterItem[]) {
|
|
return items.map(convertTwitterItem);
|
|
}
|