From b1daf3ef13316b2f28d9c445017b9106499856f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marcin=20miko=C5=82ajczak?= Date: Sun, 22 Oct 2023 00:20:41 +0200 Subject: [PATCH] Remove type assertion when not needed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: marcin mikołajczak --- src/components/event-preview.tsx | 4 +-- src/components/quoted-status.tsx | 6 ++--- src/components/status-action-bar.tsx | 26 +++++++++---------- src/components/status-reply-mentions.tsx | 4 +-- src/components/status.tsx | 7 ++--- .../event/components/event-header.tsx | 4 +-- .../components/scheduled-status.tsx | 4 +-- src/features/ui/components/pending-status.tsx | 4 +-- 8 files changed, 28 insertions(+), 31 deletions(-) diff --git a/src/components/event-preview.tsx b/src/components/event-preview.tsx index 4226bd5ca..ec1031662 100644 --- a/src/components/event-preview.tsx +++ b/src/components/event-preview.tsx @@ -10,7 +10,7 @@ import Icon from './icon'; import { Button, HStack, Stack, Text } from './ui'; import VerificationBadge from './verification-badge'; -import type { Account as AccountEntity, Status as StatusEntity } from 'soapbox/types/entities'; +import type { Status as StatusEntity } from 'soapbox/types/entities'; const messages = defineMessages({ eventBanner: { id: 'event.banner', defaultMessage: 'Event banner' }, @@ -30,7 +30,7 @@ const EventPreview: React.FC = ({ status, className, hideAction, const me = useAppSelector((state) => state.me); - const account = status.account as AccountEntity; + const account = status.account; const event = status.event!; const banner = event.banner; diff --git a/src/components/quoted-status.tsx b/src/components/quoted-status.tsx index a5954eaa8..e9040951b 100644 --- a/src/components/quoted-status.tsx +++ b/src/components/quoted-status.tsx @@ -15,7 +15,7 @@ import StatusContent from './status-content'; import StatusReplyMentions from './status-reply-mentions'; import SensitiveContentOverlay from './statuses/sensitive-content-overlay'; -import type { Account as AccountEntity, Status as StatusEntity } from 'soapbox/types/entities'; +import type { Status as StatusEntity } from 'soapbox/types/entities'; const messages = defineMessages({ cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' }, @@ -51,7 +51,7 @@ const QuotedStatus: React.FC = ({ status, onCancel, compose }) => const handleExpandClick: MouseEventHandler = (e) => { if (!status) return; - const account = status.account as AccountEntity; + const account = status.account; if (!compose && e.button === 0) { const statusUrl = `/@${account.acct}/posts/${status.id}`; @@ -79,7 +79,7 @@ const QuotedStatus: React.FC = ({ status, onCancel, compose }) => return null; } - const account = status.account as AccountEntity; + const account = status.account; let actions = {}; if (onCancel) { diff --git a/src/components/status-action-bar.tsx b/src/components/status-action-bar.tsx index 1708a9b64..aad3c1f82 100644 --- a/src/components/status-action-bar.tsx +++ b/src/components/status-action-bar.tsx @@ -29,7 +29,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, Status } from 'soapbox/types/entities'; +import type { Group, Status } from 'soapbox/types/entities'; const messages = defineMessages({ adminAccount: { id: 'status.admin_account', defaultMessage: 'Moderate @{name}' }, @@ -131,7 +131,7 @@ const StatusActionBar: React.FC = ({ const unmuteGroup = useUnmuteGroup(group as Group); const isMutingGroup = !!group?.relationship?.muting; const deleteGroupStatus = useDeleteGroupStatus(group as Group, status.id); - const blockGroupMember = useBlockGroupMember(group as Group, status?.account as any); + const blockGroupMember = useBlockGroupMember(group as Group, status.account); const me = useAppSelector(state => state.me); const { groupRelationship } = useGroupRelationship(status.group?.id); @@ -266,20 +266,20 @@ const StatusActionBar: React.FC = ({ }; const handleMentionClick: React.EventHandler = (e) => { - dispatch(mentionCompose(status.account as Account)); + dispatch(mentionCompose(status.account)); }; const handleDirectClick: React.EventHandler = (e) => { - dispatch(directCompose(status.account as Account)); + dispatch(directCompose(status.account)); }; const handleChatClick: React.EventHandler = (e) => { - const account = status.account as Account; + const account = status.account; dispatch(launchChat(account.id, history)); }; const handleMuteClick: React.EventHandler = (e) => { - dispatch(initMuteModal(status.account as Account)); + dispatch(initMuteModal(status.account)); }; const handleMuteGroupClick: React.EventHandler = () => @@ -304,7 +304,7 @@ const StatusActionBar: React.FC = ({ }; const handleBlockClick: React.EventHandler = (e) => { - const account = status.account as Account; + const account = status.account; dispatch(openModal('CONFIRM', { icon: require('@tabler/icons/ban.svg'), @@ -332,7 +332,7 @@ const StatusActionBar: React.FC = ({ }; const handleReport: React.EventHandler = (e) => { - dispatch(initReport(ReportableEntities.STATUS, status.account as Account, { status })); + dispatch(initReport(ReportableEntities.STATUS, status.account, { status })); }; const handleConversationMuteClick: React.EventHandler = (e) => { @@ -346,7 +346,7 @@ const StatusActionBar: React.FC = ({ }; const onModerate: React.MouseEventHandler = (e) => { - const account = status.account as Account; + const account = status.account; dispatch(openModal('ACCOUNT_MODERATION', { accountId: account.id })); }; @@ -359,7 +359,7 @@ const StatusActionBar: React.FC = ({ }; const handleDeleteFromGroup: React.EventHandler = () => { - const account = status.account as Account; + const account = status.account; dispatch(openModal('CONFIRM', { heading: intl.formatMessage(messages.deleteHeading), @@ -378,10 +378,10 @@ const StatusActionBar: React.FC = ({ const handleBlockFromGroup = () => { dispatch(openModal('CONFIRM', { heading: intl.formatMessage(messages.groupBlockFromGroupHeading), - message: intl.formatMessage(messages.groupBlockFromGroupMessage, { name: (status.account as any).username }), + message: intl.formatMessage(messages.groupBlockFromGroupMessage, { name: status.account.username }), confirm: intl.formatMessage(messages.groupBlockConfirm), onConfirm: () => { - blockGroupMember({ account_ids: [(status.account as any).id] }, { + blockGroupMember({ account_ids: [status.account.id] }, { onSuccess() { toast.success(intl.formatMessage(messages.blocked, { name: account?.acct })); }, @@ -553,7 +553,7 @@ const StatusActionBar: React.FC = ({ if (isGroupStatus && !!status.group) { const group = status.group as Group; - const account = status.account as Account; + const account = status.account; const isGroupOwner = groupRelationship?.role === GroupRoles.OWNER; const isGroupAdmin = groupRelationship?.role === GroupRoles.ADMIN; const isStatusFromOwner = group.owner.id === account.id; diff --git a/src/components/status-reply-mentions.tsx b/src/components/status-reply-mentions.tsx index 2b8e8633d..4296b38d7 100644 --- a/src/components/status-reply-mentions.tsx +++ b/src/components/status-reply-mentions.tsx @@ -8,7 +8,7 @@ import HoverStatusWrapper from 'soapbox/components/hover-status-wrapper'; import { useAppDispatch } from 'soapbox/hooks'; import { isPubkey } from 'soapbox/utils/nostr'; -import type { Account, Status } from 'soapbox/types/entities'; +import type { Status } from 'soapbox/types/entities'; interface IStatusReplyMentions { status: Status; @@ -21,7 +21,7 @@ const StatusReplyMentions: React.FC = ({ status, hoverable const handleOpenMentionsModal: React.MouseEventHandler = (e) => { e.stopPropagation(); - const account = status.account as Account; + const account = status.account; dispatch(openModal('MENTIONS', { username: account.acct, diff --git a/src/components/status.tsx b/src/components/status.tsx index c2411e6dc..f226a8429 100644 --- a/src/components/status.tsx +++ b/src/components/status.tsx @@ -24,10 +24,7 @@ import StatusInfo from './statuses/status-info'; import Tombstone from './tombstone'; import { Card, Icon, Stack, Text } from './ui'; -import type { - Account as AccountEntity, - Status as StatusEntity, -} from 'soapbox/types/entities'; +import type { Status as StatusEntity } from 'soapbox/types/entities'; // Defined in components/scrollable-list export type ScrollPosition = { height: number; top: number }; @@ -168,7 +165,7 @@ const Status: React.FC = (props) => { const handleHotkeyMention = (e?: KeyboardEvent): void => { e?.preventDefault(); - dispatch(mentionCompose(actualStatus.account as AccountEntity)); + dispatch(mentionCompose(actualStatus.account)); }; const handleHotkeyOpen = (): void => { diff --git a/src/features/event/components/event-header.tsx b/src/features/event/components/event-header.tsx index fd569acc8..6a778f5da 100644 --- a/src/features/event/components/event-header.tsx +++ b/src/features/event/components/event-header.tsx @@ -28,7 +28,7 @@ import EventActionButton from '../components/event-action-button'; import EventDate from '../components/event-date'; import type { Menu as MenuType } from 'soapbox/components/dropdown-menu'; -import type { Account as AccountEntity, Status as StatusEntity } from 'soapbox/types/entities'; +import type { Status as StatusEntity } from 'soapbox/types/entities'; const messages = defineMessages({ bannerHeader: { id: 'event.banner', defaultMessage: 'Event banner' }, @@ -88,7 +88,7 @@ const EventHeader: React.FC = ({ status }) => { ); } - const account = status.account as AccountEntity; + const account = status.account; const event = status.event; const banner = event.banner; diff --git a/src/features/scheduled-statuses/components/scheduled-status.tsx b/src/features/scheduled-statuses/components/scheduled-status.tsx index 5e2fe03fa..7243bffd4 100644 --- a/src/features/scheduled-statuses/components/scheduled-status.tsx +++ b/src/features/scheduled-statuses/components/scheduled-status.tsx @@ -13,7 +13,7 @@ import { buildStatus } from '../builder'; import ScheduledStatusActionBar from './scheduled-status-action-bar'; -import type { Account as AccountEntity, Status as StatusEntity } from 'soapbox/types/entities'; +import type { Status as StatusEntity } from 'soapbox/types/entities'; interface IScheduledStatus { statusId: string; @@ -28,7 +28,7 @@ const ScheduledStatus: React.FC = ({ statusId, ...other }) => if (!status) return null; - const account = status.account as AccountEntity; + const account = status.account; return (
diff --git a/src/features/ui/components/pending-status.tsx b/src/features/ui/components/pending-status.tsx index 5630de5ca..49dd2bcd8 100644 --- a/src/features/ui/components/pending-status.tsx +++ b/src/features/ui/components/pending-status.tsx @@ -14,7 +14,7 @@ import { buildStatus } from '../util/pending-status-builder'; import PollPreview from './poll-preview'; -import type { Account as AccountEntity, Status as StatusEntity } from 'soapbox/types/entities'; +import type { Status as StatusEntity } from 'soapbox/types/entities'; const shouldHaveCard = (pendingStatus: StatusEntity) => { return Boolean(pendingStatus.content.match(/https?:\/\/\S*/)); @@ -54,7 +54,7 @@ const PendingStatus: React.FC = ({ idempotencyKey, className, mu if (!status) return null; if (!status.account) return null; - const account = status.account as AccountEntity; + const account = status.account; return (