Add missing strings to translation, enable formatjs ESLint rules
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
parent
5ea2e2442c
commit
9585b3a870
20 changed files with 220 additions and 62 deletions
|
@ -22,7 +22,8 @@
|
|||
"import",
|
||||
"promise",
|
||||
"react-hooks",
|
||||
"@typescript-eslint"
|
||||
"@typescript-eslint",
|
||||
"formatjs"
|
||||
],
|
||||
"parserOptions": {
|
||||
"sourceType": "module",
|
||||
|
@ -311,7 +312,12 @@
|
|||
"config": "tailwind.config.ts"
|
||||
}
|
||||
],
|
||||
"tailwindcss/migration-from-tailwind-2": "error"
|
||||
"tailwindcss/migration-from-tailwind-2": "error",
|
||||
|
||||
|
||||
"formatjs/enforce-default-message": "error",
|
||||
"formatjs/enforce-id": "error",
|
||||
"formatjs/no-literal-string-in-jsx": "warn"
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
|
|
|
@ -119,6 +119,7 @@
|
|||
"emoji-datasource": "14.0.0",
|
||||
"emoji-mart": "^5.5.2",
|
||||
"escape-html": "^1.0.3",
|
||||
"eslint-plugin-formatjs": "^4.12.2",
|
||||
"exifr": "^7.1.3",
|
||||
"graphemesplit": "^2.4.4",
|
||||
"html-react-parser": "^5.0.0",
|
||||
|
|
|
@ -92,7 +92,7 @@ const messages = defineMessages({
|
|||
redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this post and re-draft it? Favorites and reposts will be lost, and replies to the original post will be orphaned.' },
|
||||
replies_disabled_group: { id: 'status.disabled_replies.group_membership', defaultMessage: 'Only group members can reply' },
|
||||
reply: { id: 'status.reply', defaultMessage: 'Reply' },
|
||||
replyAll: { id: 'status.replyAll', defaultMessage: 'Reply to thread' },
|
||||
replyAll: { id: 'status.reply_all', defaultMessage: 'Reply to thread' },
|
||||
replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
|
||||
replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
|
||||
report: { id: 'status.report', defaultMessage: 'Report @{name}' },
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import clsx from 'clsx';
|
||||
import React from 'react';
|
||||
import { defineMessages, useIntl } from 'react-intl';
|
||||
import { FormattedMessage, defineMessages, useIntl } from 'react-intl';
|
||||
|
||||
import Button from '../button/button';
|
||||
import { ButtonThemes } from '../button/useButtonStyles';
|
||||
|
@ -145,7 +145,7 @@ const Modal = React.forwardRef<HTMLDivElement, IModal>(({
|
|||
theme='tertiary'
|
||||
onClick={cancelAction}
|
||||
>
|
||||
{cancelText || 'Cancel'}
|
||||
{cancelText || <FormattedMessage id='common.cancel' defaultMessage='Cancel' />}
|
||||
</Button>
|
||||
)}
|
||||
</div>
|
||||
|
|
|
@ -142,7 +142,7 @@ const Toast = (props: IToast) => {
|
|||
onClick={dismissToast}
|
||||
data-testid='toast-dismiss'
|
||||
>
|
||||
<span className='sr-only'>Close</span>
|
||||
<span className='sr-only'><FormattedMessage id='lightbox.close' defaultMessage='Close' /></span>
|
||||
<Icon src={require('@tabler/icons/x.svg')} className='h-5 w-5' />
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
@ -11,6 +11,7 @@ import type { AxiosResponse } from 'axios';
|
|||
const noOp = () => {};
|
||||
|
||||
const messages = defineMessages({
|
||||
captcha: { id: 'registration.captcha', defaultMessage: 'Captcha' },
|
||||
placeholder: { id: 'registration.captcha.placeholder', defaultMessage: 'Enter the pictured text' },
|
||||
});
|
||||
|
||||
|
@ -110,7 +111,7 @@ const NativeCaptchaField: React.FC<INativeCaptchaField> = ({ captcha, onChange,
|
|||
return (
|
||||
<Stack space={2}>
|
||||
<div className='flex w-full items-center justify-center rounded-md border border-solid border-gray-300 bg-white dark:border-gray-600'>
|
||||
<img alt='captcha' src={captcha.get('url')} onClick={onClick} />
|
||||
<img alt={intl.formatMessage(messages.captcha)} src={captcha.get('url')} onClick={onClick} />
|
||||
</div>
|
||||
|
||||
<Input
|
||||
|
|
|
@ -18,8 +18,8 @@ const messages = defineMessages({
|
|||
delete: { id: 'chats.actions.delete', defaultMessage: 'Delete for both' },
|
||||
copy: { id: 'chats.actions.copy', defaultMessage: 'Copy' },
|
||||
report: { id: 'chats.actions.report', defaultMessage: 'Report' },
|
||||
deleteForMe: { id: 'chats.actions.deleteForMe', defaultMessage: 'Delete for me' },
|
||||
blockedBy: { id: 'chat_message_list.blockedBy', defaultMessage: 'You are blocked by' },
|
||||
deleteForMe: { id: 'chats.actions.delete_for_me', defaultMessage: 'Delete for me' },
|
||||
blockedBy: { id: 'chat_message_list.blocked_by', defaultMessage: 'You are blocked by' },
|
||||
networkFailureTitle: { id: 'chat_message_list.network_failure.title', defaultMessage: 'Whoops!' },
|
||||
networkFailureSubtitle: { id: 'chat_message_list.network_failure.subtitle', defaultMessage: 'We encountered a network failure.' },
|
||||
networkFailureAction: { id: 'chat_message_list.network_failure.action', defaultMessage: 'Try again' },
|
||||
|
|
|
@ -26,7 +26,7 @@ import type { ChatMessage as ChatMessageEntity } from 'soapbox/types/entities';
|
|||
const messages = defineMessages({
|
||||
copy: { id: 'chats.actions.copy', defaultMessage: 'Copy' },
|
||||
delete: { id: 'chats.actions.delete', defaultMessage: 'Delete for both' },
|
||||
deleteForMe: { id: 'chats.actions.deleteForMe', defaultMessage: 'Delete for me' },
|
||||
deleteForMe: { id: 'chats.actions.delete_for_me', defaultMessage: 'Delete for me' },
|
||||
more: { id: 'chats.actions.more', defaultMessage: 'More' },
|
||||
report: { id: 'chats.actions.report', defaultMessage: 'Report' },
|
||||
});
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import clsx from 'clsx';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { defineMessages, useIntl } from 'react-intl';
|
||||
import { FormattedMessage, defineMessages, useIntl } from 'react-intl';
|
||||
import { useLocation } from 'react-router-dom';
|
||||
|
||||
import { fetchDirectory, expandDirectory } from 'soapbox/actions/directory';
|
||||
|
@ -53,9 +53,13 @@ const Directory = () => {
|
|||
<Stack space={4}>
|
||||
<div className='grid grid-cols-2 gap-2'>
|
||||
<div>
|
||||
<Text weight='medium'>Display filter</Text>
|
||||
<Text weight='medium'>
|
||||
<FormattedMessage id='directory.display_filter' defaultMessage='Display filter' />
|
||||
</Text>
|
||||
<fieldset className='mt-3'>
|
||||
<legend className='sr-only'>Display filter</legend>
|
||||
<legend className='sr-only'>
|
||||
<FormattedMessage id='directory.display_filter' defaultMessage='Display filter' />
|
||||
</legend>
|
||||
<div className='space-y-2'>
|
||||
<RadioButton name='order' value='active' label={intl.formatMessage(messages.recentlyActive)} checked={order === 'active'} onChange={handleChangeOrder} />
|
||||
<RadioButton name='order' value='new' label={intl.formatMessage(messages.newArrivals)} checked={order === 'new'} onChange={handleChangeOrder} />
|
||||
|
@ -65,9 +69,13 @@ const Directory = () => {
|
|||
|
||||
{features.federating && (
|
||||
<div>
|
||||
<Text weight='medium'>Fediverse filter</Text>
|
||||
<Text weight='medium'>
|
||||
<FormattedMessage id='directory.fediverse_filter' defaultMessage='Fediverse filter' />
|
||||
</Text>
|
||||
<fieldset className='mt-3'>
|
||||
<legend className='sr-only'>Fediverse filter</legend>
|
||||
<legend className='sr-only'>
|
||||
<FormattedMessage id='directory.fediverse_filter' defaultMessage='Fediverse filter' />
|
||||
</legend>
|
||||
<div className='space-y-2'>
|
||||
<RadioButton name='local' value='1' label={intl.formatMessage(messages.local, { domain: instance.title })} checked={local} onChange={handleChangeLocal} />
|
||||
<RadioButton name='local' value='0' label={intl.formatMessage(messages.federated)} checked={!local} onChange={handleChangeLocal} />
|
||||
|
|
|
@ -9,7 +9,7 @@ import AccountContainer from 'soapbox/containers/account-container';
|
|||
import { useAppDispatch, useAppSelector } from 'soapbox/hooks';
|
||||
|
||||
const messages = defineMessages({
|
||||
heading: { id: 'followRecommendations.heading', defaultMessage: 'Suggested Profiles' },
|
||||
heading: { id: 'follow_recommendations.heading', defaultMessage: 'Suggested Profiles' },
|
||||
});
|
||||
|
||||
const FollowRecommendations: React.FC = () => {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import React from 'react';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
import { Avatar, Button, CardTitle, Stack } from 'soapbox/components/ui';
|
||||
import { type Card as StatusCard } from 'soapbox/types/entities';
|
||||
|
@ -28,7 +29,7 @@ const GroupLinkPreview: React.FC<IGroupLinkPreview> = ({ card }) => {
|
|||
<CardTitle title={<span dangerouslySetInnerHTML={{ __html: group.display_name_html }} />} />
|
||||
|
||||
<Button theme='primary' to={`/group/${group.slug}`} block>
|
||||
View Group
|
||||
<FormattedMessage id='group.popover.action' defaultMessage='View Group' />
|
||||
</Button>
|
||||
</Stack>
|
||||
</Stack>
|
||||
|
|
|
@ -100,7 +100,7 @@ const DetailedStatus: React.FC<IDetailedStatus> = ({
|
|||
if (actualStatus.pleroma.get('quote_visible', true) === false) {
|
||||
quote = (
|
||||
<div className='quoted-actualStatus-tombstone'>
|
||||
<p><FormattedMessage id='actualStatuses.quote_tombstone' defaultMessage='Post is unavailable.' /></p>
|
||||
<p><FormattedMessage id='status.quote_tombstone' defaultMessage='Post is unavailable.' /></p>
|
||||
</div>
|
||||
);
|
||||
} else {
|
||||
|
@ -190,7 +190,7 @@ const DetailedStatus: React.FC<IDetailedStatus> = ({
|
|||
tabIndex={0}
|
||||
>
|
||||
<Text tag='span' theme='muted' size='sm'>
|
||||
<FormattedMessage id='actualStatus.edited' defaultMessage='Edited {date}' values={{ date: intl.formatDate(new Date(actualStatus.edited_at), { hour12: true, month: 'short', day: '2-digit', hour: 'numeric', minute: '2-digit' }) }} />
|
||||
<FormattedMessage id='status.edited' defaultMessage='Edited {date}' values={{ date: intl.formatDate(new Date(actualStatus.edited_at), { hour12: true, month: 'short', day: '2-digit', hour: 'numeric', minute: '2-digit' }) }} />
|
||||
</Text>
|
||||
</div>
|
||||
</>
|
||||
|
|
|
@ -25,6 +25,16 @@ const messages = defineMessages({
|
|||
export: { id: 'theme_editor.export', defaultMessage: 'Export theme' },
|
||||
import: { id: 'theme_editor.import', defaultMessage: 'Import theme' },
|
||||
importSuccess: { id: 'theme_editor.import_success', defaultMessage: 'Theme was successfully imported!' },
|
||||
colorPrimary: { id: 'theme_editor.colors.primary', defaultMessage: 'Primary' },
|
||||
colorSecondary: { id: 'theme_editor.colors.secondary', defaultMessage: 'Secondary' },
|
||||
colorAccent: { id: 'theme_editor.colors.accent', defaultMessage: 'Accent' },
|
||||
colorGray: { id: 'theme_editor.colors.gray', defaultMessage: 'Gray' },
|
||||
colorSuccess: { id: 'theme_editor.colors.success', defaultMessage: 'Success' },
|
||||
colorDanger: { id: 'theme_editor.colors.danger', defaultMessage: 'Danger' },
|
||||
colorGreentext: { id: 'theme_editor.colors.greentext', defaultMessage: 'Greentext' },
|
||||
colorAccentBlue: { id: 'theme_editor.colors.accent_blue', defaultMessage: 'Accent Blue' },
|
||||
colorGradientStart: { id: 'theme_editor.colors.gradient_start', defaultMessage: 'Gradient Start' },
|
||||
colorGradientEnd: { id: 'theme_editor.colors.gradient_end', defaultMessage: 'Gradient End' },
|
||||
});
|
||||
|
||||
interface IThemeEditor {
|
||||
|
@ -125,42 +135,42 @@ const ThemeEditor: React.FC<IThemeEditor> = () => {
|
|||
<Form onSubmit={handleSubmit}>
|
||||
<List>
|
||||
<PaletteListItem
|
||||
label='Primary'
|
||||
label={intl.formatMessage(messages.colorPrimary)}
|
||||
palette={colors.primary}
|
||||
onChange={updateColors('primary')}
|
||||
resetKey={resetKey}
|
||||
/>
|
||||
|
||||
<PaletteListItem
|
||||
label='Secondary'
|
||||
label={intl.formatMessage(messages.colorSecondary)}
|
||||
palette={colors.secondary}
|
||||
onChange={updateColors('secondary')}
|
||||
resetKey={resetKey}
|
||||
/>
|
||||
|
||||
<PaletteListItem
|
||||
label='Accent'
|
||||
label={intl.formatMessage(messages.colorAccent)}
|
||||
palette={colors.accent}
|
||||
onChange={updateColors('accent')}
|
||||
resetKey={resetKey}
|
||||
/>
|
||||
|
||||
<PaletteListItem
|
||||
label='Gray'
|
||||
label={intl.formatMessage(messages.colorGray)}
|
||||
palette={colors.gray}
|
||||
onChange={updateColors('gray')}
|
||||
resetKey={resetKey}
|
||||
/>
|
||||
|
||||
<PaletteListItem
|
||||
label='Success'
|
||||
label={intl.formatMessage(messages.colorSuccess)}
|
||||
palette={colors.success}
|
||||
onChange={updateColors('success')}
|
||||
resetKey={resetKey}
|
||||
/>
|
||||
|
||||
<PaletteListItem
|
||||
label='Danger'
|
||||
label={intl.formatMessage(messages.colorDanger)}
|
||||
palette={colors.danger}
|
||||
onChange={updateColors('danger')}
|
||||
resetKey={resetKey}
|
||||
|
@ -169,25 +179,25 @@ const ThemeEditor: React.FC<IThemeEditor> = () => {
|
|||
|
||||
<List>
|
||||
<ColorListItem
|
||||
label='Greentext'
|
||||
label={intl.formatMessage(messages.colorGreentext)}
|
||||
value={colors.greentext}
|
||||
onChange={updateColor('greentext')}
|
||||
/>
|
||||
|
||||
<ColorListItem
|
||||
label='Accent Blue'
|
||||
label={intl.formatMessage(messages.colorAccentBlue)}
|
||||
value={colors['accent-blue']}
|
||||
onChange={updateColor('accent-blue')}
|
||||
/>
|
||||
|
||||
<ColorListItem
|
||||
label='Gradient Start'
|
||||
label={intl.formatMessage(messages.colorGradientStart)}
|
||||
value={colors['gradient-start']}
|
||||
onChange={updateColor('gradient-start')}
|
||||
/>
|
||||
|
||||
<ColorListItem
|
||||
label='Gradient End'
|
||||
label={intl.formatMessage(messages.colorGradientEnd)}
|
||||
value={colors['gradient-end']}
|
||||
onChange={updateColor('gradient-end')}
|
||||
/>
|
||||
|
@ -210,7 +220,7 @@ const ThemeEditor: React.FC<IThemeEditor> = () => {
|
|||
}]}
|
||||
/>
|
||||
<Button theme='secondary' onClick={resetTheme}>
|
||||
<FormattedMessage id='theme_editor.Reset' defaultMessage='Reset' />
|
||||
<FormattedMessage id='theme_editor.reset' defaultMessage='Reset' />
|
||||
</Button>
|
||||
|
||||
<Button type='submit' theme='primary' disabled={submitting}>
|
||||
|
|
|
@ -8,7 +8,7 @@ import { useRegistrationStatus, useSoapboxConfig } from 'soapbox/hooks';
|
|||
|
||||
const messages = defineMessages({
|
||||
download: { id: 'landing_page_modal.download', defaultMessage: 'Download' },
|
||||
helpCenter: { id: 'landing_page_modal.helpCenter', defaultMessage: 'Help Center' },
|
||||
helpCenter: { id: 'landing_page_modal.help_center', defaultMessage: 'Help Center' },
|
||||
login: { id: 'header.login.label', defaultMessage: 'Log in' },
|
||||
register: { id: 'header.register.label', defaultMessage: 'Register' },
|
||||
});
|
||||
|
|
|
@ -22,8 +22,8 @@ const messages = defineMessages({
|
|||
done: { id: 'report.done', defaultMessage: 'Done' },
|
||||
next: { id: 'report.next', defaultMessage: 'Next' },
|
||||
submit: { id: 'report.submit', defaultMessage: 'Submit' },
|
||||
reportContext: { id: 'report.chatMessage.context', defaultMessage: 'When reporting a user’s message, the five messages before and five messages after the one selected will be passed along to our moderation team for context.' },
|
||||
reportMessage: { id: 'report.chatMessage.title', defaultMessage: 'Report message' },
|
||||
reportContext: { id: 'report.chat_message.context', defaultMessage: 'When reporting a user’s message, the five messages before and five messages after the one selected will be passed along to our moderation team for context.' },
|
||||
reportMessage: { id: 'report.chat_message.title', defaultMessage: 'Report message' },
|
||||
reportGroup: { id: 'report.group.title', defaultMessage: 'Report Group' },
|
||||
cancel: { id: 'common.cancel', defaultMessage: 'Cancel' },
|
||||
previous: { id: 'report.previous', defaultMessage: 'Previous' },
|
||||
|
|
|
@ -12,11 +12,11 @@ import { getDomain } from 'soapbox/utils/accounts';
|
|||
import type { Account } from 'soapbox/schemas';
|
||||
|
||||
const messages = defineMessages({
|
||||
addAdditionalStatuses: { id: 'report.otherActions.addAdditional', defaultMessage: 'Would you like to add additional statuses to this report?' },
|
||||
addMore: { id: 'report.otherActions.addMore', defaultMessage: 'Add more' },
|
||||
furtherActions: { id: 'report.otherActions.furtherActions', defaultMessage: 'Further actions:' },
|
||||
hideAdditionalStatuses: { id: 'report.otherActions.hideAdditional', defaultMessage: 'Hide additional statuses' },
|
||||
otherStatuses: { id: 'report.otherActions.otherStatuses', defaultMessage: 'Include other statuses?' },
|
||||
addAdditionalStatuses: { id: 'report.other_actions.add_additional', defaultMessage: 'Would you like to add additional statuses to this report?' },
|
||||
addMore: { id: 'report.other_actions.add_more', defaultMessage: 'Add more' },
|
||||
furtherActions: { id: 'report.other_actions.further_actions', defaultMessage: 'Further actions:' },
|
||||
hideAdditionalStatuses: { id: 'report.other_actions.hide_additional', defaultMessage: 'Hide additional statuses' },
|
||||
otherStatuses: { id: 'report.other_actions.other_statuses', defaultMessage: 'Include other statuses?' },
|
||||
});
|
||||
|
||||
interface IOtherActionsStep {
|
||||
|
|
|
@ -15,7 +15,7 @@ interface ITrendsPanel {
|
|||
|
||||
const messages = defineMessages({
|
||||
viewAll: {
|
||||
id: 'trendsPanel.viewAll',
|
||||
id: 'trends_panel.view_all',
|
||||
defaultMessage: 'View all',
|
||||
},
|
||||
});
|
||||
|
|
|
@ -83,8 +83,6 @@
|
|||
"account_note.header": "Note",
|
||||
"account_note.placeholder": "Click to add a note",
|
||||
"account_search.placeholder": "Search for an account",
|
||||
"actualStatus.edited": "Edited {date}",
|
||||
"actualStatuses.quote_tombstone": "Post is unavailable.",
|
||||
"admin.announcements.action": "Create announcement",
|
||||
"admin.announcements.all_day": "All day",
|
||||
"admin.announcements.delete": "Delete",
|
||||
|
@ -234,7 +232,7 @@
|
|||
"chat_list_item.blocked_you": "This user has blocked you",
|
||||
"chat_list_item.blocking": "You have blocked this user",
|
||||
"chat_message_list.blocked": "You blocked this user",
|
||||
"chat_message_list.blockedBy": "You are blocked by",
|
||||
"chat_message_list.blocked_by": "You are blocked by",
|
||||
"chat_message_list.network_failure.action": "Try again",
|
||||
"chat_message_list.network_failure.subtitle": "We encountered a network failure.",
|
||||
"chat_message_list.network_failure.title": "Whoops!",
|
||||
|
@ -281,7 +279,7 @@
|
|||
"chat_window.auto_delete_tooltip": "Chat messages are set to auto-delete after {day, plural, one {# day} other {# days}} upon sending.",
|
||||
"chats.actions.copy": "Copy",
|
||||
"chats.actions.delete": "Delete for both",
|
||||
"chats.actions.deleteForMe": "Delete for me",
|
||||
"chats.actions.delete_for_me": "Delete for me",
|
||||
"chats.actions.more": "More",
|
||||
"chats.actions.report": "Report",
|
||||
"chats.dividers.today": "Today",
|
||||
|
@ -575,7 +573,9 @@
|
|||
"developers.settings_store.advanced": "Advanced settings",
|
||||
"developers.settings_store.hint": "It is possible to directly edit your user settings here. BE CAREFUL! Editing this section can break your account, and you will only be able to recover through the API.",
|
||||
"direct.search_placeholder": "Send a message to…",
|
||||
"directory.display_filter": "Display filter",
|
||||
"directory.federated": "From known fediverse",
|
||||
"directory.fediverse_filter": "Fediverse filter",
|
||||
"directory.local": "From {domain} only",
|
||||
"directory.new_arrivals": "New arrivals",
|
||||
"directory.recently_active": "Recently active",
|
||||
|
@ -695,9 +695,11 @@
|
|||
"event.copy": "Copy link to event",
|
||||
"event.date": "Date",
|
||||
"event.description": "Description",
|
||||
"event.discussion": "Discussion",
|
||||
"event.discussion.empty": "No one has commented this event yet. When someone does, they will appear here.",
|
||||
"event.export_ics": "Export to your calendar",
|
||||
"event.external": "View event on {domain}",
|
||||
"event.information": "Information",
|
||||
"event.join_state.accept": "Going",
|
||||
"event.join_state.empty": "Participate",
|
||||
"event.join_state.pending": "Pending",
|
||||
|
@ -756,7 +758,7 @@
|
|||
"filters.filters_list_phrases_label": "Keywords or phrases:",
|
||||
"filters.filters_list_warn": "Display warning",
|
||||
"filters.removed": "Filter deleted.",
|
||||
"followRecommendations.heading": "Suggested Profiles",
|
||||
"follow_recommendations.heading": "Suggested Profiles",
|
||||
"follow_request.authorize": "Authorize",
|
||||
"follow_request.reject": "Reject",
|
||||
"gdpr.accept": "Accept",
|
||||
|
@ -926,7 +928,7 @@
|
|||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "to move up in the list",
|
||||
"landing_page_modal.download": "Download",
|
||||
"landing_page_modal.helpCenter": "Help Center",
|
||||
"landing_page_modal.help_center": "Help Center",
|
||||
"lightbox.close": "Close",
|
||||
"lightbox.expand": "Expand",
|
||||
"lightbox.minimize": "Minimize",
|
||||
|
@ -1223,6 +1225,7 @@
|
|||
"register_invite.lead": "Complete the form below to create an account.",
|
||||
"register_invite.title": "You've been invited to join {siteTitle}!",
|
||||
"registration.agreement": "I agree to the {tos}.",
|
||||
"registration.captcha": "Captcha",
|
||||
"registration.captcha.hint": "Click the image to get a new captcha",
|
||||
"registration.captcha.placeholder": "Enter the pictured text",
|
||||
"registration.closed_message": "{instance} is not accepting new members",
|
||||
|
@ -1280,8 +1283,8 @@
|
|||
"reply_mentions.reply_empty": "Replying to post",
|
||||
"report.block": "Block {target}",
|
||||
"report.block_hint": "Do you also want to block this account?",
|
||||
"report.chatMessage.context": "When reporting a user’s message, the five messages before and five messages after the one selected will be passed along to our moderation team for context.",
|
||||
"report.chatMessage.title": "Report message",
|
||||
"report.chat_message.context": "When reporting a user’s message, the five messages before and five messages after the one selected will be passed along to our moderation team for context.",
|
||||
"report.chat_message.title": "Report message",
|
||||
"report.confirmation.content": "If we find that this {entity} is violating the {link} we will take further action on the matter.",
|
||||
"report.confirmation.entity.account": "account",
|
||||
"report.confirmation.entity.group": "group",
|
||||
|
@ -1291,11 +1294,11 @@
|
|||
"report.forward_hint": "The account is from another server. Send a copy of the report there as well?",
|
||||
"report.group.title": "Report Group",
|
||||
"report.next": "Next",
|
||||
"report.otherActions.addAdditional": "Would you like to add additional statuses to this report?",
|
||||
"report.otherActions.addMore": "Add more",
|
||||
"report.otherActions.furtherActions": "Further actions:",
|
||||
"report.otherActions.hideAdditional": "Hide additional statuses",
|
||||
"report.otherActions.otherStatuses": "Include other statuses?",
|
||||
"report.other_actions.add_additional": "Would you like to add additional statuses to this report?",
|
||||
"report.other_actions.add_more": "Add more",
|
||||
"report.other_actions.further_actions": "Further actions:",
|
||||
"report.other_actions.hide_additional": "Hide additional statuses",
|
||||
"report.other_actions.other_statuses": "Include other statuses?",
|
||||
"report.placeholder": "Additional comments",
|
||||
"report.previous": "Previous",
|
||||
"report.reason.blankslate": "You have removed all statuses from being selected.",
|
||||
|
@ -1429,6 +1432,7 @@
|
|||
"status.disabled_replies.group_membership": "Only group members can reply",
|
||||
"status.disfavourite": "Disike",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.embed": "Embed post",
|
||||
"status.external": "View post on {domain}",
|
||||
"status.favourite": "Like",
|
||||
|
@ -1449,6 +1453,7 @@
|
|||
"status.pin_to_group.success": "Pinned to Group!",
|
||||
"status.pinned": "Pinned post",
|
||||
"status.quote": "Quote post",
|
||||
"status.quote_tombstone": "Post is unavailable.",
|
||||
"status.reactions.cry": "Sad",
|
||||
"status.reactions.empty": "No one has reacted to this post yet. When someone does, they will show up here.",
|
||||
"status.reactions.heart": "Love",
|
||||
|
@ -1466,7 +1471,7 @@
|
|||
"status.remove_account_from_group": "Remove account from group",
|
||||
"status.remove_post_from_group": "Remove post from group",
|
||||
"status.reply": "Reply",
|
||||
"status.replyAll": "Reply to thread",
|
||||
"status.reply_all": "Reply to thread",
|
||||
"status.report": "Report @{name}",
|
||||
"status.sensitive_warning": "Sensitive content",
|
||||
"status.sensitive_warning.subtitle": "This content may not be suitable for all audiences.",
|
||||
|
@ -1511,10 +1516,20 @@
|
|||
"tabs_bar.search": "Search",
|
||||
"tabs_bar.settings": "Settings",
|
||||
"textarea.counter.label": "{count} characters remaining",
|
||||
"theme_editor.Reset": "Reset",
|
||||
"theme_editor.colors.accent": "Accent",
|
||||
"theme_editor.colors.accent_blue": "Accent Blue",
|
||||
"theme_editor.colors.danger": "Danger",
|
||||
"theme_editor.colors.gradient_end": "Gradient End",
|
||||
"theme_editor.colors.gradient_start": "Gradient Start",
|
||||
"theme_editor.colors.gray": "Gray",
|
||||
"theme_editor.colors.greentext": "Greentext",
|
||||
"theme_editor.colors.primary": "Primary",
|
||||
"theme_editor.colors.secondary": "Secondary",
|
||||
"theme_editor.colors.success": "Success",
|
||||
"theme_editor.export": "Export theme",
|
||||
"theme_editor.import": "Import theme",
|
||||
"theme_editor.import_success": "Theme was successfully imported!",
|
||||
"theme_editor.reset": "Reset",
|
||||
"theme_editor.restore": "Restore default theme",
|
||||
"theme_editor.save": "Save theme",
|
||||
"theme_editor.saved": "Theme updated!",
|
||||
|
@ -1534,7 +1549,7 @@
|
|||
"toast.view": "View",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
|
||||
"trends.title": "Trends",
|
||||
"trendsPanel.viewAll": "View all",
|
||||
"trends_panel.view_all": "View all",
|
||||
"unauthorized_modal.text": "You need to be logged in to do that.",
|
||||
"unauthorized_modal.title": "Sign up for {site_title}",
|
||||
"upload_button.label": "Add media attachment",
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import React from 'react';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
import { useHistory } from 'react-router-dom';
|
||||
|
||||
import { Column, Layout, Tabs } from 'soapbox/components/ui';
|
||||
|
@ -46,12 +47,12 @@ const EventPage: React.FC<IEventPage> = ({ params, children }) => {
|
|||
|
||||
const tabs = status ? [
|
||||
{
|
||||
text: 'Information',
|
||||
text: <FormattedMessage id='event.information' defaultMessage='Information' />,
|
||||
to: `/@${status.getIn(['account', 'acct'])}/events/${status.id}`,
|
||||
name: 'info',
|
||||
},
|
||||
{
|
||||
text: 'Discussion',
|
||||
text: <FormattedMessage id='event.discussion' defaultMessage='Discussion' />,
|
||||
to: `/@${status.getIn(['account', 'acct'])}/events/${status.id}/discussion`,
|
||||
name: 'discussion',
|
||||
},
|
||||
|
|
125
yarn.lock
125
yarn.lock
|
@ -1546,6 +1546,19 @@
|
|||
intl-messageformat "10.5.3"
|
||||
tslib "^2.4.0"
|
||||
|
||||
"@formatjs/ts-transformer@3.13.12":
|
||||
version "3.13.12"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/ts-transformer/-/ts-transformer-3.13.12.tgz#5984b7b92492580bfd09deb09a5b57589b757c5f"
|
||||
integrity sha512-uf1+DgbsCrzHAg7uIf0QlzpIkHYxRSRig5iJa9FaoUNIDZzNEE2oW/uLLLq7I9Z2FLIPhbmgq8hbW40FoQv+Fg==
|
||||
dependencies:
|
||||
"@formatjs/icu-messageformat-parser" "2.7.6"
|
||||
"@types/json-stable-stringify" "^1.0.32"
|
||||
"@types/node" "14 || 16 || 17"
|
||||
chalk "^4.0.0"
|
||||
json-stable-stringify "^1.0.1"
|
||||
tslib "^2.4.0"
|
||||
typescript "5"
|
||||
|
||||
"@formatjs/ts-transformer@3.13.5":
|
||||
version "3.13.5"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/ts-transformer/-/ts-transformer-3.13.5.tgz#8b4f5dcb02940e3f12b9f6c95b47f52777a9969d"
|
||||
|
@ -2476,6 +2489,14 @@
|
|||
"@types/estree" "*"
|
||||
"@types/json-schema" "*"
|
||||
|
||||
"@types/eslint@7 || 8":
|
||||
version "8.56.6"
|
||||
resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.6.tgz#d5dc16cac025d313ee101108ba5714ea10eb3ed0"
|
||||
integrity sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A==
|
||||
dependencies:
|
||||
"@types/estree" "*"
|
||||
"@types/json-schema" "*"
|
||||
|
||||
"@types/estree@*", "@types/estree@^1.0.0":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194"
|
||||
|
@ -2570,6 +2591,11 @@
|
|||
resolved "https://registry.yarnpkg.com/@types/path-browserify/-/path-browserify-1.0.0.tgz#294ec6e88b6b0d340a3897b7120e5b393f16690e"
|
||||
integrity sha512-XMCcyhSvxcch8b7rZAtFAaierBYdeHXVvg2iYnxOV0MCQHmPuRRmGZPFDRzPayxcGiiSL1Te9UIO+f3cuj0tfw==
|
||||
|
||||
"@types/picomatch@^2.3.0":
|
||||
version "2.3.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/picomatch/-/picomatch-2.3.3.tgz#be60498568c19e989e43fb39aa84be1ed3655e92"
|
||||
integrity sha512-Yll76ZHikRFCyz/pffKGjrCwe/le2CDwOP5F210KQo27kpRE46U2rDnzikNlVn6/ezH3Mhn46bJMTfeVTtcYMg==
|
||||
|
||||
"@types/prop-types@*":
|
||||
version "15.7.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
|
||||
|
@ -2740,6 +2766,14 @@
|
|||
"@typescript-eslint/visitor-keys" "7.0.1"
|
||||
debug "^4.3.4"
|
||||
|
||||
"@typescript-eslint/scope-manager@6.21.0":
|
||||
version "6.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1"
|
||||
integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "6.21.0"
|
||||
"@typescript-eslint/visitor-keys" "6.21.0"
|
||||
|
||||
"@typescript-eslint/scope-manager@7.0.1":
|
||||
version "7.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.0.1.tgz#611ec8e78c70439b152a805e1b10aaac36de7c00"
|
||||
|
@ -2758,11 +2792,30 @@
|
|||
debug "^4.3.4"
|
||||
ts-api-utils "^1.0.1"
|
||||
|
||||
"@typescript-eslint/types@6.21.0":
|
||||
version "6.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d"
|
||||
integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==
|
||||
|
||||
"@typescript-eslint/types@7.0.1":
|
||||
version "7.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.0.1.tgz#dcfabce192db5b8bf77ea3c82cfaabe6e6a3c901"
|
||||
integrity sha512-uJDfmirz4FHib6ENju/7cz9SdMSkeVvJDK3VcMFvf/hAShg8C74FW+06MaQPODHfDJp/z/zHfgawIJRjlu0RLg==
|
||||
|
||||
"@typescript-eslint/typescript-estree@6.21.0":
|
||||
version "6.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46"
|
||||
integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "6.21.0"
|
||||
"@typescript-eslint/visitor-keys" "6.21.0"
|
||||
debug "^4.3.4"
|
||||
globby "^11.1.0"
|
||||
is-glob "^4.0.3"
|
||||
minimatch "9.0.3"
|
||||
semver "^7.5.4"
|
||||
ts-api-utils "^1.0.1"
|
||||
|
||||
"@typescript-eslint/typescript-estree@7.0.1":
|
||||
version "7.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.0.1.tgz#1d52ac03da541693fa5bcdc13ad655def5046faf"
|
||||
|
@ -2790,6 +2843,27 @@
|
|||
"@typescript-eslint/typescript-estree" "7.0.1"
|
||||
semver "^7.5.4"
|
||||
|
||||
"@typescript-eslint/utils@^6.18.1":
|
||||
version "6.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134"
|
||||
integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils" "^4.4.0"
|
||||
"@types/json-schema" "^7.0.12"
|
||||
"@types/semver" "^7.5.0"
|
||||
"@typescript-eslint/scope-manager" "6.21.0"
|
||||
"@typescript-eslint/types" "6.21.0"
|
||||
"@typescript-eslint/typescript-estree" "6.21.0"
|
||||
semver "^7.5.4"
|
||||
|
||||
"@typescript-eslint/visitor-keys@6.21.0":
|
||||
version "6.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47"
|
||||
integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "6.21.0"
|
||||
eslint-visitor-keys "^3.4.1"
|
||||
|
||||
"@typescript-eslint/visitor-keys@7.0.1":
|
||||
version "7.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.0.1.tgz#864680ac5a8010ec4814f8a818e57595f79f464e"
|
||||
|
@ -4257,6 +4331,11 @@ emoji-mart@^5.5.2:
|
|||
resolved "https://registry.yarnpkg.com/emoji-mart/-/emoji-mart-5.5.2.tgz#3ddbaf053139cf4aa217650078bc1c50ca8381af"
|
||||
integrity sha512-Sqc/nso4cjxhOwWJsp9xkVm8OF5c+mJLZJFoFfzRuKO+yWiN7K8c96xmtughYb0d/fZ8UC6cLIQ/p4BR6Pv3/A==
|
||||
|
||||
emoji-regex@10.3.0, emoji-regex@^10.2.1:
|
||||
version "10.3.0"
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23"
|
||||
integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==
|
||||
|
||||
emoji-regex@^8.0.0:
|
||||
version "8.0.0"
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
|
||||
|
@ -4530,6 +4609,23 @@ eslint-plugin-compat@^4.2.0:
|
|||
lodash.memoize "^4.1.2"
|
||||
semver "^7.5.4"
|
||||
|
||||
eslint-plugin-formatjs@^4.12.2:
|
||||
version "4.12.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-formatjs/-/eslint-plugin-formatjs-4.12.2.tgz#ad275d78f82bad95583c141f65ecd7e222c329ed"
|
||||
integrity sha512-b4iEsi0Y3zy7J6xjxlhrIaDFJa27OiLwardvCRBRHALoZs8rNJ0oQIW6ymUgELLEMeFuEMAd2837M+n5SHJutg==
|
||||
dependencies:
|
||||
"@formatjs/icu-messageformat-parser" "2.7.6"
|
||||
"@formatjs/ts-transformer" "3.13.12"
|
||||
"@types/eslint" "7 || 8"
|
||||
"@types/picomatch" "^2.3.0"
|
||||
"@typescript-eslint/utils" "^6.18.1"
|
||||
emoji-regex "^10.2.1"
|
||||
magic-string "^0.30.0"
|
||||
picomatch "^2.3.1"
|
||||
tslib "2.6.2"
|
||||
typescript "5"
|
||||
unicode-emoji-utils "^1.2.0"
|
||||
|
||||
eslint-plugin-import@^2.28.1:
|
||||
version "2.28.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz#63b8b5b3c409bfc75ebaf8fb206b07ab435482c4"
|
||||
|
@ -6338,6 +6434,13 @@ magic-string@^0.25.0, magic-string@^0.25.7:
|
|||
dependencies:
|
||||
sourcemap-codec "^1.4.8"
|
||||
|
||||
magic-string@^0.30.0:
|
||||
version "0.30.8"
|
||||
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.8.tgz#14e8624246d2bedba70d5462aa99ac9681844613"
|
||||
integrity sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==
|
||||
dependencies:
|
||||
"@jridgewell/sourcemap-codec" "^1.4.15"
|
||||
|
||||
magic-string@^0.30.2:
|
||||
version "0.30.3"
|
||||
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.3.tgz#403755dfd9d6b398dfa40635d52e96c5ac095b85"
|
||||
|
@ -8794,16 +8897,16 @@ tsconfig-paths@^3.14.2:
|
|||
minimist "^1.2.6"
|
||||
strip-bom "^3.0.0"
|
||||
|
||||
tslib@2.6.2, tslib@^2.0.3, tslib@^2.3.1, tslib@^2.4.0, "tslib@^2.4.1 || ^1.9.3":
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
|
||||
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
|
||||
|
||||
tslib@^1.9.0:
|
||||
version "1.14.1"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
|
||||
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
|
||||
|
||||
tslib@^2.0.3, tslib@^2.3.1, tslib@^2.4.0, "tslib@^2.4.1 || ^1.9.3":
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
|
||||
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
|
||||
|
||||
twemoji-parser@14.0.0:
|
||||
version "14.0.0"
|
||||
resolved "https://registry.yarnpkg.com/twemoji-parser/-/twemoji-parser-14.0.0.tgz#13dabcb6d3a261d9efbf58a1666b182033bf2b62"
|
||||
|
@ -8889,6 +8992,11 @@ typed-array-length@^1.0.4:
|
|||
for-each "^0.3.3"
|
||||
is-typed-array "^1.1.9"
|
||||
|
||||
typescript@5:
|
||||
version "5.4.3"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.3.tgz#5c6fedd4c87bee01cd7a528a30145521f8e0feff"
|
||||
integrity sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==
|
||||
|
||||
"typescript@^4.7 || 5", typescript@^5.1.3:
|
||||
version "5.2.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78"
|
||||
|
@ -8914,6 +9022,13 @@ unicode-canonical-property-names-ecmascript@^2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
|
||||
integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==
|
||||
|
||||
unicode-emoji-utils@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/unicode-emoji-utils/-/unicode-emoji-utils-1.2.0.tgz#4f9452fcab0e3816ff1d93412d06ee1a1ba2cdc0"
|
||||
integrity sha512-djUB91p/6oYpgps4W5K/MAvM+UspoAANHSUW495BrxeLRoned3iNPEDQgrKx9LbLq93VhNz0NWvI61vcfrwYoA==
|
||||
dependencies:
|
||||
emoji-regex "10.3.0"
|
||||
|
||||
unicode-match-property-ecmascript@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
|
||||
|
|
Loading…
Reference in a new issue