hive-react-kit 1.11.3 → 1.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build.css +4 -0
- package/dist/components/BlogPostList.d.ts +13 -0
- package/dist/components/CurationButton.d.ts +29 -0
- package/dist/components/HiveDetailPost.d.ts +15 -1
- package/dist/components/VoteSlider.d.ts +30 -1
- package/dist/components/actionButtons/PostActionButton.d.ts +18 -1
- package/dist/components/feed/SnapsFeedCard.d.ts +13 -0
- package/dist/components/feed/SnapsFeedView.d.ts +13 -1
- package/dist/components/inlineComments/InlineCommentItem.d.ts +14 -1
- package/dist/components/inlineComments/InlineCommentSection.d.ts +13 -1
- package/dist/components/user/ProfileSnapsTab.d.ts +12 -0
- package/dist/components/user/UserDetailProfile.d.ts +14 -0
- package/dist/index.cjs.js +230 -231
- package/dist/index.d.ts +1 -0
- package/dist/index.esm.js +31345 -31284
- package/dist/utils/postVotes.d.ts +17 -0
- package/package.json +1 -1
package/dist/build.css
CHANGED
|
@@ -1237,6 +1237,10 @@
|
|
|
1237
1237
|
--tw-translate-x: calc(var(--spacing) * 4);
|
|
1238
1238
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
1239
1239
|
}
|
|
1240
|
+
.translate-x-5 {
|
|
1241
|
+
--tw-translate-x: calc(var(--spacing) * 5);
|
|
1242
|
+
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
1243
|
+
}
|
|
1240
1244
|
.-translate-y-1\/2 {
|
|
1241
1245
|
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
|
|
1242
1246
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
@@ -86,6 +86,19 @@ export interface BlogPostListProps {
|
|
|
86
86
|
* flag) into a single 3-dot kebab menu. Forwarded to
|
|
87
87
|
* `<PostActionButton/>`. */
|
|
88
88
|
actionsAsMenu?: boolean;
|
|
89
|
+
/** When true, a heart button is shown on each post card so the curator
|
|
90
|
+
* can request an on-chain upvote with a chosen vote weight. */
|
|
91
|
+
isCurator?: boolean;
|
|
92
|
+
/** Called when the curator submits a curation request. Weight is 1–15. */
|
|
93
|
+
onCurationRequest?: (author: string, permlink: string, weight: number) => void | Promise<void>;
|
|
94
|
+
/** Looks up the server-configured max curation weight for a content
|
|
95
|
+
* type, plus whether it's already been submitted for curation.
|
|
96
|
+
* Forwarded to each card's vote slider and to the already-voted
|
|
97
|
+
* fallback <CurationButton/>. */
|
|
98
|
+
onFetchCurationStatus?: (author: string, permlink: string, type: 'post' | 'snap' | 'comment') => Promise<{
|
|
99
|
+
maxWeight: number;
|
|
100
|
+
alreadySubmitted: boolean;
|
|
101
|
+
}>;
|
|
89
102
|
}
|
|
90
103
|
export declare const BlogPostList: FC<BlogPostListProps>;
|
|
91
104
|
export default BlogPostList;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
type CurationType = 'post' | 'snap' | 'comment';
|
|
2
|
+
interface CurationStatus {
|
|
3
|
+
maxWeight: number;
|
|
4
|
+
alreadySubmitted: boolean;
|
|
5
|
+
}
|
|
6
|
+
interface CurationButtonProps {
|
|
7
|
+
author: string;
|
|
8
|
+
permlink: string;
|
|
9
|
+
type: CurationType;
|
|
10
|
+
onCurationRequest: (author: string, permlink: string, weight: number) => void | Promise<void>;
|
|
11
|
+
/** Looks up the max slider weight for this content type, plus whether
|
|
12
|
+
* it's already been submitted for curation by any curator. Checked
|
|
13
|
+
* fresh every time the modal opens. */
|
|
14
|
+
onFetchCurationStatus?: (author: string, permlink: string, type: CurationType) => Promise<CurationStatus>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Fallback curation entry point — for curators who already spent their
|
|
18
|
+
* own vote on this content (before the curation feature existed, or
|
|
19
|
+
* simply voted before deciding to curate). The vote slider's "Request
|
|
20
|
+
* curation" toggle can't help there since it never reopens once you've
|
|
21
|
+
* voted, so this is a separate, vote-free trigger.
|
|
22
|
+
*
|
|
23
|
+
* Only ever rendered by the caller when: `isCurator && onCurationRequest
|
|
24
|
+
* && isHiveSuiteContent(...) && !hasCurationVoterVoted(...) &&
|
|
25
|
+
* hasUserVoted(votes, currentUser)` — i.e. exactly the case the merged
|
|
26
|
+
* vote-slider flow can't cover.
|
|
27
|
+
*/
|
|
28
|
+
export declare function CurationButton({ author, permlink, type, onCurationRequest, onFetchCurationStatus }: CurationButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export {};
|
|
@@ -223,6 +223,20 @@ export interface HiveDetailPostProps {
|
|
|
223
223
|
* `<TranslatedText>` / inline-comment translators inside the
|
|
224
224
|
* page will then re-render with the new language. */
|
|
225
225
|
onSelectLanguage?: (code: string) => void;
|
|
226
|
+
/** When true, a heart button is shown on the post and on each comment
|
|
227
|
+
* so the curator can request on-chain upvotes. */
|
|
228
|
+
isCurator?: boolean;
|
|
229
|
+
/** Called when the curator submits a curation request. `type` is
|
|
230
|
+
* `'post'` for the main post or `'comment'` for a comment. */
|
|
231
|
+
onCurationRequest?: (author: string, permlink: string, weight: number, type: 'post' | 'comment') => void | Promise<void>;
|
|
232
|
+
/** Looks up the server-configured max curation weight for a content
|
|
233
|
+
* type, plus whether it's already been submitted for curation.
|
|
234
|
+
* Forwarded to the post's vote slider, its already-voted fallback
|
|
235
|
+
* button, and to every comment via <InlineCommentSection/>. */
|
|
236
|
+
onFetchCurationStatus?: (author: string, permlink: string, type: 'post' | 'snap' | 'comment') => Promise<{
|
|
237
|
+
maxWeight: number;
|
|
238
|
+
alreadySubmitted: boolean;
|
|
239
|
+
}>;
|
|
226
240
|
}
|
|
227
|
-
export declare function HiveDetailPost({ author, permlink, currentUser, onUpvote, onSubmitComment, onClickCommentUpvote, onReblog, isReblogged, onShare, onTip, onReport, onEdit, onDelete, onShareComment, onTipComment, onReportComment, onToggleCommentBookmark, isCommentBookmarked, onEditComment, onDeleteComment, ecencyToken, threeSpeakApiKey, giphyApiKey, templateToken, templateApiBaseUrl, reportedAuthors, reportedPosts, hiveIconUrl, backgroundColor, onBack, onOpenMenu, onOpenProfileMenu, onUserClick, onCommunityClick, getUserUrl, getCommunityUrl, onNavigateToPost, isBookmarked, onToggleBookmark, onHeaderShare, onHeaderReport, language, onSelectLanguage, onVotePoll, showVoteButton, processBody, defaultReward, defaultBeneficiaries, beneficiaryFavorites, defaultVotePercent, voteWeightStep, allowLandscapeVideos, renderOptions, awaitingWalletApproval, decentMemesAppAccount, decentMemesTheme, }: HiveDetailPostProps): import("react/jsx-runtime").JSX.Element;
|
|
241
|
+
export declare function HiveDetailPost({ author, permlink, currentUser, onUpvote, onSubmitComment, onClickCommentUpvote, onReblog, isReblogged, onShare, onTip, onReport, onEdit, onDelete, onShareComment, onTipComment, onReportComment, onToggleCommentBookmark, isCommentBookmarked, onEditComment, onDeleteComment, ecencyToken, threeSpeakApiKey, giphyApiKey, templateToken, templateApiBaseUrl, reportedAuthors, reportedPosts, hiveIconUrl, backgroundColor, onBack, onOpenMenu, onOpenProfileMenu, onUserClick, onCommunityClick, getUserUrl, getCommunityUrl, onNavigateToPost, isBookmarked, onToggleBookmark, onHeaderShare, onHeaderReport, language, onSelectLanguage, onVotePoll, showVoteButton, processBody, defaultReward, defaultBeneficiaries, beneficiaryFavorites, defaultVotePercent, voteWeightStep, allowLandscapeVideos, renderOptions, awaitingWalletApproval, decentMemesAppAccount, decentMemesTheme, isCurator, onCurationRequest, onFetchCurationStatus, }: HiveDetailPostProps): import("react/jsx-runtime").JSX.Element;
|
|
228
242
|
export default HiveDetailPost;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
type CurationType = 'post' | 'snap' | 'comment';
|
|
2
|
+
interface CurationStatus {
|
|
3
|
+
maxWeight: number;
|
|
4
|
+
alreadySubmitted: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function VoteSlider({ author, permlink, defaultValue, step, onUpvote, onCancel, awaitingWalletApproval, walletApprovalLabel, curationEligible, curationType, onCurationRequest, onFetchCurationStatus, }: {
|
|
2
7
|
author: string;
|
|
3
8
|
permlink: string;
|
|
4
9
|
defaultValue?: number;
|
|
@@ -13,4 +18,28 @@ export declare function VoteSlider({ author, permlink, defaultValue, step, onUpv
|
|
|
13
18
|
awaitingWalletApproval?: boolean;
|
|
14
19
|
/** Override for the wallet-approval hint text. */
|
|
15
20
|
walletApprovalLabel?: string;
|
|
21
|
+
/** Shows the curator-only "Request curation" toggle below the vote
|
|
22
|
+
* slider. Callers resolve this from `isCurator && !!onCurationRequest
|
|
23
|
+
* && <not already curated> && <content published via HiveSuite>`
|
|
24
|
+
* before rendering — this component has no opinion on eligibility,
|
|
25
|
+
* it just renders the toggle when told to (pending a fresh
|
|
26
|
+
* already-submitted check — see `onFetchCurationStatus`). */
|
|
27
|
+
curationEligible?: boolean;
|
|
28
|
+
/** Required when `curationEligible` — sizes the curation-weight
|
|
29
|
+
* slider's built-in default range before the server limit resolves. */
|
|
30
|
+
curationType?: CurationType;
|
|
31
|
+
/** Fired with the chosen curation weight immediately after a
|
|
32
|
+
* successful vote, only when the curator switched the toggle on.
|
|
33
|
+
* Voting and curation are deliberately one action — a curator can no
|
|
34
|
+
* longer request curation without also spending their own vote. */
|
|
35
|
+
onCurationRequest?: (weight: number) => void | Promise<void>;
|
|
36
|
+
/** Looks up the server-configured max curation weight for
|
|
37
|
+
* `curationType`, plus whether this content was already submitted for
|
|
38
|
+
* curation by any curator. Called once, as soon as the slider opens
|
|
39
|
+
* (if `curationEligible`) — the toggle only renders once this
|
|
40
|
+
* resolves, and stays hidden entirely when `alreadySubmitted` is
|
|
41
|
+
* true, so a curator never sees an option that would just silently
|
|
42
|
+
* fail as a duplicate. */
|
|
43
|
+
onFetchCurationStatus?: (author: string, permlink: string, type: CurationType) => Promise<CurationStatus>;
|
|
16
44
|
}): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
export {};
|
|
@@ -35,6 +35,23 @@ export interface PostActionButtonProps {
|
|
|
35
35
|
initialCommentsCount?: number;
|
|
36
36
|
/** Called when user confirms vote with percent (1–100). Frontend handles signing/broadcast. */
|
|
37
37
|
onUpvote?: (percent: number) => void | Promise<void>;
|
|
38
|
+
/** Shows the curator-only "Request curation" toggle inside the vote
|
|
39
|
+
* slider. Caller resolves this from `isCurator && !!onCurationRequest
|
|
40
|
+
* && <not already curated> && <content published via HiveSuite>`. */
|
|
41
|
+
curationEligible?: boolean;
|
|
42
|
+
/** Required alongside `curationEligible` — sizes the curation-weight
|
|
43
|
+
* slider's default range before the server limit resolves. */
|
|
44
|
+
curationType?: 'post' | 'snap' | 'comment';
|
|
45
|
+
/** Fired with the chosen curation weight right after a successful
|
|
46
|
+
* vote, only when the curator switched the toggle on. */
|
|
47
|
+
onCurationRequest?: (weight: number) => void | Promise<void>;
|
|
48
|
+
/** Looks up the server-configured max curation weight for
|
|
49
|
+
* `curationType`, plus whether this content was already submitted
|
|
50
|
+
* for curation by any curator. */
|
|
51
|
+
onFetchCurationStatus?: (author: string, permlink: string, type: 'post' | 'snap' | 'comment') => Promise<{
|
|
52
|
+
maxWeight: number;
|
|
53
|
+
alreadySubmitted: boolean;
|
|
54
|
+
}>;
|
|
38
55
|
/** Called when user submits a comment. Frontend handles signing/broadcast.
|
|
39
56
|
* Return `false` to indicate the operation was cancelled — the composer text will be preserved.
|
|
40
57
|
* `voteWeight` is non-null when the composer's upvote-on-publish toggle is enabled
|
|
@@ -156,5 +173,5 @@ export interface PostActionButtonProps {
|
|
|
156
173
|
* polls, community detail) where there isn't room for four icons. */
|
|
157
174
|
actionsAsMenu?: boolean;
|
|
158
175
|
}
|
|
159
|
-
export declare function PostActionButton({ author, permlink, currentUser: currentUserProp, hiveValue, hiveIconUrl, payoutTooltip, payoutDetails, initialVotes, initialVoteCount, initialFlagWeight, initialCommentsCount, onUpvote, onSubmitComment, onComments, onEdit, onReblog, isReblogged, onCheckReblogged, onReSnap, onShare, onTip, onReport, onToggleBookmark, isBookmarked, onDelete, onPin, onUnpin, onClickCommentUpvote, onUserClick, getUserUrl, ecencyToken, threeSpeakApiKey, giphyApiKey, templateToken, templateApiBaseUrl, disableCommentsModal, onClickCommentIcon, onClickCommentCount, hasCommented, myReplyKey, showVoteButton, parentTags, defaultReward, defaultBeneficiaries, beneficiaryFavorites, defaultVotePercent, voteWeightStep, allowLandscapeVideos, actionsAsMenu, awaitingWalletApproval, postCreatedAt, size, }: PostActionButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
176
|
+
export declare function PostActionButton({ author, permlink, currentUser: currentUserProp, hiveValue, hiveIconUrl, payoutTooltip, payoutDetails, initialVotes, initialVoteCount, initialFlagWeight, initialCommentsCount, onUpvote, curationEligible, curationType, onCurationRequest, onFetchCurationStatus, onSubmitComment, onComments, onEdit, onReblog, isReblogged, onCheckReblogged, onReSnap, onShare, onTip, onReport, onToggleBookmark, isBookmarked, onDelete, onPin, onUnpin, onClickCommentUpvote, onUserClick, getUserUrl, ecencyToken, threeSpeakApiKey, giphyApiKey, templateToken, templateApiBaseUrl, disableCommentsModal, onClickCommentIcon, onClickCommentCount, hasCommented, myReplyKey, showVoteButton, parentTags, defaultReward, defaultBeneficiaries, beneficiaryFavorites, defaultVotePercent, voteWeightStep, allowLandscapeVideos, actionsAsMenu, awaitingWalletApproval, postCreatedAt, size, }: PostActionButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
160
177
|
export default PostActionButton;
|
|
@@ -105,6 +105,19 @@ export interface SnapsFeedCardProps {
|
|
|
105
105
|
/** Collapse the per-card secondary actions (reblog · share · tip ·
|
|
106
106
|
* flag) into a single 3-dot kebab menu inside the action bar. */
|
|
107
107
|
actionsAsMenu?: boolean;
|
|
108
|
+
/** When true, a heart button is shown so the curator can request an
|
|
109
|
+
* on-chain upvote with a chosen weight (1–6%). */
|
|
110
|
+
isCurator?: boolean;
|
|
111
|
+
/** Called when the curator submits a curation request. Weight is 1–6. */
|
|
112
|
+
onCurationRequest?: (author: string, permlink: string, weight: number) => void | Promise<void>;
|
|
113
|
+
/** Looks up the server-configured max curation weight for a content
|
|
114
|
+
* type, plus whether this content was already submitted for curation
|
|
115
|
+
* by any curator. Forwarded to the card's vote slider and to the
|
|
116
|
+
* already-voted fallback <CurationButton/>. */
|
|
117
|
+
onFetchCurationStatus?: (author: string, permlink: string, type: 'post' | 'snap' | 'comment') => Promise<{
|
|
118
|
+
maxWeight: number;
|
|
119
|
+
alreadySubmitted: boolean;
|
|
120
|
+
}>;
|
|
108
121
|
}
|
|
109
122
|
declare const SnapsFeedCard: FC<SnapsFeedCardProps>;
|
|
110
123
|
export default SnapsFeedCard;
|
|
@@ -123,6 +123,18 @@ export interface SnapsFeedViewProps {
|
|
|
123
123
|
* flag) into a single 3-dot kebab menu. Forwarded to every
|
|
124
124
|
* <SnapsFeedCard/>. */
|
|
125
125
|
actionsAsMenu?: boolean;
|
|
126
|
+
/** When true, a heart button is shown on each snap card so the curator
|
|
127
|
+
* can request an on-chain upvote (1–6%). Forwarded to every <SnapsFeedCard/>. */
|
|
128
|
+
isCurator?: boolean;
|
|
129
|
+
/** Called when the curator submits a curation request on a snap. */
|
|
130
|
+
onCurationRequest?: (author: string, permlink: string, weight: number) => void | Promise<void>;
|
|
131
|
+
/** Looks up the server-configured max curation weight for a content
|
|
132
|
+
* type, plus whether it's already been submitted for curation.
|
|
133
|
+
* Forwarded to every <SnapsFeedCard/>. */
|
|
134
|
+
onFetchCurationStatus?: (author: string, permlink: string, type: 'post' | 'snap' | 'comment') => Promise<{
|
|
135
|
+
maxWeight: number;
|
|
136
|
+
alreadySubmitted: boolean;
|
|
137
|
+
}>;
|
|
126
138
|
/** When `true`, the desktop 4-column layout grows naturally with its
|
|
127
139
|
* content instead of pinning each column to a fixed-height per-column
|
|
128
140
|
* scroller. Use this when the parent page already provides a single
|
|
@@ -132,5 +144,5 @@ export interface SnapsFeedViewProps {
|
|
|
132
144
|
pageScroll?: boolean;
|
|
133
145
|
onActiveFeedChange?: (feed: SnapsFeedKey) => void;
|
|
134
146
|
}
|
|
135
|
-
export declare function SnapsFeedView({ feeds, labels, avatars, defaultPrimary, currentUser, onUpvote, onSubmitComment, onClickCommentUpvote, onReblog, isPostReblogged, onCheckReblogged, onReSnap, onTip, onSharePost, onCommentClick, onClickCommentIcon, onClickCommentCount, onReportPost, onToggleBookmark, isPostBookmarked, onDeletePost, onEditSnap, onVotePoll, onUserClick, onPostClick, getPostUrl, getUserUrl, getTagUrl, getCommunityUrl, ecencyToken, threeSpeakApiKey, giphyApiKey, templateToken, templateApiBaseUrl, defaultVotePercent, voteWeightStep, allowLandscapeVideos, awaitingWalletApproval, defaultReward, toolbar, footer, renderHeaderActions, actionsAsMenu, pageScroll, onActiveFeedChange, }: SnapsFeedViewProps): import("react/jsx-runtime").JSX.Element;
|
|
147
|
+
export declare function SnapsFeedView({ feeds, labels, avatars, defaultPrimary, currentUser, onUpvote, onSubmitComment, onClickCommentUpvote, onReblog, isPostReblogged, onCheckReblogged, onReSnap, onTip, onSharePost, onCommentClick, onClickCommentIcon, onClickCommentCount, onReportPost, onToggleBookmark, isPostBookmarked, onDeletePost, onEditSnap, onVotePoll, onUserClick, onPostClick, getPostUrl, getUserUrl, getTagUrl, getCommunityUrl, ecencyToken, threeSpeakApiKey, giphyApiKey, templateToken, templateApiBaseUrl, defaultVotePercent, voteWeightStep, allowLandscapeVideos, awaitingWalletApproval, defaultReward, toolbar, footer, renderHeaderActions, actionsAsMenu, isCurator, onCurationRequest, onFetchCurationStatus, pageScroll, onActiveFeedChange, }: SnapsFeedViewProps): import("react/jsx-runtime").JSX.Element;
|
|
136
148
|
export default SnapsFeedView;
|
|
@@ -82,6 +82,19 @@ interface InlineCommentItemProps {
|
|
|
82
82
|
decentMemesAppAccount?: string;
|
|
83
83
|
/** Forwarded to DecentMemes pickers as `frontendInit.theme` / `setTheme`. */
|
|
84
84
|
decentMemesTheme?: 'light' | 'dark';
|
|
85
|
+
/** When true, a heart button is shown on this comment so the curator
|
|
86
|
+
* can request an on-chain upvote (1–3%). */
|
|
87
|
+
isCurator?: boolean;
|
|
88
|
+
/** Called when the curator submits a curation request. Weight is 1–3. */
|
|
89
|
+
onCurationRequest?: (author: string, permlink: string, weight: number) => void | Promise<void>;
|
|
90
|
+
/** Looks up the server-configured max curation weight for a content
|
|
91
|
+
* type, plus whether it's already been submitted for curation.
|
|
92
|
+
* Forwarded to this comment's vote slider, its already-voted
|
|
93
|
+
* fallback button, and to every nested reply. */
|
|
94
|
+
onFetchCurationStatus?: (author: string, permlink: string, type: 'post' | 'snap' | 'comment') => Promise<{
|
|
95
|
+
maxWeight: number;
|
|
96
|
+
alreadySubmitted: boolean;
|
|
97
|
+
}>;
|
|
85
98
|
}
|
|
86
|
-
export default function InlineCommentItem({ comment, allComments, onReply, onCancelReply, onCommentSubmit, activeReplyKey, currentUser, token, depth, onVotedRefresh, onClickCommentUpvote, ecencyToken, threeSpeakApiKey, giphyApiKey, templateToken, templateApiBaseUrl, hiveIconUrl, onShareComment, onTipComment, onReportComment, onToggleCommentBookmark, isCommentBookmarked, mentionSeedAccounts, onEditComment, onDeleteComment, onNavigateToPost, onUserClick, defaultReward, defaultBeneficiaries, beneficiaryFavorites, defaultVotePercent, voteWeightStep, allowLandscapeVideos, awaitingWalletApproval, renderOptions, parentTags, decentMemesAppAccount, decentMemesTheme, }: InlineCommentItemProps): import("react/jsx-runtime").JSX.Element;
|
|
99
|
+
export default function InlineCommentItem({ comment, allComments, onReply, onCancelReply, onCommentSubmit, activeReplyKey, currentUser, token, depth, onVotedRefresh, onClickCommentUpvote, ecencyToken, threeSpeakApiKey, giphyApiKey, templateToken, templateApiBaseUrl, hiveIconUrl, onShareComment, onTipComment, onReportComment, onToggleCommentBookmark, isCommentBookmarked, mentionSeedAccounts, onEditComment, onDeleteComment, onNavigateToPost, onUserClick, defaultReward, defaultBeneficiaries, beneficiaryFavorites, defaultVotePercent, voteWeightStep, allowLandscapeVideos, awaitingWalletApproval, renderOptions, parentTags, decentMemesAppAccount, decentMemesTheme, isCurator, onCurationRequest, onFetchCurationStatus, }: InlineCommentItemProps): import("react/jsx-runtime").JSX.Element;
|
|
87
100
|
export {};
|
|
@@ -87,6 +87,18 @@ interface InlineCommentSectionProps {
|
|
|
87
87
|
decentMemesAppAccount?: string;
|
|
88
88
|
/** Forwarded to DecentMemes pickers as `frontendInit.theme` / `setTheme`. */
|
|
89
89
|
decentMemesTheme?: 'light' | 'dark';
|
|
90
|
+
/** When true, a heart button is shown on each comment so the curator
|
|
91
|
+
* can request an on-chain upvote (1–3%). */
|
|
92
|
+
isCurator?: boolean;
|
|
93
|
+
/** Called when the curator submits a curation request on a comment. */
|
|
94
|
+
onCurationRequest?: (author: string, permlink: string, weight: number) => void | Promise<void>;
|
|
95
|
+
/** Looks up the server-configured max curation weight for a content
|
|
96
|
+
* type, plus whether it's already been submitted for curation.
|
|
97
|
+
* Forwarded to every <InlineCommentItem/>. */
|
|
98
|
+
onFetchCurationStatus?: (author: string, permlink: string, type: 'post' | 'snap' | 'comment') => Promise<{
|
|
99
|
+
maxWeight: number;
|
|
100
|
+
alreadySubmitted: boolean;
|
|
101
|
+
}>;
|
|
90
102
|
}
|
|
91
|
-
export default function InlineCommentSection({ author, permlink, currentUser, token, onSubmitComment, onClickCommentUpvote, ecencyToken, threeSpeakApiKey, giphyApiKey, templateToken, templateApiBaseUrl, reportedAuthors, reportedPosts, hiveIconUrl, onShareComment, onTipComment, onReportComment, onToggleCommentBookmark, isCommentBookmarked, mentionSeedAccounts, onEditComment, onDeleteComment, onNavigateToPost, onUserClick, showVoteButton, alreadyVoted, parentTags, defaultReward, defaultBeneficiaries, beneficiaryFavorites, defaultVotePercent, voteWeightStep, allowLandscapeVideos, awaitingWalletApproval, renderOptions, decentMemesAppAccount, decentMemesTheme, }: InlineCommentSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
103
|
+
export default function InlineCommentSection({ author, permlink, currentUser, token, onSubmitComment, onClickCommentUpvote, ecencyToken, threeSpeakApiKey, giphyApiKey, templateToken, templateApiBaseUrl, reportedAuthors, reportedPosts, hiveIconUrl, onShareComment, onTipComment, onReportComment, onToggleCommentBookmark, isCommentBookmarked, mentionSeedAccounts, onEditComment, onDeleteComment, onNavigateToPost, onUserClick, showVoteButton, alreadyVoted, parentTags, defaultReward, defaultBeneficiaries, beneficiaryFavorites, defaultVotePercent, voteWeightStep, allowLandscapeVideos, awaitingWalletApproval, renderOptions, decentMemesAppAccount, decentMemesTheme, isCurator, onCurationRequest, onFetchCurationStatus, }: InlineCommentSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
92
104
|
export {};
|
|
@@ -69,6 +69,18 @@ export interface ProfileSnapsTabProps {
|
|
|
69
69
|
defaultReward?: RewardOption;
|
|
70
70
|
/** Per-card right-side header action menu slot (e.g. Edit / Flag). */
|
|
71
71
|
renderHeaderActions?: (post: Post) => ReactNode;
|
|
72
|
+
/** When true, a heart button is shown on each snap card so the curator
|
|
73
|
+
* can request an on-chain upvote. Forwarded to <SnapsFeedView/>. */
|
|
74
|
+
isCurator?: boolean;
|
|
75
|
+
/** Called when the curator submits a curation request on a snap. */
|
|
76
|
+
onCurationRequest?: (author: string, permlink: string, weight: number) => void | Promise<void>;
|
|
77
|
+
/** Looks up the server-configured max curation weight for a content
|
|
78
|
+
* type, plus whether it's already been submitted for curation.
|
|
79
|
+
* Forwarded to <SnapsFeedView/>. */
|
|
80
|
+
onFetchCurationStatus?: (author: string, permlink: string, type: 'post' | 'snap' | 'comment') => Promise<{
|
|
81
|
+
maxWeight: number;
|
|
82
|
+
alreadySubmitted: boolean;
|
|
83
|
+
}>;
|
|
72
84
|
}
|
|
73
85
|
declare const ProfileSnapsTab: React.FC<ProfileSnapsTabProps>;
|
|
74
86
|
export default ProfileSnapsTab;
|
|
@@ -114,6 +114,20 @@ export interface UserDetailProfileProps {
|
|
|
114
114
|
* (e.g. "51000000000" for 51 b RC). Return `false` to indicate cancellation
|
|
115
115
|
* (keychain denied / user closed the prompt) — the row stays in edit mode. */
|
|
116
116
|
onUpdateRcDelegation?: (delegatee: string, maxRc: string) => void | boolean | Promise<void | boolean>;
|
|
117
|
+
/** When true, a heart button is shown on each post/blog/snap card so
|
|
118
|
+
* the curator can request an on-chain upvote. */
|
|
119
|
+
isCurator?: boolean;
|
|
120
|
+
/** Called when the curator submits a curation request. `type` is
|
|
121
|
+
* `'post'` for the Posts/Blogs tab or `'snap'` for the Snaps tab. */
|
|
122
|
+
onCurationRequest?: (author: string, permlink: string, weight: number, type: 'post' | 'snap') => void | Promise<void>;
|
|
123
|
+
/** Looks up the server-configured max curation weight for a content
|
|
124
|
+
* type, plus whether it's already been submitted for curation.
|
|
125
|
+
* Forwarded to every card's vote slider and already-voted fallback
|
|
126
|
+
* button. */
|
|
127
|
+
onFetchCurationStatus?: (author: string, permlink: string, type: 'post' | 'snap' | 'comment') => Promise<{
|
|
128
|
+
maxWeight: number;
|
|
129
|
+
alreadySubmitted: boolean;
|
|
130
|
+
}>;
|
|
117
131
|
/** Wallet tab — RC delegation removal (broadcasts max_rc=0 internally). */
|
|
118
132
|
onDeleteRcDelegation?: (delegatee: string) => void | boolean | Promise<void | boolean>;
|
|
119
133
|
/** Wallet tab — create a new HP delegation. `hp` is HP as a numeric string
|