mirror of
https://github.com/dergigi/boris.git
synced 2025-12-28 20:14:36 +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.
19 lines
788 B
JavaScript
19 lines
788 B
JavaScript
import { isAddressPointer } from "applesauce-core/helpers";
|
|
import { List } from "applesauce-factory/operations";
|
|
function getList(events, address) {
|
|
const list = isAddressPointer(address)
|
|
? events.getReplaceable(address.kind, address.pubkey, address.identifier)
|
|
: address;
|
|
if (!list)
|
|
throw new Error("Can't find list");
|
|
return list;
|
|
}
|
|
/** An action that sets or removes a NIP-15 list information */
|
|
export function SetListMetadata(list, info) {
|
|
return async function* ({ events, factory }) {
|
|
list = getList(events, list);
|
|
const draft = await factory.modify(list, List.setTitle(info.title ?? null), List.setDescription(info.description ?? null), List.setImage(info.image ?? null));
|
|
yield await factory.sign(draft);
|
|
};
|
|
}
|