Merge pull request 'src/Element subdirectories' (#637) from mmalmi/snort:main into main

Reviewed-on: Kieran/snort#637
This commit is contained in:
Kieran 2023-09-28 11:27:05 +00:00
commit b239bc65d8
130 changed files with 165 additions and 164 deletions

View File

@ -1,15 +1,14 @@
import "./AsyncButton.css";
import { useState } from "react";
import React, { useState, ForwardedRef } from "react";
import Spinner from "../Icons/Spinner";
interface AsyncButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
disabled?: boolean;
onClick(e: React.MouseEvent): Promise<void> | void;
children?: React.ReactNode;
ref?: React.Ref<HTMLButtonElement>;
}
export default function AsyncButton(props: AsyncButtonProps) {
const AsyncButton = React.forwardRef<HTMLButtonElement, AsyncButtonProps>((props, ref) => {
const [loading, setLoading] = useState<boolean>(false);
async function handle(e: React.MouseEvent) {
@ -30,7 +29,7 @@ export default function AsyncButton(props: AsyncButtonProps) {
return (
<button
ref={props.ref}
ref={ref as ForwardedRef<HTMLButtonElement>}
className="spinner-button"
type="button"
disabled={loading || props.disabled}
@ -44,4 +43,6 @@ export default function AsyncButton(props: AsyncButtonProps) {
)}
</button>
);
}
});
export default AsyncButton;

View File

@ -2,7 +2,7 @@ import { useState, useMemo, ChangeEvent } from "react";
import FormattedMessage from "Element/FormattedMessage";
import { HexKey, TaggedNostrEvent } from "@snort/system";
import Note from "Element/Note";
import Note from "Element/Event/Note";
import useLogin from "Hooks/useLogin";
import { UserCache } from "Cache";

View File

@ -1,6 +1,6 @@
import { ChatParticipant } from "chat";
import NoteToSelf from "./NoteToSelf";
import ProfileImage from "./ProfileImage";
import NoteToSelf from "../User/NoteToSelf";
import ProfileImage from "../User/ProfileImage";
import useLogin from "Hooks/useLogin";
export function ChatParticipantProfile({ participant }: { participant: ChatParticipant }) {

View File

@ -4,13 +4,13 @@ import { FormattedMessage, useIntl } from "react-intl";
import { useInView } from "react-intersection-observer";
import useEventPublisher from "Hooks/useEventPublisher";
import NoteTime from "Element/NoteTime";
import NoteTime from "Element/Event/NoteTime";
import Text from "Element/Text";
import useLogin from "Hooks/useLogin";
import { Chat, ChatMessage, ChatType, setLastReadIn } from "chat";
import ProfileImage from "./ProfileImage";
import ProfileImage from "../User/ProfileImage";
import messages from "./messages";
import messages from "../messages";
export interface DMProps {
chat: Chat;

View File

@ -1,10 +1,10 @@
import "./DmWindow.css";
import { useMemo } from "react";
import ProfileImage from "Element/ProfileImage";
import DM from "Element/DM";
import ProfileImage from "Element/User/ProfileImage";
import DM from "Element/Chat/DM";
import useLogin from "Hooks/useLogin";
import WriteMessage from "Element/WriteMessage";
import WriteMessage from "Element/Chat/WriteMessage";
import { Chat, createEmptyChatObject, useChatSystem } from "chat";
import FormattedMessage from "Element/FormattedMessage";
import { ChatParticipantProfile } from "./ChatParticipant";

View File

@ -5,7 +5,7 @@ import Spinner from "Icons/Spinner";
import { useState } from "react";
import useFileUpload from "Upload";
import { openFile } from "SnortUtils";
import Textarea from "./Textarea";
import Textarea from "../Textarea";
import { System } from "index";
import { Chat } from "chat";

View File

@ -1,7 +1,7 @@
import { useState, ReactNode } from "react";
import Icon from "Icons/Icon";
import ShowMore from "Element/ShowMore";
import ShowMore from "Element/Event/ShowMore";
interface CollapsedProps {
text?: string;

View File

@ -1,7 +1,7 @@
import { NostrLink } from "@snort/system";
import { useArticles } from "Feed/ArticlesFeed";
import { orderDescending } from "SnortUtils";
import Note from "../Note";
import Note from "../Event/Note";
import { useReactions } from "Feed/Reactions";
export default function Articles() {

View File

@ -1,5 +1,5 @@
import { useUserProfile } from "@snort/system-react";
import Avatar from "Element/Avatar";
import Avatar from "Element/User/Avatar";
import useLogin from "Hooks/useLogin";
import "./Nav.css";
import Icon from "Icons/Icon";

View File

@ -8,7 +8,7 @@ import SendSats from "Element/SendSats";
import Icon from "Icons/Icon";
import { useWallet } from "Wallet";
import messages from "./messages";
import messages from "../messages";
export interface InvoiceProps {
invoice: string;

View File

@ -4,7 +4,7 @@ import { CSSProperties, useEffect, useState } from "react";
import Spinner from "Icons/Spinner";
import SnortApi, { LinkPreviewData } from "SnortApi";
import useImgProxy from "Hooks/useImgProxy";
import { MediaElement } from "Element/MediaElement";
import { MediaElement } from "Element/Embed/MediaElement";
async function fetchUrlPreviewInfo(url: string) {
const api = new SnortApi();

View File

@ -4,7 +4,7 @@ import { HexKey } from "@snort/system";
import { useUserProfile } from "@snort/system-react";
import { profileLink } from "SnortUtils";
import { getDisplayName } from "Element/ProfileImage";
import { getDisplayName } from "Element/User/ProfileImage";
export default function Mention({ pubkey, relays }: { pubkey: HexKey; relays?: Array<string> | string }) {
const user = useUserProfile(pubkey);

View File

@ -1,8 +1,8 @@
import { Link } from "react-router-dom";
import { NostrPrefix, tryParseNostrLink } from "@snort/system";
import Mention from "Element/Mention";
import NoteQuote from "Element/NoteQuote";
import Mention from "Element/Embed/Mention";
import NoteQuote from "Element/Event/NoteQuote";
export default function NostrLink({ link, depth }: { link: string; depth?: number }) {
const nav = tryParseNostrLink(link);

View File

@ -3,11 +3,11 @@ import { FormattedMessage, FormattedNumber } from "react-intl";
import { LNURL } from "@snort/shared";
import { dedupe, hexToBech32 } from "SnortUtils";
import FollowListBase from "Element/FollowListBase";
import FollowListBase from "Element/User/FollowListBase";
import AsyncButton from "Element/AsyncButton";
import { useWallet } from "Wallet";
import { Toastore } from "Toaster";
import { getDisplayName } from "Element/ProfileImage";
import { getDisplayName } from "Element/User/ProfileImage";
import { UserCache } from "Cache";
import useLogin from "Hooks/useLogin";
import useEventPublisher from "Hooks/useEventPublisher";

View File

@ -3,7 +3,7 @@ import { Link } from "react-router-dom";
import { NostrEvent, NostrLink } from "@snort/system";
import { ProxyImg } from "Element/ProxyImg";
import ProfileImage from "Element/ProfileImage";
import ProfileImage from "Element/User/ProfileImage";
import FormattedMessage from "Element/FormattedMessage";
export default function ZapstrEmbed({ ev }: { ev: NostrEvent }) {

View File

@ -4,8 +4,8 @@ import { NostrEvent, NostrLink } from "@snort/system";
import { findTag } from "SnortUtils";
import { useEventFeed } from "Feed/EventFeed";
import PageSpinner from "Element/PageSpinner";
import Reveal from "Element/Reveal";
import { MediaElement } from "Element/MediaElement";
import Reveal from "Element/Event/Reveal";
import { MediaElement } from "Element/Embed/MediaElement";
export default function NostrFileHeader({ link }: { link: NostrLink }) {
const ev = useEventFeed(link);

View File

@ -8,7 +8,7 @@ import { TaggedNostrEvent, HexKey, EventKind, NostrPrefix, Lists, EventExt, pars
import { System } from "index";
import useEventPublisher from "Hooks/useEventPublisher";
import Icon from "Icons/Icon";
import ProfileImage from "Element/ProfileImage";
import ProfileImage from "Element/User/ProfileImage";
import Text from "Element/Text";
import {
getReactions,
@ -20,26 +20,26 @@ import {
profileLink,
findTag,
} from "SnortUtils";
import NoteFooter from "Element/NoteFooter";
import NoteTime from "Element/NoteTime";
import Reveal from "Element/Reveal";
import NoteFooter from "Element/Event/NoteFooter";
import NoteTime from "Element/Event/NoteTime";
import Reveal from "Element/Event/Reveal";
import useModeration from "Hooks/useModeration";
import { UserCache } from "Cache";
import Poll from "Element/Poll";
import Poll from "Element/Event/Poll";
import useLogin from "Hooks/useLogin";
import { setBookmarked, setPinned } from "Login";
import { NostrFileElement } from "Element/NostrFileHeader";
import ZapstrEmbed from "Element/ZapstrEmbed";
import PubkeyList from "Element/PubkeyList";
import { NostrFileElement } from "Element/Event/NostrFileHeader";
import ZapstrEmbed from "Element/Embed/ZapstrEmbed";
import PubkeyList from "Element/Embed/PubkeyList";
import { LiveEvent } from "Element/LiveEvent";
import { NoteContextMenu, NoteTranslation } from "Element/NoteContextMenu";
import Reactions from "Element/Reactions";
import { ZapGoal } from "Element/ZapGoal";
import NoteReaction from "Element/NoteReaction";
import ProfilePreview from "Element/ProfilePreview";
import { NoteContextMenu, NoteTranslation } from "Element/Event/NoteContextMenu";
import Reactions from "Element/Event/Reactions";
import { ZapGoal } from "Element/Event/ZapGoal";
import NoteReaction from "Element/Event/NoteReaction";
import ProfilePreview from "Element/User/ProfilePreview";
import { ProxyImg } from "Element/ProxyImg";
import messages from "./messages";
import messages from "../messages";
export interface NoteProps {
data: TaggedNostrEvent;

View File

@ -10,7 +10,7 @@ import messages from "Element/messages";
import useLogin from "Hooks/useLogin";
import useModeration from "Hooks/useModeration";
import useEventPublisher from "Hooks/useEventPublisher";
import { ReBroadcaster } from "./ReBroadcaster";
import { ReBroadcaster } from "../ReBroadcaster";
import { useState } from "react";
export interface NoteTranslation {

View File

@ -15,9 +15,9 @@ import useEventPublisher from "Hooks/useEventPublisher";
import { openFile } from "SnortUtils";
import Textarea from "Element/Textarea";
import Modal from "Element/Modal";
import ProfileImage from "Element/ProfileImage";
import ProfileImage from "Element/User/ProfileImage";
import useFileUpload from "Upload";
import Note from "Element/Note";
import Note from "Element/Event/Note";
import { ClipboardEventHandler } from "react";
import useLogin from "Hooks/useLogin";

View File

@ -7,9 +7,9 @@ import { SnortContext, useUserProfile } from "@snort/system-react";
import { formatShort } from "Number";
import useEventPublisher from "Hooks/useEventPublisher";
import { delay, findTag, normalizeReaction } from "SnortUtils";
import { NoteCreator } from "Element/NoteCreator";
import { NoteCreator } from "Element/Event/NoteCreator";
import SendSats from "Element/SendSats";
import { ZapsSummary } from "Element/Zap";
import { ZapsSummary } from "Element/Event/Zap";
import { AsyncIcon } from "Element/AsyncIcon";
import { useWallet } from "Wallet";
@ -18,10 +18,10 @@ import { useInteractionCache } from "Hooks/useInteractionCache";
import { ZapPoolController } from "ZapPoolController";
import { System } from "index";
import { Zapper, ZapTarget } from "Zapper";
import { getDisplayName } from "./ProfileImage";
import { getDisplayName } from "../User/ProfileImage";
import { useNoteCreator } from "State/NoteCreator";
import messages from "./messages";
import messages from "../messages";
let isZapperBusy = false;
const barrierZapper = async <T,>(then: () => Promise<T>): Promise<T> => {

View File

@ -1,5 +1,5 @@
import "./Note.css";
import ProfileImage from "Element/ProfileImage";
import ProfileImage from "Element/User/ProfileImage";
interface NoteGhostProps {
className?: string;

View File

@ -1,6 +1,6 @@
import { useEventFeed } from "Feed/EventFeed";
import { NostrLink } from "@snort/system";
import Note from "Element/Note";
import Note from "Element/Event/Note";
import PageSpinner from "Element/PageSpinner";
export default function NoteQuote({ link, depth }: { link: NostrLink; depth?: number }) {

View File

@ -3,8 +3,8 @@ import { Link } from "react-router-dom";
import { useMemo } from "react";
import { EventKind, NostrEvent, TaggedNostrEvent, NostrPrefix, EventExt } from "@snort/system";
import Note from "Element/Note";
import { getDisplayName } from "Element/ProfileImage";
import Note from "Element/Event/Note";
import { getDisplayName } from "Element/User/ProfileImage";
import { eventLink, hexToBech32 } from "SnortUtils";
import useModeration from "Hooks/useModeration";
import FormattedMessage from "Element/FormattedMessage";

View File

@ -7,11 +7,11 @@ import { TaggedNostrEvent, ParsedZap } from "@snort/system";
import { formatShort } from "Number";
import Icon from "Icons/Icon";
import { Tab } from "Element/Tabs";
import ProfileImage from "Element/ProfileImage";
import ProfileImage from "Element/User/ProfileImage";
import Tabs from "Element/Tabs";
import Modal from "Element/Modal";
import messages from "./messages";
import messages from "../messages";
interface ReactionsProps {
show: boolean;

View File

@ -1,4 +1,4 @@
import "./Reveal.css";
import "../Reveal.css";
import Icon from "Icons/Icon";
import { useState } from "react";

View File

@ -1,9 +1,9 @@
import FormattedMessage from "Element/FormattedMessage";
import { FileExtensionRegex } from "Const";
import Reveal from "Element/Reveal";
import Reveal from "Element/Event/Reveal";
import useLogin from "Hooks/useLogin";
import { MediaElement } from "Element/MediaElement";
import { MediaElement } from "Element/Embed/MediaElement";
import { Link } from "react-router-dom";
interface RevealMediaProps {

View File

@ -1,7 +1,7 @@
import "./ShowMore.css";
import { useIntl } from "react-intl";
import messages from "./messages";
import messages from "../messages";
interface ShowMoreProps {
text?: string;

View File

@ -6,12 +6,12 @@ import { TaggedNostrEvent, u256, NostrPrefix, EventExt, parseNostrLink } from "@
import { getReactions, getAllReactions } from "SnortUtils";
import BackButton from "Element/BackButton";
import Note from "Element/Note";
import NoteGhost from "Element/NoteGhost";
import Note from "Element/Event/Note";
import NoteGhost from "Element/Event/NoteGhost";
import Collapsed from "Element/Collapsed";
import { ThreadContext, ThreadContextWrapper, chainKey } from "Hooks/useThreadContext";
import messages from "./messages";
import messages from "../messages";
interface DividerProps {
variant?: "regular" | "small";

View File

@ -6,10 +6,10 @@ import { FormattedMessage, useIntl } from "react-intl";
import { unwrap } from "SnortUtils";
import { formatShort } from "Number";
import Text from "Element/Text";
import ProfileImage from "Element/ProfileImage";
import ProfileImage from "Element/User/ProfileImage";
import useLogin from "Hooks/useLogin";
import messages from "./messages";
import messages from "../messages";
const Zap = ({ zap, showZapped = true }: { zap: ParsedZap; showZapped?: boolean }) => {
const { amount, content, sender, valid, receiver } = zap;

View File

@ -5,7 +5,7 @@ import useZapsFeed from "Feed/ZapsFeed";
import { formatShort } from "Number";
import { findTag } from "SnortUtils";
import Icon from "Icons/Icon";
import SendSats from "./SendSats";
import SendSats from "../SendSats";
import { Zapper } from "Zapper";
export function ZapGoal({ ev }: { ev: NostrEvent }) {

View File

@ -2,7 +2,7 @@ import { useEffect, useState } from "react";
import FormattedMessage from "Element/FormattedMessage";
import { useInView } from "react-intersection-observer";
import messages from "./messages";
import messages from "../messages";
export default function LoadMore({
onLoadMore,

View File

@ -6,9 +6,9 @@ import { TaggedNostrEvent, EventKind, u256 } from "@snort/system";
import Icon from "Icons/Icon";
import { dedupeByPubkey, findTag } from "SnortUtils";
import ProfileImage from "Element/ProfileImage";
import ProfileImage from "Element/User/ProfileImage";
import useTimelineFeed, { TimelineFeed, TimelineSubject } from "Feed/TimelineFeed";
import Note from "Element/Note";
import Note from "Element/Event/Note";
import useModeration from "Hooks/useModeration";
import { LiveStreams } from "Element/LiveStreams";

View File

@ -7,14 +7,14 @@ import { SnortContext } from "@snort/system-react";
import { useInView } from "react-intersection-observer";
import { dedupeByPubkey, findTag, orderDescending } from "SnortUtils";
import Note from "Element/Note";
import Note from "Element/Event/Note";
import useModeration from "Hooks/useModeration";
import { FollowsFeed } from "Cache";
import { LiveStreams } from "Element/LiveStreams";
import { useReactions } from "Feed/Reactions";
import AsyncButton from "./AsyncButton";
import AsyncButton from "../AsyncButton";
import useLogin from "Hooks/useLogin";
import ProfileImage from "Element/ProfileImage";
import ProfileImage from "Element/User/ProfileImage";
import Icon from "Icons/Icon";
export interface TimelineFollowsProps {

View File

@ -2,7 +2,7 @@ import { useEffect, useState } from "react";
import { NostrEvent, NostrLink, TaggedNostrEvent } from "@snort/system";
import PageSpinner from "Element/PageSpinner";
import Note from "Element/Note";
import Note from "Element/Event/Note";
import NostrBandApi from "External/NostrBand";
import { useReactions } from "Feed/Reactions";

View File

@ -13,16 +13,16 @@ import {
WavlakeRegex,
} from "Const";
import { magnetURIDecode } from "SnortUtils";
import SoundCloudEmbed from "Element/SoundCloudEmded";
import MixCloudEmbed from "Element/MixCloudEmbed";
import SpotifyEmbed from "Element/SpotifyEmbed";
import TidalEmbed from "Element/TidalEmbed";
import TwitchEmbed from "Element/TwitchEmbed";
import AppleMusicEmbed from "Element/AppleMusicEmbed";
import WavlakeEmbed from "Element/WavlakeEmbed";
import LinkPreview from "Element/LinkPreview";
import NostrLink from "Element/NostrLink";
import MagnetLink from "Element/MagnetLink";
import SoundCloudEmbed from "Element/Embed/SoundCloudEmded";
import MixCloudEmbed from "Element/Embed/MixCloudEmbed";
import SpotifyEmbed from "Element/Embed/SpotifyEmbed";
import TidalEmbed from "Element/Embed/TidalEmbed";
import TwitchEmbed from "Element/Embed/TwitchEmbed";
import AppleMusicEmbed from "Element/Embed/AppleMusicEmbed";
import WavlakeEmbed from "Element/Embed/WavlakeEmbed";
import LinkPreview from "Element/Embed/LinkPreview";
import NostrLink from "Element/Embed/NostrLink";
import MagnetLink from "Element/Embed/MagnetLink";
interface HypeTextProps {
link: string;

View File

@ -3,7 +3,7 @@ import FormattedMessage from "Element/FormattedMessage";
import { Link } from "react-router-dom";
import { findTag } from "SnortUtils";
import ProfileImage from "./ProfileImage";
import ProfileImage from "./User/ProfileImage";
import Icon from "Icons/Icon";
export function LiveEvent({ ev }: { ev: NostrEvent }) {

View File

@ -12,7 +12,7 @@ import useLogin from "Hooks/useLogin";
import { setRelays } from "Login";
import Icon from "Icons/Icon";
import messages from "./messages";
import messages from "../messages";
export interface RelayProps {
addr: string;

View File

@ -9,7 +9,7 @@ import { LNURLSuccessAction } from "@snort/shared";
import { formatShort } from "Number";
import Icon from "Icons/Icon";
import useEventPublisher from "Hooks/useEventPublisher";
import ProfileImage from "Element/ProfileImage";
import ProfileImage from "Element/User/ProfileImage";
import Modal from "Element/Modal";
import QrCode from "Element/QrCode";
import Copy from "Element/Copy";

View File

@ -2,7 +2,7 @@ import { useEffect, useState } from "react";
import { HexKey, NostrPrefix } from "@snort/system";
import FormattedMessage from "Element/FormattedMessage";
import FollowListBase from "Element/FollowListBase";
import FollowListBase from "Element/User/FollowListBase";
import PageSpinner from "Element/PageSpinner";
import NostrBandApi from "External/NostrBand";
import SemisolDevApi from "External/SemisolDev";

View File

@ -2,13 +2,13 @@ import "./Text.css";
import { useState } from "react";
import { HexKey, ParsedFragment } from "@snort/system";
import Invoice from "Element/Invoice";
import Hashtag from "Element/Hashtag";
import Invoice from "Element/Embed/Invoice";
import Hashtag from "Element/Embed/Hashtag";
import HyperText from "Element/HyperText";
import CashuNuts from "Element/CashuNuts";
import RevealMedia from "./RevealMedia";
import CashuNuts from "Element/Embed/CashuNuts";
import RevealMedia from "./Event/RevealMedia";
import { ProxyImg } from "./ProxyImg";
import { SpotlightMediaModal } from "./SpotlightMedia";
import { SpotlightMediaModal } from "./Deck/SpotlightMedia";
import { useTextTransformer } from "Hooks/useTextTransformCache";
export interface TextProps {

View File

@ -6,8 +6,8 @@ import ReactTextareaAutocomplete from "@webscopeio/react-textarea-autocomplete";
import TextareaAutosize from "react-textarea-autosize";
import { NostrPrefix, MetadataCache } from "@snort/system";
import Avatar from "Element/Avatar";
import Nip05 from "Element/Nip05";
import Avatar from "Element/User/Avatar";
import Nip05 from "Element/User/Nip05";
import { hexToBech32 } from "SnortUtils";
import { UserCache } from "Cache";
import searchEmoji from "emoji-search";

View File

@ -1,7 +1,7 @@
import { useEffect, useState } from "react";
import { HexKey } from "@snort/system";
import FollowListBase from "Element/FollowListBase";
import FollowListBase from "Element/User/FollowListBase";
import PageSpinner from "Element/PageSpinner";
import NostrBandApi from "External/NostrBand";

View File

@ -4,7 +4,7 @@ import { CSSProperties, ReactNode, useEffect, useState } from "react";
import type { UserMetadata } from "@snort/system";
import useImgProxy from "Hooks/useImgProxy";
import { getDisplayName } from "Element/ProfileImage";
import { getDisplayName } from "Element/User/ProfileImage";
import { defaultAvatar } from "SnortUtils";
interface AvatarProps {

View File

@ -8,7 +8,7 @@ import { TaggedNostrEvent } from "@snort/system";
import { ProxyImg } from "Element/ProxyImg";
import Icon from "Icons/Icon";
import Modal from "Element/Modal";
import Username from "Element/Username";
import Username from "Element/User/Username";
import { findTag } from "SnortUtils";
export default function BadgeList({ badges }: { badges: TaggedNostrEvent[] }) {

View File

@ -2,7 +2,7 @@ import FormattedMessage from "Element/FormattedMessage";
import { HexKey } from "@snort/system";
import useModeration from "Hooks/useModeration";
import messages from "./messages";
import messages from "../messages";
interface BlockButtonProps {
pubkey: HexKey;

View File

@ -1,5 +1,5 @@
import BlockButton from "Element/BlockButton";
import ProfilePreview from "Element/ProfilePreview";
import BlockButton from "Element/User/BlockButton";
import ProfilePreview from "Element/User/ProfilePreview";
import useModeration from "Hooks/useModeration";
export default function BlockList() {

View File

@ -8,7 +8,7 @@ import useLogin from "Hooks/useLogin";
import AsyncButton from "Element/AsyncButton";
import { System } from "index";
import messages from "./messages";
import messages from "../messages";
import { FollowsFeed } from "Cache";
export interface FollowButtonProps {

View File

@ -3,13 +3,13 @@ import FormattedMessage from "Element/FormattedMessage";
import { HexKey } from "@snort/system";
import useEventPublisher from "Hooks/useEventPublisher";
import ProfilePreview from "Element/ProfilePreview";
import ProfilePreview from "Element/User/ProfilePreview";
import useLogin from "Hooks/useLogin";
import { System } from "index";
import messages from "./messages";
import messages from "../messages";
import { FollowsFeed } from "Cache";
import AsyncButton from "./AsyncButton";
import AsyncButton from "../AsyncButton";
import { setFollows } from "Login";
import { dedupe } from "@snort/shared";

View File

@ -1,7 +1,7 @@
import "./FollowsYou.css";
import { useIntl } from "react-intl";
import messages from "./messages";
import messages from "../messages";
export interface FollowsYouProps {
followsMe: boolean;

View File

@ -2,7 +2,7 @@ import FormattedMessage from "Element/FormattedMessage";
import { HexKey } from "@snort/system";
import useModeration from "Hooks/useModeration";
import messages from "./messages";
import messages from "../messages";
interface MuteButtonProps {
pubkey: HexKey;

View File

@ -1,10 +1,10 @@
import FormattedMessage from "Element/FormattedMessage";
import { HexKey } from "@snort/system";
import MuteButton from "Element/MuteButton";
import ProfilePreview from "Element/ProfilePreview";
import MuteButton from "Element/User/MuteButton";
import ProfilePreview from "Element/User/ProfilePreview";
import useModeration from "Hooks/useModeration";
import messages from "./messages";
import messages from "../messages";
export interface MutedListProps {
pubkeys: HexKey[];

View File

@ -3,7 +3,7 @@ import { Link, useNavigate } from "react-router-dom";
import FormattedMessage from "Element/FormattedMessage";
import { profileLink } from "SnortUtils";
import messages from "./messages";
import messages from "../messages";
import Icon from "Icons/Icon";
export interface NoteToSelfProps {

Some files were not shown because too many files have changed in this diff Show More