import React from 'react'; import clsx from 'clsx'; import { Link } from 'react-router-dom'; import { Spinner } from 'reactstrap'; import { Trans } from 'react-i18next'; import { TimelineInfo } from '../data/timeline'; import TimelineLogo from '../common/TimelineLogo'; import UserTimelineLogo from '../common/UserTimelineLogo'; export interface TimelineBoardProps { title?: string; timelines: TimelineInfo[] | 'offline' | 'loading'; onReload: () => void; className?: string; } const TimelineBoard: React.FC = (props) => { const { title, timelines, className } = props; return (
{title != null &&

{title}

} {(() => { if (timelines === 'loading') { return (
); } else if (timelines === 'offline') { return (
0 { props.onReload(); e.preventDefault(); }} > 1 2
); } else { return timelines.map((timeline) => { const { name } = timeline; const isPersonal = name.startsWith('@'); const url = isPersonal ? `/users/${timeline.owner.username}` : `/timelines/${name}`; return (
{isPersonal ? ( ) : ( )} {name}
); }); } })()}
); }; export default TimelineBoard;