mirror of
https://github.com/dergigi/boris.git
synced 2025-12-18 23:24: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.
22 lines
854 B
JavaScript
22 lines
854 B
JavaScript
import { normalizeToPubkey } from "applesauce-core/helpers/pointers";
|
|
import { ReadonlySigner } from "applesauce-signers/signers/readonly-signer";
|
|
import { BaseAccount } from "../account.js";
|
|
/** An account that cannot sign or encrypt anything */
|
|
export class ReadonlyAccount extends BaseAccount {
|
|
static type = "readonly";
|
|
toJSON() {
|
|
return super.saveCommonFields({
|
|
signer: undefined,
|
|
});
|
|
}
|
|
static fromJSON(json) {
|
|
const account = new ReadonlyAccount(json.pubkey, new ReadonlySigner(json.pubkey));
|
|
return super.loadCommonFields(account, json);
|
|
}
|
|
/** Creates a ReadonlyAccount from a hex public key or NIP-19 npub */
|
|
static fromPubkey(pubkey) {
|
|
const signer = ReadonlySigner.fromPubkey(pubkey);
|
|
return new ReadonlyAccount(normalizeToPubkey(pubkey), signer);
|
|
}
|
|
}
|