import { defineMessages, useIntl } from 'react-intl';
import { Route, Switch, useRouteMatch } from 'react-router-dom';
import { Helmet } from '@unhead/react/helmet';
import { NavigationFocusTarget } from '@/mastodon/components/navigation_focus_target';
import { Column } from 'mastodon/components/column';
import { ColumnHeader } from 'mastodon/components/column_header';
import { DisplayNameSimple } from 'mastodon/components/display_name/simple';
import { Scrollable } from 'mastodon/components/scrollable_list/components';
import { TabLink, TabList } from 'mastodon/components/tab_list';
import { useAccount } from 'mastodon/hooks/useAccount';
import { useAccountId, useCurrentAccountId } from 'mastodon/hooks/useAccountId';
import { CollectionsCreatedByAccount } from './overview/created_by_account';
import { CollectionsFeaturingYou } from './overview/featuring_you';
import classes from './styles.module.scss';
const messages = defineMessages({
headingMe: {
id: 'column.your_collections',
defaultMessage: 'Your Collections',
},
headingOther: {
id: 'column.other_collections',
defaultMessage: "{name}'s Collections",
},
createdByYou: {
id: 'collections.list.created_by_you',
defaultMessage: 'Created by you',
},
createdByAuthor: {
id: 'collections.list.created_by_author',
defaultMessage: 'Created by {name}',
},
featuringYou: {
id: 'collections.list.featuring_you',
defaultMessage: 'Featuring you',
},
});
export const Collections: React.FC<{
multiColumn?: boolean;
}> = ({ multiColumn }) => {
const intl = useIntl();
const me = useCurrentAccountId();
const accountId = useAccountId();
const account = useAccount(accountId);
const { path } = useRouteMatch();
const isOwnCollectionsPage = accountId === me;
const titleMessage = isOwnCollectionsPage
? messages.headingMe
: messages.headingOther;
const pageTitle = intl.formatMessage(titleMessage, {
name: account?.get('display_name'),
});
const pageTitleHtml = intl.formatMessage(titleMessage, {
name: ,
});
const createdByTabMessage = isOwnCollectionsPage
? messages.createdByYou
: messages.createdByAuthor;
return (
{pageTitleHtml}
{intl.formatMessage(createdByTabMessage, {
name: ,
})}
{isOwnCollectionsPage && (
{intl.formatMessage(messages.featuringYou)}
)}
{pageTitle}
);
};