@tern-secure/nextjs 1.5.1 → 1.5.2
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/dist/app-router/client/ClientProvider.d.ts +3 -1
- package/dist/app-router/client/providers/ternSecureClientProvider.d.ts +5 -0
- package/dist/app-router/client/providers/ternSecureContext.d.ts +7 -5
- package/dist/hooks/useAuth.d.ts +2 -0
- package/dist/index.js +19 -29
- package/dist/index.js.map +1 -1
- package/dist/types/ternsecure.d.ts +7 -0
- package/package.json +1 -1
- package/dist/app-router/client/providers/TernSecureClientProvider.d.ts +0 -7
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import { AuthState } from '../../types/ternsecure';
|
|
2
|
+
export declare function subscribeToAuthState(listener: (state: AuthState) => void): () => void;
|
|
3
|
+
export default function ClientProvider(): null;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { User } from 'firebase/auth';
|
|
2
|
+
export interface AuthState {
|
|
3
|
+
user: User | null;
|
|
4
|
+
loading: boolean;
|
|
5
|
+
error: Error | null;
|
|
6
|
+
}
|
|
7
|
+
export interface TernSecureContextType {
|
|
4
8
|
authState: AuthState;
|
|
5
|
-
auth: Auth;
|
|
6
9
|
}
|
|
7
10
|
export declare const TernSecureContext: import("react").Context<TernSecureContextType | null>;
|
|
8
11
|
export declare const useTernSecure: () => TernSecureContextType;
|
|
9
|
-
export {};
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import dynamic from 'next/dynamic';
|
|
3
|
-
import React, { createContext, useEffect } from 'react';
|
|
4
1
|
import { getApps, initializeApp } from 'firebase/app';
|
|
5
2
|
import { getAuth } from 'firebase/auth';
|
|
6
3
|
import { getFirestore } from 'firebase/firestore';
|
|
7
4
|
import { getStorage } from 'firebase/storage';
|
|
5
|
+
import { createContext, useEffect } from 'react';
|
|
6
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
8
7
|
|
|
9
8
|
function getEnvVariable(name) {
|
|
10
9
|
const value = process.env[`NEXT_PUBLIC_FIREBASE_${name}`];
|
|
@@ -66,44 +65,35 @@ const getTernSecureStorage = () => {
|
|
|
66
65
|
return storage;
|
|
67
66
|
};
|
|
68
67
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const ClientProvider$2 = dynamic(() => Promise.resolve().then(function () { return ClientProvider$1; }), { ssr: false });
|
|
72
|
-
function TernSecureProvider({ children }) {
|
|
73
|
-
return (jsxs(Fragment, { children: [children, jsx(ClientProvider$2, {})] }));
|
|
74
|
-
}
|
|
68
|
+
createContext(null);
|
|
75
69
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
70
|
+
let globalAuthState = {
|
|
71
|
+
user: null,
|
|
72
|
+
loading: true,
|
|
73
|
+
error: null,
|
|
74
|
+
initialized: false
|
|
79
75
|
};
|
|
80
|
-
|
|
76
|
+
let listeners = [];
|
|
77
|
+
function setGlobalAuthState(newState) {
|
|
78
|
+
globalAuthState = { ...globalAuthState, ...newState };
|
|
79
|
+
listeners.forEach(listener => listener(globalAuthState));
|
|
80
|
+
}
|
|
81
81
|
function ClientProvider() {
|
|
82
|
-
const [authState, setAuthState] = React.useState({
|
|
83
|
-
user: null,
|
|
84
|
-
loading: true,
|
|
85
|
-
error: null,
|
|
86
|
-
initialized: false
|
|
87
|
-
});
|
|
88
82
|
useEffect(() => {
|
|
89
83
|
const auth = getTernSecureAuth();
|
|
90
84
|
const unsubscribe = auth.onAuthStateChanged((user) => {
|
|
91
|
-
|
|
85
|
+
setGlobalAuthState({ user, loading: false, error: null, initialized: true });
|
|
92
86
|
}, (error) => {
|
|
93
|
-
|
|
87
|
+
setGlobalAuthState({ user: null, loading: false, error, initialized: true });
|
|
94
88
|
});
|
|
95
89
|
return () => unsubscribe();
|
|
96
90
|
}, []);
|
|
97
|
-
|
|
98
|
-
return null;
|
|
99
|
-
}
|
|
100
|
-
return (jsx(TernSecureClientProvider, { authState: authState }));
|
|
91
|
+
return null; // This component doesn't render anything
|
|
101
92
|
}
|
|
102
93
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
});
|
|
94
|
+
function TernSecureProvider({ children }) {
|
|
95
|
+
return (jsxs(Fragment, { children: [children, jsx(ClientProvider, {})] }));
|
|
96
|
+
}
|
|
107
97
|
|
|
108
98
|
export { TernSecureProvider, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage, initializeTernSecure, loadFireConfig };
|
|
109
99
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/app-router/client/config.ts","../src/errors/index.ts","../src/app-router/client/client-init.ts","../src/app-router/client/providers/ternSecureContext.ts","../src/app-router/
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/app-router/client/config.ts","../src/errors/index.ts","../src/app-router/client/client-init.ts","../src/app-router/client/providers/ternSecureContext.ts","../src/app-router/client/ClientProvider.tsx","../src/app-router/server/providers/TernSecureServerProvider.tsx"],"sourcesContent":[null,null,null,null,null,null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -30,3 +30,10 @@ export interface TernSecureContextType {
|
|
|
30
30
|
export interface TernSecureProviderProps {
|
|
31
31
|
children: ReactNode;
|
|
32
32
|
}
|
|
33
|
+
export interface UseAuthReturn {
|
|
34
|
+
user: User | null;
|
|
35
|
+
loading: boolean;
|
|
36
|
+
error: Error | null;
|
|
37
|
+
signIn: (email: string, password: string) => Promise<User>;
|
|
38
|
+
signOut: () => Promise<void>;
|
|
39
|
+
}
|
package/package.json
CHANGED