Skip to content
Snippets Groups Projects
Commit 357e28b9 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

reflect data checked in the form that we want to send

parent 8b7687db
No related branches found
No related tags found
2 merge requests!223reset the pin numbers before search results are fetch (so the results will be...,!199Resolve "[MIN-321] form for reporting errors in minerva"
...@@ -26,18 +26,38 @@ export const ErrorReportModal: React.FC = () => { ...@@ -26,18 +26,38 @@ export const ErrorReportModal: React.FC = () => {
const message = getValue(errorData?.message); const message = getValue(errorData?.message);
// eslint-disable-next-line @typescript-eslint/no-unused-vars // eslint-disable-next-line @typescript-eslint/no-unused-vars
const [errorDataToSend, setValue] = React.useState(errorData); const [errorDataToSend, setValue] = React.useState({
url,
browser,
comment,
login,
email,
javaStacktrace,
stacktrace,
version,
message,
});
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const handleChange = (e: React.ChangeEvent<HTMLInputElement>): void => { const handleChange = (e: React.ChangeEvent<HTMLInputElement>): void => {
const { name, value } = e.target; const { name, checked } = e.target;
let { value } = e.target;
setValue(errorData2 => { setValue(errorData2 => {
// eslint-disable-next-line no-console if (name === 'login') {
console.log(name); const loginValue = checked ? login : '';
// eslint-disable-next-line no-console const emailValue = checked ? email : '';
console.log(value);
return errorData2; return { ...errorData2, login: loginValue, email: emailValue };
}
if (name === 'url') {
value = checked ? url : '';
}
if (name === 'browser') {
value = checked ? browser : '';
}
if (name === 'version') {
value = checked ? version : '';
}
return { ...errorData2, [name]: value };
}); });
}; };
...@@ -48,21 +68,31 @@ export const ErrorReportModal: React.FC = () => { ...@@ -48,21 +68,31 @@ export const ErrorReportModal: React.FC = () => {
return ( return (
<div className="w-[800px] border border-t-[#E1E0E6] bg-white"> <div className="w-[800px] border border-t-[#E1E0E6] bg-white">
<form onSubmit={handleSubmit} className="p-4"> <form onSubmit={handleSubmit} className="p-4">
<p className="my-4 font-bold"> {message}</p> <p className="my-4 font-bold"> {errorDataToSend.message}</p>
<p className="my-4"> <p className="my-4">
If you agree to submit the following information to the minerva maintainers please uncheck If you agree to submit the following information to the minerva maintainers please uncheck
all boxes that might contain sensitive data. all boxes that might contain sensitive data.
</p> </p>
<label className="mb-1 mt-4 block text-sm"> <label className="mb-1 mt-4 block text-sm" htmlFor="comment">
<span className="font-semibold">Add comment</span> (max 1000 characters): <span className="font-semibold">Add comment</span> (max 1000 characters):
</label> </label>
<Input type="textarea" value={comment} className="mb-4 text-sm font-medium text-font-400" /> <Input
type="textarea"
name="comment"
id="comment"
onChange={handleChange}
value={errorDataToSend.comment}
className="mb-4 text-sm font-medium text-font-400"
/>
<div className="grid grid-cols-[15px_743px] gap-2"> <div className="grid grid-cols-[15px_743px] gap-2">
<label className="flex-1 text-sm font-semibold" htmlFor="url"> <label className="flex-1 text-sm font-semibold" htmlFor="url">
<Input <Input
styleVariant="primaryWithoutFull" styleVariant="primaryWithoutFull"
id="url"
name="url"
type="checkbox" type="checkbox"
checked onChange={handleChange}
checked={errorDataToSend.url !== ''}
className="flex-1 align-bottom text-sm font-semibold" className="flex-1 align-bottom text-sm font-semibold"
/> />
</label> </label>
...@@ -72,8 +102,11 @@ export const ErrorReportModal: React.FC = () => { ...@@ -72,8 +102,11 @@ export const ErrorReportModal: React.FC = () => {
<label className="block text-sm font-semibold"> <label className="block text-sm font-semibold">
<Input <Input
styleVariant="primaryWithoutFull" styleVariant="primaryWithoutFull"
id="browser"
name="browser"
type="checkbox" type="checkbox"
checked onChange={handleChange}
checked={errorDataToSend.browser !== ''}
className="flex-1 align-bottom text-sm font-semibold" className="flex-1 align-bottom text-sm font-semibold"
/> />
</label> </label>
...@@ -82,9 +115,12 @@ export const ErrorReportModal: React.FC = () => { ...@@ -82,9 +115,12 @@ export const ErrorReportModal: React.FC = () => {
</label> </label>
<label className="block text-sm font-semibold"> <label className="block text-sm font-semibold">
<Input <Input
id="login"
name="login"
type="checkbox" type="checkbox"
onChange={handleChange}
checked={errorDataToSend.login !== ''}
styleVariant="primaryWithoutFull" styleVariant="primaryWithoutFull"
checked
className="flex-1 align-bottom text-sm font-semibold" className="flex-1 align-bottom text-sm font-semibold"
/> />
</label> </label>
...@@ -94,8 +130,11 @@ export const ErrorReportModal: React.FC = () => { ...@@ -94,8 +130,11 @@ export const ErrorReportModal: React.FC = () => {
<label className="block text-sm font-semibold"> <label className="block text-sm font-semibold">
<Input <Input
styleVariant="primaryWithoutFull" styleVariant="primaryWithoutFull"
id="version"
name="version"
type="checkbox" type="checkbox"
checked onChange={handleChange}
checked={errorDataToSend.version !== ''}
className="flex-1 align-bottom text-sm font-semibold" className="flex-1 align-bottom text-sm font-semibold"
/> />
</label> </label>
...@@ -106,11 +145,11 @@ export const ErrorReportModal: React.FC = () => { ...@@ -106,11 +145,11 @@ export const ErrorReportModal: React.FC = () => {
<div className="my-4 block max-h-20 overflow-auto border border-transparent bg-cultured px-2 py-2.5 text-sm font-medium outline-none hover:border-greyscale-600 focus:border-greyscale-600"> <div className="my-4 block max-h-20 overflow-auto border border-transparent bg-cultured px-2 py-2.5 text-sm font-medium outline-none hover:border-greyscale-600 focus:border-greyscale-600">
Stacktrace: Stacktrace:
<pre>{stacktrace}</pre> <pre>{errorDataToSend.stacktrace}</pre>
</div> </div>
<div className="my-4 block max-h-20 overflow-auto border border-transparent bg-cultured px-2 py-2.5 text-sm font-medium outline-none hover:border-greyscale-600 focus:border-greyscale-600"> <div className="my-4 block max-h-20 overflow-auto border border-transparent bg-cultured px-2 py-2.5 text-sm font-medium outline-none hover:border-greyscale-600 focus:border-greyscale-600">
Backend stacktrace: Backend stacktrace:
<pre>{javaStacktrace}</pre> <pre>{errorDataToSend.javaStacktrace}</pre>
</div> </div>
<Button type="submit" className="w-full justify-center text-base font-medium"> <Button type="submit" className="w-full justify-center text-base font-medium">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment