diff --git a/.changeset/beige-mangos-cover.md b/.changeset/beige-mangos-cover.md new file mode 100644 index 000000000..56cca9d31 --- /dev/null +++ b/.changeset/beige-mangos-cover.md @@ -0,0 +1,5 @@ +--- +'@saas-ui/auth': patch +--- + +Fixed issue where auth state would not update correctly diff --git a/packages/saas-ui-auth/src/provider.tsx b/packages/saas-ui-auth/src/provider.tsx index 0bce6e9c2..3be046fdb 100644 --- a/packages/saas-ui-auth/src/provider.tsx +++ b/packages/saas-ui-auth/src/provider.tsx @@ -170,7 +170,9 @@ export const AuthProvider = ({ const checkAuth = useCallback(async () => { try { if (onGetToken) { - setAuthenticated(!!(await onGetToken())) + const isAuthenticated = !!(await onGetToken()) + setAuthenticated(isAuthenticated) + return isAuthenticated } } catch (e) { setAuthenticated(false) @@ -179,15 +181,14 @@ export const AuthProvider = ({ useEffect(() => { window.addEventListener('focus', checkAuth) - - checkAuth() - return () => { window.removeEventListener('focus', checkAuth) } }, [checkAuth]) const loadUser = useCallback(async () => { + const isAuthenticated = await checkAuth() + if (isAuthenticated) { const user = await onLoadUser() @@ -199,7 +200,7 @@ export const AuthProvider = ({ } setLoading(false) - }, [onLoadUser, isAuthenticated]) + }, [onLoadUser, checkAuth]) const signUp = useCallback( async (params: AuthParams, options?: AuthOptions) => { diff --git a/packages/saas-ui-theme/package.json b/packages/saas-ui-theme/package.json index eaa3a3471..1dba43e8f 100644 --- a/packages/saas-ui-theme/package.json +++ b/packages/saas-ui-theme/package.json @@ -19,12 +19,25 @@ }, "./anatomy/src": { "default": "./src/anatomy/index.ts" + }, + "./components": { + "types": "./dist/components/index.d.ts", + "import": "./dist/components/index.mjs", + "require": "./dist/components/index.js" + }, + "./components/*": { + "types": "./dist/components/*.d.ts", + "import": "./dist/components/*.mjs", + "require": "./dist/components/*.js" } }, "typesVersions": { "*": { "anatomy": [ "./dist/anatomy/index.d.ts" + ], + "components": [ + "./dist/components/index.d.ts" ] } },