@cabin-id/nextjs 1.2.0 → 1.2.3
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.
|
@@ -36,6 +36,7 @@ var import_react = __toESM(require("react"));
|
|
|
36
36
|
var import_useUser = require("../hooks/useUser");
|
|
37
37
|
var import_constants = require("../constants");
|
|
38
38
|
var import_subdomain = require("../utils/subdomain");
|
|
39
|
+
var import_constants2 = require("../constants");
|
|
39
40
|
const SignOutButton = ({
|
|
40
41
|
children = "Sign Out",
|
|
41
42
|
className = "px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700 disabled:opacity-50",
|
|
@@ -77,8 +78,11 @@ const SignOutButton = ({
|
|
|
77
78
|
}
|
|
78
79
|
await signOut(() => {
|
|
79
80
|
});
|
|
80
|
-
const
|
|
81
|
-
const
|
|
81
|
+
const origin = typeof window !== "undefined" ? window.location.origin : "";
|
|
82
|
+
const params = new URLSearchParams({
|
|
83
|
+
redirect_url: `${origin}${import_constants2.SIGN_IN_URL}` || "/"
|
|
84
|
+
});
|
|
85
|
+
const logoutUrl = `https://${import_constants2.frontendApi}.cabinid.dev/logout?${params.toString()}`;
|
|
82
86
|
onSignOutSuccess == null ? void 0 : onSignOutSuccess();
|
|
83
87
|
window.location.href = logoutUrl;
|
|
84
88
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SignOutButton.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState } from 'react';\nimport { useUser, SignOutOptions } from '../hooks/useUser';\nimport { baseApiUrl } from '../constants';\nimport { detectCabinIdSubdomain } from '../utils/subdomain';\n\nexport interface SignOutButtonProps {\n /**\n * Custom text to display on the button\n * @default \"Sign Out\"\n */\n children?: React.ReactNode;\n /**\n * Custom CSS class name\n */\n className?: string;\n /**\n * Sign out options\n */\n signOutOptions?: SignOutOptions;\n /**\n * Callback function called before sign out\n */\n onSignOutStart?: () => void;\n /**\n * Callback function called after successful sign out\n */\n onSignOutSuccess?: () => void;\n /**\n * Callback function called when sign out fails\n */\n onSignOutError?: (error: Error) => void;\n /**\n * Whether to show loading state\n * @default true\n */\n showLoading?: boolean;\n /**\n * Custom loading text\n * @default \"Signing out...\"\n */\n loadingText?: string;\n /**\n * Whether to call the backend sign-out endpoint\n * @default true\n */\n callBackend?: boolean;\n /**\n * CabinID subdomain for cross-domain logout\n * @example \"myapp\" for myapp.cabinid.dev\n */\n cabinIdSubdomain?: string;\n /**\n * Whether to use cross-domain logout flow\n * @default true\n */\n useCrossDomainLogout?: boolean;\n}\n\n/**\n * SignOutButton component that handles user logout with CabinID backend integration\n */\nexport const SignOutButton: React.FC<SignOutButtonProps> = ({\n children = 'Sign Out',\n className = 'px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700 disabled:opacity-50',\n signOutOptions,\n onSignOutStart,\n onSignOutSuccess,\n onSignOutError,\n showLoading = true,\n loadingText = 'Signing out...',\n callBackend = true,\n cabinIdSubdomain,\n useCrossDomainLogout = true,\n}) => {\n const { signOut, isSignedIn, user } = useUser();\n const [isLoading, setIsLoading] = useState(false);\n\n const handleSignOut = async () => {\n if (isLoading || !isSignedIn) return;\n\n try {\n setIsLoading(true);\n onSignOutStart?.();\n\n // Cross-domain logout flow\n const subdomain = cabinIdSubdomain || detectCabinIdSubdomain();\n if (useCrossDomainLogout && subdomain) {\n // Call backend sign-out endpoint first\n if (callBackend && user) {\n try {\n const token = getCookieValue('__client') || getCookieValue('__user');\n if (token) {\n await fetch(`${baseApiUrl}/auth/sign-out`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`,\n 'Origin': typeof window !== 'undefined' ? window.location.origin : '',\n },\n });\n }\n } catch (backendError) {\n console.warn('Backend sign-out failed, proceeding with logout:', backendError);\n }\n }\n\n // Clear local cookies and storage\n await signOut(() => {\n // Don't redirect yet, we'll handle it manually\n });\n\n // Redirect to CabinID logout page for complete cleanup\n const
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SignOutButton.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState } from 'react';\nimport { useUser, SignOutOptions } from '../hooks/useUser';\nimport { baseApiUrl } from '../constants';\nimport { detectCabinIdSubdomain } from '../utils/subdomain';\nimport { SIGN_IN_URL, frontendApi } from '../constants';\n\n\nexport interface SignOutButtonProps {\n /**\n * Custom text to display on the button\n * @default \"Sign Out\"\n */\n children?: React.ReactNode;\n /**\n * Custom CSS class name\n */\n className?: string;\n /**\n * Sign out options\n */\n signOutOptions?: SignOutOptions;\n /**\n * Callback function called before sign out\n */\n onSignOutStart?: () => void;\n /**\n * Callback function called after successful sign out\n */\n onSignOutSuccess?: () => void;\n /**\n * Callback function called when sign out fails\n */\n onSignOutError?: (error: Error) => void;\n /**\n * Whether to show loading state\n * @default true\n */\n showLoading?: boolean;\n /**\n * Custom loading text\n * @default \"Signing out...\"\n */\n loadingText?: string;\n /**\n * Whether to call the backend sign-out endpoint\n * @default true\n */\n callBackend?: boolean;\n /**\n * CabinID subdomain for cross-domain logout\n * @example \"myapp\" for myapp.cabinid.dev\n */\n cabinIdSubdomain?: string;\n /**\n * Whether to use cross-domain logout flow\n * @default true\n */\n useCrossDomainLogout?: boolean;\n}\n\n/**\n * SignOutButton component that handles user logout with CabinID backend integration\n */\nexport const SignOutButton: React.FC<SignOutButtonProps> = ({\n children = 'Sign Out',\n className = 'px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700 disabled:opacity-50',\n signOutOptions,\n onSignOutStart,\n onSignOutSuccess,\n onSignOutError,\n showLoading = true,\n loadingText = 'Signing out...',\n callBackend = true,\n cabinIdSubdomain,\n useCrossDomainLogout = true,\n}) => {\n const { signOut, isSignedIn, user } = useUser();\n const [isLoading, setIsLoading] = useState(false);\n\n const handleSignOut = async () => {\n if (isLoading || !isSignedIn) return;\n\n try {\n setIsLoading(true);\n onSignOutStart?.();\n\n // Cross-domain logout flow\n const subdomain = cabinIdSubdomain || detectCabinIdSubdomain();\n if (useCrossDomainLogout && subdomain) {\n // Call backend sign-out endpoint first\n if (callBackend && user) {\n try {\n const token = getCookieValue('__client') || getCookieValue('__user');\n if (token) {\n await fetch(`${baseApiUrl}/auth/sign-out`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`,\n 'Origin': typeof window !== 'undefined' ? window.location.origin : '',\n },\n });\n }\n } catch (backendError) {\n console.warn('Backend sign-out failed, proceeding with logout:', backendError);\n }\n }\n\n // Clear local cookies and storage\n await signOut(() => {\n // Don't redirect yet, we'll handle it manually\n });\n\n // Redirect to CabinID logout page for complete cleanup\n const origin = typeof window !== 'undefined' ? window.location.origin : '';\n const params = new URLSearchParams({\n redirect_url: `${origin}${SIGN_IN_URL}` || '/',\n });\n const logoutUrl = `https://${frontendApi}.cabinid.dev/logout?${params.toString()}`;\n \n onSignOutSuccess?.();\n window.location.href = logoutUrl;\n return;\n }\n\n // Standard logout flow (backward compatibility)\n if (callBackend && user) {\n try {\n const token = getCookieValue('__client') || getCookieValue('__user');\n if (token) {\n await fetch(`${baseApiUrl}/auth/sign-out`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`,\n 'Origin': typeof window !== 'undefined' ? window.location.origin : '',\n },\n });\n }\n } catch (backendError) {\n console.warn('Backend sign-out failed, proceeding with client-side cleanup:', backendError);\n }\n }\n\n await signOut(signOutOptions);\n onSignOutSuccess?.();\n } catch (error) {\n console.error('Sign out error:', error);\n onSignOutError?.(error as Error);\n } finally {\n setIsLoading(false);\n }\n };\n\n // Helper function to get cookie value\n const getCookieValue = (name: string): string | null => {\n if (typeof window === 'undefined') return null;\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) {\n return parts.pop()?.split(';').shift() || null;\n }\n return null;\n };\n\n // Don't render if user is not signed in\n if (!isSignedIn) {\n return null;\n }\n\n return (\n <button\n onClick={handleSignOut}\n disabled={isLoading}\n className={className}\n type=\"button\"\n >\n {isLoading && showLoading ? loadingText : children}\n </button>\n );\n};"],"mappings":"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","names":["import_constants","React"]}
|
|
@@ -3,6 +3,7 @@ import React, { useState } from "react";
|
|
|
3
3
|
import { useUser } from "../hooks/useUser";
|
|
4
4
|
import { baseApiUrl } from "../constants";
|
|
5
5
|
import { detectCabinIdSubdomain } from "../utils/subdomain";
|
|
6
|
+
import { SIGN_IN_URL, frontendApi } from "../constants";
|
|
6
7
|
const SignOutButton = ({
|
|
7
8
|
children = "Sign Out",
|
|
8
9
|
className = "px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700 disabled:opacity-50",
|
|
@@ -44,8 +45,11 @@ const SignOutButton = ({
|
|
|
44
45
|
}
|
|
45
46
|
await signOut(() => {
|
|
46
47
|
});
|
|
47
|
-
const
|
|
48
|
-
const
|
|
48
|
+
const origin = typeof window !== "undefined" ? window.location.origin : "";
|
|
49
|
+
const params = new URLSearchParams({
|
|
50
|
+
redirect_url: `${origin}${SIGN_IN_URL}` || "/"
|
|
51
|
+
});
|
|
52
|
+
const logoutUrl = `https://${frontendApi}.cabinid.dev/logout?${params.toString()}`;
|
|
49
53
|
onSignOutSuccess == null ? void 0 : onSignOutSuccess();
|
|
50
54
|
window.location.href = logoutUrl;
|
|
51
55
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SignOutButton.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState } from 'react';\nimport { useUser, SignOutOptions } from '../hooks/useUser';\nimport { baseApiUrl } from '../constants';\nimport { detectCabinIdSubdomain } from '../utils/subdomain';\n\nexport interface SignOutButtonProps {\n /**\n * Custom text to display on the button\n * @default \"Sign Out\"\n */\n children?: React.ReactNode;\n /**\n * Custom CSS class name\n */\n className?: string;\n /**\n * Sign out options\n */\n signOutOptions?: SignOutOptions;\n /**\n * Callback function called before sign out\n */\n onSignOutStart?: () => void;\n /**\n * Callback function called after successful sign out\n */\n onSignOutSuccess?: () => void;\n /**\n * Callback function called when sign out fails\n */\n onSignOutError?: (error: Error) => void;\n /**\n * Whether to show loading state\n * @default true\n */\n showLoading?: boolean;\n /**\n * Custom loading text\n * @default \"Signing out...\"\n */\n loadingText?: string;\n /**\n * Whether to call the backend sign-out endpoint\n * @default true\n */\n callBackend?: boolean;\n /**\n * CabinID subdomain for cross-domain logout\n * @example \"myapp\" for myapp.cabinid.dev\n */\n cabinIdSubdomain?: string;\n /**\n * Whether to use cross-domain logout flow\n * @default true\n */\n useCrossDomainLogout?: boolean;\n}\n\n/**\n * SignOutButton component that handles user logout with CabinID backend integration\n */\nexport const SignOutButton: React.FC<SignOutButtonProps> = ({\n children = 'Sign Out',\n className = 'px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700 disabled:opacity-50',\n signOutOptions,\n onSignOutStart,\n onSignOutSuccess,\n onSignOutError,\n showLoading = true,\n loadingText = 'Signing out...',\n callBackend = true,\n cabinIdSubdomain,\n useCrossDomainLogout = true,\n}) => {\n const { signOut, isSignedIn, user } = useUser();\n const [isLoading, setIsLoading] = useState(false);\n\n const handleSignOut = async () => {\n if (isLoading || !isSignedIn) return;\n\n try {\n setIsLoading(true);\n onSignOutStart?.();\n\n // Cross-domain logout flow\n const subdomain = cabinIdSubdomain || detectCabinIdSubdomain();\n if (useCrossDomainLogout && subdomain) {\n // Call backend sign-out endpoint first\n if (callBackend && user) {\n try {\n const token = getCookieValue('__client') || getCookieValue('__user');\n if (token) {\n await fetch(`${baseApiUrl}/auth/sign-out`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`,\n 'Origin': typeof window !== 'undefined' ? window.location.origin : '',\n },\n });\n }\n } catch (backendError) {\n console.warn('Backend sign-out failed, proceeding with logout:', backendError);\n }\n }\n\n // Clear local cookies and storage\n await signOut(() => {\n // Don't redirect yet, we'll handle it manually\n });\n\n // Redirect to CabinID logout page for complete cleanup\n const
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SignOutButton.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState } from 'react';\nimport { useUser, SignOutOptions } from '../hooks/useUser';\nimport { baseApiUrl } from '../constants';\nimport { detectCabinIdSubdomain } from '../utils/subdomain';\nimport { SIGN_IN_URL, frontendApi } from '../constants';\n\n\nexport interface SignOutButtonProps {\n /**\n * Custom text to display on the button\n * @default \"Sign Out\"\n */\n children?: React.ReactNode;\n /**\n * Custom CSS class name\n */\n className?: string;\n /**\n * Sign out options\n */\n signOutOptions?: SignOutOptions;\n /**\n * Callback function called before sign out\n */\n onSignOutStart?: () => void;\n /**\n * Callback function called after successful sign out\n */\n onSignOutSuccess?: () => void;\n /**\n * Callback function called when sign out fails\n */\n onSignOutError?: (error: Error) => void;\n /**\n * Whether to show loading state\n * @default true\n */\n showLoading?: boolean;\n /**\n * Custom loading text\n * @default \"Signing out...\"\n */\n loadingText?: string;\n /**\n * Whether to call the backend sign-out endpoint\n * @default true\n */\n callBackend?: boolean;\n /**\n * CabinID subdomain for cross-domain logout\n * @example \"myapp\" for myapp.cabinid.dev\n */\n cabinIdSubdomain?: string;\n /**\n * Whether to use cross-domain logout flow\n * @default true\n */\n useCrossDomainLogout?: boolean;\n}\n\n/**\n * SignOutButton component that handles user logout with CabinID backend integration\n */\nexport const SignOutButton: React.FC<SignOutButtonProps> = ({\n children = 'Sign Out',\n className = 'px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700 disabled:opacity-50',\n signOutOptions,\n onSignOutStart,\n onSignOutSuccess,\n onSignOutError,\n showLoading = true,\n loadingText = 'Signing out...',\n callBackend = true,\n cabinIdSubdomain,\n useCrossDomainLogout = true,\n}) => {\n const { signOut, isSignedIn, user } = useUser();\n const [isLoading, setIsLoading] = useState(false);\n\n const handleSignOut = async () => {\n if (isLoading || !isSignedIn) return;\n\n try {\n setIsLoading(true);\n onSignOutStart?.();\n\n // Cross-domain logout flow\n const subdomain = cabinIdSubdomain || detectCabinIdSubdomain();\n if (useCrossDomainLogout && subdomain) {\n // Call backend sign-out endpoint first\n if (callBackend && user) {\n try {\n const token = getCookieValue('__client') || getCookieValue('__user');\n if (token) {\n await fetch(`${baseApiUrl}/auth/sign-out`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`,\n 'Origin': typeof window !== 'undefined' ? window.location.origin : '',\n },\n });\n }\n } catch (backendError) {\n console.warn('Backend sign-out failed, proceeding with logout:', backendError);\n }\n }\n\n // Clear local cookies and storage\n await signOut(() => {\n // Don't redirect yet, we'll handle it manually\n });\n\n // Redirect to CabinID logout page for complete cleanup\n const origin = typeof window !== 'undefined' ? window.location.origin : '';\n const params = new URLSearchParams({\n redirect_url: `${origin}${SIGN_IN_URL}` || '/',\n });\n const logoutUrl = `https://${frontendApi}.cabinid.dev/logout?${params.toString()}`;\n \n onSignOutSuccess?.();\n window.location.href = logoutUrl;\n return;\n }\n\n // Standard logout flow (backward compatibility)\n if (callBackend && user) {\n try {\n const token = getCookieValue('__client') || getCookieValue('__user');\n if (token) {\n await fetch(`${baseApiUrl}/auth/sign-out`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${token}`,\n 'Origin': typeof window !== 'undefined' ? window.location.origin : '',\n },\n });\n }\n } catch (backendError) {\n console.warn('Backend sign-out failed, proceeding with client-side cleanup:', backendError);\n }\n }\n\n await signOut(signOutOptions);\n onSignOutSuccess?.();\n } catch (error) {\n console.error('Sign out error:', error);\n onSignOutError?.(error as Error);\n } finally {\n setIsLoading(false);\n }\n };\n\n // Helper function to get cookie value\n const getCookieValue = (name: string): string | null => {\n if (typeof window === 'undefined') return null;\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) {\n return parts.pop()?.split(';').shift() || null;\n }\n return null;\n };\n\n // Don't render if user is not signed in\n if (!isSignedIn) {\n return null;\n }\n\n return (\n <button\n onClick={handleSignOut}\n disabled={isLoading}\n className={className}\n type=\"button\"\n >\n {isLoading && showLoading ? loadingText : children}\n </button>\n );\n};"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignOutButton.d.ts","sourceRoot":"","sources":["../../../src/components/SignOutButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAW,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"SignOutButton.d.ts","sourceRoot":"","sources":["../../../src/components/SignOutButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAW,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAM3D,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqHtD,CAAC"}
|