feat: add disableSpellCheck prop to various components to enhance user experience

This commit is contained in:
Simon Larsen 2025-06-13 11:53:12 +00:00
parent 60a6714e40
commit cdf26234d5
30 changed files with 54 additions and 0 deletions

View file

@ -56,6 +56,7 @@ const ForgotPassword: () => JSX.Element = () => {
title: "Email",
fieldType: FormFieldSchemaType.Email,
required: true,
disableSpellCheck: true,
},
]}
onSuccess={() => {

View file

@ -122,6 +122,7 @@ const LoginPage: () => JSX.Element = () => {
disabled: Boolean(initialValues && initialValues["email"]),
title: "Email",
dataTestId: "email",
disableSpellCheck: true,
},
{
field: {
@ -139,6 +140,7 @@ const LoginPage: () => JSX.Element = () => {
openLinkInNewTab: false,
},
dataTestId: "password",
disableSpellCheck: true,
},
]}
createOrUpdateApiUrl={apiUrl}

View file

@ -196,6 +196,7 @@ const LoginPage: () => JSX.Element = () => {
required: true,
title: "Email",
dataTestId: "email",
disableSpellCheck: true,
},
]}
maxPrimaryButtonWidth={true}

View file

@ -104,6 +104,7 @@ const RegisterPage: () => JSX.Element = () => {
disabled: Boolean(initialValues && initialValues["email"]),
title: "Email",
dataTestId: "email",
disableSpellCheck: true,
},
{
field: {
@ -114,6 +115,7 @@ const RegisterPage: () => JSX.Element = () => {
required: true,
title: "Full Name",
dataTestId: "name",
disableSpellCheck: true,
},
];
@ -128,6 +130,7 @@ const RegisterPage: () => JSX.Element = () => {
required: true,
title: "Company Name",
dataTestId: "companyName",
disableSpellCheck: true,
},
]);
@ -159,6 +162,7 @@ const RegisterPage: () => JSX.Element = () => {
title: "Password",
required: true,
dataTestId: "password",
disableSpellCheck: true,
},
{
field: {
@ -175,6 +179,7 @@ const RegisterPage: () => JSX.Element = () => {
required: true,
showEvenIfPermissionDoesNotExist: true,
dataTestId: "confirmPassword",
disableSpellCheck: true,
},
]);

View file

@ -68,6 +68,7 @@ const RegisterPage: () => JSX.Element = () => {
title: "New Password",
required: true,
showEvenIfPermissionDoesNotExist: true,
disableSpellCheck: true,
},
{
field: {
@ -83,6 +84,7 @@ const RegisterPage: () => JSX.Element = () => {
overrideFieldKey: "confirmPassword",
required: true,
showEvenIfPermissionDoesNotExist: true,
disableSpellCheck: true,
},
]}
createOrUpdateApiUrl={apiUrl}

View file

@ -106,6 +106,7 @@ const Settings: FunctionComponent = (): ReactElement => {
title: "Admin Notification Email",
fieldType: FormFieldSchemaType.Email,
required: false,
disableSpellCheck: true,
},
]}
modelDetailProps={{
@ -199,6 +200,7 @@ const Settings: FunctionComponent = (): ReactElement => {
fieldType: FormFieldSchemaType.Hostname,
required: true,
placeholder: "smtp.server.com",
disableSpellCheck: true,
},
{
field: {
@ -229,6 +231,7 @@ const Settings: FunctionComponent = (): ReactElement => {
fieldType: FormFieldSchemaType.Text,
required: false,
placeholder: "emailuser",
disableSpellCheck: true,
},
{
field: {
@ -239,6 +242,7 @@ const Settings: FunctionComponent = (): ReactElement => {
fieldType: FormFieldSchemaType.EncryptedText,
required: false,
placeholder: "Password",
disableSpellCheck: true,
},
{
field: {
@ -251,6 +255,7 @@ const Settings: FunctionComponent = (): ReactElement => {
description:
"Email used to log in to this SMTP Server. This is also the email your customers will see. ",
placeholder: "email@company.com",
disableSpellCheck: true,
},
{
field: {
@ -263,6 +268,7 @@ const Settings: FunctionComponent = (): ReactElement => {
description:
"This is the display name your team and customers see, when they receive emails from OneUptime.",
placeholder: "Company, Inc.",
disableSpellCheck: true,
},
]}
modelDetailProps={{

View file

@ -48,6 +48,7 @@ const Users: FunctionComponent = (): ReactElement => {
fieldType: FormFieldSchemaType.Email,
required: true,
placeholder: "email@company.com",
disableSpellCheck: true,
},
{
field: {
@ -57,6 +58,7 @@ const Users: FunctionComponent = (): ReactElement => {
fieldType: FormFieldSchemaType.Password,
required: true,
placeholder: "Password",
disableSpellCheck: true,
},
{
field: {

View file

@ -129,6 +129,7 @@ const CustomSMTPTable: FunctionComponent = (): ReactElement => {
fieldType: FormFieldSchemaType.Hostname,
required: true,
placeholder: "smtp.server.com",
disableSpellCheck: true,
},
{
field: {
@ -158,6 +159,7 @@ const CustomSMTPTable: FunctionComponent = (): ReactElement => {
fieldType: FormFieldSchemaType.Text,
required: false,
placeholder: "emailuser",
disableSpellCheck: true,
},
{
field: {
@ -168,6 +170,7 @@ const CustomSMTPTable: FunctionComponent = (): ReactElement => {
fieldType: FormFieldSchemaType.EncryptedText,
required: false,
placeholder: "Password",
disableSpellCheck: true,
},
{
field: {
@ -180,6 +183,7 @@ const CustomSMTPTable: FunctionComponent = (): ReactElement => {
description:
"Email used to log in to this SMTP Server. This is also the email your customers will see. ",
placeholder: "email@company.com",
disableSpellCheck: true,
},
{
field: {
@ -192,6 +196,7 @@ const CustomSMTPTable: FunctionComponent = (): ReactElement => {
description:
"This is the display name your team and customers see, when they receive emails from OneUptime.",
placeholder: "Company, Inc.",
disableSpellCheck: true,
},
]}
showRefreshButton={true}

View file

@ -323,6 +323,7 @@ return {
/>
<Input
initialValue={destinationInputValue}
disableSpellCheck={true}
onBlur={() => {
setTouched({
...touched,

View file

@ -136,6 +136,7 @@ const Call: () => JSX.Element = (): ReactElement => {
validation: {
minLength: 2,
},
disableSpellCheck: true,
},
]}
showRefreshButton={true}

View file

@ -135,6 +135,7 @@ const Email: () => JSX.Element = (): ReactElement => {
validation: {
minLength: 2,
},
disableSpellCheck: true,
},
]}
showRefreshButton={true}

View file

@ -135,6 +135,7 @@ const SMS: () => JSX.Element = (): ReactElement => {
validation: {
minLength: 2,
},
disableSpellCheck: true,
},
]}
showRefreshButton={true}

View file

@ -54,6 +54,7 @@ const Home: FunctionComponent<PageComponentProps> = (): ReactElement => {
title: "Email",
description:
"You will have to verify your email again if you change it",
disableSpellCheck: true,
},
{
field: {

View file

@ -76,6 +76,7 @@ const Home: FunctionComponent<PageComponentProps> = (): ReactElement => {
title: "Password",
required: true,
showEvenIfPermissionDoesNotExist: true,
disableSpellCheck: true,
},
{
field: {
@ -90,6 +91,7 @@ const Home: FunctionComponent<PageComponentProps> = (): ReactElement => {
title: "Confirm Password",
required: true,
showEvenIfPermissionDoesNotExist: true,
disableSpellCheck: true,
},
]}
formType={FormType.Update}

View file

@ -100,6 +100,7 @@ const Domains: FunctionComponent<PageComponentProps> = (): ReactElement => {
validation: {
minLength: 2,
},
disableSpellCheck: true,
},
]}
selectMoreFields={{

View file

@ -94,6 +94,7 @@ const MonitorSecrets: FunctionComponent<
noNumbers: true,
noSpecialCharacters: true,
},
disableSpellCheck: true,
},
{
field: {

View file

@ -122,6 +122,7 @@ const SSOPage: FunctionComponent<PageComponentProps> = (
"Members will be forwarded here when signing in to your organization",
placeholder: "https://yourapp.example.com/apps/appId",
stepId: "sign-on",
disableSpellCheck: true,
},
{
field: {
@ -134,6 +135,7 @@ const SSOPage: FunctionComponent<PageComponentProps> = (
required: true,
placeholder: "https://example.com",
stepId: "sign-on",
disableSpellCheck: true,
},
{
field: {

View file

@ -170,6 +170,7 @@ const StatusPageDelete: FunctionComponent<PageComponentProps> = (
minLength: 2,
},
stepId: "basic",
disableSpellCheck: true,
},
{
field: {
@ -210,6 +211,7 @@ const StatusPageDelete: FunctionComponent<PageComponentProps> = (
stepId: "more",
placeholder:
"-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----",
disableSpellCheck: true,
showIf: (item: FormValues<StatusPageDomain>): boolean => {
return Boolean(item.isCustomCertificate);
},
@ -224,6 +226,7 @@ const StatusPageDelete: FunctionComponent<PageComponentProps> = (
placeholder:
"-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----",
stepId: "more",
disableSpellCheck: true,
showIf: (item: FormValues<StatusPageDomain>): boolean => {
return Boolean(item.isCustomCertificate);
},

View file

@ -128,6 +128,7 @@ const StatusPageDelete: FunctionComponent<PageComponentProps> = (
fieldType: FormFieldSchemaType.Email,
required: true,
placeholder: "subscriber@company.com",
disableSpellCheck: true,
},
{
field: {

View file

@ -106,6 +106,7 @@ const StatusPageDelete: FunctionComponent<PageComponentProps> = (
fieldType: FormFieldSchemaType.URL,
required: true,
placeholder: "https://link.com",
disableSpellCheck: true,
},
]}
showRefreshButton={true}

View file

@ -129,6 +129,7 @@ const StatusPageDelete: FunctionComponent<PageComponentProps> = (
fieldType: FormFieldSchemaType.URL,
required: true,
placeholder: "https://link.com",
disableSpellCheck: true,
},
]}
showRefreshButton={true}

View file

@ -51,6 +51,7 @@ const StatusPageDelete: FunctionComponent<
fieldType: FormFieldSchemaType.Email,
required: true,
placeholder: "user@company.com",
disableSpellCheck: true,
},
]}
showRefreshButton={true}

View file

@ -136,6 +136,7 @@ const SSOPage: FunctionComponent<PageComponentProps> = (
"Members will be forwarded here when signing in to your organization",
placeholder: "https://yourapp.example.com/apps/appId",
stepId: "sign-on",
disableSpellCheck: true,
},
{
field: {
@ -148,6 +149,7 @@ const SSOPage: FunctionComponent<PageComponentProps> = (
required: true,
placeholder: "https://example.com",
stepId: "sign-on",
disableSpellCheck: true,
},
{
field: {

View file

@ -139,6 +139,7 @@ const StatusPageSlackSubscribers: FunctionComponent<PageComponentProps> = (
fieldType: FormFieldSchemaType.URL,
required: true,
placeholder: "https://hooks.slack.com/services/...",
disableSpellCheck: true,
},
{
field: {

View file

@ -58,6 +58,7 @@ const StatusPageDelete: FunctionComponent<PageComponentProps> = (
fieldType: FormFieldSchemaType.URL,
required: true,
placeholder: "URL",
disableSpellCheck: true,
},
]}
showRefreshButton={true}

View file

@ -119,6 +119,7 @@ const ForgotPassword: FunctionComponent<ComponentProps> = (
showEvenIfPermissionDoesNotExist: true,
fieldType: FormFieldSchemaType.Email,
required: true,
disableSpellCheck: true,
},
]}
onSuccess={() => {

View file

@ -134,6 +134,7 @@ const LoginPage: FunctionComponent<ComponentProps> = (
title: "Email",
fieldType: FormFieldSchemaType.Email,
required: true,
disableSpellCheck: true,
},
{
field: {

View file

@ -127,6 +127,7 @@ const ResetPassword: FunctionComponent<ComponentProps> = (
placeholder: "New Password",
title: "New Password",
required: true,
disableSpellCheck: true,
},
{
field: {
@ -142,6 +143,7 @@ const ResetPassword: FunctionComponent<ComponentProps> = (
title: "Confirm Password",
overrideFieldKey: "confirmPassword",
required: true,
disableSpellCheck: true,
},
]}
createOrUpdateApiUrl={apiUrl}

View file

@ -92,6 +92,7 @@ const SubscribePage: FunctionComponent<SubscribePageProps> = (
fieldType: FormFieldSchemaType.Email,
required: true,
placeholder: "subscriber@company.com",
disableSpellCheck: true,
},
];
@ -204,6 +205,7 @@ const SubscribePage: FunctionComponent<SubscribePageProps> = (
fieldType: FormFieldSchemaType.Email,
required: true,
placeholder: "email@yourcompany.com",
disableSpellCheck: true,
},
]}
createOrUpdateApiUrl={URL.fromString(

View file

@ -92,6 +92,7 @@ const SubscribePage: FunctionComponent<SubscribePageProps> = (
fieldType: FormFieldSchemaType.Phone,
required: true,
placeholder: "+11234567890",
disableSpellCheck: true,
},
];
@ -204,6 +205,7 @@ const SubscribePage: FunctionComponent<SubscribePageProps> = (
fieldType: FormFieldSchemaType.Phone,
required: true,
placeholder: "+11234567890",
disableSpellCheck: true,
},
]}
createOrUpdateApiUrl={URL.fromString(