diff --git a/web/components/avatar.css b/web/avatars/avatar.css rename from web/components/avatar.css rename to web/avatars/avatar.css diff --git a/web/components/avatar.react.js b/web/avatars/avatar.react.js rename from web/components/avatar.react.js rename to web/avatars/avatar.react.js --- a/web/components/avatar.react.js +++ b/web/avatars/avatar.react.js @@ -3,7 +3,7 @@ import classnames from 'classnames'; import * as React from 'react'; -import type { ResolvedClientAvatar } from 'lib/types/avatar-types'; +import type { ResolvedClientAvatar } from 'lib/types/avatar-types.js'; import css from './avatar.css'; diff --git a/web/components/thread-avatar.react.js b/web/avatars/thread-avatar.react.js rename from web/components/thread-avatar.react.js rename to web/avatars/thread-avatar.react.js diff --git a/web/components/user-avatar.react.js b/web/avatars/user-avatar.react.js rename from web/components/user-avatar.react.js rename to web/avatars/user-avatar.react.js 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 @@ -11,10 +11,10 @@ import type { AccountUserInfo, UserListItem } from 'lib/types/user-types.js'; import css from './chat-thread-composer.css'; +import UserAvatar from '../avatars/user-avatar.react.js'; import Button from '../components/button.react.js'; import Label from '../components/label.react.js'; import Search from '../components/search.react.js'; -import UserAvatar from '../components/user-avatar.react.js'; import type { InputState } from '../input/input-state.js'; import { updateNavInfoActionType } from '../redux/action-types.js'; import { useSelector } from '../redux/redux-utils.js'; 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 @@ -17,7 +17,7 @@ import ChatThreadListSidebar from './chat-thread-list-sidebar.react.js'; import css from './chat-thread-list.css'; import MessagePreview from './message-preview.react.js'; -import ThreadAvatar from '../components/thread-avatar.react.js'; +import ThreadAvatar from '../avatars/thread-avatar.react.js'; import { useSelector } from '../redux/redux-utils.js'; import { useOnClickThread, diff --git a/web/chat/composed-message.react.js b/web/chat/composed-message.react.js --- a/web/chat/composed-message.react.js +++ b/web/chat/composed-message.react.js @@ -17,8 +17,8 @@ import css from './chat-message-list.css'; import FailedSend from './failed-send.react.js'; import InlineEngagement from './inline-engagement.react.js'; +import UserAvatar from '../avatars/user-avatar.react.js'; import CommIcon from '../CommIcon.react.js'; -import UserAvatar from '../components/user-avatar.react.js'; import { type InputState, InputStateContext } from '../input/input-state.js'; import { useMessageTooltip } from '../utils/tooltip-action-utils.js'; import { tooltipPositions } from '../utils/tooltip-utils.js'; diff --git a/web/chat/thread-top-bar.react.js b/web/chat/thread-top-bar.react.js --- a/web/chat/thread-top-bar.react.js +++ b/web/chat/thread-top-bar.react.js @@ -10,7 +10,7 @@ import ThreadMenu from './thread-menu.react.js'; import css from './thread-top-bar.css'; -import ThreadAvatar from '../components/thread-avatar.react.js'; +import ThreadAvatar from '../avatars/thread-avatar.react.js'; import { InputStateContext } from '../input/input-state.js'; import MessageResultsModal from '../modals/chat/message-results-modal.react.js'; diff --git a/web/modals/chat/message-reactions-modal.react.js b/web/modals/chat/message-reactions-modal.react.js --- a/web/modals/chat/message-reactions-modal.react.js +++ b/web/modals/chat/message-reactions-modal.react.js @@ -6,7 +6,7 @@ import { useMessageReactionsList } from 'lib/shared/reaction-utils.js'; import css from './message-reactions-modal.css'; -import UserAvatar from '../../components/user-avatar.react.js'; +import UserAvatar from '../../avatars/user-avatar.react.js'; import Modal from '../modal.react.js'; type Props = { diff --git a/web/modals/components/add-members-item.react.js b/web/modals/components/add-members-item.react.js --- a/web/modals/components/add-members-item.react.js +++ b/web/modals/components/add-members-item.react.js @@ -5,8 +5,8 @@ import type { UserListItem } from 'lib/types/user-types.js'; import css from './add-members.css'; +import UserAvatar from '../../avatars/user-avatar.react.js'; import Button from '../../components/button.react.js'; -import UserAvatar from '../../components/user-avatar.react.js'; type AddMembersItemProps = { +userInfo: UserListItem, 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 @@ -26,10 +26,10 @@ } from 'lib/utils/action-utils.js'; import css from './members-modal.css'; +import UserAvatar from '../../../avatars/user-avatar.react.js'; import Label from '../../../components/label.react.js'; import MenuItem from '../../../components/menu-item.react.js'; import Menu from '../../../components/menu.react.js'; -import UserAvatar from '../../../components/user-avatar.react.js'; type Props = { +memberInfo: RelativeMemberInfo, diff --git a/web/modals/threads/sidebars/sidebar.react.js b/web/modals/threads/sidebars/sidebar.react.js --- a/web/modals/threads/sidebars/sidebar.react.js +++ b/web/modals/threads/sidebars/sidebar.react.js @@ -10,8 +10,8 @@ import { useResolvedThreadInfo } from 'lib/utils/entity-helpers.js'; import css from './sidebars-modal.css'; +import ThreadAvatar from '../../../avatars/thread-avatar.react.js'; import Button from '../../../components/button.react.js'; -import ThreadAvatar from '../../../components/thread-avatar.react.js'; import { getDefaultTextMessageRules } from '../../../markdown/rules.react.js'; import { useOnClickThread } from '../../../selectors/thread-selectors.js'; 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 @@ -10,8 +10,8 @@ import { useResolvedThreadInfo } from 'lib/utils/entity-helpers.js'; import css from './subchannels-modal.css'; +import ThreadAvatar from '../../../avatars/thread-avatar.react.js'; import Button from '../../../components/button.react.js'; -import ThreadAvatar from '../../../components/thread-avatar.react.js'; import { getDefaultTextMessageRules } from '../../../markdown/rules.react.js'; import { useOnClickThread } from '../../../selectors/thread-selectors.js'; diff --git a/web/modals/threads/thread-picker-modal.react.js b/web/modals/threads/thread-picker-modal.react.js --- a/web/modals/threads/thread-picker-modal.react.js +++ b/web/modals/threads/thread-picker-modal.react.js @@ -10,9 +10,9 @@ import { useResolvedThreadInfo } from 'lib/utils/entity-helpers.js'; import css from './thread-picker-modal.css'; +import ThreadAvatar from '../../avatars/thread-avatar.react.js'; import Button from '../../components/button.react.js'; import Search from '../../components/search.react.js'; -import ThreadAvatar from '../../components/thread-avatar.react.js'; import { useSelector } from '../../redux/redux-utils.js'; import Modal, { type ModalOverridableProps } from '../modal.react.js'; diff --git a/web/navigation-panels/nav-state-info-bar.react.js b/web/navigation-panels/nav-state-info-bar.react.js --- a/web/navigation-panels/nav-state-info-bar.react.js +++ b/web/navigation-panels/nav-state-info-bar.react.js @@ -7,7 +7,7 @@ import ThreadAncestors from './chat-thread-ancestors.react.js'; import css from './nav-state-info-bar.css'; -import ThreadAvatar from '../components/thread-avatar.react.js'; +import ThreadAvatar from '../avatars/thread-avatar.react.js'; type NavStateInfoBarProps = { +threadInfo: ThreadInfo, 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 @@ -17,8 +17,8 @@ import PasswordChangeModal from './password-change-modal.js'; import BlockListModal from './relationship/block-list-modal.react.js'; import FriendListModal from './relationship/friend-list-modal.react.js'; +import UserAvatar from '../avatars/user-avatar.react.js'; import Button from '../components/button.react.js'; -import UserAvatar from '../components/user-avatar.react.js'; import { useSelector } from '../redux/redux-utils.js'; function AccountSettings(): React.Node { 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 @@ -7,9 +7,9 @@ import css from './user-list-row.css'; import type { UserRowProps } from './user-list.react.js'; +import UserAvatar from '../../avatars/user-avatar.react.js'; import MenuItem from '../../components/menu-item.react.js'; import Menu from '../../components/menu.react.js'; -import UserAvatar from '../../components/user-avatar.react.js'; function BlockListRow(props: UserRowProps): React.Node { const { userInfo, onMenuVisibilityChange } = props; 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 @@ -8,10 +8,10 @@ import css from './user-list-row.css'; import type { UserRowProps } from './user-list.react.js'; +import UserAvatar from '../../avatars/user-avatar.react.js'; import Button from '../../components/button.react.js'; import MenuItem from '../../components/menu-item.react.js'; import Menu from '../../components/menu.react.js'; -import UserAvatar from '../../components/user-avatar.react.js'; const dangerButtonColor = { color: 'var(--btn-bg-danger)', diff --git a/web/sidebar/community-creation/community-creation-modal.react.js b/web/sidebar/community-creation/community-creation-modal.react.js --- a/web/sidebar/community-creation/community-creation-modal.react.js +++ b/web/sidebar/community-creation/community-creation-modal.react.js @@ -17,10 +17,10 @@ import CommunityCreationKeyserverLabel from './community-creation-keyserver-label.react.js'; import CommunityCreationMembersModal from './community-creation-members-modal.react.js'; import css from './community-creation-modal.css'; +import UserAvatar from '../../avatars/user-avatar.react.js'; import CommIcon from '../../CommIcon.react.js'; import Button, { buttonThemes } from '../../components/button.react.js'; import EnumSettingsOption from '../../components/enum-settings-option.react.js'; -import UserAvatar from '../../components/user-avatar.react.js'; import LoadingIndicator from '../../loading-indicator.react.js'; import Input from '../../modals/input.react.js'; import Modal from '../../modals/modal.react.js'; diff --git a/web/sidebar/community-drawer-item-community.react.js b/web/sidebar/community-drawer-item-community.react.js --- a/web/sidebar/community-drawer-item-community.react.js +++ b/web/sidebar/community-drawer-item-community.react.js @@ -12,7 +12,7 @@ getChildren, getExpandButton, } from './community-drawer-utils.react.js'; -import ThreadAvatar from '../components/thread-avatar.react.js'; +import ThreadAvatar from '../avatars/thread-avatar.react.js'; function CommunityDrawerItemCommunity(props: DrawerItemProps): React.Node { const { diff --git a/web/sidebar/community-drawer-item.react.js b/web/sidebar/community-drawer-item.react.js --- a/web/sidebar/community-drawer-item.react.js +++ b/web/sidebar/community-drawer-item.react.js @@ -13,7 +13,7 @@ getChildren, getExpandButton, } from './community-drawer-utils.react.js'; -import ThreadAvatar from '../components/thread-avatar.react.js'; +import ThreadAvatar from '../avatars/thread-avatar.react.js'; import type { NavigationTab } from '../types/nav-types.js'; export type DrawerItemProps = { diff --git a/web/utils/typeahead-utils.js b/web/utils/typeahead-utils.js --- a/web/utils/typeahead-utils.js +++ b/web/utils/typeahead-utils.js @@ -9,10 +9,10 @@ import type { SetState } from 'lib/types/hook-types.js'; import type { RelativeMemberInfo } from 'lib/types/thread-types.js'; +import UserAvatar from '../avatars/user-avatar.react.js'; import { typeaheadStyle } from '../chat/chat-constants.js'; import css from '../chat/typeahead-tooltip.css'; import Button from '../components/button.react.js'; -import UserAvatar from '../components/user-avatar.react.js'; const webTypeaheadRegex: RegExp = new RegExp( `(?(?:^(?:.|\n)*\\s+)|^)@(?${oldValidUsernameRegexString})?$`,