delta-auth-next 0.1.30 → 0.1.32
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/DeltaProvider.d.ts.map +1 -1
- package/dist/DeltaProvider.js +24 -46
- package/dist/DeltaProvider.js.map +1 -1
- package/dist/LoginButton.d.ts +8 -0
- package/dist/LoginButton.d.ts.map +1 -0
- package/dist/LoginButton.js +8 -0
- package/dist/LoginButton.js.map +1 -0
- package/dist/LogoutAllSessionsButton.d.ts +8 -0
- package/dist/LogoutAllSessionsButton.d.ts.map +1 -0
- package/dist/LogoutAllSessionsButton.js +8 -0
- package/dist/LogoutAllSessionsButton.js.map +1 -0
- package/dist/LogoutButton.d.ts +8 -0
- package/dist/LogoutButton.d.ts.map +1 -0
- package/dist/LogoutButton.js +8 -0
- package/dist/LogoutButton.js.map +1 -0
- package/dist/ProtectedRoute.d.ts +9 -0
- package/dist/ProtectedRoute.d.ts.map +1 -0
- package/dist/ProtectedRoute.js +18 -0
- package/dist/ProtectedRoute.js.map +1 -0
- package/dist/SignInButton.d.ts +8 -0
- package/dist/SignInButton.d.ts.map +1 -0
- package/dist/SignInButton.js +8 -0
- package/dist/SignInButton.js.map +1 -0
- package/dist/UserProfile.d.ts +7 -0
- package/dist/UserProfile.d.ts.map +1 -0
- package/dist/UserProfile.js +15 -0
- package/dist/UserProfile.js.map +1 -0
- package/dist/context.d.ts +1 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +0 -1
- package/dist/context.js.map +1 -1
- package/dist/edge/middleware-helper.d.ts +3 -0
- package/dist/edge/middleware-helper.d.ts.map +1 -1
- package/dist/edge/middleware-helper.js +19 -1
- package/dist/edge/middleware-helper.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +20 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeltaProvider.d.ts","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAGhE,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"DeltaProvider.d.ts","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAQ,MAAM,SAAS,CAAC;AAGhD,UAAU,KAAK;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,2CAiG5D"}
|
package/dist/DeltaProvider.js
CHANGED
|
@@ -4,15 +4,12 @@ import { useState, useEffect, useCallback } from 'react';
|
|
|
4
4
|
import { AuthContext } from './context';
|
|
5
5
|
import { createAuthClient } from './client/authClient';
|
|
6
6
|
import { useSimpleToast } from './alert';
|
|
7
|
-
// export Appconfigs = ()=> {
|
|
8
|
-
// return
|
|
9
|
-
// }
|
|
10
7
|
export function DeltaAuthProvider({ config, children }) {
|
|
11
|
-
const [
|
|
8
|
+
const [user, setUser] = useState(null);
|
|
12
9
|
const [loading, setLoading] = useState(true);
|
|
13
10
|
const [enabled, setEnabled] = useState(true); // disables provider if misconfigured
|
|
14
11
|
const { show, Toast } = useSimpleToast();
|
|
15
|
-
// 🔹 Disable if
|
|
12
|
+
// 🔹 Disable provider if misconfigured
|
|
16
13
|
useEffect(() => {
|
|
17
14
|
if (!config?.publishableKey) {
|
|
18
15
|
show('DeltaAuth: publishableKey is required');
|
|
@@ -22,46 +19,28 @@ export function DeltaAuthProvider({ config, children }) {
|
|
|
22
19
|
show('DeltaAuth: authDomain is required');
|
|
23
20
|
setEnabled(false);
|
|
24
21
|
}
|
|
25
|
-
}, [config?.publishableKey]);
|
|
26
|
-
// 🔹 Create client
|
|
22
|
+
}, [config?.publishableKey, config?.authDomain, show]);
|
|
23
|
+
// 🔹 Create client
|
|
27
24
|
const client = createAuthClient(config.backendUrl ? { backendUrl: config.backendUrl } : {});
|
|
28
|
-
// 🔹 Fetch
|
|
29
|
-
const
|
|
25
|
+
// 🔹 Fetch user from backend (httpOnly cookie)
|
|
26
|
+
const fetchUser = useCallback(async () => {
|
|
30
27
|
if (!enabled || !client)
|
|
31
|
-
return;
|
|
28
|
+
return null; // always return User | null
|
|
32
29
|
try {
|
|
33
|
-
const res = await client.get('/auth/me'); // cookie
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
else {
|
|
38
|
-
setSession(null);
|
|
39
|
-
}
|
|
30
|
+
const res = await client.get('/api/auth/me'); // backend validates httpOnly cookie
|
|
31
|
+
const userFromRes = res.data?.user ?? null;
|
|
32
|
+
setUser(userFromRes);
|
|
33
|
+
return userFromRes;
|
|
40
34
|
}
|
|
41
|
-
catch
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
show(err.response?.data?.error ?? 'Auth failed');
|
|
45
|
-
}
|
|
35
|
+
catch {
|
|
36
|
+
setUser(null);
|
|
37
|
+
return null;
|
|
46
38
|
}
|
|
47
39
|
finally {
|
|
48
40
|
setLoading(false);
|
|
49
41
|
}
|
|
50
|
-
}, [client, enabled
|
|
51
|
-
// 🔹
|
|
52
|
-
const fetchUserDetails = useCallback(async () => {
|
|
53
|
-
if (!session?.user || !client)
|
|
54
|
-
return null;
|
|
55
|
-
try {
|
|
56
|
-
const res = await client.get(`/users/${session.user.id}`);
|
|
57
|
-
setSession((prev) => (prev ? { ...prev, user: res.data } : null));
|
|
58
|
-
return res.data;
|
|
59
|
-
}
|
|
60
|
-
catch {
|
|
61
|
-
return session.user; // fallback
|
|
62
|
-
}
|
|
63
|
-
}, [client, session]);
|
|
64
|
-
// 🔹 Environment mismatch warnings
|
|
42
|
+
}, [client, enabled]);
|
|
43
|
+
// 🔹 Environment warnings
|
|
65
44
|
useEffect(() => {
|
|
66
45
|
if (!enabled)
|
|
67
46
|
return;
|
|
@@ -77,24 +56,23 @@ export function DeltaAuthProvider({ config, children }) {
|
|
|
77
56
|
show('You are using a test key in production. Use a live key.');
|
|
78
57
|
}
|
|
79
58
|
if (enabled)
|
|
80
|
-
|
|
81
|
-
}, [config.publishableKey,
|
|
82
|
-
// 🔹 Auto
|
|
59
|
+
fetchUser();
|
|
60
|
+
}, [config.publishableKey, fetchUser, enabled, show]);
|
|
61
|
+
// 🔹 Auto-refresh user
|
|
83
62
|
useEffect(() => {
|
|
84
63
|
if (!enabled || !config.autoRefresh)
|
|
85
64
|
return;
|
|
86
|
-
const interval = setInterval(
|
|
65
|
+
const interval = setInterval(fetchUser, config.refreshInterval ?? 5 * 60 * 1000);
|
|
87
66
|
return () => clearInterval(interval);
|
|
88
|
-
}, [
|
|
67
|
+
}, [fetchUser, config.autoRefresh, config.refreshInterval, enabled]);
|
|
89
68
|
if (!enabled)
|
|
90
69
|
return _jsx(_Fragment, { children: children }); // render children without auth if disabled
|
|
91
70
|
return (_jsxs(_Fragment, { children: [_jsx(AuthContext.Provider, { value: {
|
|
92
|
-
|
|
93
|
-
user: session?.user ?? null,
|
|
71
|
+
user,
|
|
94
72
|
loading,
|
|
95
|
-
isAuthenticated: !!
|
|
73
|
+
isAuthenticated: !!user,
|
|
96
74
|
client,
|
|
97
|
-
fetchUser
|
|
75
|
+
fetchUser,
|
|
98
76
|
}, children: children }), _jsx(Toast, {}), " "] }));
|
|
99
77
|
}
|
|
100
78
|
//# sourceMappingURL=DeltaProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeltaProvider.js","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"DeltaProvider.js","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
3
|
+
className?: string;
|
|
4
|
+
preferredText?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const LoginButton: ({ className, preferredText, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=LoginButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoginButton.d.ts","sourceRoot":"","sources":["../src/LoginButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,GAAI,wCAIzB,WAAW,4CAcb,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
export const LoginButton = ({ className, preferredText = 'Log In', ...props }) => {
|
|
3
|
+
const defaultClasses = 'px-6 py-2 rounded-lg bg-green-600 text-white font-semibold hover:bg-green-700 transition-all duration-300';
|
|
4
|
+
return (_jsx("button", { className: `${defaultClasses} ${className || ''}`, onClick: () => {
|
|
5
|
+
window.location.href = "/api/login";
|
|
6
|
+
}, ...props, children: preferredText }));
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=LoginButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoginButton.js","sourceRoot":"","sources":["../src/LoginButton.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,SAAS,EACT,aAAa,GAAG,QAAQ,EACxB,GAAG,KAAK,EACI,EAAE,EAAE;IAChB,MAAM,cAAc,GAClB,2GAA2G,CAAC;IAC9G,OAAO,CACL,iBACE,SAAS,EAAE,GAAG,cAAc,IAAI,SAAS,IAAI,EAAE,EAAE,EACjD,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC;QACtC,CAAC,KACG,KAAK,YAER,aAAa,GACP,CACV,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
3
|
+
className?: string;
|
|
4
|
+
preferredText?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const LogoutAllSessionsButton: ({ className, preferredText, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=LogoutAllSessionsButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogoutAllSessionsButton.d.ts","sourceRoot":"","sources":["../src/LogoutAllSessionsButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,uBAAuB,GAAI,wCAIrC,WAAW,4CAcb,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
export const LogoutAllSessionsButton = ({ className, preferredText = 'Log out all sessions', ...props }) => {
|
|
3
|
+
const defaultClasses = 'px-6 py-2 rounded-lg bg-green-600 text-white font-semibold hover:bg-green-700 transition-all duration-300';
|
|
4
|
+
return (_jsx("button", { className: `${defaultClasses} ${className || ''}`, onClick: () => {
|
|
5
|
+
window.location.href = '/api/logoutallsessions';
|
|
6
|
+
}, ...props, children: preferredText }));
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=LogoutAllSessionsButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogoutAllSessionsButton.js","sourceRoot":"","sources":["../src/LogoutAllSessionsButton.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,SAAS,EACT,aAAa,GAAG,sBAAsB,EACtC,GAAG,KAAK,EACI,EAAE,EAAE;IAChB,MAAM,cAAc,GAClB,2GAA2G,CAAC;IAC9G,OAAO,CACL,iBACE,SAAS,EAAE,GAAG,cAAc,IAAI,SAAS,IAAI,EAAE,EAAE,EACjD,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,wBAAwB,CAAC;QAClD,CAAC,KACG,KAAK,YAER,aAAa,GACP,CACV,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
3
|
+
className?: string;
|
|
4
|
+
preferredText?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const LogoutButton: ({ className, preferredText, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=LogoutButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogoutButton.d.ts","sourceRoot":"","sources":["../src/LogoutButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,GAAI,wCAI1B,WAAW,4CAcb,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
export const LogoutButton = ({ className, preferredText = 'Log out', ...props }) => {
|
|
3
|
+
const defaultClasses = 'px-6 py-2 rounded-lg bg-green-600 text-white font-semibold hover:bg-green-700 transition-all duration-300';
|
|
4
|
+
return (_jsx("button", { className: `${defaultClasses} ${className || ''}`, onClick: () => {
|
|
5
|
+
window.location.href = '/api/logout';
|
|
6
|
+
}, ...props, children: preferredText }));
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=LogoutButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogoutButton.js","sourceRoot":"","sources":["../src/LogoutButton.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,SAAS,EACT,aAAa,GAAG,SAAS,EACzB,GAAG,KAAK,EACI,EAAE,EAAE;IAChB,MAAM,cAAc,GAClB,2GAA2G,CAAC;IAC9G,OAAO,CACL,iBACE,SAAS,EAAE,GAAG,cAAc,IAAI,SAAS,IAAI,EAAE,EAAE,EACjD,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;QACvC,CAAC,KACG,KAAK,YAER,aAAa,GACP,CACV,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtectedRoute.d.ts","sourceRoot":"","sources":["../src/ProtectedRoute.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAyB,MAAM,OAAO,CAAC;AAGhE,UAAU,KAAK;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyB1C,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { useContext, useEffect } from 'react';
|
|
4
|
+
import { AuthContext } from './context';
|
|
5
|
+
export const ProtectedRoute = ({ children, redirect, fallback, }) => {
|
|
6
|
+
const { user, loading } = useContext(AuthContext);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
if (!loading && !user && redirect) {
|
|
9
|
+
redirect();
|
|
10
|
+
}
|
|
11
|
+
}, [user, loading, redirect]);
|
|
12
|
+
if (loading)
|
|
13
|
+
return (fallback ?? (_jsx("div", { className: "flex justify-center items-center h-screen bg-gray-50 animate-pulse", children: _jsx("div", { className: "w-16 h-16 bg-gray-300 rounded-full" }) })));
|
|
14
|
+
if (!user)
|
|
15
|
+
return null;
|
|
16
|
+
return _jsx(_Fragment, { children: children });
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=ProtectedRoute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtectedRoute.js","sourceRoot":"","sources":["../src/ProtectedRoute.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAc,EAAa,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQxC,MAAM,CAAC,MAAM,cAAc,GAAoB,CAAC,EAC9C,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YAClC,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9B,IAAI,OAAO;QACT,OAAO,CACL,QAAQ,IAAI,CACV,cAAK,SAAS,EAAC,oEAAoE,YACjF,cAAK,SAAS,EAAC,oCAAoC,GAAG,GAClD,CACP,CACF,CAAC;IAEJ,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
3
|
+
className?: string;
|
|
4
|
+
redirectUrl?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const SignInButton: ({ className, redirectUrl, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=SignInButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignInButton.d.ts","sourceRoot":"","sources":["../src/SignInButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,YAAY,GAAI,sCAI1B,WAAW,4CAcb,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
export const SignInButton = ({ className, redirectUrl = '/signin', ...props }) => {
|
|
3
|
+
const defaultClasses = 'px-6 py-2 rounded-lg bg-indigo-600 text-white font-semibold hover:bg-indigo-700 transition-all duration-300';
|
|
4
|
+
return (_jsx("button", { className: `${defaultClasses} ${className || ''}`, onClick: () => {
|
|
5
|
+
window.location.href = redirectUrl;
|
|
6
|
+
}, ...props, children: "Sign In" }));
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=SignInButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignInButton.js","sourceRoot":"","sources":["../src/SignInButton.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,SAAS,EACT,WAAW,GAAG,SAAS,EACvB,GAAG,KAAK,EACI,EAAE,EAAE;IAChB,MAAM,cAAc,GAClB,6GAA6G,CAAC;IAChH,OAAO,CACL,iBACE,SAAS,EAAE,GAAG,cAAc,IAAI,SAAS,IAAI,EAAE,EAAE,EACjD,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;QACrC,CAAC,KACG,KAAK,wBAGF,CACV,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserProfile.d.ts","sourceRoot":"","sources":["../src/UserProfile.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,UAAU,KAAK;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0CvC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useContext, useState } from 'react';
|
|
4
|
+
import { AuthContext } from './context';
|
|
5
|
+
export const UserProfile = ({ className }) => {
|
|
6
|
+
const { user, fetchUser } = useContext(AuthContext);
|
|
7
|
+
const [menuOpen, setMenuOpen] = useState(false);
|
|
8
|
+
if (!user)
|
|
9
|
+
return null;
|
|
10
|
+
return (_jsxs("div", { className: `relative inline-block text-left ${className ?? ''}`, children: [_jsxs("button", { onClick: () => setMenuOpen(!menuOpen), className: "flex items-center space-x-2 p-2 rounded-full hover:bg-gray-200 transition", children: [user.avatar && (_jsx("img", { src: user.avatar, alt: user.full_name ?? 'User', className: "w-8 h-8 rounded-full" })), _jsx("span", { className: "hidden sm:block font-medium text-gray-700", children: user.full_name })] }), menuOpen && (_jsxs("div", { className: "absolute right-0 mt-2 w-48 bg-white shadow-lg rounded-md border border-gray-200 animate-fade-in z-50", children: [_jsx("div", { className: "px-4 py-2 text-gray-700 font-medium border-b border-gray-100", children: user.email }), _jsx("button", { onClick: async () => {
|
|
11
|
+
await fetch('/api/auth/logout', { method: 'POST' });
|
|
12
|
+
await fetchUser();
|
|
13
|
+
}, className: "w-full text-left px-4 py-2 hover:bg-gray-100 transition", children: "Sign Out" })] }))] }));
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=UserProfile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserProfile.js","sourceRoot":"","sources":["../src/UserProfile.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAMxC,MAAM,CAAC,MAAM,WAAW,GAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;IAC5D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,CACL,eAAK,SAAS,EAAE,mCAAmC,SAAS,IAAI,EAAE,EAAE,aAClE,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EACrC,SAAS,EAAC,2EAA2E,aAEpF,IAAI,CAAC,MAAM,IAAI,CACd,cACE,GAAG,EAAE,IAAI,CAAC,MAAM,EAChB,GAAG,EAAE,IAAI,CAAC,SAAS,IAAI,MAAM,EAC7B,SAAS,EAAC,sBAAsB,GAChC,CACH,EACD,eAAM,SAAS,EAAC,2CAA2C,YACxD,IAAI,CAAC,SAAS,GACV,IACA,EAER,QAAQ,IAAI,CACX,eAAK,SAAS,EAAC,sGAAsG,aACnH,cAAK,SAAS,EAAC,8DAA8D,YAC1E,IAAI,CAAC,KAAK,GACP,EACN,iBACE,OAAO,EAAE,KAAK,IAAI,EAAE;4BAClB,MAAM,KAAK,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;4BACpD,MAAM,SAAS,EAAE,CAAC;wBACpB,CAAC,EACD,SAAS,EAAC,yDAAyD,yBAG5D,IACL,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/context.d.ts
CHANGED
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,IAAI,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,UAAU,CAAC,cAAc,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;IAC1E,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,WAAW,2CAMtB,CAAC"}
|
package/dist/context.js
CHANGED
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAWtC,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAmB;IACzD,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,KAAK;IACtB,MAAM,EAAE,EAAS;IACjB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;CAC5B,CAAC,CAAC"}
|
|
@@ -5,7 +5,10 @@ interface DeltaAuthConfig {
|
|
|
5
5
|
showAlerts?: boolean;
|
|
6
6
|
backendUrl?: string;
|
|
7
7
|
authDomain?: string;
|
|
8
|
+
frontendUrl?: string;
|
|
8
9
|
}
|
|
9
10
|
export declare function GetsigninUrl(pathname: string, config: DeltaAuthConfig, origin: string): string;
|
|
11
|
+
export declare function GetLogoutUrl(pathname: string, config: DeltaAuthConfig, redirectTo: string, frontendUrl: string): string;
|
|
12
|
+
export declare function GetLogoutAllsessionsUrl(pathname: string, config: DeltaAuthConfig, redirectTo: string, frontendUrl: string): string;
|
|
10
13
|
export {};
|
|
11
14
|
//# sourceMappingURL=middleware-helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware-helper.d.ts","sourceRoot":"","sources":["../../src/edge/middleware-helper.ts"],"names":[],"mappings":"AACA,UAAU,eAAe;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"middleware-helper.d.ts","sourceRoot":"","sources":["../../src/edge/middleware-helper.ts"],"names":[],"mappings":"AACA,UAAU,eAAe;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAC,MAAM,EAAC,MAAM,UAUnF;AACD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAC,UAAU,EAAC,MAAM,EAAC,WAAW,EAAC,MAAM,UAU1G;AACD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,UAYpB"}
|
|
@@ -1,10 +1,28 @@
|
|
|
1
1
|
export function GetsigninUrl(pathname, config, origin) {
|
|
2
2
|
if (pathname === '/api/signin') {
|
|
3
|
-
const signinUrl = `${config.authDomain}/signin?client_id=${config.publishableKey}&redirect_uri=${encodeURIComponent(origin)}`;
|
|
3
|
+
const signinUrl = `${config.authDomain}/api/auth/signin?client_id=${config.publishableKey}&redirect_uri=${encodeURIComponent(origin)}`;
|
|
4
4
|
return signinUrl;
|
|
5
5
|
}
|
|
6
6
|
else {
|
|
7
7
|
return pathname;
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
+
export function GetLogoutUrl(pathname, config, redirectTo, frontendUrl) {
|
|
11
|
+
if (pathname === '/api/logout') {
|
|
12
|
+
const logoutUrl = `${config.authDomain}/api/auth/logout?client_id=${config.publishableKey}&redirect_uri=${encodeURIComponent(redirectTo)}`;
|
|
13
|
+
return logoutUrl;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return pathname;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export function GetLogoutAllsessionsUrl(pathname, config, redirectTo, frontendUrl) {
|
|
20
|
+
if (pathname === '/api/logoutallsessions') {
|
|
21
|
+
const logoutUrl = `${config.authDomain}/api/auth/logoutallsessions?client_id=${config.publishableKey}&redirect_uri=${encodeURIComponent(redirectTo || frontendUrl)}`;
|
|
22
|
+
return logoutUrl;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return pathname;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
10
28
|
//# sourceMappingURL=middleware-helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware-helper.js","sourceRoot":"","sources":["../../src/edge/middleware-helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"middleware-helper.js","sourceRoot":"","sources":["../../src/edge/middleware-helper.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,MAAuB,EAAC,MAAa;IAClF,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAW,GAAG,MAAM,CAAC,UAAU,8BAC5C,MAAM,CAAC,cACT,iBAAiB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;SACG,CAAC;QACH,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,MAAuB,EAAC,UAAiB,EAAC,WAAkB;IACzG,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAW,GAAG,MAAM,CAAC,UAAU,8BAC5C,MAAM,CAAC,cACT,iBAAiB,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClD,OAAO,SAAS,CAAA;IAClB,CAAC;SACG,CAAC;QACH,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC;AACD,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,MAAuB,EACvB,UAAkB,EAClB,WAAmB;IAEnB,IAAI,QAAQ,KAAK,wBAAwB,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAW,GACxB,MAAM,CAAC,UACT,yCACE,MAAM,CAAC,cACT,iBAAiB,kBAAkB,CAAC,UAAU,IAAI,WAAW,CAAC,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,4 +4,9 @@ export * from './hooks';
|
|
|
4
4
|
export * from './alert';
|
|
5
5
|
export * from './types';
|
|
6
6
|
export * from './urls';
|
|
7
|
+
export * from './LoginButton';
|
|
8
|
+
export * from './LogoutButton';
|
|
9
|
+
export * from './LogoutAllSessionsButton';
|
|
10
|
+
export * from './ProtectedRoute';
|
|
11
|
+
export * from './UserProfile';
|
|
7
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,4 +4,10 @@ export * from './hooks';
|
|
|
4
4
|
export * from './alert';
|
|
5
5
|
export * from './types';
|
|
6
6
|
export * from './urls';
|
|
7
|
+
export * from './LoginButton';
|
|
8
|
+
// export * from './SignInButton';
|
|
9
|
+
export * from './LogoutButton';
|
|
10
|
+
export * from './LogoutAllSessionsButton';
|
|
11
|
+
export * from './ProtectedRoute';
|
|
12
|
+
export * from './UserProfile';
|
|
7
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,kCAAkC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -14,6 +14,26 @@ export interface User {
|
|
|
14
14
|
role: string;
|
|
15
15
|
public_metadata?: Record<string, any>;
|
|
16
16
|
}
|
|
17
|
+
export interface User {
|
|
18
|
+
id: string;
|
|
19
|
+
email: string;
|
|
20
|
+
org: string;
|
|
21
|
+
avatar: string;
|
|
22
|
+
full_name: string;
|
|
23
|
+
first_name: string;
|
|
24
|
+
last_name: string;
|
|
25
|
+
initials: string;
|
|
26
|
+
platform_role?: 'admin' | 'client' | 'host' | 'organization';
|
|
27
|
+
is_admin: boolean;
|
|
28
|
+
session_expires_at?: string;
|
|
29
|
+
is_org: boolean;
|
|
30
|
+
is_host: boolean;
|
|
31
|
+
last_login: string;
|
|
32
|
+
login_times: number;
|
|
33
|
+
org_id: string | null;
|
|
34
|
+
permissions: string[];
|
|
35
|
+
public_metadata?: Record<string, any>;
|
|
36
|
+
}
|
|
17
37
|
export interface Session {
|
|
18
38
|
access_token: string;
|
|
19
39
|
refresh_token: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;AACD,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;AACD,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "delta-auth-next",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.32",
|
|
4
4
|
"description": "A lightweight authentication helper for Next.js that provides React context providers and Edge-safe middleware utilities for handling sign-in redirects and session management.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Samuel Onwodi",
|