Migrate everything to pl-api

Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
marcin mikołajczak
2024-08-28 20:58:20 +02:00
parent 0ddf6f2768
commit eb231d562e
50 changed files with 610 additions and 466 deletions

View File

@@ -6,7 +6,7 @@ import { useAnnouncements } from 'pl-fe/api/hooks/admin/useAnnouncements';
import ScrollableList from 'pl-fe/components/scrollable-list';
import { Button, Column, HStack, Stack, Text } from 'pl-fe/components/ui';
import { useAppDispatch } from 'pl-fe/hooks';
import { AdminAnnouncement } from 'pl-fe/schemas';
import { AdminAnnouncement } from 'pl-fe/normalizers';
import toast from 'pl-fe/toast';
const messages = defineMessages({

View File

@@ -11,7 +11,7 @@ import toast from 'pl-fe/toast';
import Indicator from '../developers/components/indicator';
import type { Domain as DomainEntity } from 'pl-fe/schemas';
import type { AdminDomain as DomainEntity } from 'pl-api';
const messages = defineMessages({
heading: { id: 'column.admin.domains', defaultMessage: 'Domains' },

View File

@@ -5,7 +5,7 @@ import { useModerationLog } from 'pl-fe/api/hooks/admin';
import ScrollableList from 'pl-fe/components/scrollable-list';
import { Column, Stack, Text } from 'pl-fe/components/ui';
import type { ModerationLogEntry } from 'pl-fe/schemas';
import type { AdminModerationLogEntry } from 'pl-api';
const messages = defineMessages({
heading: { id: 'column.admin.moderation_log', defaultMessage: 'Moderation log' },
@@ -48,7 +48,7 @@ const ModerationLog = () => {
};
interface ILogItem {
log: ModerationLogEntry;
log: AdminModerationLogEntry;
}
const LogItem: React.FC<ILogItem> = ({ log }) => (

View File

@@ -7,7 +7,7 @@ import { Button, Column, Form, HStack, Input, Stack, Text } from 'pl-fe/componen
import { useTextField } from 'pl-fe/hooks/forms';
import toast from 'pl-fe/toast';
import type { Relay as RelayEntity } from 'pl-fe/schemas';
import type { AdminRelay as RelayEntity } from 'pl-api';
const messages = defineMessages({
heading: { id: 'column.admin.relays', defaultMessage: 'Instance relays' },

View File

@@ -6,9 +6,10 @@ import { useRules } from 'pl-fe/api/hooks/admin';
import ScrollableList from 'pl-fe/components/scrollable-list';
import { Button, Column, HStack, Stack, Text } from 'pl-fe/components/ui';
import { useAppDispatch } from 'pl-fe/hooks';
import { AdminRule } from 'pl-fe/schemas';
import toast from 'pl-fe/toast';
import type { AdminRule } from 'pl-api';
const messages = defineMessages({
heading: { id: 'column.admin.rules', defaultMessage: 'Instance rules' },
deleteConfirm: { id: 'confirmations.admin.delete_rule.confirm', defaultMessage: 'Delete' },

View File

@@ -1,43 +1,19 @@
import React from 'react';
import { FormattedMessage } from 'react-intl';
import { getSubscribersCsv, getUnsubscribersCsv, getCombinedCsv } from 'pl-fe/actions/admin';
import List, { ListItem } from 'pl-fe/components/list';
import { CardTitle, Icon, IconButton, Stack } from 'pl-fe/components/ui';
import { useAppDispatch, useOwnAccount, useFeatures, useInstance } from 'pl-fe/hooks';
import { CardTitle, Icon, Stack } from 'pl-fe/components/ui';
import { useOwnAccount, useFeatures, useInstance } from 'pl-fe/hooks';
import sourceCode from 'pl-fe/utils/code';
import { download } from 'pl-fe/utils/download';
import { DashCounter, DashCounters } from '../components/dashcounter';
import RegistrationModePicker from '../components/registration-mode-picker';
const Dashboard: React.FC = () => {
const dispatch = useAppDispatch();
const instance = useInstance();
const features = useFeatures();
const { account } = useOwnAccount();
const handleSubscribersClick: React.MouseEventHandler = e => {
dispatch(getSubscribersCsv()).then(({ data }) => {
download(data, 'subscribers.csv');
}).catch(() => {});
e.preventDefault();
};
const handleUnsubscribersClick: React.MouseEventHandler = e => {
dispatch(getUnsubscribersCsv()).then(({ data }) => {
download(data, 'unsubscribers.csv');
}).catch(() => {});
e.preventDefault();
};
const handleCombinedClick: React.MouseEventHandler = e => {
dispatch(getCombinedCsv()).then(({ data }) => {
download(data, 'combined.csv');
}).catch(() => {});
e.preventDefault();
};
const v = features.version;
const {
@@ -92,14 +68,14 @@ const Dashboard: React.FC = () => {
label={<FormattedMessage id='column.admin.moderation_log' defaultMessage='Moderation log' />}
/>
{features.adminAnnouncements && (
{features.pleromaAdminAnnouncements && (
<ListItem
to='/pl-fe/admin/announcements'
label={<FormattedMessage id='column.admin.announcements' defaultMessage='Announcements' />}
/>
)}
{features.adminRules && (
{features.pleromaAdminRules && (
<ListItem
to='/pl-fe/admin/rules'
label={<FormattedMessage id='column.admin.rules' defaultMessage='Instance rules' />}
@@ -148,40 +124,6 @@ const Dashboard: React.FC = () => {
<span>{v.software + (v.build ? `+${v.build}` : '')} {v.version}</span>
</ListItem>
</List>
{(features.emailList && account.is_admin) && (
<>
<CardTitle
title={<FormattedMessage id='admin.dashwidgets.email_list_header' defaultMessage='Email list' />}
/>
<List>
<ListItem label='subscribers.csv'>
<IconButton
src={require('@tabler/icons/outline/download.svg')}
onClick={handleSubscribersClick}
iconClassName='h-5 w-5'
/>
</ListItem>
<ListItem label='unsubscribers.csv'>
<IconButton
src={require('@tabler/icons/outline/download.svg')}
onClick={handleUnsubscribersClick}
iconClassName='h-5 w-5'
/>
</ListItem>
<ListItem label='combined.csv'>
<IconButton
src={require('@tabler/icons/outline/download.svg')}
onClick={handleCombinedClick}
iconClassName='h-5 w-5'
/>
</ListItem>
</List>
</>
)}
</Stack>
);
};