pl-fe: update more icons
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
@ -68,7 +68,7 @@ const LocationSearch: React.FC<ILocationSearch> = ({ onSelected }) => {
|
||||
/>
|
||||
<div role='button' tabIndex={0} className='absolute inset-y-0 right-0 flex cursor-pointer items-center px-3 rtl:left-0 rtl:right-auto' onClick={handleClear}>
|
||||
<Icon src={require('@phosphor-icons/core/regular/magnifying-glass.svg')} className={clsx('size-5 text-gray-600', { 'hidden': !empty })} />
|
||||
<Icon src={require('@tabler/icons/outline/backspace.svg')} className={clsx('size-5 text-gray-600', { 'hidden': empty })} aria-label={intl.formatMessage(messages.placeholder)} />
|
||||
<Icon src={require('@phosphor-icons/core/regular/backspace.svg')} className={clsx('size-5 text-gray-600', { 'hidden': empty })} aria-label={intl.formatMessage(messages.placeholder)} />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@ -149,7 +149,7 @@ const Item: React.FC<IItem> = ({
|
||||
const attachmentIcon = (
|
||||
<Icon
|
||||
className='size-16 text-gray-800 dark:text-gray-200'
|
||||
src={MIMETYPE_ICONS[attachment.mime_type as string] || require('@tabler/icons/outline/paperclip.svg')}
|
||||
src={MIMETYPE_ICONS[attachment.mime_type as string] || require('@phosphor-icons/core/regular/paperclip.svg')}
|
||||
/>
|
||||
);
|
||||
|
||||
@ -342,7 +342,7 @@ const MediaGallery: React.FC<IMediaGallery> = (props) => {
|
||||
<HStack element='button' alignItems='center' space={2} key={attachment.id} onClick={() => handleClick(index)}>
|
||||
<Icon
|
||||
className='size-4 min-w-fit text-gray-800 dark:text-gray-200'
|
||||
src={MIMETYPE_ICONS[(attachment.type === 'unknown' && attachment.mime_type) || attachment.type] || require('@tabler/icons/outline/paperclip.svg')}
|
||||
src={MIMETYPE_ICONS[(attachment.type === 'unknown' && attachment.mime_type) || attachment.type] || require('@phosphor-icons/core/regular/paperclip.svg')}
|
||||
/>
|
||||
<Text align='left'>
|
||||
{attachment.description || {
|
||||
|
||||
@ -147,7 +147,7 @@ const PollOption: React.FC<IPollOption> = (props): JSX.Element | null => {
|
||||
<HStack space={2} alignItems='center' className='relative'>
|
||||
{voted ? (
|
||||
<Icon
|
||||
src={require('@tabler/icons/outline/circle-check.svg')}
|
||||
src={require('@phosphor-icons/core/regular/check-circle.svg')}
|
||||
alt={intl.formatMessage(messages.voted)}
|
||||
className='size-4 text-primary-600 dark:fill-white dark:text-primary-800'
|
||||
/>
|
||||
|
||||
@ -142,7 +142,7 @@ const PreviewCard: React.FC<IPreviewCard> = ({
|
||||
)}
|
||||
<HStack space={1} alignItems='center'>
|
||||
<Text tag='span' theme='muted'>
|
||||
<Icon src={require('@tabler/icons/outline/link.svg')} />
|
||||
<Icon src={require('@phosphor-icons/core/regular/link-simple.svg')} />
|
||||
</Text>
|
||||
<Text tag='span' theme='muted' size='sm' direction={direction}>
|
||||
{card.provider_name}
|
||||
@ -179,7 +179,7 @@ const PreviewCard: React.FC<IPreviewCard> = ({
|
||||
let iconVariant = require('@phosphor-icons/core/regular/play.svg');
|
||||
|
||||
if (card.type === 'photo') {
|
||||
iconVariant = require('@tabler/icons/outline/zoom-in.svg');
|
||||
iconVariant = require('@phosphor-icons/core/regular/magnifying-glass-plus.svg');
|
||||
}
|
||||
|
||||
embed = (
|
||||
|
||||
@ -36,7 +36,7 @@ const Scrobble: React.FC<IScrobble> = ({ scrobble }) => {
|
||||
return (
|
||||
<HStack alignItems='center' space={0.5}>
|
||||
<Icon
|
||||
src={require('@tabler/icons/outline/music.svg')}
|
||||
src={require('@phosphor-icons/core/regular/music-notes-simple.svg')}
|
||||
className='size-4 text-gray-800 dark:text-gray-200'
|
||||
/>
|
||||
|
||||
|
||||
@ -95,7 +95,7 @@ const ScrollTopButton: React.FC<IScrollTopButton> = ({
|
||||
>
|
||||
<Icon
|
||||
className='size-4'
|
||||
src={require('@tabler/icons/outline/arrow-bar-to-up.svg')}
|
||||
src={require('@phosphor-icons/core/regular/arrow-line-up.svg')}
|
||||
/>
|
||||
|
||||
<Text theme='inherit' size='sm'>
|
||||
|
||||
@ -298,7 +298,7 @@ const Status: React.FC<IStatus> = (props) => {
|
||||
return (
|
||||
<StatusInfo
|
||||
avatarSize={avatarSize}
|
||||
icon={<Icon src={require('@tabler/icons/outline/circles.svg')} className='size-4 text-primary-600 dark:text-accent-blue' />}
|
||||
icon={<Icon src={require('@phosphor-icons/core/regular/users-three.svg')} className='size-4 text-primary-600 dark:text-accent-blue' />}
|
||||
text={
|
||||
<FormattedMessage
|
||||
id='status.group'
|
||||
|
||||
@ -87,7 +87,7 @@ const SensitiveContentOverlay = React.forwardRef<HTMLDivElement, ISensitiveConte
|
||||
{visible ? (
|
||||
<Button
|
||||
text={intl.formatMessage(messages.hide)}
|
||||
icon={require('@tabler/icons/outline/eye-off.svg')}
|
||||
icon={require('@phosphor-icons/core/regular/eye-slash.svg')}
|
||||
onClick={toggleVisibility}
|
||||
theme='primary'
|
||||
size='sm'
|
||||
@ -113,7 +113,7 @@ const SensitiveContentOverlay = React.forwardRef<HTMLDivElement, ISensitiveConte
|
||||
type='button'
|
||||
theme='outline'
|
||||
size='sm'
|
||||
icon={require('@tabler/icons/outline/eye.svg')}
|
||||
icon={require('@phosphor-icons/core/regular/eye.svg')}
|
||||
onClick={toggleVisibility}
|
||||
>
|
||||
{intl.formatMessage(messages.show)}
|
||||
|
||||
@ -50,7 +50,7 @@ const TrendingLink: React.FC<ITrendingLink> = ({ trendingLink }) => {
|
||||
<HStack alignItems='center' wrap className='divide-x-dot text-gray-700 dark:text-gray-600'>
|
||||
<HStack space={1} alignItems='center'>
|
||||
<Text tag='span' theme='muted'>
|
||||
<Icon src={require('@tabler/icons/outline/link.svg')} />
|
||||
<Icon src={require('@phosphor-icons/core/regular/link-simple.svg')} />
|
||||
</Text>
|
||||
<Text tag='span' theme='muted' size='sm' direction={direction}>
|
||||
{trendingLink.provider_name}
|
||||
|
||||
@ -61,7 +61,7 @@ const Accordion: React.FC<IAccordion> = ({ headline, children, menu, expanded =
|
||||
{menu && (
|
||||
<DropdownMenu
|
||||
items={menu}
|
||||
src={require('@tabler/icons/outline/dots-vertical.svg')}
|
||||
src={require('@phosphor-icons/core/regular/dots-three-vertical.svg')}
|
||||
/>
|
||||
)}
|
||||
{action && actionIcon && (
|
||||
|
||||
@ -123,7 +123,7 @@ const Input = React.forwardRef<HTMLInputElement, IInput>(
|
||||
className='h-full px-2 text-gray-700 hover:text-gray-500 focus:ring-2 focus:ring-primary-500 dark:text-gray-600 dark:hover:text-gray-400'
|
||||
>
|
||||
<SvgIcon
|
||||
src={revealed ? require('@tabler/icons/outline/eye-off.svg') : require('@tabler/icons/outline/eye.svg')}
|
||||
src={revealed ? require('@phosphor-icons/core/regular/eye-slash.svg') : require('@phosphor-icons/core/regular/eye.svg')}
|
||||
className='size-4'
|
||||
/>
|
||||
</button>
|
||||
|
||||
@ -42,7 +42,7 @@ const Toast = (props: IToast) => {
|
||||
case 'success':
|
||||
return (
|
||||
<Icon
|
||||
src={require('@tabler/icons/outline/circle-check.svg')}
|
||||
src={require('@phosphor-icons/core/regular/check-circle.svg')}
|
||||
className='size-6 text-success-500 dark:text-success-400'
|
||||
aria-hidden
|
||||
/>
|
||||
@ -50,7 +50,7 @@ const Toast = (props: IToast) => {
|
||||
case 'info':
|
||||
return (
|
||||
<Icon
|
||||
src={require('@tabler/icons/outline/info-circle.svg')}
|
||||
src={require('@phosphor-icons/core/regular/info.svg')}
|
||||
className='size-6 text-primary-600 dark:text-accent-blue'
|
||||
aria-hidden
|
||||
/>
|
||||
@ -58,7 +58,7 @@ const Toast = (props: IToast) => {
|
||||
case 'error':
|
||||
return (
|
||||
<Icon
|
||||
src={require('@tabler/icons/outline/alert-circle.svg')}
|
||||
src={require('@phosphor-icons/core/regular/warning-circle.svg')}
|
||||
className='size-6 text-danger-600'
|
||||
aria-hidden
|
||||
/>
|
||||
|
||||
@ -42,7 +42,7 @@ const Widget: React.FC<IWidget> = ({
|
||||
title,
|
||||
children,
|
||||
onActionClick,
|
||||
actionIcon = require('@tabler/icons/outline/arrow-right.svg'),
|
||||
actionIcon = require('@phosphor-icons/core/regular/arrow-right.svg'),
|
||||
actionTitle,
|
||||
action,
|
||||
}): JSX.Element => (
|
||||
|
||||
@ -16,7 +16,7 @@ interface IUploadProgress {
|
||||
const UploadProgress: React.FC<IUploadProgress> = ({ progress }) => (
|
||||
<HStack alignItems='center' space={2}>
|
||||
<Icon
|
||||
src={require('@tabler/icons/outline/cloud-upload.svg')}
|
||||
src={require('@phosphor-icons/core/regular/upload-simple.svg')}
|
||||
className='size-7 text-gray-500'
|
||||
/>
|
||||
|
||||
|
||||
@ -1,16 +1,25 @@
|
||||
import bookIcon from '@phosphor-icons/core/regular/book.svg';
|
||||
import fileArchiveIcon from '@phosphor-icons/core/regular/file-archive.svg';
|
||||
import fileCodeIcon from '@phosphor-icons/core/regular/file-code.svg';
|
||||
import fileCSSIcon from '@phosphor-icons/core/regular/file-css.svg';
|
||||
import fileDocIcon from '@phosphor-icons/core/regular/file-doc.svg';
|
||||
import fileHtmlIcon from '@phosphor-icons/core/regular/file-html.svg';
|
||||
import fileJSIcon from '@phosphor-icons/core/regular/file-js.svg';
|
||||
import filePdfIcon from '@phosphor-icons/core/regular/file-pdf.svg';
|
||||
import filePptIcon from '@phosphor-icons/core/regular/file-ppt.svg';
|
||||
import filePythonIcon from '@phosphor-icons/core/regular/file-py.svg';
|
||||
import fileTextIcon from '@phosphor-icons/core/regular/file-text.svg';
|
||||
import fileXlsIcon from '@phosphor-icons/core/regular/file-xls.svg';
|
||||
import fileZipIcon from '@phosphor-icons/core/regular/file-zip.svg';
|
||||
import imageIcon from '@phosphor-icons/core/regular/image.svg';
|
||||
import zoomInIcon from '@phosphor-icons/core/regular/magnifying-glass-plus.svg';
|
||||
import audioIcon from '@phosphor-icons/core/regular/music-notes-simple.svg';
|
||||
import defaultIcon from '@phosphor-icons/core/regular/paperclip.svg';
|
||||
import editIcon from '@phosphor-icons/core/regular/pencil-simple.svg';
|
||||
import presentationIcon from '@phosphor-icons/core/regular/presentation.svg';
|
||||
import spreadsheetIcon from '@phosphor-icons/core/regular/table.svg';
|
||||
import videoIcon from '@phosphor-icons/core/regular/video.svg';
|
||||
import xIcon from '@phosphor-icons/core/regular/x.svg';
|
||||
import bookIcon from '@tabler/icons/outline/book.svg';
|
||||
import fileCodeIcon from '@tabler/icons/outline/file-code.svg';
|
||||
import fileSpreadsheetIcon from '@tabler/icons/outline/file-spreadsheet.svg';
|
||||
import fileTextIcon from '@tabler/icons/outline/file-text.svg';
|
||||
import fileZipIcon from '@tabler/icons/outline/file-zip.svg';
|
||||
import audioIcon from '@tabler/icons/outline/music.svg';
|
||||
import defaultIcon from '@tabler/icons/outline/paperclip.svg';
|
||||
import imageIcon from '@tabler/icons/outline/photo.svg';
|
||||
import presentationIcon from '@tabler/icons/outline/presentation.svg';
|
||||
import videoIcon from '@tabler/icons/outline/video.svg';
|
||||
import zoomInIcon from '@tabler/icons/outline/zoom-in.svg';
|
||||
import clsx from 'clsx';
|
||||
import React from 'react';
|
||||
import { defineMessages, useIntl } from 'react-intl';
|
||||
@ -27,36 +36,38 @@ import { useModalsStore } from 'pl-fe/stores/modals';
|
||||
import type { MediaAttachment } from 'pl-api';
|
||||
|
||||
const MIMETYPE_ICONS: Record<string, string> = {
|
||||
'application/x-freearc': fileZipIcon,
|
||||
'application/x-bzip': fileZipIcon,
|
||||
'application/x-bzip2': fileZipIcon,
|
||||
'application/gzip': fileZipIcon,
|
||||
'application/vnd.rar': fileZipIcon,
|
||||
'application/x-tar': fileZipIcon,
|
||||
'application/x-freearc': fileArchiveIcon,
|
||||
'application/x-bzip': fileArchiveIcon,
|
||||
'application/x-bzip2': fileArchiveIcon,
|
||||
'application/gzip': fileArchiveIcon,
|
||||
'application/vnd.rar': fileArchiveIcon,
|
||||
'application/x-tar': fileArchiveIcon,
|
||||
'application/zip': fileZipIcon,
|
||||
'application/x-7z-compressed': fileZipIcon,
|
||||
'application/x-csh': fileCodeIcon,
|
||||
'application/html': fileCodeIcon,
|
||||
'text/javascript': fileCodeIcon,
|
||||
'application/x-7z-compressed': fileArchiveIcon,
|
||||
'application/x-csh': fileCSSIcon,
|
||||
'application/html': fileHtmlIcon,
|
||||
'text/javascript': fileJSIcon,
|
||||
'application/javascript': fileJSIcon,
|
||||
'application/json': fileCodeIcon,
|
||||
'application/ld+json': fileCodeIcon,
|
||||
'application/x-httpd-php': fileCodeIcon,
|
||||
'application/x-sh': fileCodeIcon,
|
||||
'application/xhtml+xml': fileCodeIcon,
|
||||
'application/xml': fileCodeIcon,
|
||||
'text/x-script.python': filePythonIcon,
|
||||
'application/epub+zip': bookIcon,
|
||||
'application/vnd.oasis.opendocument.spreadsheet': fileSpreadsheetIcon,
|
||||
'application/vnd.ms-excel': fileSpreadsheetIcon,
|
||||
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': fileSpreadsheetIcon,
|
||||
'application/pdf': fileTextIcon,
|
||||
'application/vnd.oasis.opendocument.spreadsheet': spreadsheetIcon,
|
||||
'application/vnd.ms-excel': fileXlsIcon,
|
||||
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': fileXlsIcon,
|
||||
'application/pdf': filePdfIcon,
|
||||
'application/vnd.oasis.opendocument.presentation': presentationIcon,
|
||||
'application/vnd.ms-powerpoint': presentationIcon,
|
||||
'application/vnd.ms-powerpoint': filePptIcon,
|
||||
'application/vnd.openxmlformats-officedocument.presentationml.presentation': presentationIcon,
|
||||
'text/plain': fileTextIcon,
|
||||
'application/rtf': fileTextIcon,
|
||||
'application/msword': fileTextIcon,
|
||||
'application/msword': fileDocIcon,
|
||||
'application/x-abiword': fileTextIcon,
|
||||
'application/vnd.openxmlformats-officedocument.wordprocessingml.document': fileTextIcon,
|
||||
'application/vnd.openxmlformats-officedocument.wordprocessingml.document': fileDocIcon,
|
||||
'application/vnd.oasis.opendocument.text': fileTextIcon,
|
||||
image: imageIcon,
|
||||
video: videoIcon,
|
||||
|
||||
@ -13,12 +13,12 @@ const messages = defineMessages({
|
||||
|
||||
/** Map between OAuth providers and brand icons. */
|
||||
const BRAND_ICONS: Record<string, string> = {
|
||||
twitter: require('@tabler/icons/outline/brand-twitter.svg'),
|
||||
facebook: require('@tabler/icons/outline/brand-facebook.svg'),
|
||||
google: require('@tabler/icons/outline/brand-google.svg'),
|
||||
microsoft: require('@tabler/icons/outline/brand-windows.svg'),
|
||||
slack: require('@tabler/icons/outline/brand-slack.svg'),
|
||||
github: require('@tabler/icons/outline/brand-github.svg'),
|
||||
twitter: require('@phosphor-icons/core/regular/twitter-logo.svg'),
|
||||
facebook: require('@phosphor-icons/core/regular/facebook-logo.svg'),
|
||||
google: require('@phosphor-icons/core/regular/google-logo.svg'),
|
||||
microsoft: require('@phosphor-icons/core/regular/squares-four.svg'),
|
||||
slack: require('@phosphor-icons/core/regular/slack-logo.svg'),
|
||||
github: require('@phosphor-icons/core/regular/github-logo.svg'),
|
||||
};
|
||||
|
||||
interface IConsumerButton {
|
||||
@ -30,7 +30,7 @@ const ConsumerButton: React.FC<IConsumerButton> = ({ provider }) => {
|
||||
const intl = useIntl();
|
||||
const dispatch = useAppDispatch();
|
||||
|
||||
const icon = BRAND_ICONS[provider] || require('@tabler/icons/outline/key.svg');
|
||||
const icon = BRAND_ICONS[provider] || require('@phosphor-icons/core/regular/key.svg');
|
||||
|
||||
const handleClick = () => {
|
||||
dispatch(prepareRequest(provider));
|
||||
|
||||
@ -36,7 +36,7 @@ const Account: React.FC<IAccount> = ({ accountId }) => {
|
||||
date: formattedBirthday,
|
||||
})}
|
||||
>
|
||||
<Icon src={require('@tabler/icons/outline/balloon.svg')} />
|
||||
<Icon src={require('@phosphor-icons/core/regular/cake.svg')} />
|
||||
{formattedBirthday}
|
||||
</div>
|
||||
</HStack>
|
||||
|
||||
@ -233,7 +233,7 @@ const ChatComposer = React.forwardRef<HTMLTextAreaElement | null, IChatComposer>
|
||||
) : null}
|
||||
|
||||
<IconButton
|
||||
src={require('@tabler/icons/outline/send.svg')}
|
||||
src={require('@phosphor-icons/core/regular/paper-plane-right.svg')}
|
||||
iconClassName='h-5 w-5'
|
||||
className='text-primary-500'
|
||||
disabled={isSubmitDisabled}
|
||||
|
||||
@ -68,7 +68,7 @@ const ChatListItem: React.FC<IChatListItemInterface> = ({ chat, onClick }) => {
|
||||
},
|
||||
});
|
||||
},
|
||||
icon: require('@tabler/icons/outline/logout.svg'),
|
||||
icon: require('@phosphor-icons/core/regular/sign-out.svg'),
|
||||
}], []);
|
||||
|
||||
const handleKeyDown: React.KeyboardEventHandler<HTMLDivElement> = (event) => {
|
||||
|
||||
@ -128,7 +128,7 @@ const ChatMessage = (props: IChatMessage) => {
|
||||
menu.push({
|
||||
text: intl.formatMessage(messages.copy),
|
||||
action: () => handleCopyText(chatMessage),
|
||||
icon: require('@tabler/icons/outline/copy.svg'),
|
||||
icon: require('@phosphor-icons/core/regular/clipboard.svg'),
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -120,7 +120,7 @@ const ChatPageMain = () => {
|
||||
];
|
||||
|
||||
if (features.chatsDelete) menuItems.push({
|
||||
icon: require('@tabler/icons/outline/logout.svg'),
|
||||
icon: require('@phosphor-icons/core/regular/sign-out.svg'),
|
||||
text: intl.formatMessage(messages.leaveChat),
|
||||
action: handleLeaveChat,
|
||||
});
|
||||
@ -154,7 +154,7 @@ const ChatPageMain = () => {
|
||||
</HStack>
|
||||
|
||||
<DropdownMenu
|
||||
src={require('@tabler/icons/outline/info-circle.svg')}
|
||||
src={require('@phosphor-icons/core/regular/info.svg')}
|
||||
component={() => (
|
||||
<HStack className='px-4 py-2' alignItems='center' space={3}>
|
||||
<Avatar src={chat.account.avatar_static} alt={chat.account.avatar_description} size={50} isCat={chat.account.is_cat} username={chat.account.username} />
|
||||
|
||||
@ -5,7 +5,7 @@ import { MIMETYPE_ICONS } from 'pl-fe/components/upload';
|
||||
|
||||
import type { MediaAttachment } from 'pl-api';
|
||||
|
||||
const defaultIcon = require('@tabler/icons/outline/paperclip.svg');
|
||||
const defaultIcon = require('@phosphor-icons/core/regular/paperclip.svg');
|
||||
|
||||
interface IChatUploadPreview {
|
||||
className?: string;
|
||||
|
||||
@ -128,7 +128,7 @@ const ChatSettings = () => {
|
||||
|
||||
{features.chatsDelete && (
|
||||
<button onClick={handleLeaveChat} className='flex w-full items-center space-x-2 text-sm font-bold text-danger-600'>
|
||||
<Icon src={require('@tabler/icons/outline/logout.svg')} className='size-5' />
|
||||
<Icon src={require('@phosphor-icons/core/regular/sign-out.svg')} className='size-5' />
|
||||
<span>{intl.formatMessage(messages.leaveChat)}</span>
|
||||
</button>
|
||||
)}
|
||||
|
||||
@ -86,7 +86,7 @@ const ChatWindow = () => {
|
||||
</HStack>
|
||||
}
|
||||
secondaryAction={secondaryAction()}
|
||||
secondaryActionIcon={isOpen ? require('@tabler/icons/outline/info-circle.svg') : require('@phosphor-icons/core/regular/pencil-simple.svg')}
|
||||
secondaryActionIcon={isOpen ? require('@phosphor-icons/core/regular/info.svg') : require('@phosphor-icons/core/regular/pencil-simple.svg')}
|
||||
isToggleable={!isOpen}
|
||||
isOpen={isOpen}
|
||||
onToggle={toggleChatPane}
|
||||
|
||||
@ -94,7 +94,7 @@ const ShoutboxComposer = React.forwardRef<HTMLTextAreaElement | null, IShoutboxC
|
||||
) : null}
|
||||
|
||||
<IconButton
|
||||
src={require('@tabler/icons/outline/send.svg')}
|
||||
src={require('@phosphor-icons/core/regular/paper-plane-right.svg')}
|
||||
iconClassName='h-5 w-5'
|
||||
className='text-primary-500'
|
||||
disabled={isSubmitDisabled}
|
||||
|
||||
@ -161,7 +161,7 @@ const getLanguageDropdown = (composeId: string): React.FC<ILanguageDropdown> =>
|
||||
<div role='button' tabIndex={0} className='absolute inset-y-0 right-0 flex cursor-pointer items-center px-5 rtl:left-0 rtl:right-auto' onClick={handleClear}>
|
||||
<Icon
|
||||
className='size-5 text-gray-600'
|
||||
src={isSearching ? require('@tabler/icons/outline/backspace.svg') : require('@phosphor-icons/core/regular/magnifying-glass.svg')}
|
||||
src={isSearching ? require('@phosphor-icons/core/regular/backspace.svg') : require('@phosphor-icons/core/regular/magnifying-glass.svg')}
|
||||
aria-label={intl.formatMessage(messages.search)}
|
||||
/>
|
||||
</div>
|
||||
@ -200,11 +200,11 @@ const getLanguageDropdown = (composeId: string): React.FC<ILanguageDropdown> =>
|
||||
{features.multiLanguage && !!language && !active && (
|
||||
code in textMap ? (
|
||||
<button title={intl.formatMessage(messages.deleteLanguage)} onClick={handleDeleteLanguageClick}>
|
||||
<Icon className='size-4' src={require('@tabler/icons/outline/minus.svg')} />
|
||||
<Icon className='size-4' src={require('@phosphor-icons/core/regular/minus.svg')} />
|
||||
</button>
|
||||
) : (
|
||||
<button title={intl.formatMessage(messages.addLanguage)} onClick={handleAddLanguageClick}>
|
||||
<Icon className='size-4' src={require('@tabler/icons/outline/plus.svg')} />
|
||||
<Icon className='size-4' src={require('@phosphor-icons/core/regular/plus.svg')} />
|
||||
</button>
|
||||
)
|
||||
)}
|
||||
|
||||
@ -57,7 +57,7 @@ const PreviewComposeContainer: React.FC<IQuotedStatusContainer> = ({ composeId }
|
||||
<OutlineBox>
|
||||
<Stack space={2}>
|
||||
<HStack space={1} alignItems='center'>
|
||||
<Icon className='size-4 text-gray-700 dark:text-gray-600' src={require('@tabler/icons/outline/eye.svg')} />
|
||||
<Icon className='size-4 text-gray-700 dark:text-gray-600' src={require('@phosphor-icons/core/regular/eye.svg')} />
|
||||
<Text theme='muted' size='sm' className='grow'>
|
||||
<FormattedMessage id='compose_form.preview_label' defaultMessage='Preview' />
|
||||
</Text>
|
||||
|
||||
@ -313,7 +313,7 @@ const ImageComponent = ({
|
||||
<HStack className='absolute right-2 top-2 z-10' space={2}>
|
||||
<IconButton
|
||||
onClick={previewImage}
|
||||
src={require('@tabler/icons/outline/zoom-in.svg')}
|
||||
src={require('@phosphor-icons/core/regular/magnifying-glass-plus.svg')}
|
||||
theme='dark'
|
||||
className='!p-1.5 hover:scale-105 hover:bg-gray-900'
|
||||
iconClassName='h-5 w-5'
|
||||
|
||||
@ -398,7 +398,7 @@ const TextFormatFloatingToolbar = ({
|
||||
}}
|
||||
active={isCode}
|
||||
aria-label={intl.formatMessage(messages.insertCodeBlock)}
|
||||
icon={require('@phosphor-icons/core/regular/text-code.svg')}
|
||||
icon={require('@phosphor-icons/core/regular/code.svg')}
|
||||
/>
|
||||
<ToolbarButton
|
||||
onClick={insertLink}
|
||||
|
||||
@ -41,7 +41,7 @@ const CryptoAddress: React.FC<ICryptoAddress> = (props): JSX.Element => {
|
||||
|
||||
<HStack alignItems='center' className='ml-auto'>
|
||||
<a className='ml-1 text-gray-500 rtl:ml-0 rtl:mr-1' href='#' onClick={handleModalClick}>
|
||||
<Icon src={require('@tabler/icons/outline/qrcode.svg')} size={20} />
|
||||
<Icon src={require('@phosphor-icons/core/regular/qr-code.svg')} size={20} />
|
||||
</a>
|
||||
</HStack>
|
||||
</HStack>
|
||||
|
||||
@ -228,7 +228,7 @@ const EventHeader: React.FC<IEventHeader> = ({ status }) => {
|
||||
{
|
||||
text: intl.formatMessage(messages.copy),
|
||||
action: handleCopy,
|
||||
icon: require('@tabler/icons/outline/link.svg'),
|
||||
icon: require('@phosphor-icons/core/regular/link-simple.svg'),
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
@ -93,7 +93,7 @@ const InstanceRestrictions: React.FC<IInstanceRestrictions> = ({ remoteInstance
|
||||
|
||||
if (!fullMediaRemoval && media_nsfw) {
|
||||
items.push((
|
||||
<Restriction key='mediaNsfw' icon={require('@tabler/icons/outline/eye-off.svg')}>
|
||||
<Restriction key='mediaNsfw' icon={require('@phosphor-icons/core/regular/eye-slash.svg')}>
|
||||
<FormattedMessage
|
||||
id='federation_restriction.media_nsfw'
|
||||
defaultMessage='Attachments marked NSFW'
|
||||
|
||||
@ -154,7 +154,7 @@ const Mutliselect: React.FC<IMultiselect> = (props) => {
|
||||
onRemove={handleChange}
|
||||
displayValue='value'
|
||||
disable={disabled}
|
||||
customCloseIcon={<Icon className='ml-1 size-4 hover:cursor-pointer' src={require('@tabler/icons/outline/circle-x.svg')} />}
|
||||
customCloseIcon={<Icon className='ml-1 size-4 hover:cursor-pointer' src={require('@phosphor-icons/core/regular/x-circle.svg')} />}
|
||||
placeholder={intl.formatMessage(messages.selectPlaceholder)}
|
||||
emptyRecordMsg={intl.formatMessage(messages.selectNoOptions)}
|
||||
/>
|
||||
|
||||
@ -69,7 +69,7 @@ const GroupOptionsButton = ({ group }: IGroupActionButton) => {
|
||||
items.push(null);
|
||||
items.push({
|
||||
text: intl.formatMessage(messages.leave),
|
||||
icon: require('@tabler/icons/outline/logout.svg'),
|
||||
icon: require('@phosphor-icons/core/regular/sign-out.svg'),
|
||||
action: handleLeave,
|
||||
});
|
||||
}
|
||||
|
||||
@ -29,7 +29,7 @@ const GroupRelationship = ({ group }: IGroupRelationship) => {
|
||||
className='size-4'
|
||||
src={
|
||||
isOwner
|
||||
? require('@tabler/icons/outline/users.svg')
|
||||
? require('@phosphor-icons/core/regular/users.svg')
|
||||
: require('@phosphor-icons/core/regular/gavel.svg')
|
||||
}
|
||||
/>
|
||||
|
||||
@ -93,7 +93,7 @@ const AvatarSelectionStep = ({ onNext }: { onNext: () => void }) => {
|
||||
})}
|
||||
disabled={isSubmitting}
|
||||
>
|
||||
<Icon src={require('@tabler/icons/outline/plus.svg')} className='size-5 text-white' />
|
||||
<Icon src={require('@phosphor-icons/core/regular/plus.svg')} className='size-5 text-white' />
|
||||
</button>
|
||||
|
||||
<input type='file' className='hidden' ref={fileInput} onChange={handleFileChange} />
|
||||
|
||||
@ -107,7 +107,7 @@ const CoverPhotoSelectionStep = ({ onNext }: { onNext: () => void }) => {
|
||||
})}
|
||||
disabled={isSubmitting}
|
||||
>
|
||||
<Icon src={require('@tabler/icons/outline/plus.svg')} className='size-5 text-white' />
|
||||
<Icon src={require('@phosphor-icons/core/regular/plus.svg')} className='size-5 text-white' />
|
||||
</button>
|
||||
|
||||
<input type='file' className='hidden' ref={fileInput} onChange={handleFileChange} />
|
||||
|
||||
@ -18,7 +18,7 @@ const FediverseStep = ({ onNext }: { onNext: () => void }) => {
|
||||
<Card variant='rounded' size='xl'>
|
||||
<CardBody>
|
||||
<Stack space={2}>
|
||||
<Icon strokeWidth={1} src={require('@tabler/icons/outline/affiliate.svg')} className='mx-auto size-16 text-primary-600 dark:text-primary-400' />
|
||||
<Icon strokeWidth={1} src={require('@phosphor-icons/core/regular/planet.svg')} className='mx-auto size-16 text-primary-600 dark:text-primary-400' />
|
||||
|
||||
<Text size='2xl' weight='bold'>
|
||||
<FormattedMessage
|
||||
|
||||
@ -44,7 +44,7 @@ const Account: React.FC<IAccount> = ({ composeId, accountId, author }) => {
|
||||
if (added) {
|
||||
button = <IconButton src={require('@phosphor-icons/core/regular/x.svg')} iconClassName='h-5 w-5' title={intl.formatMessage(messages.remove)} onClick={onRemove} />;
|
||||
} else {
|
||||
button = <IconButton src={require('@tabler/icons/outline/plus.svg')} iconClassName='h-5 w-5' title={intl.formatMessage(messages.add)} onClick={onAdd} />;
|
||||
button = <IconButton src={require('@phosphor-icons/core/regular/plus.svg')} iconClassName='h-5 w-5' title={intl.formatMessage(messages.add)} onClick={onAdd} />;
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@ -48,7 +48,7 @@ const DetailedStatus: React.FC<IDetailedStatus> = ({
|
||||
avatarSize={42}
|
||||
icon={
|
||||
<Icon
|
||||
src={require('@tabler/icons/outline/circles.svg')}
|
||||
src={require('@phosphor-icons/core/regular/users-three.svg')}
|
||||
className='size-4 text-primary-600 dark:text-accent-blue'
|
||||
/>
|
||||
}
|
||||
|
||||
@ -23,10 +23,10 @@ const messages: Record<string, MessageDescriptor> = defineMessages({
|
||||
const STATUS_TYPE_ICONS: Record<string, string> = {
|
||||
direct: require('@phosphor-icons/core/regular/envelope-simple.svg'),
|
||||
private: require('@phosphor-icons/core/regular/lock.svg'),
|
||||
mutuals_only: require('@tabler/icons/outline/users-group.svg'),
|
||||
local: require('@tabler/icons/outline/affiliate.svg'),
|
||||
mutuals_only: require('@phosphor-icons/core/regular/users-three.svg'),
|
||||
local: require('@phosphor-icons/core/regular/planet.svg'),
|
||||
list: require('@phosphor-icons/core/regular/list-bullets.svg'),
|
||||
subscribers: require('@tabler/icons/outline/coin.svg'),
|
||||
subscribers: require('@phosphor-icons/core/regular/coins.svg'),
|
||||
};
|
||||
|
||||
const StatusTypeIcon: React.FC<IStatusTypeIcon> = React.memo(({ visibility }) => {
|
||||
|
||||
@ -188,7 +188,7 @@ const ActionButton: React.FC<IActionButton> = ({ account, actionType, small = tr
|
||||
return (
|
||||
<Button
|
||||
onClick={handleRemoteFollow}
|
||||
icon={require('@tabler/icons/outline/plus.svg')}
|
||||
icon={require('@phosphor-icons/core/regular/plus.svg')}
|
||||
text={intl.formatMessage(messages.follow)}
|
||||
size='sm'
|
||||
/>
|
||||
@ -269,7 +269,7 @@ const ActionButton: React.FC<IActionButton> = ({ account, actionType, small = tr
|
||||
size='sm'
|
||||
disabled={blockedBy}
|
||||
theme={isFollowing ? 'secondary' : 'primary'}
|
||||
icon={blockedBy ? require('@phosphor-icons/core/regular/prohibit.svg') : (!isFollowing && require('@tabler/icons/outline/plus.svg'))}
|
||||
icon={blockedBy ? require('@phosphor-icons/core/regular/prohibit.svg') : (!isFollowing && require('@phosphor-icons/core/regular/plus.svg'))}
|
||||
onClick={handleFollow}
|
||||
>
|
||||
{isFollowing ? (
|
||||
|
||||
@ -39,7 +39,7 @@ const HomeComposeButton: React.FC<IComposeButton> = ({ shrink }) => {
|
||||
size='lg'
|
||||
onClick={onOpenCompose}
|
||||
block
|
||||
icon={shrink ? require('@tabler/icons/outline/plus.svg') : undefined}
|
||||
icon={shrink ? require('@phosphor-icons/core/regular/plus.svg') : undefined}
|
||||
>
|
||||
{!shrink && (
|
||||
<FormattedMessage id='navigation.compose' defaultMessage='Compose' />
|
||||
@ -65,7 +65,7 @@ const GroupComposeButton: React.FC<IComposeButton> = ({ shrink }) => {
|
||||
size='lg'
|
||||
onClick={onOpenCompose}
|
||||
block
|
||||
icon={shrink ? require('@tabler/icons/outline/plus.svg') : undefined}
|
||||
icon={shrink ? require('@phosphor-icons/core/regular/plus.svg') : undefined}
|
||||
>
|
||||
{!shrink && (
|
||||
<HStack space={3} alignItems='center'>
|
||||
|
||||
@ -44,7 +44,7 @@ const InstanceModerationPanel: React.FC<IInstanceModerationPanel> = ({ host }) =
|
||||
<Widget
|
||||
title={<FormattedMessage id='remote_instance.federation_panel.heading' defaultMessage='Federation restrictions' />}
|
||||
action={account?.is_admin ? (
|
||||
<DropdownMenu items={menu} src={require('@tabler/icons/outline/dots-vertical.svg')} />
|
||||
<DropdownMenu items={menu} src={require('@phosphor-icons/core/regular/dots-three-vertical.svg')} />
|
||||
) : undefined}
|
||||
>
|
||||
<InstanceRestrictions remoteInstance={remoteInstance} />
|
||||
|
||||
@ -96,7 +96,7 @@ const ProfileInfoPanel: React.FC<IProfileInfoPanel> = ({ account, username }) =>
|
||||
return (
|
||||
<HStack alignItems='center' space={0.5}>
|
||||
<Icon
|
||||
src={require('@tabler/icons/outline/balloon.svg')}
|
||||
src={hasBirthday ? require('@phosphor-icons/core/regular/cake.svg') : require('@phosphor-icons/core/regular/balloon.svg')}
|
||||
className='size-4 text-gray-800 dark:text-gray-200'
|
||||
/>
|
||||
|
||||
|
||||
@ -81,14 +81,14 @@ const ProfileDropdown: React.FC<IProfileDropdown> = ({ account, children }) => {
|
||||
menu.push({
|
||||
text: intl.formatMessage(messages.add),
|
||||
to: '/login/add',
|
||||
icon: require('@tabler/icons/outline/plus.svg'),
|
||||
icon: require('@phosphor-icons/core/regular/plus.svg'),
|
||||
});
|
||||
|
||||
menu.push({
|
||||
text: intl.formatMessage(messages.logout, { acct: account.acct }),
|
||||
to: '/logout',
|
||||
action: handleLogOut,
|
||||
icon: require('@tabler/icons/outline/logout.svg'),
|
||||
icon: require('@phosphor-icons/core/regular/sign-out.svg'),
|
||||
});
|
||||
|
||||
return () => (
|
||||
|
||||
@ -35,7 +35,7 @@ const PrivacyBlankslate = () => (
|
||||
<Stack space={4} className='py-10' alignItems='center'>
|
||||
<div className='rounded-full bg-gray-200 p-3 dark:bg-gray-800'>
|
||||
<Icon
|
||||
src={require('@tabler/icons/outline/eye-off.svg')}
|
||||
src={require('@phosphor-icons/core/regular/eye-slash.svg')}
|
||||
className='size-6 text-gray-600 dark:text-gray-600'
|
||||
/>
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import defaultIcon from '@tabler/icons/outline/paperclip.svg';
|
||||
import defaultIcon from '@phosphor-icons/core/regular/paperclip.svg';
|
||||
import clsx from 'clsx';
|
||||
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
||||
import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
|
||||
|
||||
@ -66,7 +66,7 @@ const EventMapModal: React.FC<BaseModalProps & EventMapModalProps> = ({ onClose,
|
||||
>
|
||||
<Stack alignItems='center' space={6}>
|
||||
<div className='h-96 w-full' id='event-map' />
|
||||
<Button onClick={onClickNavigate} icon={require('@tabler/icons/outline/gps.svg')}>
|
||||
<Button onClick={onClickNavigate} icon={require('@phosphor-icons/core/regular/gps.svg')}>
|
||||
<FormattedMessage id='event_map.navigate' defaultMessage='Navigate' />
|
||||
</Button>
|
||||
</Stack>
|
||||
|
||||
@ -34,7 +34,7 @@ const List: React.FC<IList> = ({ listId, accountId, added }) => {
|
||||
if (added) {
|
||||
button = <IconButton iconClassName='h-5 w-5' src={require('@phosphor-icons/core/regular/x.svg')} title={intl.formatMessage(messages.remove)} onClick={onRemove} />;
|
||||
} else {
|
||||
button = <IconButton iconClassName='h-5 w-5' src={require('@tabler/icons/outline/plus.svg')} title={intl.formatMessage(messages.add)} onClick={onAdd} />;
|
||||
button = <IconButton iconClassName='h-5 w-5' src={require('@phosphor-icons/core/regular/plus.svg')} title={intl.formatMessage(messages.add)} onClick={onAdd} />;
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@ -25,7 +25,7 @@ const Account: React.FC<IAccount> = ({ accountId, added, onAdd, onRemove }) => {
|
||||
if (added) {
|
||||
button = <IconButton src={require('@phosphor-icons/core/regular/x.svg')} iconClassName='h-5 w-5' title={intl.formatMessage(messages.remove)} onClick={() => onRemove(accountId)} />;
|
||||
} else {
|
||||
button = <IconButton src={require('@tabler/icons/outline/plus.svg')} iconClassName='h-5 w-5' title={intl.formatMessage(messages.add)} onClick={() => onAdd(accountId)} />;
|
||||
button = <IconButton src={require('@phosphor-icons/core/regular/plus.svg')} iconClassName='h-5 w-5' title={intl.formatMessage(messages.add)} onClick={() => onAdd(accountId)} />;
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@ -54,7 +54,7 @@ const Search: React.FC<ISearch> = ({ value, onSubmit }) => {
|
||||
onSubmit('');
|
||||
}}
|
||||
>
|
||||
<Icon src={require('@tabler/icons/outline/backspace.svg')} aria-label={intl.formatMessage(messages.search)} className={clsx('size-5 text-gray-600', { hidden: !hasValue })} />
|
||||
<Icon src={require('@phosphor-icons/core/regular/backspace.svg')} aria-label={intl.formatMessage(messages.search)} className={clsx('size-5 text-gray-600', { hidden: !hasValue })} />
|
||||
</div>
|
||||
</label>
|
||||
|
||||
|
||||
@ -113,7 +113,7 @@ const ConfirmationStep: React.FC<IConfirmationStep> = ({ group }) => {
|
||||
</Button>
|
||||
)}
|
||||
|
||||
<Button onClick={handleCopyLink} theme='transparent' icon={require('@tabler/icons/outline/link.svg')} className='text-primary-600'>
|
||||
<Button onClick={handleCopyLink} theme='transparent' icon={require('@phosphor-icons/core/regular/link-simple.svg')} className='text-primary-600'>
|
||||
<FormattedMessage id='manage_group.confirmation.copy' defaultMessage='Copy link' />
|
||||
</Button>
|
||||
</HStack>
|
||||
|
||||
@ -278,7 +278,7 @@ const MediaModal: React.FC<MediaModalProps & BaseModalProps> = (props) => {
|
||||
onClick={handlePrevClick}
|
||||
aria-label={intl.formatMessage(messages.previous)}
|
||||
>
|
||||
<Icon src={require('@tabler/icons/outline/arrow-left.svg')} className='size-5' />
|
||||
<Icon src={require('@phosphor-icons/core/regular/arrow-left.svg')} className='size-5' />
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
@ -300,7 +300,7 @@ const MediaModal: React.FC<MediaModalProps & BaseModalProps> = (props) => {
|
||||
onClick={handleNextClick}
|
||||
aria-label={intl.formatMessage(messages.next)}
|
||||
>
|
||||
<Icon src={require('@tabler/icons/outline/arrow-right.svg')} className='size-5' />
|
||||
<Icon src={require('@phosphor-icons/core/regular/arrow-right.svg')} className='size-5' />
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
|
||||
@ -103,7 +103,7 @@ const OtherActionsStep = ({
|
||||
</Stack>
|
||||
) : (
|
||||
<Button
|
||||
icon={require('@tabler/icons/outline/plus.svg')}
|
||||
icon={require('@phosphor-icons/core/regular/plus.svg')}
|
||||
theme='tertiary'
|
||||
size='sm'
|
||||
onClick={() => setShowAdditionalStatuses(true)}
|
||||
|
||||
@ -71,7 +71,7 @@ const SelectBookmarkFolderModal: React.FC<SelectBookmarkFolderModalProps & BaseM
|
||||
src={folder.emoji_url || undefined}
|
||||
className='size-5 flex-none'
|
||||
/>
|
||||
) : <Icon src={require('@tabler/icons/outline/folder.svg')} size={20} />}
|
||||
) : <Icon src={require('@phosphor-icons/core/regular/folder-simple.svg')} size={20} />}
|
||||
<span>{folder.name}</span>
|
||||
</HStack>
|
||||
}
|
||||
@ -89,7 +89,7 @@ const SelectBookmarkFolderModal: React.FC<SelectBookmarkFolderModalProps & BaseM
|
||||
key='all'
|
||||
label={
|
||||
<HStack alignItems='center' space={2}>
|
||||
<Icon src={require('@tabler/icons/outline/bookmarks.svg')} size={20} />
|
||||
<Icon src={require('@phosphor-icons/core/regular/bookmarks.svg')} size={20} />
|
||||
<span><FormattedMessage id='bookmark_folders.all_bookmarks' defaultMessage='All bookmarks' /></span>
|
||||
</HStack>
|
||||
}
|
||||
@ -110,7 +110,7 @@ const SelectBookmarkFolderModal: React.FC<SelectBookmarkFolderModalProps & BaseM
|
||||
src={folder.emoji_url || undefined}
|
||||
className='size-5 flex-none'
|
||||
/>
|
||||
) : <Icon src={require('@tabler/icons/outline/folder.svg')} size={20} />}
|
||||
) : <Icon src={require('@phosphor-icons/core/regular/folder-simple.svg')} size={20} />}
|
||||
<span>{folder.name}</span>
|
||||
</HStack>
|
||||
}
|
||||
|
||||
@ -119,7 +119,7 @@ const MediaItem: React.FC<IMediaItem> = ({ attachment, onOpenMedia, isLast }) =>
|
||||
if (!visible) {
|
||||
icon = (
|
||||
<span className='⁂-media-gallery__item__icons'>
|
||||
<Icon src={require('@tabler/icons/outline/eye-off.svg')} />
|
||||
<Icon src={require('@phosphor-icons/core/regular/eye-slash.svg')} />
|
||||
</span>
|
||||
);
|
||||
}
|
||||
|
||||
@ -109,7 +109,7 @@ const AdminAnnouncementsPage: React.FC = () => {
|
||||
<Stack className='gap-4'>
|
||||
<Button
|
||||
className='sm:w-fit sm:self-end'
|
||||
icon={require('@tabler/icons/outline/plus.svg')}
|
||||
icon={require('@phosphor-icons/core/regular/plus.svg')}
|
||||
onClick={handleCreateAnnouncement}
|
||||
theme='secondary'
|
||||
block
|
||||
|
||||
@ -122,7 +122,7 @@ const AdminDomainsPage: React.FC = () => {
|
||||
<Stack className='gap-4'>
|
||||
<Button
|
||||
className='sm:w-fit sm:self-end'
|
||||
icon={require('@tabler/icons/outline/plus.svg')}
|
||||
icon={require('@phosphor-icons/core/regular/plus.svg')}
|
||||
onClick={handleCreateDomain}
|
||||
theme='secondary'
|
||||
block
|
||||
|
||||
@ -232,7 +232,7 @@ const ReportPage: React.FC<IReportPage> = (props) => {
|
||||
<IconButton
|
||||
className='ml-auto'
|
||||
iconClassName='h-4 w-4'
|
||||
src={require('@tabler/icons/outline/plus.svg')}
|
||||
src={require('@phosphor-icons/core/regular/plus.svg')}
|
||||
onClick={handleSelfAssignReport}
|
||||
text={intl.formatMessage(messages.reportAssign)}
|
||||
/>
|
||||
|
||||
@ -89,7 +89,7 @@ const RulesPage: React.FC = () => {
|
||||
<Stack className='gap-4'>
|
||||
<Button
|
||||
className='sm:w-fit sm:self-end'
|
||||
icon={require('@tabler/icons/outline/plus.svg')}
|
||||
icon={require('@phosphor-icons/core/regular/plus.svg')}
|
||||
onClick={handleCreateRule}
|
||||
theme='secondary'
|
||||
block
|
||||
|
||||
@ -225,7 +225,7 @@ const CirclePage: React.FC = () => {
|
||||
<Button onClick={onSave} icon={require('@phosphor-icons/core/regular/download-simple.svg')}>
|
||||
<FormattedMessage id='interactions_circle.download' defaultMessage='Download' />
|
||||
</Button>
|
||||
<Button onClick={onCompose} icon={require('@tabler/icons/outline/pencil-plus.svg')}>
|
||||
<Button onClick={onCompose} icon={require('@phosphor-icons/core/regular/note-pencil.svg')}>
|
||||
<FormattedMessage id='interactions_circle.compose' defaultMessage='Share' />
|
||||
</Button>
|
||||
</HStack>
|
||||
|
||||
@ -57,7 +57,7 @@ const Groups: React.FC = () => {
|
||||
{!(!isLoading && groups.length === 0) && (
|
||||
<Button
|
||||
className='xl:hidden'
|
||||
icon={require('@tabler/icons/outline/circles.svg')}
|
||||
icon={require('@phosphor-icons/core/regular/users-three.svg')}
|
||||
onClick={createGroup}
|
||||
theme='secondary'
|
||||
block
|
||||
|
||||
@ -55,7 +55,7 @@ const Account: React.FC<IAccount> = ({ accountId, aliases }) => {
|
||||
|
||||
if (!added && accountId !== me) {
|
||||
button = (
|
||||
<IconButton src={require('@tabler/icons/outline/plus.svg')} iconClassName='h-5 w-5' title={intl.formatMessage(messages.add)} onClick={handleOnAdd} />
|
||||
<IconButton src={require('@phosphor-icons/core/regular/plus.svg')} iconClassName='h-5 w-5' title={intl.formatMessage(messages.add)} onClick={handleOnAdd} />
|
||||
);
|
||||
}
|
||||
|
||||
@ -113,7 +113,7 @@ const Search: React.FC<IAliasesSearch> = ({ onSubmit }) => {
|
||||
/>
|
||||
|
||||
<div role='button' tabIndex={hasValue ? 0 : -1} className='absolute inset-y-0 right-0 flex cursor-pointer items-center px-3 rtl:left-0 rtl:right-auto' onClick={handleClear}>
|
||||
<Icon src={require('@tabler/icons/outline/backspace.svg')} aria-label={intl.formatMessage(messages.search)} className={clsx('size-5 text-gray-600', { 'hidden': !hasValue })} />
|
||||
<Icon src={require('@phosphor-icons/core/regular/backspace.svg')} aria-label={intl.formatMessage(messages.search)} className={clsx('size-5 text-gray-600', { 'hidden': !hasValue })} />
|
||||
</div>
|
||||
</label>
|
||||
<Button onClick={handleSubmit}>{intl.formatMessage(messages.searchTitle)}</Button>
|
||||
|
||||
@ -99,7 +99,7 @@ const BookmarkFoldersPage: React.FC = () => {
|
||||
to='/bookmarks/all'
|
||||
label={
|
||||
<HStack alignItems='center' space={2}>
|
||||
<Icon src={require('@tabler/icons/outline/bookmarks.svg')} size={20} />
|
||||
<Icon src={require('@phosphor-icons/core/regular/bookmarks.svg')} size={20} />
|
||||
<span><FormattedMessage id='bookmark_folders.all_bookmarks' defaultMessage='All bookmarks' /></span>
|
||||
</HStack>
|
||||
}
|
||||
@ -116,7 +116,7 @@ const BookmarkFoldersPage: React.FC = () => {
|
||||
src={folder.emoji_url || undefined}
|
||||
className='size-5 flex-none'
|
||||
/>
|
||||
) : <Icon src={require('@tabler/icons/outline/folder.svg')} size={20} />}
|
||||
) : <Icon src={require('@phosphor-icons/core/regular/folder-simple.svg')} size={20} />}
|
||||
<span>{folder.name}</span>
|
||||
</HStack>
|
||||
}
|
||||
|
||||
@ -86,7 +86,7 @@ const BookmarksPage: React.FC<IBookmarks> = ({ params }) => {
|
||||
return (
|
||||
<Column
|
||||
label={folder ? folder.name : intl.formatMessage(messages.heading)}
|
||||
action={<DropdownMenu items={items} src={require('@tabler/icons/outline/dots-vertical.svg')} />}
|
||||
action={<DropdownMenu items={items} src={require('@phosphor-icons/core/regular/dots-three-vertical.svg')} />}
|
||||
>
|
||||
<PullToRefresh onRefresh={handleRefresh}>
|
||||
<StatusList
|
||||
|
||||
@ -158,7 +158,7 @@ const EventInformationPage: React.FC<IEventInformation> = ({ params }) => {
|
||||
|
||||
{status.event.links.map(link => (
|
||||
<HStack space={2} alignItems='center'>
|
||||
<Icon src={require('@tabler/icons/outline/link.svg')} />
|
||||
<Icon src={require('@phosphor-icons/core/regular/link-simple.svg')} />
|
||||
<a href={link.remote_url || link.url} className='text-primary-600 hover:underline dark:text-accent-blue' target='_blank'>
|
||||
{(link.remote_url || link.url).replace(/^https?:\/\//, '')}
|
||||
</a>
|
||||
|
||||
@ -143,7 +143,7 @@ const StatusPage: React.FC<IStatusDetails> = (props) => {
|
||||
<Stack space={4}>
|
||||
<Column
|
||||
label={intl.formatMessage(titleMessage())}
|
||||
action={<DropdownMenu items={items} src={require('@tabler/icons/outline/dots-vertical.svg')} />}
|
||||
action={<DropdownMenu items={items} src={require('@phosphor-icons/core/regular/dots-three-vertical.svg')} />}
|
||||
>
|
||||
<PullToRefresh onRefresh={handleRefresh}>
|
||||
<Thread key={status.id} status={status} setExpandAllStatuses={(fn) => setExpandAllStatuses(() => fn)} />
|
||||
|
||||
@ -95,7 +95,7 @@ const CircleTimelinePage: React.FC = () => {
|
||||
return (
|
||||
<Column
|
||||
label={title}
|
||||
action={<DropdownMenu items={items} src={require('@tabler/icons/outline/dots-vertical.svg')} />}
|
||||
action={<DropdownMenu items={items} src={require('@phosphor-icons/core/regular/dots-three-vertical.svg')} />}
|
||||
>
|
||||
<Timeline
|
||||
loadMoreClassName='sm:pb-4 black:sm:pb-0 black:sm:mx-4'
|
||||
|
||||
@ -99,7 +99,7 @@ const GroupTimelinePage: React.FC<IGroupTimelinePage> = (props) => {
|
||||
<Stack space={4} className='py-6' justifyContent='center' alignItems='center'>
|
||||
<div className='rounded-full bg-gray-200 p-4 dark:bg-gray-800'>
|
||||
<Icon
|
||||
src={require('@tabler/icons/outline/message-2.svg')}
|
||||
src={require('@phosphor-icons/core/regular/chat-centered-text.svg')}
|
||||
className='size-6 text-gray-600'
|
||||
/>
|
||||
</div>
|
||||
|
||||
@ -98,7 +98,7 @@ const ListTimelinePage: React.FC = () => {
|
||||
return (
|
||||
<Column
|
||||
label={title}
|
||||
action={<DropdownMenu items={items} src={require('@tabler/icons/outline/dots-vertical.svg')} />}
|
||||
action={<DropdownMenu items={items} src={require('@phosphor-icons/core/regular/dots-three-vertical.svg')} />}
|
||||
>
|
||||
<Timeline
|
||||
loadMoreClassName='sm:pb-4 black:sm:pb-0 black:sm:mx-4'
|
||||
|
||||
Reference in New Issue
Block a user