Merge pull request 'src/Element subdirectories' (#637) from mmalmi/snort:main into main
Reviewed-on: #637
This commit is contained in:
commit
b239bc65d8
@ -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;
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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 }) {
|
@ -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;
|
@ -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";
|
@ -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";
|
||||
|
@ -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;
|
||||
|
@ -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() {
|
||||
|
@ -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";
|
||||
|
@ -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;
|
@ -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();
|
@ -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);
|
@ -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);
|
@ -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";
|
@ -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 }) {
|
@ -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);
|
@ -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;
|
@ -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 {
|
@ -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";
|
@ -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> => {
|
@ -1,5 +1,5 @@
|
||||
import "./Note.css";
|
||||
import ProfileImage from "Element/ProfileImage";
|
||||
import ProfileImage from "Element/User/ProfileImage";
|
||||
|
||||
interface NoteGhostProps {
|
||||
className?: string;
|
@ -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 }) {
|
@ -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";
|
@ -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;
|
@ -1,4 +1,4 @@
|
||||
import "./Reveal.css";
|
||||
import "../Reveal.css";
|
||||
import Icon from "Icons/Icon";
|
||||
import { useState } from "react";
|
||||
|
@ -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 {
|
@ -1,7 +1,7 @@
|
||||
import "./ShowMore.css";
|
||||
import { useIntl } from "react-intl";
|
||||
|
||||
import messages from "./messages";
|
||||
import messages from "../messages";
|
||||
|
||||
interface ShowMoreProps {
|
||||
text?: string;
|
@ -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";
|
@ -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;
|
@ -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 }) {
|
@ -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,
|
@ -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";
|
||||
|
@ -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 {
|
@ -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";
|
||||
|
@ -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;
|
||||
|
@ -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 }) {
|
||||
|
@ -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;
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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 {
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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 {
|
@ -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[] }) {
|
@ -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;
|
@ -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() {
|
@ -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 {
|
@ -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";
|
||||
|
@ -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;
|
@ -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;
|
@ -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[];
|
@ -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
Loading…
x
Reference in New Issue
Block a user