Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F33032632
D6638.1768405574.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
21 KB
Referenced Files
None
Subscribers
None
D6638.1768405574.diff
View Options
diff --git a/web/SWMansionIcon.react.js b/lib/components/SWMansionIcon.react.js
rename from web/SWMansionIcon.react.js
rename to lib/components/SWMansionIcon.react.js
--- a/web/SWMansionIcon.react.js
+++ b/lib/components/SWMansionIcon.react.js
@@ -3,7 +3,7 @@
import * as React from 'react';
import IcomoonReact from 'react-icomoon';
-import iconSet from 'lib/shared/swmansion-icon-config.json';
+import iconSet from '../shared/swmansion-icon-config.json';
/*
To see all of the icons the application uses and what their names are:
diff --git a/lib/package.json b/lib/package.json
--- a/lib/package.json
+++ b/lib/package.json
@@ -35,6 +35,7 @@
"just-clone": "^3.2.1",
"lodash": "^4.17.21",
"react": "18.1.0",
+ "react-icomoon": "^2.4.1",
"react-redux": "^7.1.1",
"reselect": "^4.0.0",
"reselect-map": "^1.0.5",
diff --git a/web/account/connected-wallet-info.react.js b/web/account/connected-wallet-info.react.js
--- a/web/account/connected-wallet-info.react.js
+++ b/web/account/connected-wallet-info.react.js
@@ -4,9 +4,9 @@
import * as React from 'react';
import { useAccount, useEnsAvatar } from 'wagmi';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { useENSName } from 'lib/hooks/ens-cache.js';
-import SWMansionIcon from '../SWMansionIcon.react.js';
import css from './connected-wallet-info.css';
function shortenAddressToFitWidth(address: string): string {
diff --git a/web/account/password-input.react.js b/web/account/password-input.react.js
--- a/web/account/password-input.react.js
+++ b/web/account/password-input.react.js
@@ -2,9 +2,12 @@
import * as React from 'react';
+import SWMansionIcon, {
+ type Icon,
+} from 'lib/components/SWMansionIcon.react.js';
+
import Button from '../components/button.react';
import Input, { type BaseInputProps } from '../modals/input.react';
-import SWMansionIcon, { type Icon } from '../SWMansionIcon.react';
import css from './password-input.css';
type PasswordInputProps = BaseInputProps;
diff --git a/web/account/siwe-login-form.react.js b/web/account/siwe-login-form.react.js
--- a/web/account/siwe-login-form.react.js
+++ b/web/account/siwe-login-form.react.js
@@ -14,6 +14,7 @@
siweAuth,
siweAuthActionTypes,
} from 'lib/actions/siwe-actions';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { createLoadingStatusSelector } from 'lib/selectors/loading-selectors';
import type { LogInStartingPayload } from 'lib/types/account-types.js';
import {
@@ -32,7 +33,6 @@
import { setPrimaryIdentityPublicKey } from '../redux/primary-identity-public-key-reducer';
import { useSelector } from '../redux/redux-utils';
import { webLogInExtraInfoSelector } from '../selectors/account-selectors.js';
-import SWMansionIcon from '../SWMansionIcon.react.js';
import ConnectedWalletInfo from './connected-wallet-info.react.js';
import HeaderSeparator from './header-separator.react.js';
import css from './siwe.css';
diff --git a/web/apps/app-listing.react.js b/web/apps/app-listing.react.js
--- a/web/apps/app-listing.react.js
+++ b/web/apps/app-listing.react.js
@@ -7,6 +7,7 @@
import * as React from 'react';
import { useDispatch } from 'react-redux';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import {
disableAppActionType,
enableAppActionType,
@@ -14,7 +15,6 @@
import type { SupportedApps } from 'lib/types/enabled-apps';
import Button from '../components/button.react';
-import SWMansionIcon from '../SWMansionIcon.react';
import css from './apps.css';
type Props = {
diff --git a/web/calendar/calendar.react.js b/web/calendar/calendar.react.js
--- a/web/calendar/calendar.react.js
+++ b/web/calendar/calendar.react.js
@@ -10,6 +10,7 @@
updateCalendarQueryActionTypes,
updateCalendarQuery,
} from 'lib/actions/entry-actions';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { currentDaysToEntries } from 'lib/selectors/thread-selectors';
import { isLoggedIn } from 'lib/selectors/user-selectors';
import {
@@ -36,7 +37,6 @@
monthAssertingSelector,
webCalendarQuery,
} from '../selectors/nav-selectors';
-import SWMansionIcon from '../SWMansionIcon.react';
import type { NavInfo } from '../types/nav-types';
import { canonicalURLFromReduxState } from '../url-utils';
import css from './calendar.css';
diff --git a/web/chat/chat-input-bar.react.js b/web/chat/chat-input-bar.react.js
--- a/web/chat/chat-input-bar.react.js
+++ b/web/chat/chat-input-bar.react.js
@@ -9,6 +9,7 @@
joinThread,
newThreadActionTypes,
} from 'lib/actions/thread-actions';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { createLoadingStatusSelector } from 'lib/selectors/loading-selectors';
import {
userStoreSearchIndex,
@@ -50,7 +51,6 @@
import Multimedia from '../media/multimedia.react';
import { useSelector } from '../redux/redux-utils';
import { nonThreadCalendarQuery } from '../selectors/nav-selectors';
-import SWMansionIcon from '../SWMansionIcon.react';
import { webTypeaheadRegex } from '../utils/typeahead-utils';
import css from './chat-input-bar.css';
import TypeaheadTooltip from './typeahead-tooltip.react';
diff --git a/web/chat/chat-thread-ancestors.react.js b/web/chat/chat-thread-ancestors.react.js
--- a/web/chat/chat-thread-ancestors.react.js
+++ b/web/chat/chat-thread-ancestors.react.js
@@ -3,6 +3,7 @@
import classNames from 'classnames';
import * as React from 'react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { useAncestorThreads } from 'lib/shared/ancestor-threads';
import { colorIsDark } from 'lib/shared/thread-utils';
import { useKeyserverAdmin } from 'lib/shared/user-utils';
@@ -10,7 +11,6 @@
import { useResolvedThreadInfo } from 'lib/utils/entity-helpers';
import CommIcon from '../CommIcon.react';
-import SWMansionIcon from '../SWMansionIcon.react';
import css from './chat-thread-ancestors.css';
const SHOW_SEE_FULL_STRUCTURE = false;
diff --git a/web/chat/chat-thread-composer.react.js b/web/chat/chat-thread-composer.react.js
--- a/web/chat/chat-thread-composer.react.js
+++ b/web/chat/chat-thread-composer.react.js
@@ -3,6 +3,7 @@
import * as React from 'react';
import { useDispatch } from 'react-redux';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { useENSNames } from 'lib/hooks/ens-cache';
import { userSearchIndexForPotentialMembers } from 'lib/selectors/user-selectors';
import { getPotentialMemberItems } from 'lib/shared/search-utils';
@@ -15,7 +16,6 @@
import type { InputState } from '../input/input-state';
import { updateNavInfoActionType } from '../redux/action-types';
import { useSelector } from '../redux/redux-utils';
-import SWMansionIcon from '../SWMansionIcon.react';
import css from './chat-thread-composer.css';
type Props = {
diff --git a/web/chat/chat-thread-list-item-menu.react.js b/web/chat/chat-thread-list-item-menu.react.js
--- a/web/chat/chat-thread-list-item-menu.react.js
+++ b/web/chat/chat-thread-list-item-menu.react.js
@@ -3,12 +3,12 @@
import classNames from 'classnames';
import * as React from 'react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import useToggleUnreadStatus from 'lib/hooks/toggle-unread-status';
import type { ThreadInfo } from 'lib/types/thread-types';
import Button from '../components/button.react';
import { useThreadIsActive } from '../selectors/thread-selectors';
-import SWMansionIcon from '../SWMansionIcon.react';
import css from './chat-thread-list-item-menu.css';
type Props = {
diff --git a/web/chat/chat-thread-list-item.react.js b/web/chat/chat-thread-list-item.react.js
--- a/web/chat/chat-thread-list-item.react.js
+++ b/web/chat/chat-thread-list-item.react.js
@@ -3,6 +3,7 @@
import classNames from 'classnames';
import * as React from 'react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import type { ChatThreadItem } from 'lib/selectors/chat-selectors';
import { useAncestorThreads } from 'lib/shared/ancestor-threads';
import { shortAbsoluteDate } from 'lib/utils/date-utils';
@@ -16,7 +17,6 @@
useOnClickThread,
useThreadIsActive,
} from '../selectors/thread-selectors';
-import SWMansionIcon from '../SWMansionIcon.react';
import ChatThreadListItemMenu from './chat-thread-list-item-menu.react';
import ChatThreadListSeeMoreSidebars from './chat-thread-list-see-more-sidebars.react';
import ChatThreadListSidebar from './chat-thread-list-sidebar.react';
diff --git a/web/chat/chat-thread-tab.react.js b/web/chat/chat-thread-tab.react.js
--- a/web/chat/chat-thread-tab.react.js
+++ b/web/chat/chat-thread-tab.react.js
@@ -2,7 +2,10 @@
import * as React from 'react';
-import SWMansionIcon, { type Icon } from '../SWMansionIcon.react';
+import SWMansionIcon, {
+ type Icon,
+} from 'lib/components/SWMansionIcon.react.js';
+
import css from './chat-tabs.css';
type Props = {
diff --git a/web/chat/thread-menu.react.js b/web/chat/thread-menu.react.js
--- a/web/chat/thread-menu.react.js
+++ b/web/chat/thread-menu.react.js
@@ -7,6 +7,7 @@
leaveThreadActionTypes,
} from 'lib/actions/thread-actions';
import { useModalContext } from 'lib/components/modal-provider.react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { usePromoteSidebar } from 'lib/hooks/promote-sidebar.react';
import { childThreadInfos } from 'lib/selectors/thread-selectors';
import {
@@ -35,7 +36,6 @@
import SidebarsModal from '../modals/threads/sidebars/sidebars-modal.react';
import SubchannelsModal from '../modals/threads/subchannels/subchannels-modal.react';
import { useSelector } from '../redux/redux-utils';
-import SWMansionIcon from '../SWMansionIcon.react';
import css from './thread-menu.css';
type ThreadMenuProps = {
diff --git a/web/components/clear-search-button.react.js b/web/components/clear-search-button.react.js
--- a/web/components/clear-search-button.react.js
+++ b/web/components/clear-search-button.react.js
@@ -3,7 +3,8 @@
import classNames from 'classnames';
import * as React from 'react';
-import SWMansionIcon from '../SWMansionIcon.react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
+
import Button from './button.react';
import css from './search.css';
diff --git a/web/components/enum-settings-option-info.react.js b/web/components/enum-settings-option-info.react.js
--- a/web/components/enum-settings-option-info.react.js
+++ b/web/components/enum-settings-option-info.react.js
@@ -3,7 +3,8 @@
import classnames from 'classnames';
import * as React from 'react';
-import SWMansionIcon from '../SWMansionIcon.react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
+
import css from './enum-settings-option-info.css';
type Props = {
diff --git a/web/components/label.react.js b/web/components/label.react.js
--- a/web/components/label.react.js
+++ b/web/components/label.react.js
@@ -2,7 +2,8 @@
import * as React from 'react';
-import SWMansionIcon from '../SWMansionIcon.react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
+
import Button from './button.react';
import css from './label.css';
diff --git a/web/components/menu-item.react.js b/web/components/menu-item.react.js
--- a/web/components/menu-item.react.js
+++ b/web/components/menu-item.react.js
@@ -3,7 +3,10 @@
import classNames from 'classnames';
import * as React from 'react';
-import SWMansionIcon, { type Icon } from '../SWMansionIcon.react';
+import SWMansionIcon, {
+ type Icon,
+} from 'lib/components/SWMansionIcon.react.js';
+
import Button from './button.react';
import css from './menu.css';
diff --git a/web/components/navigation-arrows.react.js b/web/components/navigation-arrows.react.js
--- a/web/components/navigation-arrows.react.js
+++ b/web/components/navigation-arrows.react.js
@@ -3,9 +3,10 @@
import classnames from 'classnames';
import * as React from 'react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
+
import electron from '../electron.js';
import history from '../router-history.js';
-import SWMansionIcon from '../SWMansionIcon.react.js';
import css from './navigation-arrows.css';
const stopDoubleClickPropagation = e => e.stopPropagation();
diff --git a/web/components/search.react.js b/web/components/search.react.js
--- a/web/components/search.react.js
+++ b/web/components/search.react.js
@@ -2,7 +2,8 @@
import * as React from 'react';
-import SWMansionIcon from '../SWMansionIcon.react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
+
import ClearSearchButton from './clear-search-button.react';
import css from './search.css';
diff --git a/web/modals/modal.react.js b/web/modals/modal.react.js
--- a/web/modals/modal.react.js
+++ b/web/modals/modal.react.js
@@ -4,9 +4,11 @@
import * as React from 'react';
import ModalOverlay from 'lib/components/modal-overlay.react';
+import SWMansionIcon, {
+ type Icon,
+} from 'lib/components/SWMansionIcon.react.js';
import Button from '../components/button.react';
-import SWMansionIcon, { type Icon } from '../SWMansionIcon.react';
import css from './modal.css';
export type ModalSize = 'small' | 'large' | 'fit-content';
diff --git a/web/modals/threads/create/steps/subchannel-settings.react.js b/web/modals/threads/create/steps/subchannel-settings.react.js
--- a/web/modals/threads/create/steps/subchannel-settings.react.js
+++ b/web/modals/threads/create/steps/subchannel-settings.react.js
@@ -2,12 +2,12 @@
import * as React from 'react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { threadTypeDescriptions } from 'lib/shared/thread-utils';
import { threadTypes } from 'lib/types/thread-types';
import CommIcon from '../../../../CommIcon.react';
import EnumSettingsOption from '../../../../components/enum-settings-option.react';
-import SWMansionIcon from '../../../../SWMansionIcon.react';
import Input from '../../../input.react';
import css from './subchannel-settings.css';
diff --git a/web/modals/threads/members/member.react.js b/web/modals/threads/members/member.react.js
--- a/web/modals/threads/members/member.react.js
+++ b/web/modals/threads/members/member.react.js
@@ -7,6 +7,7 @@
removeUsersFromThread,
changeThreadMemberRoles,
} from 'lib/actions/thread-actions';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import {
memberIsAdmin,
memberHasAdminPowers,
@@ -28,7 +29,6 @@
import Label from '../../../components/label.react';
import MenuItem from '../../../components/menu-item.react';
import Menu from '../../../components/menu.react';
-import SWMansionIcon from '../../../SWMansionIcon.react';
import css from './members-modal.css';
type Props = {
diff --git a/web/modals/threads/settings/thread-settings-delete-tab.react.js b/web/modals/threads/settings/thread-settings-delete-tab.react.js
--- a/web/modals/threads/settings/thread-settings-delete-tab.react.js
+++ b/web/modals/threads/settings/thread-settings-delete-tab.react.js
@@ -7,6 +7,7 @@
deleteThread,
} from 'lib/actions/thread-actions';
import { useModalContext } from 'lib/components/modal-provider.react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { type SetState } from 'lib/types/hook-types';
import { type ThreadInfo } from 'lib/types/thread-types';
import {
@@ -15,7 +16,6 @@
} from 'lib/utils/action-utils';
import { buttonThemes } from '../../../components/button.react';
-import SWMansionIcon from '../../../SWMansionIcon.react';
import SubmitSection from './submit-section.react';
import css from './thread-settings-delete-tab.css';
diff --git a/web/modals/threads/settings/thread-settings-privacy-tab.react.js b/web/modals/threads/settings/thread-settings-privacy-tab.react.js
--- a/web/modals/threads/settings/thread-settings-privacy-tab.react.js
+++ b/web/modals/threads/settings/thread-settings-privacy-tab.react.js
@@ -7,6 +7,7 @@
changeThreadSettingsActionTypes,
} from 'lib/actions/thread-actions';
import { useModalContext } from 'lib/components/modal-provider.react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { threadTypeDescriptions } from 'lib/shared/thread-utils';
import { type SetState } from 'lib/types/hook-types';
import {
@@ -20,7 +21,6 @@
} from 'lib/utils/action-utils';
import EnumSettingsOption from '../../../components/enum-settings-option.react';
-import SWMansionIcon from '../../../SWMansionIcon.react';
import SubmitSection from './submit-section.react';
import css from './thread-settings-privacy-tab.css';
diff --git a/web/modals/threads/subchannels/subchannel.react.js b/web/modals/threads/subchannels/subchannel.react.js
--- a/web/modals/threads/subchannels/subchannel.react.js
+++ b/web/modals/threads/subchannels/subchannel.react.js
@@ -4,6 +4,7 @@
import * as React from 'react';
import { useModalContext } from 'lib/components/modal-provider.react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { type ChatThreadItem } from 'lib/selectors/chat-selectors';
import { useMessagePreview } from 'lib/shared/message-utils';
import { shortAbsoluteDate } from 'lib/utils/date-utils';
@@ -12,7 +13,6 @@
import Button from '../../../components/button.react';
import { getDefaultTextMessageRules } from '../../../markdown/rules.react';
import { useOnClickThread } from '../../../selectors/thread-selectors';
-import SWMansionIcon from '../../../SWMansionIcon.react';
import css from './subchannels-modal.css';
type Props = {
diff --git a/web/settings/account-delete-modal.react.js b/web/settings/account-delete-modal.react.js
--- a/web/settings/account-delete-modal.react.js
+++ b/web/settings/account-delete-modal.react.js
@@ -8,6 +8,7 @@
deleteAccountActionTypes,
} from 'lib/actions/user-actions';
import { useModalContext } from 'lib/components/modal-provider.react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { preRequestUserStateSelector } from 'lib/selectors/account-selectors';
import { createLoadingStatusSelector } from 'lib/selectors/loading-selectors';
import { accountHasPassword } from 'lib/shared/account-utils.js';
@@ -23,7 +24,6 @@
import Input from '../modals/input.react';
import Modal from '../modals/modal.react';
import { useSelector } from '../redux/redux-utils';
-import SWMansionIcon from '../SWMansionIcon.react.js';
import css from './account-delete-modal.css';
type Props = {
diff --git a/web/settings/account-settings.react.js b/web/settings/account-settings.react.js
--- a/web/settings/account-settings.react.js
+++ b/web/settings/account-settings.react.js
@@ -4,6 +4,7 @@
import { logOut, logOutActionTypes } from 'lib/actions/user-actions';
import { useModalContext } from 'lib/components/modal-provider.react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { useStringForUser } from 'lib/hooks/ens-cache';
import { preRequestUserStateSelector } from 'lib/selectors/account-selectors';
import { accountHasPassword } from 'lib/shared/account-utils.js';
@@ -14,7 +15,6 @@
import Button from '../components/button.react';
import { useSelector } from '../redux/redux-utils';
-import SWMansionIcon from '../SWMansionIcon.react';
import css from './account-settings.css';
import PasswordChangeModal from './password-change-modal';
import BlockListModal from './relationship/block-list-modal.react';
diff --git a/web/settings/relationship/block-list-row.react.js b/web/settings/relationship/block-list-row.react.js
--- a/web/settings/relationship/block-list-row.react.js
+++ b/web/settings/relationship/block-list-row.react.js
@@ -2,11 +2,11 @@
import * as React from 'react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { useRelationshipCallbacks } from 'lib/hooks/relationship-prompt';
import MenuItem from '../../components/menu-item.react';
import Menu from '../../components/menu.react';
-import SWMansionIcon from '../../SWMansionIcon.react';
import css from './user-list-row.css';
import type { UserRowProps } from './user-list.react';
diff --git a/web/settings/relationship/friend-list-row.react.js b/web/settings/relationship/friend-list-row.react.js
--- a/web/settings/relationship/friend-list-row.react.js
+++ b/web/settings/relationship/friend-list-row.react.js
@@ -2,13 +2,13 @@
import * as React from 'react';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import { useRelationshipCallbacks } from 'lib/hooks/relationship-prompt';
import { userRelationshipStatus } from 'lib/types/relationship-types';
import Button from '../../components/button.react';
import MenuItem from '../../components/menu-item.react';
import Menu from '../../components/menu.react';
-import SWMansionIcon from '../../SWMansionIcon.react';
import css from './user-list-row.css';
import type { UserRowProps } from './user-list.react';
diff --git a/web/sidebar/app-switcher.react.js b/web/sidebar/app-switcher.react.js
--- a/web/sidebar/app-switcher.react.js
+++ b/web/sidebar/app-switcher.react.js
@@ -3,6 +3,7 @@
import * as React from 'react';
import { useDispatch } from 'react-redux';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
import {
mostRecentlyReadThreadSelector,
unreadCount,
@@ -11,7 +12,6 @@
import { updateNavInfoActionType } from '../redux/action-types';
import { useSelector } from '../redux/redux-utils';
import { navTabSelector } from '../selectors/nav-selectors.js';
-import SWMansionIcon from '../SWMansionIcon.react';
import css from './left-layout-aside.css';
import NavigationPanel from './navigation-panel.react';
diff --git a/web/sidebar/community-picker.react.js b/web/sidebar/community-picker.react.js
--- a/web/sidebar/community-picker.react.js
+++ b/web/sidebar/community-picker.react.js
@@ -4,9 +4,10 @@
import * as React from 'react';
import { useDispatch } from 'react-redux';
+import SWMansionIcon from 'lib/components/SWMansionIcon.react.js';
+
import { updateNavInfoActionType } from '../redux/action-types.js';
import { useSelector } from '../redux/redux-utils.js';
-import SWMansionIcon from '../SWMansionIcon.react';
import css from './community-picker.css';
function CommunityPicker(): React.Node {
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jan 14, 3:46 PM (6 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5932757
Default Alt Text
D6638.1768405574.diff (21 KB)
Attached To
Mode
D6638: [lib] Move `SWMansion.react` to `lib` so it can be shared across `web` and `landing`
Attached
Detach File
Event Timeline
Log In to Comment