Files
5chan/src/lib/utils/reply-quote-utils.ts
T
plebeius 216073aee3 fix(quotes): scope post-number lookup by subplebbit, OP quote always navigates to thread
- numberToCid scoped by subplebbit address to fix wrong preview in /all/
- OP quote click navigates to thread page instead of highlighting card
2026-02-26 15:08:33 +08:00

24 lines
945 B
TypeScript

import { QUOTE_NUMBER_REGEX } from './url-utils';
export const getQuotedCidsFromContent = (content: string | undefined, numberToCid: Record<number, string> | undefined) => {
if (!content || !numberToCid) return undefined;
const cids = new Set<string>();
for (const match of content.matchAll(new RegExp(QUOTE_NUMBER_REGEX.source, 'g'))) {
const num = parseInt(match[1], 10);
const cid = numberToCid[num];
if (cid) cids.add(cid);
}
return cids.size > 0 ? [...cids] : undefined;
};
export const mergeQuotedCids = (publishCommentOptions: Record<string, any> | undefined, quotedCids: string[] | undefined) => {
if (!publishCommentOptions || !quotedCids?.length) return publishCommentOptions;
const currentQuotedCids = publishCommentOptions.quotedCids ?? [];
const mergedQuotedCids = [...new Set([...currentQuotedCids, ...quotedCids])];
return {
...publishCommentOptions,
quotedCids: mergedQuotedCids,
};
};