marginTop: spacing()

in public/src/components/channelManagement/epicTests/maxViewsEditor.tsx [20:62]


      marginTop: spacing(1),
    },
  },
}));

interface FormData {
  maxViewsCount: string;
  maxViewsDays: string;
  minDaysBetweenViews: string;
}

interface TestEditorArticleCountEditorProps {
  maxEpicViews?: MaxEpicViews;
  onMaxViewsChanged: (updatedMaxViews?: MaxEpicViews) => void;
  onValidationChange: (isValid: boolean) => void;
  isDisabled: boolean;
}

const MaxViewsEditor: React.FC<TestEditorArticleCountEditorProps> = ({
  maxEpicViews,
  onMaxViewsChanged,
  onValidationChange,
  isDisabled,
}: TestEditorArticleCountEditorProps) => {
  const classes = useStyles();

  const defaultValues: FormData = {
    maxViewsCount: maxEpicViews?.maxViewsCount.toString() || '',
    maxViewsDays: maxEpicViews?.maxViewsDays.toString() || '',
    minDaysBetweenViews: maxEpicViews?.minDaysBetweenViews.toString() || '',
  };

  const { register, errors, handleSubmit, reset } = useForm<FormData>({
    mode: 'onChange',
    defaultValues,
  });

  useEffect(() => {
    reset(defaultValues);
  }, [defaultValues.maxViewsCount, defaultValues.maxViewsDays, defaultValues.minDaysBetweenViews]);

  const onSubmit = ({ maxViewsCount, maxViewsDays, minDaysBetweenViews }: FormData): void => {
    onMaxViewsChanged({