moderator-toolbox-nxg-for-reddit / modules/shared/proposals/selectors

modules/shared/proposals/selectors

Functions

isOpen()

isOpen(proposal): boolean

Defined in: extension/data/modules/shared/proposals/selectors.ts:36

Whether a proposal is still awaiting a reviewer (pending or a failed accept).

Parameters

proposal

Proposal

Returns

boolean


myProposals()

myProposals(data, user): Proposal[]

Defined in: extension/data/modules/shared/proposals/selectors.ts:82

The current user’s own proposals, newest first (the “My proposals” view).

Parameters

data

ProposalsData

The subreddit’s proposals.

user

string

The current username.

Returns

Proposal[]


myProposalsAcross()

myProposalsAcross(entries, user): ProposalAt[]

Defined in: extension/data/modules/shared/proposals/selectors.ts:157

The current user’s own proposals across every subreddit, newest first (the global “My proposals” view).

Parameters

entries

SubredditProposals[]

Per-subreddit proposals from the fan-out.

user

string

The current username.

Returns

ProposalAt[]


myUnacknowledgedResolved()

myUnacknowledgedResolved(data, user): Proposal[]

Defined in: extension/data/modules/shared/proposals/selectors.ts:93

The current user’s resolved proposals they haven’t acknowledged yet - drives the proposer’s modbar badge and the “needs your attention” highlight in My proposals.

Parameters

data

ProposalsData

The subreddit’s proposals.

user

string

The current username.

Returns

Proposal[]


myUnacknowledgedResolvedAcross()

myUnacknowledgedResolvedAcross(entries, user): ProposalAt[]

Defined in: extension/data/modules/shared/proposals/selectors.ts:168

The current user’s resolved-but-unacknowledged proposals across every subreddit - the proposer’s contribution to the global badge.

Parameters

entries

SubredditProposals[]

Per-subreddit proposals from the fan-out.

user

string

The current username.

Returns

ProposalAt[]


openProposalCount()

openProposalCount(data): number

Defined in: extension/data/modules/shared/proposals/selectors.ts:59

Count of open proposals - drives the reviewer’s modbar badge.

Parameters

data

ProposalsData

Returns

number


openProposalCountAcross()

openProposalCountAcross(entries): number

Defined in: extension/data/modules/shared/proposals/selectors.ts:141

Total count of open proposals across every subreddit - drives the global badge.

Parameters

entries

SubredditProposals[]

Returns

number


openProposals()

openProposals(data): Proposal[]

Defined in: extension/data/modules/shared/proposals/selectors.ts:54

Open proposals (pending / needs_attention) for the review queue, newest first.

Parameters

data

ProposalsData

The subreddit’s proposals.

Returns

Proposal[]


openProposalsAcross()

openProposalsAcross(entries): ProposalAt[]

Defined in: extension/data/modules/shared/proposals/selectors.ts:136

Open proposals (pending / needs_attention) across every subreddit, newest first - the cross-sub review queue.

Parameters

entries

SubredditProposals[]

Per-subreddit proposals from the fan-out.

Returns

ProposalAt[]


openProposalsForItem()

openProposalsForItem(data, itemId): Proposal[]

Defined in: extension/data/modules/shared/proposals/selectors.ts:68

Open proposals targeting a specific item, newest first (for the inline badge).

Parameters

data

ProposalsData

The subreddit’s proposals.

itemId

string

The target fullname.

Returns

Proposal[]

Interfaces

ProposalAt

Defined in: extension/data/modules/shared/proposals/selectors.ts:28

A single proposal tagged with the subreddit it lives in. The cross-sub views need this because every mutation (accept/reject/dismiss) is scoped to a subreddit, and the list has to label which subreddit each row came from.

Properties

proposal

proposal: Proposal

Defined in: extension/data/modules/shared/proposals/selectors.ts:32

The proposal itself.

subreddit

subreddit: string

Defined in: extension/data/modules/shared/proposals/selectors.ts:30

The subreddit the proposal belongs to.


SubredditProposals

Defined in: extension/data/modules/shared/proposals/selectors.ts:16

One subreddit’s proposals paired with the subreddit they belong to - the unit the cross-subreddit fan-out (loadProposalsForSubs) produces and the *Across selectors consume.

Properties

data

Defined in: extension/data/modules/shared/proposals/selectors.ts:20

That subreddit’s proposals.

subreddit

subreddit: string

Defined in: extension/data/modules/shared/proposals/selectors.ts:18

The subreddit the proposals were read from.