Remaster avec skill supabase only et grillme
This commit is contained in:
@@ -16,29 +16,36 @@ export function AcceptInvite() {
|
||||
const [loading, setLoading] = useState(true)
|
||||
const [valid, setValid] = useState(false)
|
||||
|
||||
/* eslint-disable react-hooks/set-state-in-effect */
|
||||
useEffect(() => {
|
||||
let cancelled = false
|
||||
async function checkToken() {
|
||||
const { data, error } = await supabase
|
||||
const { data } = await supabase
|
||||
.from('invitations')
|
||||
.select('*')
|
||||
.eq('token', token)
|
||||
.eq('accepted', false)
|
||||
.gte('expires_at', new Date().toISOString())
|
||||
.single()
|
||||
if (data && !error) {
|
||||
setEmail(data.email)
|
||||
setValid(true)
|
||||
if (!cancelled) {
|
||||
if (data) {
|
||||
setEmail(data.email)
|
||||
setValid(true)
|
||||
}
|
||||
setLoading(false)
|
||||
}
|
||||
setLoading(false)
|
||||
}
|
||||
if (token) checkToken()
|
||||
else setLoading(false)
|
||||
return () => { cancelled = true }
|
||||
}, [token])
|
||||
/* eslint-enable react-hooks/set-state-in-effect */
|
||||
|
||||
async function handleSubmit(e) {
|
||||
e.preventDefault()
|
||||
setLoading(true)
|
||||
|
||||
const { data, error } = await supabase.auth.signUp({
|
||||
const { error } = await supabase.auth.signUp({
|
||||
email,
|
||||
password,
|
||||
options: { data: { full_name: name } },
|
||||
@@ -50,7 +57,6 @@ export function AcceptInvite() {
|
||||
return
|
||||
}
|
||||
|
||||
// Marquer l'invitation comme acceptée
|
||||
await supabase.from('invitations').update({ accepted: true }).eq('token', token)
|
||||
|
||||
toast.success('Compte créé ! Vous pouvez vous connecter.')
|
||||
@@ -69,11 +75,11 @@ export function AcceptInvite() {
|
||||
)
|
||||
|
||||
return (
|
||||
<div className="min-h-screen flex items-center justify-center bg-gray-100">
|
||||
<div className="min-h-screen flex items-center justify-center bg-gray-100 dark:bg-gray-950">
|
||||
<Card className="w-full max-w-md">
|
||||
<CardHeader>
|
||||
<CardTitle className="text-2xl text-center">Accepter l'invitation</CardTitle>
|
||||
<p className="text-sm text-gray-500 text-center mt-1">{email}</p>
|
||||
<p className="text-sm text-gray-500 dark:text-gray-400 text-center mt-1">{email}</p>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<form onSubmit={handleSubmit} className="space-y-4">
|
||||
|
||||
Reference in New Issue
Block a user