|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
import React from 'react';
|
|
|
|
|
import { FormattedMessage } from 'react-intl';
|
|
|
|
|
import { useHistory } from 'react-router-dom';
|
|
|
|
|
|
|
|
|
|
import { getSubscribersCsv, getUnsubscribersCsv, getCombinedCsv } from 'soapbox/actions/email-list';
|
|
|
|
|
import List, { ListItem } from 'soapbox/components/list';
|
|
|
|
@ -14,6 +15,7 @@ import RegistrationModePicker from '../components/registration-mode-picker';
|
|
|
|
|
|
|
|
|
|
const Dashboard: React.FC = () => {
|
|
|
|
|
const dispatch = useAppDispatch();
|
|
|
|
|
const history = useHistory();
|
|
|
|
|
const instance = useInstance();
|
|
|
|
|
const features = useFeatures();
|
|
|
|
|
const account = useOwnAccount();
|
|
|
|
@ -39,6 +41,9 @@ const Dashboard: React.FC = () => {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const navigateToSoapboxConfig = () => history.push('/soapbox/config');
|
|
|
|
|
const navigateToModerationLog = () => history.push('/soapbox/admin/log');
|
|
|
|
|
|
|
|
|
|
const v = parseVersion(instance.version);
|
|
|
|
|
|
|
|
|
|
const userCount = instance.stats.get('user_count');
|
|
|
|
@ -78,6 +83,20 @@ const Dashboard: React.FC = () => {
|
|
|
|
|
/>
|
|
|
|
|
</DashCounters>
|
|
|
|
|
|
|
|
|
|
<List>
|
|
|
|
|
{account.admin && (
|
|
|
|
|
<ListItem
|
|
|
|
|
onClick={navigateToSoapboxConfig}
|
|
|
|
|
label={<FormattedMessage id='navigation_bar.soapbox_config' defaultMessage='Soapbox config' />}
|
|
|
|
|
/>
|
|
|
|
|
)}
|
|
|
|
|
|
|
|
|
|
<ListItem
|
|
|
|
|
onClick={navigateToModerationLog}
|
|
|
|
|
label={<FormattedMessage id='column.admin.moderation_log' defaultMessage='Moderation Log' />}
|
|
|
|
|
/>
|
|
|
|
|
</List>
|
|
|
|
|
|
|
|
|
|
{account.admin && (
|
|
|
|
|
<>
|
|
|
|
|
<CardTitle
|
|
|
|
|