This commit is contained in:
parent
bf4e9c9776
commit
04e7d0b54f
@ -11,6 +11,7 @@ import NoteHeader from "@/Components/Event/Note/NoteHeader";
|
|||||||
import NoteQuote from "@/Components/Event/Note/NoteQuote";
|
import NoteQuote from "@/Components/Event/Note/NoteQuote";
|
||||||
import { NoteText } from "@/Components/Event/Note/NoteText";
|
import { NoteText } from "@/Components/Event/Note/NoteText";
|
||||||
import { TranslationInfo } from "@/Components/Event/Note/TranslationInfo";
|
import { TranslationInfo } from "@/Components/Event/Note/TranslationInfo";
|
||||||
|
import {NoteTranslation} from "@/Components/Event/Note/types";
|
||||||
import Username from "@/Components/User/Username";
|
import Username from "@/Components/User/Username";
|
||||||
import useModeration from "@/Hooks/useModeration";
|
import useModeration from "@/Hooks/useModeration";
|
||||||
import { findTag } from "@/Utils";
|
import { findTag } from "@/Utils";
|
||||||
@ -21,7 +22,6 @@ import Text from "../../Text/Text";
|
|||||||
import { NoteProps } from "../EventComponent";
|
import { NoteProps } from "../EventComponent";
|
||||||
import HiddenNote from "../HiddenNote";
|
import HiddenNote from "../HiddenNote";
|
||||||
import Poll from "../Poll";
|
import Poll from "../Poll";
|
||||||
import { NoteTranslation } from "./NoteContextMenu";
|
|
||||||
import NoteFooter from "./NoteFooter/NoteFooter";
|
import NoteFooter from "./NoteFooter/NoteFooter";
|
||||||
|
|
||||||
const defaultOptions = {
|
const defaultOptions = {
|
||||||
|
@ -1,34 +1,21 @@
|
|||||||
import { HexKey, NostrLink, NostrPrefix, TaggedNostrEvent } from "@snort/system";
|
import {HexKey, NostrLink, NostrPrefix} from "@snort/system";
|
||||||
import { Menu, MenuItem } from "@szhsin/react-menu";
|
import {Menu, MenuItem} from "@szhsin/react-menu";
|
||||||
import { useEffect, useState } from "react";
|
import {useEffect, useState} from "react";
|
||||||
import { FormattedMessage, useIntl } from "react-intl";
|
import {FormattedMessage, useIntl} from "react-intl";
|
||||||
|
|
||||||
|
import {NoteContextMenuProps, NoteTranslation} from "@/Components/Event/Note/types";
|
||||||
import Icon from "@/Components/Icons/Icon";
|
import Icon from "@/Components/Icons/Icon";
|
||||||
import messages from "@/Components/messages";
|
import messages from "@/Components/messages";
|
||||||
import SnortApi from "@/External/SnortApi";
|
import SnortApi from "@/External/SnortApi";
|
||||||
import useEventPublisher from "@/Hooks/useEventPublisher";
|
import useEventPublisher from "@/Hooks/useEventPublisher";
|
||||||
import useLogin from "@/Hooks/useLogin";
|
import useLogin from "@/Hooks/useLogin";
|
||||||
import useModeration from "@/Hooks/useModeration";
|
import useModeration from "@/Hooks/useModeration";
|
||||||
import { setBookmarked, setPinned } from "@/Utils/Login";
|
import {setBookmarked, setPinned} from "@/Utils/Login";
|
||||||
import { getCurrentSubscription, SubscriptionType } from "@/Utils/Subscription";
|
import {getCurrentSubscription, SubscriptionType} from "@/Utils/Subscription";
|
||||||
|
|
||||||
import { ReBroadcaster } from "../../ReBroadcaster";
|
import {ReBroadcaster} from "../../ReBroadcaster";
|
||||||
|
|
||||||
export interface NoteTranslation {
|
export function NoteContextMenu({ ev, ...props }: NoteContextMenuProps) {
|
||||||
text: string;
|
|
||||||
fromLanguage: string;
|
|
||||||
confidence: number;
|
|
||||||
skipped?: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface NosteContextMenuProps {
|
|
||||||
ev: TaggedNostrEvent;
|
|
||||||
setShowReactions(b: boolean): void;
|
|
||||||
react(content: string): Promise<void>;
|
|
||||||
onTranslated?: (t: NoteTranslation) => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function NoteContextMenu({ ev, ...props }: NosteContextMenuProps) {
|
|
||||||
const { formatMessage } = useIntl();
|
const { formatMessage } = useIntl();
|
||||||
const login = useLogin();
|
const login = useLogin();
|
||||||
const { mute, block } = useModeration();
|
const { mute, block } = useModeration();
|
||||||
|
@ -3,10 +3,11 @@ import React, { useState } from "react";
|
|||||||
import { FormattedMessage, useIntl } from "react-intl";
|
import { FormattedMessage, useIntl } from "react-intl";
|
||||||
|
|
||||||
import { NotePropsOptions } from "@/Components/Event/EventComponent";
|
import { NotePropsOptions } from "@/Components/Event/EventComponent";
|
||||||
import { NoteContextMenu, NoteTranslation } from "@/Components/Event/Note/NoteContextMenu";
|
import { NoteContextMenu } from "@/Components/Event/Note/NoteContextMenu";
|
||||||
import NoteTime from "@/Components/Event/Note/NoteTime";
|
import NoteTime from "@/Components/Event/Note/NoteTime";
|
||||||
import ReactionsModal from "@/Components/Event/Note/ReactionsModal";
|
import ReactionsModal from "@/Components/Event/Note/ReactionsModal";
|
||||||
import ReplyTag from "@/Components/Event/Note/ReplyTag";
|
import ReplyTag from "@/Components/Event/Note/ReplyTag";
|
||||||
|
import {NoteTranslation} from "@/Components/Event/Note/types";
|
||||||
import Icon from "@/Components/Icons/Icon";
|
import Icon from "@/Components/Icons/Icon";
|
||||||
import messages from "@/Components/messages";
|
import messages from "@/Components/messages";
|
||||||
import ProfileImage from "@/Components/User/ProfileImage";
|
import ProfileImage from "@/Components/User/ProfileImage";
|
||||||
|
@ -3,7 +3,7 @@ import { FormattedMessage } from "react-intl";
|
|||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
|
|
||||||
import { NoteProps } from "@/Components/Event/EventComponent";
|
import { NoteProps } from "@/Components/Event/EventComponent";
|
||||||
import { NoteTranslation } from "@/Components/Event/Note/NoteContextMenu";
|
import {NoteTranslation} from "@/Components/Event/Note/types";
|
||||||
import Reveal from "@/Components/Event/Reveal";
|
import Reveal from "@/Components/Event/Reveal";
|
||||||
import Text from "@/Components/Text/Text";
|
import Text from "@/Components/Text/Text";
|
||||||
import useLogin from "@/Hooks/useLogin";
|
import useLogin from "@/Hooks/useLogin";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { FormattedMessage } from "react-intl";
|
import { FormattedMessage } from "react-intl";
|
||||||
|
|
||||||
import { NoteTranslation } from "@/Components/Event/Note/NoteContextMenu";
|
import {NoteTranslation} from "@/Components/Event/Note/types";
|
||||||
import messages from "@/Components/messages";
|
import messages from "@/Components/messages";
|
||||||
|
|
||||||
interface TranslationInfoProps {
|
interface TranslationInfoProps {
|
||||||
|
18
packages/app/src/Components/Event/Note/types.tsx
Normal file
18
packages/app/src/Components/Event/Note/types.tsx
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import {TaggedNostrEvent} from "@snort/system";
|
||||||
|
|
||||||
|
export interface NoteTranslation {
|
||||||
|
text: string;
|
||||||
|
fromLanguage: string;
|
||||||
|
confidence: number;
|
||||||
|
skipped?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface NoteContextMenuProps {
|
||||||
|
ev: TaggedNostrEvent;
|
||||||
|
|
||||||
|
setShowReactions(b: boolean): void;
|
||||||
|
|
||||||
|
react(content: string): Promise<void>;
|
||||||
|
|
||||||
|
onTranslated?: (t: NoteTranslation) => void;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user