21 lines
909 B
TypeScript
21 lines
909 B
TypeScript
import type { ChangeEvent } from "../api/types.ts";
|
|
import { eventText, eventTime } from "./events.ts";
|
|
import "./feed.css";
|
|
|
|
// строки событий журнала: время, автор, что изменилось (лента и история в карточке; spec web-app «Лента изменений»)
|
|
export function EventList({ events, now, alwaysDate = false }: { events: ChangeEvent[]; now: Date; alwaysDate?: boolean }) {
|
|
return (
|
|
<ul className="feed-events">
|
|
{events.map((e, n) => (
|
|
<li key={n} className="feed-event">
|
|
<span className="feed-event__time">{eventTime(e.at, now, alwaysDate)}</span>
|
|
<span className="feed-event__body">
|
|
<span className="feed-event__author">{e.author ?? "—"}</span>{" "}
|
|
<span className="feed-event__text">{eventText(e)}</span>
|
|
</span>
|
|
</li>
|
|
))}
|
|
</ul>
|
|
);
|
|
}
|