@tern-secure/nextjs 1.3.9 → 1.4.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 +2 -6
- package/dist/index.js +53 -43
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
import { TernSecureProviderProps
|
|
2
|
-
|
|
3
|
-
initialState: AuthState;
|
|
4
|
-
}
|
|
5
|
-
export default function ClientProvider({ children, initialState }: ClientProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
export {};
|
|
1
|
+
import { TernSecureProviderProps } from '../../types/ternsecure';
|
|
2
|
+
export default function ClientProvider({ children }: TernSecureProviderProps): import("react/jsx-runtime").JSX.Element;
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { createContext, useContext, useState, useEffect, useCallback } from 'react';
|
|
3
|
+
import dynamic from 'next/dynamic';
|
|
4
|
+
import { getAuth, signInWithEmailAndPassword, createUserWithEmailAndPassword, signOut } from 'firebase/auth';
|
|
5
|
+
import { getApps, initializeApp } from 'firebase/app';
|
|
6
|
+
import { getFirestore } from 'firebase/firestore';
|
|
7
|
+
import { getStorage } from 'firebase/storage';
|
|
9
8
|
|
|
10
9
|
function getEnvVariable(name) {
|
|
11
10
|
const value = process.env[`NEXT_PUBLIC_FIREBASE_${name}`];
|
|
@@ -44,10 +43,10 @@ function initializeTernSecure() {
|
|
|
44
43
|
throw new TernSecureError(ERRORS.SERVER_SIDE_INITIALIZATION);
|
|
45
44
|
}
|
|
46
45
|
if (!app) {
|
|
47
|
-
app =
|
|
48
|
-
auth =
|
|
49
|
-
firestore =
|
|
50
|
-
storage =
|
|
46
|
+
app = getApps().length ? getApps()[0] : initializeApp(loadFireConfig);
|
|
47
|
+
auth = getAuth(app);
|
|
48
|
+
firestore = getFirestore(app);
|
|
49
|
+
storage = getStorage(app);
|
|
51
50
|
}
|
|
52
51
|
return app;
|
|
53
52
|
}
|
|
@@ -67,42 +66,44 @@ const getTernSecureStorage = () => {
|
|
|
67
66
|
return storage;
|
|
68
67
|
};
|
|
69
68
|
|
|
70
|
-
const TernSecureContext =
|
|
69
|
+
const TernSecureContext = createContext(null);
|
|
71
70
|
const useTernSecure = () => {
|
|
72
|
-
const context =
|
|
71
|
+
const context = useContext(TernSecureContext);
|
|
73
72
|
if (!context) {
|
|
74
73
|
throw new Error('useTernSecure must be used within a TernSecureProvider');
|
|
75
74
|
}
|
|
76
75
|
return context;
|
|
77
76
|
};
|
|
78
77
|
|
|
78
|
+
const TernSecureClientProvider = ({ children, initialState }) => {
|
|
79
|
+
const [authState, setAuthState] = useState(initialState);
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
const auth = getTernSecureAuth();
|
|
82
|
+
const unsubscribe = auth.onAuthStateChanged((user) => {
|
|
83
|
+
setAuthState({ user, loading: false, error: null, initialized: true });
|
|
84
|
+
}, (error) => {
|
|
85
|
+
setAuthState({ user: null, loading: false, error, initialized: true });
|
|
86
|
+
});
|
|
87
|
+
return () => unsubscribe();
|
|
88
|
+
}, []);
|
|
89
|
+
return (jsx(TernSecureContext.Provider, { value: { authState }, children: children }));
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
const ClientProvider$2 = dynamic(() => Promise.resolve().then(function () { return ClientProvider$1; }).then((mod) => mod.default), { ssr: false });
|
|
79
93
|
function TernSecureProvider({ children }) {
|
|
80
|
-
|
|
81
|
-
// Server-side rendering
|
|
82
|
-
return jsxRuntime.jsx(jsxRuntime.Fragment, { children: children });
|
|
83
|
-
}
|
|
84
|
-
try {
|
|
85
|
-
// Client-side rendering
|
|
86
|
-
const { TernSecureClientProvider } = require('./TernSecureClientProvider');
|
|
87
|
-
return jsxRuntime.jsx(TernSecureClientProvider, { children: children });
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
console.error('Failed to load TernSecureClientProvider:', error);
|
|
91
|
-
// Fallback to prevent app crash
|
|
92
|
-
return jsxRuntime.jsx(jsxRuntime.Fragment, { children: children });
|
|
93
|
-
}
|
|
94
|
+
return jsx(ClientProvider$2, { children: children });
|
|
94
95
|
}
|
|
95
96
|
|
|
96
97
|
function useAuth() {
|
|
97
|
-
const context =
|
|
98
|
+
const context = useContext(TernSecureContext);
|
|
98
99
|
if (!context) {
|
|
99
100
|
throw new Error('useAuth must be used within a TernSecureProvider');
|
|
100
101
|
}
|
|
101
102
|
const { authState } = useTernSecure();
|
|
102
103
|
const auth = getTernSecureAuth();
|
|
103
|
-
const signIn =
|
|
104
|
+
const signIn = useCallback(async (email, password) => {
|
|
104
105
|
try {
|
|
105
|
-
const userCredential = await
|
|
106
|
+
const userCredential = await signInWithEmailAndPassword(auth, email, password);
|
|
106
107
|
return userCredential.user;
|
|
107
108
|
}
|
|
108
109
|
catch (error) {
|
|
@@ -110,9 +111,9 @@ function useAuth() {
|
|
|
110
111
|
throw error;
|
|
111
112
|
}
|
|
112
113
|
}, [auth]);
|
|
113
|
-
const signUp =
|
|
114
|
+
const signUp = useCallback(async (email, password) => {
|
|
114
115
|
try {
|
|
115
|
-
const userCredential = await
|
|
116
|
+
const userCredential = await createUserWithEmailAndPassword(auth, email, password);
|
|
116
117
|
return userCredential.user;
|
|
117
118
|
}
|
|
118
119
|
catch (error) {
|
|
@@ -120,9 +121,9 @@ function useAuth() {
|
|
|
120
121
|
throw error;
|
|
121
122
|
}
|
|
122
123
|
}, [auth]);
|
|
123
|
-
const signOut =
|
|
124
|
+
const signOut$1 = useCallback(async () => {
|
|
124
125
|
try {
|
|
125
|
-
await
|
|
126
|
+
await signOut(auth);
|
|
126
127
|
}
|
|
127
128
|
catch (error) {
|
|
128
129
|
console.error('Sign out error:', error);
|
|
@@ -135,15 +136,24 @@ function useAuth() {
|
|
|
135
136
|
error: authState.error,
|
|
136
137
|
signIn,
|
|
137
138
|
signUp,
|
|
138
|
-
signOut
|
|
139
|
+
signOut: signOut$1
|
|
139
140
|
};
|
|
140
141
|
}
|
|
141
142
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
143
|
+
function ClientProvider({ children }) {
|
|
144
|
+
const initialState = {
|
|
145
|
+
user: null,
|
|
146
|
+
loading: true,
|
|
147
|
+
error: null,
|
|
148
|
+
initialized: false
|
|
149
|
+
};
|
|
150
|
+
return (jsx(TernSecureClientProvider, { initialState: initialState, children: children }));
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
var ClientProvider$1 = /*#__PURE__*/Object.freeze({
|
|
154
|
+
__proto__: null,
|
|
155
|
+
default: ClientProvider
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
export { TernSecureProvider, getTernSecureAuth, getTernSecureFirestore, getTernSecureStorage, initializeTernSecure, loadFireConfig, useAuth };
|
|
149
159
|
//# 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/server/providers/TernSecureServerProvider.tsx","../src/hooks/useAuth.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["
|
|
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/providers/ternSecureClientProvider.tsx","../src/app-router/server/providers/TernSecureServerProvider.tsx","../src/hooks/useAuth.ts","../src/app-router/client/ClientProvider.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["_jsx","ClientProvider","signOut","firebaseSignOut"],"mappings":"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"}
|