WIP pl-api migration
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
@ -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' },
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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' },
|
||||
|
||||
@ -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')}
|
||||
|
||||
@ -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}' },
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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.' },
|
||||
|
||||
@ -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. */
|
||||
|
||||
@ -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;
|
||||
|
||||
Reference in New Issue
Block a user