diff --git a/app/javascript/mastodon/features/collection_adder/index.tsx b/app/javascript/mastodon/features/collection_adder/index.tsx index 3fad6a3797..b1ec2b0375 100644 --- a/app/javascript/mastodon/features/collection_adder/index.tsx +++ b/app/javascript/mastodon/features/collection_adder/index.tsx @@ -3,6 +3,7 @@ import { useCallback, useId, useState } from 'react'; import { FormattedMessage, useIntl, defineMessages } from 'react-intl'; import type { ApiCollectionJSON } from '@/mastodon/api_types/collections'; +import { EmptyState } from '@/mastodon/components/empty_state'; import { LoadingIndicator } from '@/mastodon/components/loading_indicator'; import { NavigationFocusTarget } from '@/mastodon/components/navigation_focus_target'; import { useCurrentAccountId } from '@/mastodon/hooks/useAccountId'; @@ -16,7 +17,10 @@ import { IconButton } from 'mastodon/components/icon_button'; import { useAppDispatch, useAppSelector } from 'mastodon/store'; import { MAX_COLLECTION_ACCOUNT_COUNT } from '../collections/editor/accounts'; -import { useCollectionsCreatedBy } from '../collections/overview/created_by_account'; +import { + NewCollectionButton, + useCollectionsCreatedBy, +} from '../collections/overview/created_by_account'; import { CollectionToggle } from './collection_toggle'; @@ -136,6 +140,23 @@ export const CollectionAdder: React.FC<{ > {status === 'loading' || !account ? ( + ) : collections.length === 0 ? ( + + } + message={ + + } + > + + ) : ( collections.map((item) => ( diff --git a/app/javascript/mastodon/features/collections/overview/created_by_account.tsx b/app/javascript/mastodon/features/collections/overview/created_by_account.tsx index 80fc90b759..33f5c559b3 100644 --- a/app/javascript/mastodon/features/collections/overview/created_by_account.tsx +++ b/app/javascript/mastodon/features/collections/overview/created_by_account.tsx @@ -26,8 +26,14 @@ import { } from '../editor'; import classes from '../styles.module.scss'; -const CreateButton: React.FC = () => ( - +export const NewCollectionButton: React.FC<{ onClick?: () => void }> = ({ + onClick, +}) => ( + @@ -97,7 +103,7 @@ export const CollectionsCreatedByAccount: React.FC = () => { /> } > - + ); } else { @@ -129,7 +135,7 @@ export const CollectionsCreatedByAccount: React.FC = () => { }} /> - {showCreateButton && } + {showCreateButton && } {isOwnCollectionPage && !canCreateMoreCollections && ( diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index b6ccc679f1..afae4342c5 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -649,6 +649,7 @@ "empty_column.collections": "{acct} has not created any collections yet.", "empty_column.collections.featured_in": "You have not been added to any collections yet.", "empty_column.collections.featured_in_undiscoverable": "In order for people to add you to collections, you need to allow featuring in discovery experiences from Preferences > Privacy and reach", + "empty_column.collections_self": "You have not created any collections yet.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "empty_column.direct": "You don't have any private mentions yet. When you send or receive one, it will show up here.", "empty_column.disabled_feed": "This feed has been disabled by your server administrators.",