@adonis-agora/authkit-react
Version:
Frontend ergonomics over AuthKit for AdonisJS + Inertia + React apps: a typed useAuth() hook, role-gating hooks and gating components.
13 lines (12 loc) • 809 B
JavaScript
import { createElement, useState } from 'react';
import { buttonClass } from '../utils.js';
import { InteractionForm } from './interaction_form.js';
export function MagicLinkButton({ uid, csrfToken, basePath, channel, pendingChildren = 'Enviando…', children = 'Enviar link de login', className, disabled, ...rest }) {
const [pending, setPending] = useState(false);
return createElement(InteractionForm, { uid, step: 'magic', csrfToken, basePath, onSubmit: () => setPending(true) }, channel ? createElement('input', { type: 'hidden', name: 'channel', value: channel }) : null, createElement('button', {
type: 'submit',
disabled: disabled || pending,
className: buttonClass('authkit-button--ghost', className),
...rest,
}, pending ? pendingChildren : children));
}