mirror of
https://github.com/dergigi/boris.git
synced 2026-01-28 11:14:22 +01:00
- Add project structure with TypeScript, React, and Vite - Implement nostr authentication using browser extension (NIP-07) - Add NIP-51 compliant bookmark fetching and display - Create minimal UI with login and bookmark components - Integrate applesauce-core and applesauce-react libraries - Add responsive styling with dark/light mode support - Include comprehensive README with setup instructions This is a minimal MVP for a nostr bookmark client that allows users to view their bookmarks according to NIP-51 specification.
21 lines
806 B
JavaScript
21 lines
806 B
JavaScript
import { skip } from "../helpers/pipeline.js";
|
|
import { fillAndTrimTag } from "../helpers/tag.js";
|
|
/** Override the zap splits on an event */
|
|
export function setZapSplitTags(splits) {
|
|
return async (draft, ctx) => {
|
|
let tags = Array.from(draft.tags);
|
|
// remove any existing zap split tags
|
|
tags = tags.filter((t) => t[0] !== "zap");
|
|
// add split tags
|
|
for (const split of splits) {
|
|
const hint = await ctx.getPubkeyRelayHint?.(split.pubkey);
|
|
tags.push(fillAndTrimTag(["zap", split.pubkey, hint, String(split.weight)]));
|
|
}
|
|
return { ...draft, tags };
|
|
};
|
|
}
|
|
/** Creates the necessary operations for zap options */
|
|
export function setZapSplit(options) {
|
|
return options?.splits ? setZapSplitTags(options.splits) : skip();
|
|
}
|