diff --git a/packages/nicolium/package.json b/packages/nicolium/package.json index 4081a6a08..f2339cfea 100644 --- a/packages/nicolium/package.json +++ b/packages/nicolium/package.json @@ -81,6 +81,7 @@ "cryptocurrency-icons": "^0.18.1", "cssnano": "^7.1.2", "detect-passive-events": "^2.0.3", + "dompurify": "^3.3.2", "emoji-datasource": "15.0.1", "emoji-mart": "^5.6.0", "exifr": "^7.1.3", @@ -91,7 +92,6 @@ "html-react-parser": "^5.2.17", "intl-messageformat": "^11.1.2", "intl-pluralrules": "^2.0.1", - "dompurify": "^3.3.2", "leaflet": "^1.9.4", "lexical": "^0.41.0", "line-awesome": "^1.3.0", diff --git a/packages/nicolium/src/features/chats/components/chat-message-list.tsx b/packages/nicolium/src/features/chats/components/chat-message-list.tsx index 0e7947af5..519bb9d0c 100644 --- a/packages/nicolium/src/features/chats/components/chat-message-list.tsx +++ b/packages/nicolium/src/features/chats/components/chat-message-list.tsx @@ -1,5 +1,5 @@ import React, { useState, useEffect, useRef, useCallback, useMemo } from 'react'; -import { useIntl, defineMessages } from 'react-intl'; +import { useIntl, defineMessages, FormattedMessage } from 'react-intl'; import { type Components, Virtuoso, type VirtuosoHandle } from 'react-virtuoso'; import Avatar from '@/components/ui/avatar'; @@ -22,16 +22,6 @@ import type { Chat } from 'pl-api'; const messages = defineMessages({ today: { id: 'chats.dividers.today', defaultMessage: 'Today' }, - 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', - }, }); type TimeFormat = 'today' | 'date'; @@ -219,7 +209,12 @@ const ChatMessageList: React.FC = React.memo(({ chat }) => { /> <> - {intl.formatMessage(messages.blockedBy)}{' '} + + + {' '} @{chat.account.acct} @@ -236,16 +231,25 @@ const ChatMessageList: React.FC = React.memo(({ chat }) => { - {intl.formatMessage(messages.networkFailureTitle)} + - {intl.formatMessage(messages.networkFailureSubtitle)} +
diff --git a/packages/nicolium/src/features/chats/components/chat-search/blankslate.tsx b/packages/nicolium/src/features/chats/components/chat-search/blankslate.tsx index c715ec8a6..8b2f61087 100644 --- a/packages/nicolium/src/features/chats/components/chat-search/blankslate.tsx +++ b/packages/nicolium/src/features/chats/components/chat-search/blankslate.tsx @@ -1,27 +1,21 @@ import React from 'react'; -import { defineMessages, useIntl } from 'react-intl'; +import { FormattedMessage } from 'react-intl'; import Stack from '@/components/ui/stack'; import Text from '@/components/ui/text'; -const messages = defineMessages({ - title: { id: 'chat_search.blankslate.title', defaultMessage: 'Start a chat' }, - body: { id: 'chat_search.blankslate.body', defaultMessage: 'Search for someone to chat with.' }, -}); - -const Blankslate = () => { - const intl = useIntl(); - - return ( - - - {intl.formatMessage(messages.title)} - - - {intl.formatMessage(messages.body)} - - - ); -}; +const Blankslate = () => ( + + + + + + + + +); export { Blankslate as default }; diff --git a/packages/nicolium/src/features/chats/components/chat-search/empty-results-blankslate.tsx b/packages/nicolium/src/features/chats/components/chat-search/empty-results-blankslate.tsx index 2dad5fe91..95fcbcf6e 100644 --- a/packages/nicolium/src/features/chats/components/chat-search/empty-results-blankslate.tsx +++ b/packages/nicolium/src/features/chats/components/chat-search/empty-results-blankslate.tsx @@ -1,31 +1,25 @@ import React from 'react'; -import { defineMessages, useIntl } from 'react-intl'; +import { FormattedMessage } from 'react-intl'; import Stack from '@/components/ui/stack'; import Text from '@/components/ui/text'; -const messages = defineMessages({ - title: { id: 'chat_search.empty_results_blankslate.title', defaultMessage: 'No matches found' }, - body: { - id: 'chat_search.empty_results_blankslate.body', - defaultMessage: 'Try searching for another name.', - }, -}); +const EmptyResultsBlankslate = () => ( + + + + -const EmptyResultsBlankslate = () => { - const intl = useIntl(); - - return ( - - - {intl.formatMessage(messages.title)} - - - - {intl.formatMessage(messages.body)} - - - ); -}; + + + + +); export { EmptyResultsBlankslate as default }; diff --git a/packages/nicolium/src/features/compose/components/polls/duration-selector.tsx b/packages/nicolium/src/features/compose/components/polls/duration-selector.tsx index 64c9cf8b9..81dbc9574 100644 --- a/packages/nicolium/src/features/compose/components/polls/duration-selector.tsx +++ b/packages/nicolium/src/features/compose/components/polls/duration-selector.tsx @@ -1,21 +1,9 @@ import React, { useEffect, useState } from 'react'; -import { defineMessages, useIntl } from 'react-intl'; +import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; import Select from '@/components/ui/select'; const messages = defineMessages({ - days: { - id: 'intervals.full.days', - defaultMessage: '{number, plural, one {# day} other {# days}}', - }, - hours: { - id: 'intervals.full.hours', - defaultMessage: '{number, plural, one {# hour} other {# hours}}', - }, - minutes: { - id: 'intervals.full.minutes', - defaultMessage: '{number, plural, one {# minute} other {# minutes}}', - }, daysTitle: { id: 'compose_form.poll.duration.days', defaultMessage: 'Days' }, hoursTitle: { id: 'compose_form.poll.duration.hours', defaultMessage: 'Hours' }, minutesTitle: { id: 'compose_form.poll.duration.minutes', defaultMessage: 'Minutes' }, @@ -59,7 +47,11 @@ const DurationSelector = ({ onDurationChange, value }: IDurationSelector) => { > {[...Array(8).fill(undefined)].map((_, number) => ( ))} @@ -77,7 +69,11 @@ const DurationSelector = ({ onDurationChange, value }: IDurationSelector) => { > {[...Array(24).fill(undefined)].map((_, number) => ( ))} @@ -95,7 +91,11 @@ const DurationSelector = ({ onDurationChange, value }: IDurationSelector) => { > {[0, 15, 30, 45].map((number) => ( ))} diff --git a/packages/nicolium/src/features/compose/components/polls/poll-form.tsx b/packages/nicolium/src/features/compose/components/polls/poll-form.tsx index 6adb12fea..7371cfcd3 100644 --- a/packages/nicolium/src/features/compose/components/polls/poll-form.tsx +++ b/packages/nicolium/src/features/compose/components/polls/poll-form.tsx @@ -21,21 +21,6 @@ const messages = defineMessages({ id: 'compose_form.poll.option_placeholder', defaultMessage: 'Answer #{number}', }, - pollDuration: { id: 'compose_form.poll.duration', defaultMessage: 'Poll duration' }, - removePoll: { id: 'compose_form.poll.remove', defaultMessage: 'Remove poll' }, - switchToMultiple: { - id: 'compose_form.poll.switch_to_multiple', - defaultMessage: 'Change poll to allow multiple answers', - }, - switchToSingle: { - id: 'compose_form.poll.switch_to_single', - defaultMessage: 'Change poll to allow for a single answer', - }, - multiSelect: { id: 'compose_form.poll.multiselect', defaultMessage: 'Multi-select' }, - multiSelectDetail: { - id: 'compose_form.poll.multiselect_detail', - defaultMessage: 'Allow users to select multiple answers', - }, }); interface IOption { @@ -137,7 +122,6 @@ interface IPollForm { const PollForm: React.FC = ({ composeId }) => { const { updateCompose } = useComposeActions(); - const intl = useIntl(); const { configuration } = useInstance(); const { poll, language, modifiedLanguage } = useCompose(composeId); @@ -224,10 +208,15 @@ const PollForm: React.FC = ({ composeId }) => {