@schemavaults/auth-ui 0.12.13 → 0.12.15
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/components/AccountCard/account_card.js +2 -1
- package/dist/components/AccountCard/account_card.js.map +1 -1
- package/dist/components/AccountCard/email_verification_status.d.ts +24 -0
- package/dist/components/AccountCard/email_verification_status.js +59 -0
- package/dist/components/AccountCard/email_verification_status.js.map +1 -0
- package/dist/components/AccountCard/index.d.ts +2 -0
- package/dist/components/AccountCard/index.js +1 -0
- package/dist/components/AccountCard/index.js.map +1 -1
- package/package.json +6 -6
|
@@ -7,6 +7,7 @@ import SignOutButton from "../SignOutButton";
|
|
|
7
7
|
import { useAuthUiFriendlyName } from "../FriendlyNameProvider";
|
|
8
8
|
import ViewFullUserProfileButton from "./view_full_user_profile";
|
|
9
9
|
import ViewAdminDashboardButton from "./view_admin_page_link";
|
|
10
|
+
import EmailVerificationStatus from "./email_verification_status";
|
|
10
11
|
import { Building2, Plus } from "lucide-react";
|
|
11
12
|
export function AccountDetailsCard(props) {
|
|
12
13
|
const currentUser = props.user;
|
|
@@ -28,7 +29,7 @@ export function AccountDetailsCard(props) {
|
|
|
28
29
|
});
|
|
29
30
|
},
|
|
30
31
|
});
|
|
31
|
-
return (_jsxs(Card, { className: cardClassName, children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Account Details" }), _jsxs(CardDescription, { children: ["View and manage your ", friendlyName, " account."] })] }), _jsx(CardContent, { children: _jsxs("div", { className: "flex flex-col items-start justify-start gap-2", children: [_jsx(KeyValueWithSkeleton, { label: "User ID", value: currentUser?.uid }), _jsx(KeyValueWithSkeleton, { label: "Email", value: currentUser?.email }), props.isAuthServerAccountPage && (_jsxs("div", { className: "flex flex-row items-center justify-start gap-2 flex-wrap", children: [_jsx("h3", { className: "text-lg font-bold", children: "Organizations:" }), memberships && memberships.length > 0 ? (_jsx(_Fragment, { children: memberships.map((membership) => (_jsx(Link, { href: `/org/${membership.organization_id}`, children: _jsxs(Button, { variant: "outline", size: "sm", className: "flex flex-row flex-nowrap gap-2", children: [_jsx(Building2, { className: "h-4 w-4" }), membership.organization_name, membership.role && (_jsxs("span", { className: "text-xs text-muted-foreground", children: ["(", membership.role, ")"] }))] }) }, membership.organization_id))) })) : (_jsx("p", { className: "text-sm text-muted-foreground", children: "No organizations" })), (!memberships ||
|
|
32
|
+
return (_jsxs(Card, { className: cardClassName, children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Account Details" }), _jsxs(CardDescription, { children: ["View and manage your ", friendlyName, " account."] })] }), _jsx(CardContent, { children: _jsxs("div", { className: "flex flex-col items-start justify-start gap-2", children: [_jsx(KeyValueWithSkeleton, { label: "User ID", value: currentUser?.uid }), _jsxs("div", { className: "flex w-full flex-row flex-wrap items-center justify-start gap-2", children: [_jsx(KeyValueWithSkeleton, { label: "Email", value: currentUser?.email, className: "w-auto grow-0" }), currentUser && (_jsx(EmailVerificationStatus, { email: currentUser.email, verified: currentUser.email_verified === true, isAuthServerAccountPage: props.isAuthServerAccountPage, auth_server_url: props.auth_server_url, redirect: props.redirect }))] }), props.isAuthServerAccountPage && (_jsxs("div", { className: "flex flex-row items-center justify-start gap-2 flex-wrap", children: [_jsx("h3", { className: "text-lg font-bold", children: "Organizations:" }), memberships && memberships.length > 0 ? (_jsx(_Fragment, { children: memberships.map((membership) => (_jsx(Link, { href: `/org/${membership.organization_id}`, children: _jsxs(Button, { variant: "outline", size: "sm", className: "flex flex-row flex-nowrap gap-2", children: [_jsx(Building2, { className: "h-4 w-4" }), membership.organization_name, membership.role && (_jsxs("span", { className: "text-xs text-muted-foreground", children: ["(", membership.role, ")"] }))] }) }, membership.organization_id))) })) : (_jsx("p", { className: "text-sm text-muted-foreground", children: "No organizations" })), (!memberships ||
|
|
32
33
|
memberships.length < MAXIMUM_USER_ORGANIZATIONS) && (_jsx(Link, { href: "/org/new", children: _jsxs(Button, { variant: "outline", size: "sm", className: "flex flex-row flex-nowrap gap-2", children: [_jsx(Plus, { className: "h-4 w-4" }), "Create Organization"] }) }))] }))] }) }), _jsx(CardFooter, { children: _jsxs("div", { className: "flex flex-row items-start justify-start flex-wrap gap-2", children: [_jsx(SignOutButton, { Link: props.Link }), showLinkToAuthServerAccountPage && (_jsx(ViewFullUserProfileButton, { navigate: async () => {
|
|
33
34
|
const accountUrl = new URL("/account", props.auth_server_url).toString();
|
|
34
35
|
await props.redirect(accountUrl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_card.js","sourceRoot":"","sources":["../../../src/components/AccountCard/account_card.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EACL,MAAM,EACN,IAAI,EACJ,WAAW,EACX,eAAe,EACf,UAAU,EACV,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,EAAE,EACF,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,GAEnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,0BAA0B,GAE3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,yBAAyB,MAAM,0BAA0B,CAAC;AACjE,OAAO,wBAAwB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"account_card.js","sourceRoot":"","sources":["../../../src/components/AccountCard/account_card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
export interface EmailVerificationStatusProps {
|
|
3
|
+
/** The current user's email address (the address a verification email would be re-sent to). */
|
|
4
|
+
email: string;
|
|
5
|
+
/** Whether the user's email address has been verified. */
|
|
6
|
+
verified: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* The /api/auth/verify-email/request endpoint does not support cross-origin
|
|
9
|
+
* requests, so the in-dialog resend POST is only offered on the auth
|
|
10
|
+
* server's own /account page; external resource servers get a button that
|
|
11
|
+
* navigates to the auth server's /auth/verify-email page instead.
|
|
12
|
+
*/
|
|
13
|
+
isAuthServerAccountPage?: boolean;
|
|
14
|
+
auth_server_url: string;
|
|
15
|
+
redirect: (url: string) => Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Inline email-verification indicator for the account details card: renders a
|
|
19
|
+
* green check ("Verified") or red x ("Not verified") next to the user's email
|
|
20
|
+
* address, and opens a status dialog on click. When the email is unverified,
|
|
21
|
+
* the dialog offers re-sending the verification email.
|
|
22
|
+
*/
|
|
23
|
+
export declare function EmailVerificationStatus(props: EmailVerificationStatusProps): ReactElement;
|
|
24
|
+
export default EmailVerificationStatus;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useTransition } from "react";
|
|
4
|
+
import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, cn, useToast, } from "@schemavaults/ui";
|
|
5
|
+
import { CheckCircle2, Loader2, Mail, XCircle } from "lucide-react";
|
|
6
|
+
/**
|
|
7
|
+
* Inline email-verification indicator for the account details card: renders a
|
|
8
|
+
* green check ("Verified") or red x ("Not verified") next to the user's email
|
|
9
|
+
* address, and opens a status dialog on click. When the email is unverified,
|
|
10
|
+
* the dialog offers re-sending the verification email.
|
|
11
|
+
*/
|
|
12
|
+
export function EmailVerificationStatus(props) {
|
|
13
|
+
const { email, verified } = props;
|
|
14
|
+
const [open, setOpen] = useState(false);
|
|
15
|
+
const [sending, startSending] = useTransition();
|
|
16
|
+
const { toast } = useToast();
|
|
17
|
+
function handleResend() {
|
|
18
|
+
startSending(async () => {
|
|
19
|
+
try {
|
|
20
|
+
const endpoint = new URL("/api/auth/verify-email/request", props.auth_server_url).toString();
|
|
21
|
+
const response = await fetch(endpoint, {
|
|
22
|
+
method: "POST",
|
|
23
|
+
headers: { "Content-Type": "application/json" },
|
|
24
|
+
body: JSON.stringify({ email }),
|
|
25
|
+
});
|
|
26
|
+
const result = await response.json();
|
|
27
|
+
if (!response.ok) {
|
|
28
|
+
throw new Error(result.message ?? "Something went wrong.");
|
|
29
|
+
}
|
|
30
|
+
toast({
|
|
31
|
+
title: "Check your email",
|
|
32
|
+
description: result.message ?? "A verification email has been sent.",
|
|
33
|
+
});
|
|
34
|
+
setOpen(false);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
toast({
|
|
38
|
+
variant: "destructive",
|
|
39
|
+
title: "Failed to send verification email",
|
|
40
|
+
description: error instanceof Error
|
|
41
|
+
? error.message
|
|
42
|
+
: "An unknown error occurred.",
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
async function handleGoToVerifyEmailPage() {
|
|
48
|
+
const verifyEmailPageUrl = new URL("/auth/verify-email", props.auth_server_url).toString();
|
|
49
|
+
await props.redirect(verifyEmailPageUrl);
|
|
50
|
+
}
|
|
51
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Button, { type: "button", variant: "ghost", size: "sm", onClick: () => setOpen(true), "aria-label": verified
|
|
52
|
+
? "Email verified. View verification status."
|
|
53
|
+
: "Email not verified. Open dialog to resend verification email.", "data-testid": "email-verification-status-button", className: "flex flex-row flex-nowrap items-center gap-1 px-2", children: [verified ? (_jsx(CheckCircle2, { className: "h-4 w-4 text-green-500" })) : (_jsx(XCircle, { className: "h-4 w-4 text-red-500" })), _jsx("span", { className: cn("text-xs", verified ? "text-green-600" : "text-red-600"), children: verified ? "Verified" : "Not verified" })] }), _jsx(Dialog, { open: open, onOpenChange: setOpen, children: _jsxs(DialogContent, { id: "email-verification-dialog-content", "data-testid": "email-verification-dialog-content", className: "sm:max-w-[425px]", children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: verified ? "Email verified" : "Verify your email" }), _jsx(DialogDescription, { children: verified
|
|
54
|
+
? `Your email address (${email}) has been verified.`
|
|
55
|
+
: `Your email address (${email}) has not been verified yet. Check your inbox for a verification link, or request a new one below.` })] }), _jsx("div", { className: "flex flex-col items-center justify-center py-4", children: verified ? (_jsx(CheckCircle2, { className: "h-10 w-10 text-green-500" })) : (_jsx(XCircle, { className: "h-10 w-10 text-red-500" })) }), _jsxs(DialogFooter, { className: "gap-2 sm:gap-0", children: [_jsx(Button, { type: "button", variant: "outline", onClick: () => setOpen(false), disabled: sending, "data-testid": "close-email-verification-dialog-button", children: "Close" }), !verified &&
|
|
56
|
+
(props.isAuthServerAccountPage ? (_jsxs(Button, { type: "button", onClick: handleResend, disabled: sending, "data-testid": "resend-verification-email-button", children: [sending ? (_jsx(Loader2, { className: "h-4 w-4 mr-2 animate-spin", role: "status" })) : (_jsx(Mail, { className: "h-4 w-4 mr-2" })), "Resend verification email"] })) : (_jsxs(Button, { type: "button", onClick: () => void handleGoToVerifyEmailPage(), "data-testid": "resend-verification-email-button", children: [_jsx(Mail, { className: "h-4 w-4 mr-2" }), "Verify your email"] })))] })] }) })] }));
|
|
57
|
+
}
|
|
58
|
+
export default EmailVerificationStatus;
|
|
59
|
+
//# sourceMappingURL=email_verification_status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email_verification_status.js","sourceRoot":"","sources":["../../../src/components/AccountCard/email_verification_status.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { AccountDetailsCard, AccountDetailsCard as default, AccountDetailsCard as AccountCard, } from "./account_card";
|
|
2
2
|
export type * from "./account_card";
|
|
3
|
+
export { EmailVerificationStatus } from "./email_verification_status";
|
|
4
|
+
export type { EmailVerificationStatusProps } from "./email_verification_status";
|
|
3
5
|
export { useMyOrganizations, clearMyOrganizationsCache, } from "@schemavaults/auth-react-provider";
|
|
4
6
|
export type { UseMyOrganizationsOptions, } from "@schemavaults/auth-react-provider";
|
|
5
7
|
export type { OrganizationMembershipRoleDetails } from "@schemavaults/auth-common";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { AccountDetailsCard, AccountDetailsCard as default, AccountDetailsCard as AccountCard, } from "./account_card";
|
|
2
|
+
export { EmailVerificationStatus } from "./email_verification_status";
|
|
2
3
|
export { useMyOrganizations, clearMyOrganizationsCache, } from "@schemavaults/auth-react-provider";
|
|
3
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/AccountCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,IAAI,OAAO,EAC7B,kBAAkB,IAAI,WAAW,GAClC,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/AccountCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,IAAI,OAAO,EAC7B,kBAAkB,IAAI,WAAW,GAClC,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAGtE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@schemavaults/auth-ui",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.15",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"description": "React.js UI components for authentication/authorization shared between different SchemaVaults apps",
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
"@hookform/resolvers": "3.9.0"
|
|
14
14
|
},
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"react": "^19.2.
|
|
17
|
-
"react-dom": "^19.2.
|
|
18
|
-
"next": "^16.2.
|
|
19
|
-
"@schemavaults/ui": "^0.87.
|
|
20
|
-
"@schemavaults/auth-react-provider": "0.16.
|
|
16
|
+
"react": "^19.2.8",
|
|
17
|
+
"react-dom": "^19.2.8",
|
|
18
|
+
"next": "^16.2.11",
|
|
19
|
+
"@schemavaults/ui": "^0.87.1",
|
|
20
|
+
"@schemavaults/auth-react-provider": "0.16.7",
|
|
21
21
|
"@schemavaults/app-definitions": "0.11.4",
|
|
22
22
|
"@schemavaults/auth-common": "0.22.4",
|
|
23
23
|
"lucide-react": "0.575.0",
|