WIP pl-api migration

Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
marcin mikołajczak
2024-08-18 15:35:52 +02:00
parent 6addd190f5
commit 5c2dbbd1d6
43 changed files with 72 additions and 69 deletions

View File

@ -10,7 +10,7 @@ import Icon from './icon';
import { Button, HStack, Stack, Text } from './ui';
import VerificationBadge from './verification-badge';
import type { Status as StatusEntity } from 'soapbox/types/entities';
import type { Status as StatusEntity } from 'soapbox/normalizers';
const messages = defineMessages({
eventBanner: { id: 'event.banner', defaultMessage: 'Event banner' },

View File

@ -1,5 +1,5 @@
import clsx from 'clsx';
import { type MediaAttachment, mediaAttachmentSchema } from 'pl-api';
import { type MediaAttachment, type PreviewCard as CardEntity, mediaAttachmentSchema } from 'pl-api';
import React, { useState, useEffect } from 'react';
import Blurhash from 'soapbox/components/blurhash';
@ -7,8 +7,6 @@ import { HStack, Stack, Text, Icon } from 'soapbox/components/ui';
import { addAutoPlay } from 'soapbox/utils/media';
import { getTextDirection } from 'soapbox/utils/rtl';
import type { Card as CardEntity } from 'soapbox/types/entities';
/** Props for `PreviewCard`. */
interface IPreviewCard {
card: CardEntity;

View File

@ -14,7 +14,7 @@ import StatusContent from './status-content';
import StatusReplyMentions from './status-reply-mentions';
import SensitiveContentOverlay from './statuses/sensitive-content-overlay';
import type { Status as StatusEntity } from 'soapbox/types/entities';
import type { ReducerStatus as StatusEntity } from 'soapbox/reducers/statuses';
const messages = defineMessages({
cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' },

View File

@ -15,7 +15,7 @@ import { useAppDispatch, useAppSelector, useFeatures, useInstance } from 'soapbo
import { makeGetOtherAccounts } from 'soapbox/selectors';
import type { List as ImmutableList } from 'immutable';
import type { Account as AccountEntity } from 'soapbox/types/entities';
import type { Account as AccountEntity } from 'soapbox/normalizers';
const messages = defineMessages({
profile: { id: 'account.profile', defaultMessage: 'Profile' },
@ -336,7 +336,7 @@ const SidebarMenu: React.FC = (): JSX.Element | null => {
/>
)}
{account.staff && (
{(account.is_admin || account.is_moderator) && (
<SidebarLink
to='/dashboard'
icon={require('@tabler/icons/outline/dashboard.svg')}

View File

@ -30,8 +30,7 @@ import { getReactForStatus, reduceEmoji } from 'soapbox/utils/emoji-reacts';
import GroupPopover from './groups/popover/group-popover';
import type { Menu } from 'soapbox/components/dropdown-menu';
import type { Account, Group } from 'soapbox/normalizers';
import type { Status } from 'soapbox/types/entities';
import type { Account, Group, Status } from 'soapbox/normalizers';
const messages = defineMessages({
adminAccount: { id: 'status.admin_account', defaultMessage: 'Moderate @{name}' },

View File

@ -15,7 +15,7 @@ import Markup from './markup';
import Poll from './polls/poll';
import type { Sizes } from 'soapbox/components/ui/text/text';
import type { Status } from 'soapbox/types/entities';
import type { Status } from 'soapbox/normalizers';
const MAX_HEIGHT = 642; // 20px * 32 (+ 2px padding at the top)
const BIG_EMOJI_LIMIT = 10;

View File

@ -8,7 +8,7 @@ import { useAppDispatch } from 'soapbox/hooks';
import DropdownMenu from './dropdown-menu';
import { HStack, Icon, Text } from './ui';
import type { Status } from 'soapbox/types/entities';
import type { Status } from 'soapbox/normalizers';
const messages = defineMessages({
languageVersions: { id: 'status.language_versions', defaultMessage: 'The post has multiple language versions.' },

View File

@ -9,7 +9,7 @@ import { useAppDispatch, useSettings } from 'soapbox/hooks';
import { defaultMediaVisibility } from 'soapbox/utils/status';
import type { MediaAttachment } from 'pl-api';
import type { Status } from 'soapbox/types/entities';
import type { Status } from 'soapbox/normalizers';
interface IStatusMedia {
/** Status entity to render media for. */

View File

@ -24,7 +24,7 @@ import SensitiveContentOverlay from './statuses/sensitive-content-overlay';
import StatusInfo from './statuses/status-info';
import { Card, Icon, Stack, Text } from './ui';
import type { Status as StatusEntity } from 'soapbox/types/entities';
import type { Status as StatusEntity } from 'soapbox/normalizers';
// Defined in components/scrollable-list
type ScrollPosition = { height: number; top: number };
@ -84,7 +84,7 @@ const Status: React.FC<IStatus> = (props) => {
const [minHeight, setMinHeight] = useState(208);
const actualStatus = getActualStatus(status);
const actualStatus = getActualStatus<StatusEntity>(status);
const isReblog = status.reblog && typeof status.reblog === 'object';
const statusUrl = `/@${actualStatus.account.acct}/posts/${actualStatus.id}`;
const group = actualStatus.group;