This commit is contained in:
2023-02-03 00:47:29 +01:00
parent cdb4176509
commit 3b4ea00378
2 changed files with 55 additions and 38 deletions

View File

@ -14,7 +14,7 @@ function Profil()
email:'', email:'',
name:'', name:'',
phone:'', phone:'',
qr_code: null qr_code: ''
}); });
// const { data, error, isLoading } = useSWR( user?.qr_id, getDog); // const { data, error, isLoading } = useSWR( user?.qr_id, getDog);
@ -35,40 +35,54 @@ function Profil()
console.log('Profil user'); console.log('Profil user');
console.log(user); console.log(user);
// setDog(data); if(data.data.qr_code === null && document.getElementById("canvas") != null)
// setFormData(
// {
// email: data.data.email,
// name: data.data.name,
// phone: data.data.phone,
// qr_code: data.data.qr_code
// });
if(data.data.qr_code === null && document.getElementById("canvas") != null)
{
// qrcode generieren und in der Datenbank speichern
CreateQr({qr_id: user?.qr_id});
}
let formData_loc =
{ {
email: data.data.email, // qrcode generieren und in der Datenbank speichern
name: data.data.name, CreateQr({qr_id: user?.qr_id})
phone: data.data.phone .catch(err =>
{
console.log('Profil CreateQr Error');
console.error(err);
});
}
let formData_loc =
{
email: '',
name: '',
phone: '',
qr_code: ''
}; };
if (formData.email)
{
formData_loc =
{
email: formData.email,
name: formData.name,
phone: formData.phone,
qr_code: formData.qr_code
};
}
else
{
formData_loc =
{
email: data.data.email as string,
name: data.data.name as string,
phone: data.data.phone as string,
qr_code: data.data.qr_code as string
};
}
const onChangeInput = (e: React.FormEvent<HTMLInputElement> ) => const onChangeInput = (e: React.FormEvent<HTMLInputElement> ) =>
{ {
formData_loc = {...formData,[e.currentTarget.name]:e.currentTarget.value}; formData_loc =
setFormData( {
{ ...formData_loc,
...formData, [e.currentTarget.name]:e.currentTarget.value
[e.currentTarget.name]:e.currentTarget.value };
} setFormData(formData_loc);
);
} }
function showData(data: any/*, e: React.FormEvent<HTMLFormElement> | React.MouseEvent<HTMLButtonElement>*/) function showData(data: any/*, e: React.FormEvent<HTMLFormElement> | React.MouseEvent<HTMLButtonElement>*/)
@ -76,12 +90,6 @@ function Profil()
if(data.success) if(data.success)
{ {
toast.success('Daten geändert!'); toast.success('Daten geändert!');
// setSuccessMsg and setErrMsg force rendering
// if(e as React.FormEvent<HTMLFormElement> !== null)
// (e as React.FormEvent<HTMLFormElement>).currentTarget.reset();
// if(e as React.MouseEvent<HTMLButtonElement> !== null)
// (e as React.MouseEvent<HTMLButtonElement>).currentTarget.onre();
} }
else if(!data.success && data.message) else if(!data.success && data.message)
{ {
@ -103,20 +111,25 @@ function Profil()
const data = await updateDog(formData); const data = await updateDog(formData);
mutate(); mutate();
showData(data); showData(data);
} }
const qr_refresh = (e: React.MouseEvent<HTMLButtonElement>) => const qr_refresh = (e: React.MouseEvent<HTMLButtonElement>) =>
{ {
e.preventDefault(); e.preventDefault();
formData.qr_code = null; formData.qr_code = '';
setFormData(formData); setFormData(formData);
showData(data/*, e*/); showData(data/*, e*/);
if(document.getElementById("canvas") != null) if(document.getElementById("canvas") != null)
{ {
// qrcode generieren und in der Datenbank speichern // qrcode generieren und in der Datenbank speichern
CreateQr({qr_id: user?.qr_id}); CreateQr({qr_id: user?.qr_id})
.catch(err =>
{
console.log('qr_refresh CreateQr Error');
console.error(err);
});
} }
// update data with phpapi // update data with phpapi
mutate(); mutate();
@ -126,6 +139,7 @@ function Profil()
console.log(formData); console.log(formData);
console.log('Profil formData_loc'); console.log('Profil formData_loc');
console.log(formData_loc); console.log(formData_loc);
return ( return (
<div className='Profil'> <div className='Profil'>
<Toaster toastOptions={{ position: "top-center" }} /> <Toaster toastOptions={{ position: "top-center" }} />

View File

@ -28,6 +28,9 @@ export default async function CreateQr({qr_id}:{qr_id: string | undefined})
type: "extra-rounded", type: "extra-rounded",
} }
}); });
console.log(qrCode);
console.log(document.getElementById("canvas"));
document.getElementById("canvas")!.innerHTML = ""; document.getElementById("canvas")!.innerHTML = "";
qrCode.append(document.getElementById("canvas") as HTMLElement); qrCode.append(document.getElementById("canvas") as HTMLElement);