@nostrify/react 0.2.11 → 0.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +22 -2
- package/.turbo/turbo-setup.log +13 -0
- package/.turbo/turbo-test.log +13 -0
- package/CHANGELOG.md +18 -0
- package/example/useAuthor.ts +3 -2
- package/example/useCurrentUser.ts +2 -2
- package/example/useSocialFeed.ts +2 -2
- package/login/NLogin.ts +3 -1
- package/login/NUser.ts +4 -2
- package/login/NostrLoginContext.ts +1 -1
- package/login/NostrLoginProvider.ts +2 -2
- package/login/mod.ts +4 -4
- package/login/nostrLoginReducer.ts +1 -1
- package/login/useNostrLogin.ts +1 -1
- package/login/useNostrLoginReducer.ts +2 -2
- package/mod.ts +3 -2
- package/package.json +9 -7
- package/tsconfig.json +7 -1
- package/useNostr.ts +1 -1
- package/dist/NostrContext.d.ts +0 -13
- package/dist/NostrContext.d.ts.map +0 -1
- package/dist/NostrContext.js +0 -7
- package/dist/NostrContext.js.map +0 -1
- package/dist/example/test-helpers.d.ts +0 -2
- package/dist/example/test-helpers.d.ts.map +0 -1
- package/dist/example/test-helpers.js +0 -31
- package/dist/example/test-helpers.js.map +0 -1
- package/dist/example/useAuthor.d.ts +0 -5
- package/dist/example/useAuthor.d.ts.map +0 -1
- package/dist/example/useAuthor.js +0 -27
- package/dist/example/useAuthor.js.map +0 -1
- package/dist/example/useCurrentUser.d.ts +0 -9
- package/dist/example/useCurrentUser.d.ts.map +0 -1
- package/dist/example/useCurrentUser.js +0 -42
- package/dist/example/useCurrentUser.js.map +0 -1
- package/dist/example/useLoginActions.d.ts +0 -6
- package/dist/example/useLoginActions.d.ts.map +0 -1
- package/dist/example/useLoginActions.js +0 -21
- package/dist/example/useLoginActions.js.map +0 -1
- package/dist/example/useSocialFeed.d.ts +0 -4
- package/dist/example/useSocialFeed.d.ts.map +0 -1
- package/dist/example/useSocialFeed.js +0 -10
- package/dist/example/useSocialFeed.js.map +0 -1
- package/dist/login/NLogin.d.ts +0 -46
- package/dist/login/NLogin.d.ts.map +0 -1
- package/dist/login/NLogin.js +0 -72
- package/dist/login/NLogin.js.map +0 -1
- package/dist/login/NUser.d.ts +0 -22
- package/dist/login/NUser.d.ts.map +0 -1
- package/dist/login/NUser.js +0 -37
- package/dist/login/NUser.js.map +0 -1
- package/dist/login/NostrLoginContext.d.ts +0 -24
- package/dist/login/NostrLoginContext.d.ts.map +0 -1
- package/dist/login/NostrLoginContext.js +0 -7
- package/dist/login/NostrLoginContext.js.map +0 -1
- package/dist/login/NostrLoginProvider.d.ts +0 -15
- package/dist/login/NostrLoginProvider.d.ts.map +0 -1
- package/dist/login/NostrLoginProvider.js +0 -19
- package/dist/login/NostrLoginProvider.js.map +0 -1
- package/dist/login/mod.d.ts +0 -5
- package/dist/login/mod.d.ts.map +0 -1
- package/dist/login/mod.js +0 -5
- package/dist/login/mod.js.map +0 -1
- package/dist/login/nostrLoginReducer.d.ts +0 -16
- package/dist/login/nostrLoginReducer.d.ts.map +0 -1
- package/dist/login/nostrLoginReducer.js +0 -26
- package/dist/login/nostrLoginReducer.js.map +0 -1
- package/dist/login/useNostrLogin.d.ts +0 -3
- package/dist/login/useNostrLogin.d.ts.map +0 -1
- package/dist/login/useNostrLogin.js +0 -10
- package/dist/login/useNostrLogin.js.map +0 -1
- package/dist/login/useNostrLoginReducer.d.ts +0 -4
- package/dist/login/useNostrLoginReducer.d.ts.map +0 -1
- package/dist/login/useNostrLoginReducer.js +0 -13
- package/dist/login/useNostrLoginReducer.js.map +0 -1
- package/dist/mod.d.ts +0 -3
- package/dist/mod.d.ts.map +0 -1
- package/dist/mod.js +0 -3
- package/dist/mod.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/useNostr.d.ts +0 -3
- package/dist/useNostr.d.ts.map +0 -1
- package/dist/useNostr.js +0 -10
- package/dist/useNostr.js.map +0 -1
package/dist/login/NLogin.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { BunkerURI, NConnectSigner, NSecSigner } from '@nostrify/nostrify';
|
|
2
|
-
import { generateSecretKey, getPublicKey, nip19 } from 'nostr-tools';
|
|
3
|
-
/** Class representing Nostr login credentials. */
|
|
4
|
-
export class NLogin {
|
|
5
|
-
id;
|
|
6
|
-
type;
|
|
7
|
-
pubkey;
|
|
8
|
-
createdAt;
|
|
9
|
-
data;
|
|
10
|
-
constructor(type, pubkey, data) {
|
|
11
|
-
this.id = `${type}:${pubkey}`;
|
|
12
|
-
this.type = type;
|
|
13
|
-
this.pubkey = pubkey;
|
|
14
|
-
this.createdAt = new Date().toISOString();
|
|
15
|
-
this.data = data;
|
|
16
|
-
}
|
|
17
|
-
/** Create a login object from an nsec. */
|
|
18
|
-
static fromNsec(nsec) {
|
|
19
|
-
const decoded = nip19.decode(nsec);
|
|
20
|
-
if (decoded.type !== 'nsec') {
|
|
21
|
-
throw new Error('Invalid nsec');
|
|
22
|
-
}
|
|
23
|
-
const sk = decoded.data;
|
|
24
|
-
const pubkey = getPublicKey(sk);
|
|
25
|
-
return new NLogin('nsec', pubkey, {
|
|
26
|
-
nsec: nip19.nsecEncode(sk),
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
/** Create a login object from a bunker URI. */
|
|
30
|
-
static async fromBunker(uri, pool) {
|
|
31
|
-
const { pubkey: bunkerPubkey, secret, relays } = new BunkerURI(uri);
|
|
32
|
-
if (!relays.length) {
|
|
33
|
-
throw new Error('No relay provided');
|
|
34
|
-
}
|
|
35
|
-
const sk = generateSecretKey();
|
|
36
|
-
const nsec = nip19.nsecEncode(sk);
|
|
37
|
-
const clientSigner = new NSecSigner(sk);
|
|
38
|
-
const signer = new NConnectSigner({
|
|
39
|
-
relay: pool.group(relays),
|
|
40
|
-
pubkey: bunkerPubkey,
|
|
41
|
-
signer: clientSigner,
|
|
42
|
-
timeout: 60_000,
|
|
43
|
-
});
|
|
44
|
-
await signer.connect(secret);
|
|
45
|
-
const pubkey = await signer.getPublicKey();
|
|
46
|
-
return new NLogin('bunker', pubkey, {
|
|
47
|
-
bunkerPubkey,
|
|
48
|
-
clientNsec: nsec,
|
|
49
|
-
relays,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
/** Create a login object from a browser extension. */
|
|
53
|
-
static async fromExtension() {
|
|
54
|
-
const windowSigner = globalThis.nostr;
|
|
55
|
-
if (!windowSigner) {
|
|
56
|
-
throw new Error('Nostr extension is not available');
|
|
57
|
-
}
|
|
58
|
-
const pubkey = await windowSigner.getPublicKey();
|
|
59
|
-
return new NLogin('extension', pubkey, null);
|
|
60
|
-
}
|
|
61
|
-
/** Convert to a JSON-serializable object. */
|
|
62
|
-
toJSON() {
|
|
63
|
-
return {
|
|
64
|
-
id: this.id,
|
|
65
|
-
type: this.type,
|
|
66
|
-
pubkey: this.pubkey,
|
|
67
|
-
createdAt: this.createdAt,
|
|
68
|
-
data: this.data,
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=NLogin.js.map
|
package/dist/login/NLogin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NLogin.js","sourceRoot":"","sources":["../../login/NLogin.ts"],"names":[],"mappings":"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"}
|
package/dist/login/NUser.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { type NostrSigner, type NPool } from '@nostrify/nostrify';
|
|
2
|
-
import type { NLoginBunker, NLoginExtension, NLoginNsec } from './NLogin.js';
|
|
3
|
-
/** Represents a Nostr user with authentication credentials. */
|
|
4
|
-
export declare class NUser {
|
|
5
|
-
/** The authentication method used for this user */
|
|
6
|
-
readonly method: 'nsec' | 'bunker' | 'extension' | `x-${string}`;
|
|
7
|
-
/** The public key of the user in hex format. */
|
|
8
|
-
readonly pubkey: string;
|
|
9
|
-
/** The signer that can sign events on behalf of this user. */
|
|
10
|
-
readonly signer: NostrSigner;
|
|
11
|
-
constructor(
|
|
12
|
-
/** The authentication method used for this user */
|
|
13
|
-
method: 'nsec' | 'bunker' | 'extension' | `x-${string}`,
|
|
14
|
-
/** The public key of the user in hex format. */
|
|
15
|
-
pubkey: string,
|
|
16
|
-
/** The signer that can sign events on behalf of this user. */
|
|
17
|
-
signer: NostrSigner);
|
|
18
|
-
static fromNsecLogin(login: NLoginNsec): NUser;
|
|
19
|
-
static fromBunkerLogin(login: NLoginBunker, pool: NPool): NUser;
|
|
20
|
-
static fromExtensionLogin(login: NLoginExtension): NUser;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=NUser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NUser.d.ts","sourceRoot":"","sources":["../../login/NUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,WAAW,EAAE,KAAK,KAAK,EAAc,MAAM,oBAAoB,CAAC;AAG9G,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE7E,+DAA+D;AAC/D,qBAAa,KAAK;IAEd,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,KAAK,MAAM,EAAE;IAChE,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,WAAW;;IAL5B,mDAAmD;IAC1C,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,KAAK,MAAM,EAAE;IAChE,gDAAgD;IACvC,MAAM,EAAE,MAAM;IACvB,8DAA8D;IACrD,MAAM,EAAE,WAAW;IAG9B,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK;IAa9C,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK;IAmB/D,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK;CAOzD"}
|
package/dist/login/NUser.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { NBrowserSigner, NConnectSigner, NSecSigner } from '@nostrify/nostrify';
|
|
2
|
-
import { nip19 } from 'nostr-tools';
|
|
3
|
-
/** Represents a Nostr user with authentication credentials. */
|
|
4
|
-
export class NUser {
|
|
5
|
-
method;
|
|
6
|
-
pubkey;
|
|
7
|
-
signer;
|
|
8
|
-
constructor(
|
|
9
|
-
/** The authentication method used for this user */
|
|
10
|
-
method,
|
|
11
|
-
/** The public key of the user in hex format. */
|
|
12
|
-
pubkey,
|
|
13
|
-
/** The signer that can sign events on behalf of this user. */
|
|
14
|
-
signer) {
|
|
15
|
-
this.method = method;
|
|
16
|
-
this.pubkey = pubkey;
|
|
17
|
-
this.signer = signer;
|
|
18
|
-
}
|
|
19
|
-
static fromNsecLogin(login) {
|
|
20
|
-
const sk = nip19.decode(login.data.nsec);
|
|
21
|
-
return new NUser(login.type, login.pubkey, new NSecSigner(sk.data));
|
|
22
|
-
}
|
|
23
|
-
static fromBunkerLogin(login, pool) {
|
|
24
|
-
const clientSk = nip19.decode(login.data.clientNsec);
|
|
25
|
-
const clientSigner = new NSecSigner(clientSk.data);
|
|
26
|
-
return new NUser(login.type, login.pubkey, new NConnectSigner({
|
|
27
|
-
relay: pool.group(login.data.relays),
|
|
28
|
-
pubkey: login.pubkey,
|
|
29
|
-
signer: clientSigner,
|
|
30
|
-
timeout: 60_000,
|
|
31
|
-
}));
|
|
32
|
-
}
|
|
33
|
-
static fromExtensionLogin(login) {
|
|
34
|
-
return new NUser(login.type, login.pubkey, new NBrowserSigner());
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=NUser.js.map
|
package/dist/login/NUser.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NUser.js","sourceRoot":"","sources":["../../login/NUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAgC,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC9G,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIpC,+DAA+D;AAC/D,MAAM,OAAO,KAAK;IAGL;IAEA;IAEA;IANX;IACE,mDAAmD;IAC1C,MAAuD;IAChE,gDAAgD;IACvC,MAAc;IACvB,8DAA8D;IACrD,MAAmB;QAJnB,WAAM,GAAN,MAAM,CAAiD;QAEvD,WAAM,GAAN,MAAM,CAAQ;QAEd,WAAM,GAAN,MAAM,CAAa;IAC3B,CAAC;IAEJ,MAAM,CAAC,aAAa,CAAC,KAAiB;QACpC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAGtC,CAAC;QAEF,OAAO,IAAI,KAAK,CACd,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,MAAM,EACZ,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CACxB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,KAAmB,EAAE,IAAW;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAGlD,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEnD,OAAO,IAAI,KAAK,CACd,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,MAAM,EACZ,IAAI,cAAc,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YACpC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,MAAM;SAChB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,KAAsB;QAC9C,OAAO,IAAI,KAAK,CACd,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,MAAM,EACZ,IAAI,cAAc,EAAE,CACrB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { type Context } from 'react';
|
|
2
|
-
import type { NLoginType } from './NLogin.js';
|
|
3
|
-
/**
|
|
4
|
-
* NostrLoginContextType defines the shape of the context that will be provided
|
|
5
|
-
* to components that need access to the Nostr login state.
|
|
6
|
-
*/
|
|
7
|
-
export type NostrLoginContextType = {
|
|
8
|
-
/** The list of Nostr logins. */
|
|
9
|
-
logins: readonly NLoginType[];
|
|
10
|
-
/** Dispatch an action to add a login to the state. */
|
|
11
|
-
addLogin: (login: NLoginType) => void;
|
|
12
|
-
/** Dispatch an action to remove a login from the state. */
|
|
13
|
-
removeLogin: (loginId: string) => void;
|
|
14
|
-
/** Dispatch an action to set the user's current login (by moving it to the top of the state). */
|
|
15
|
-
setLogin: (loginId: string) => void;
|
|
16
|
-
/** Dispatch an action to clear the login state. */
|
|
17
|
-
clearLogins: () => void;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* NostrLoginContext is a React context that provides access to the Nostr login state and
|
|
21
|
-
* a dispatch function to update the state.
|
|
22
|
-
*/
|
|
23
|
-
export declare const NostrLoginContext: Context<NostrLoginContextType | undefined>;
|
|
24
|
-
//# sourceMappingURL=NostrLoginContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NostrLoginContext.d.ts","sourceRoot":"","sources":["../../login/NostrLoginContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,OAAO,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,gCAAgC;IAChC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,sDAAsD;IACtD,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,2DAA2D;IAC3D,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,iGAAiG;IACjG,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,mDAAmD;IACnD,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAE7D,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { createContext } from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* NostrLoginContext is a React context that provides access to the Nostr login state and
|
|
4
|
-
* a dispatch function to update the state.
|
|
5
|
-
*/
|
|
6
|
-
export const NostrLoginContext = createContext(undefined);
|
|
7
|
-
//# sourceMappingURL=NostrLoginContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NostrLoginContext.js","sourceRoot":"","sources":["../../login/NostrLoginContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,aAAa,EAAE,MAAM,OAAO,CAAC;AAqBpD;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA+C,aAAa,CAExF,SAAS,CAAC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { FC, ReactNode } from 'react';
|
|
2
|
-
/** Props for `NostrLoginProvider`. */
|
|
3
|
-
interface NostrLoginProviderProps {
|
|
4
|
-
/** The child components that will have access to the context. */
|
|
5
|
-
children: ReactNode;
|
|
6
|
-
/** The key used to store (and revive) the logins in localStorage. */
|
|
7
|
-
storageKey: string;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* NostrLoginProvider is a React component that provides a context for managing Nostr logins.
|
|
11
|
-
* It uses a reducer to handle the state of logins and stores them in localStorage.
|
|
12
|
-
*/
|
|
13
|
-
export declare const NostrLoginProvider: FC<NostrLoginProviderProps>;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=NostrLoginProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NostrLoginProvider.d.ts","sourceRoot":"","sources":["../../login/NostrLoginProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE3C,sCAAsC;AACtC,UAAU,uBAAuB;IAC/B,iEAAiE;IACjE,QAAQ,EAAE,SAAS,CAAC;IACpB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAc1D,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { NostrLoginContext } from './NostrLoginContext.js';
|
|
3
|
-
import { useNostrLoginReducer } from './useNostrLoginReducer.js';
|
|
4
|
-
/**
|
|
5
|
-
* NostrLoginProvider is a React component that provides a context for managing Nostr logins.
|
|
6
|
-
* It uses a reducer to handle the state of logins and stores them in localStorage.
|
|
7
|
-
*/
|
|
8
|
-
export const NostrLoginProvider = ({ children, storageKey }) => {
|
|
9
|
-
const [logins, dispatch] = useNostrLoginReducer(storageKey);
|
|
10
|
-
const value = {
|
|
11
|
-
logins,
|
|
12
|
-
addLogin: (login) => dispatch({ type: 'login.add', login }),
|
|
13
|
-
removeLogin: (id) => dispatch({ type: 'login.remove', id }),
|
|
14
|
-
setLogin: (id) => dispatch({ type: 'login.set', id }),
|
|
15
|
-
clearLogins: () => dispatch({ type: 'login.clear' }),
|
|
16
|
-
};
|
|
17
|
-
return jsx(NostrLoginContext.Provider, { value, children });
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=NostrLoginProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NostrLoginProvider.js","sourceRoot":"","sources":["../../login/NostrLoginProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAyB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAYjE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgC,CAC7D,EAAE,QAAQ,EAAE,UAAU,EAA2B,EACjD,EAAE;IACF,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAE5D,MAAM,KAAK,GAA0B;QACnC,MAAM;QACN,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAC3D,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QAC3D,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QACrD,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;KACrD,CAAC;IAEF,OAAO,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC"}
|
package/dist/login/mod.d.ts
DELETED
package/dist/login/mod.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../login/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/login/mod.js
DELETED
package/dist/login/mod.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../login/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmB,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { NLoginType } from './NLogin.js';
|
|
2
|
-
export type NLoginAction = {
|
|
3
|
-
type: 'login.add';
|
|
4
|
-
login: NLoginType;
|
|
5
|
-
set?: boolean;
|
|
6
|
-
} | {
|
|
7
|
-
type: 'login.remove';
|
|
8
|
-
id: string;
|
|
9
|
-
} | {
|
|
10
|
-
type: 'login.set';
|
|
11
|
-
id: string;
|
|
12
|
-
} | {
|
|
13
|
-
type: 'login.clear';
|
|
14
|
-
};
|
|
15
|
-
export declare function nostrLoginReducer(state: NLoginType[], action: NLoginAction): NLoginType[];
|
|
16
|
-
//# sourceMappingURL=nostrLoginReducer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nostrLoginReducer.d.ts","sourceRoot":"","sources":["../../login/nostrLoginReducer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAE5B,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,EAAE,EACnB,MAAM,EAAE,YAAY,GACnB,UAAU,EAAE,CA8Bd"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export function nostrLoginReducer(state, action) {
|
|
2
|
-
switch (action.type) {
|
|
3
|
-
case 'login.add': {
|
|
4
|
-
const filtered = state.filter((login) => login.id !== action.login.id);
|
|
5
|
-
return action.set ? [action.login, ...filtered] : [...filtered, action.login];
|
|
6
|
-
}
|
|
7
|
-
case 'login.remove': {
|
|
8
|
-
return state.filter((login) => login.id !== action.id);
|
|
9
|
-
}
|
|
10
|
-
case 'login.set': {
|
|
11
|
-
const login = state.find((login) => login.id === action.id);
|
|
12
|
-
if (!login) {
|
|
13
|
-
return state;
|
|
14
|
-
}
|
|
15
|
-
const filtered = state.filter((login) => login.id !== action.id);
|
|
16
|
-
return [login, ...filtered];
|
|
17
|
-
}
|
|
18
|
-
case 'login.clear': {
|
|
19
|
-
return [];
|
|
20
|
-
}
|
|
21
|
-
default: {
|
|
22
|
-
return state;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=nostrLoginReducer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nostrLoginReducer.js","sourceRoot":"","sources":["../../login/nostrLoginReducer.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,iBAAiB,CAC/B,KAAmB,EACnB,MAAoB;IAEpB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAChF,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;YAE5D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNostrLogin.d.ts","sourceRoot":"","sources":["../../login/useNostrLogin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEvF,wBAAgB,aAAa,IAAI,qBAAqB,CAQrD"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { useContext } from 'react';
|
|
2
|
-
import { NostrLoginContext } from './NostrLoginContext.js';
|
|
3
|
-
export function useNostrLogin() {
|
|
4
|
-
const context = useContext(NostrLoginContext);
|
|
5
|
-
if (!context) {
|
|
6
|
-
throw new Error('useNostrLogin must be used within a NostrLoginProvider');
|
|
7
|
-
}
|
|
8
|
-
return context;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=useNostrLogin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNostrLogin.js","sourceRoot":"","sources":["../../login/useNostrLogin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAA8B,MAAM,wBAAwB,CAAC;AAEvF,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAE9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { type NLoginAction } from './nostrLoginReducer.js';
|
|
2
|
-
import type { NLoginType } from './NLogin.js';
|
|
3
|
-
export declare function useNostrLoginReducer(storageKey: string): [state: NLoginType[], dispatch: (action: NLoginAction) => void];
|
|
4
|
-
//# sourceMappingURL=useNostrLoginReducer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNostrLoginReducer.d.ts","sourceRoot":"","sources":["../../login/useNostrLoginReducer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,wBAAwB,CAAC;AAE9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,GACjB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC,CAWjE"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { useEffect, useReducer } from 'react';
|
|
2
|
-
import { nostrLoginReducer } from './nostrLoginReducer.js';
|
|
3
|
-
export function useNostrLoginReducer(storageKey) {
|
|
4
|
-
const [state, dispatch] = useReducer(nostrLoginReducer, [], () => {
|
|
5
|
-
const stored = localStorage.getItem(storageKey);
|
|
6
|
-
return stored ? JSON.parse(stored) : [];
|
|
7
|
-
});
|
|
8
|
-
useEffect(() => {
|
|
9
|
-
localStorage.setItem(storageKey, JSON.stringify(state));
|
|
10
|
-
}, [state]);
|
|
11
|
-
return [state, dispatch];
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=useNostrLoginReducer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNostrLoginReducer.js","sourceRoot":"","sources":["../../login/useNostrLoginReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAqB,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI9E,MAAM,UAAU,oBAAoB,CAClC,UAAkB;IAElB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,iBAAiB,EAAE,EAAE,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC"}
|
package/dist/mod.d.ts
DELETED
package/dist/mod.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/mod.js
DELETED
package/dist/mod.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAyB,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
|