Skip to content

Commit

Permalink
Fix sonarcloud issues: 1/?
Browse files Browse the repository at this point in the history
  • Loading branch information
NatSquared committed Aug 9, 2024
1 parent 180e512 commit e3676c2
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 14 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React, { useEffect } from 'react';
import React from 'react';
import { Grid, Checkbox, FormControlLabel } from '@mui/material';
import { SystemMessage } from 'components/common/Layout/SystemMessage';
import { EngagementConfigurationData } from '../form';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ export const LanguageManager = () => {
);

const [searchTerm, setSearchTerm] = React.useState('');
const [resultLanguage, setResultLanguage] = React.useState<Language | null>(null);

useEffect(() => {
// Don't do anything if language multiplicity has not been indicated
Expand Down
24 changes: 19 additions & 5 deletions met-web/src/components/engagement/new/create/MultiSelect.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
import React, { HTMLAttributes, MouseEventHandler, ReactFragment, SyntheticEvent, useEffect } from 'react';
import { Autocomplete, AutocompleteProps, PaperProps, Popper, PopperProps, TextField } from '@mui/material';
import { Box, BoxProps, Grid, IconButton } from '@mui/material';
import React, { HTMLAttributes, useId, ReactFragment, SyntheticEvent } from 'react';
import {
Autocomplete,
AutocompleteProps,
Box,
BoxProps,
Grid,
IconButton,
PaperProps,
Popper,
PopperProps,
TextField,
} from '@mui/material';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faCheck, faChevronDown, faPlus, faXmark } from '@fortawesome/pro-regular-svg-icons';
import { colors } from 'styles/Theme';
Expand All @@ -9,7 +19,7 @@ import { When } from 'react-if';
import { Button } from 'components/common/Input';
import { MetPaper } from 'components/common';
import { OutlineBox } from 'components/common/Layout';
import { useId } from 'react';

import {
AutocompleteChangeReason,
AutocompleteRenderInputParams,
Expand All @@ -29,7 +39,11 @@ interface MultiSelectProps<T> extends AutocompleteProps<T, false, false, false>
) => ReactFragment | JSX.Element;
getOptionLabel: (option: T) => string;
isOptionEqualToValue: (option: T, value: T) => boolean;
renderOption: (props: HTMLAttributes<HTMLLIElement>, option: T, state: AutocompleteRenderOptionState) => any;
renderOption: (
props: HTMLAttributes<HTMLLIElement>,
option: T,
state: AutocompleteRenderOptionState,
) => ReactFragment | JSX.Element;
renderInput: (params: AutocompleteRenderInputParams) => JSX.Element;
options: readonly T[];
selectLabel: string;
Expand Down
1 change: 0 additions & 1 deletion met-web/src/components/engagement/new/create/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { useFetcher, createSearchParams } from 'react-router-dom';
import { FormProvider, useForm } from 'react-hook-form';
import { AutoBreadcrumbs } from 'components/common/Navigation/Breadcrumb';
import EngagementForm, { EngagementConfigurationData } from '../form';
import { BodyText } from 'components/common/Typography';

const EngagementCreationWizard = () => {
const fetcher = useFetcher();
Expand Down
13 changes: 7 additions & 6 deletions met-web/src/components/engagement/new/form/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React, { Suspense, useEffect, useState } from 'react';
import { BodyText, Header1, Header2 } from 'components/common/Typography';
import React, { Suspense, useState } from 'react';
import { Header1, Header2 } from 'components/common/Typography';
import { Button, TextField } from 'components/common/Input';
import { Form, useLoaderData, Await } from 'react-router-dom';
import { Box, Skeleton } from '@mui/material';
Expand Down Expand Up @@ -54,6 +54,8 @@ const EngagementForm = ({
formState: { errors, isDirty, isValid, isSubmitting, touchedFields },
} = engagementForm;

const [nameHasBeenEdited, setNameHasBeenEdited] = useState(false);

return (
<Form onSubmit={handleSubmit(onSubmit)}>
<Box sx={{ maxWidth: '788px' }}>
Expand All @@ -75,22 +77,21 @@ const EngagementForm = ({
name="name"
rules={{ required: 'Engagement title is required' }}
render={({ field }) => {
const [hasBeenEdited, setHasBeenEdited] = useState(false);
return (
<FormStep
step={1}
completed={Boolean(field.value)}
completing={touchedFields.name && hasBeenEdited}
completing={touchedFields.name && nameHasBeenEdited}
question="What is the title of your engagement?"
details="Titles should succinctly describe what your engagement is about in 60 characters or less."
>
<TextField
{...field}
error={hasBeenEdited ? errors.name?.message : undefined}
error={nameHasBeenEdited ? errors.name?.message : undefined}
counter
maxLength={50}
onChange={(value) => {
setHasBeenEdited((current) => Boolean(value) || current);
setNameHasBeenEdited((current) => Boolean(value) || current);
field.onChange(value);
}}
placeholder="Engagement title"
Expand Down

0 comments on commit e3676c2

Please sign in to comment.