Skip to content

Commit ded3d45

Browse files
committed
Merge branch 'main' into 'release3.x'
Release 3.3.0 See merge request really-simple-plugins/simplybook-me/simplybook!200
2 parents d1172da + d9bf203 commit ded3d45

6 files changed

Lines changed: 43 additions & 40 deletions

File tree

react/src/components/Fields/Partials/ProviderForm.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ const ProviderForm: React.FC<ProviderFormProps> = ({ providerId, provider }) =>
205205
</div>
206206
) : null}
207207
</div>
208-
{/* Edit All Properties Button */}
208+
{/* Advanced settings Button */}
209209
{providerId && providerId !== "new" && (
210210
<div className="mt-4 max-w-fit">
211211
<ButtonLink
@@ -217,7 +217,7 @@ const ProviderForm: React.FC<ProviderFormProps> = ({ providerId, provider }) =>
217217
btnVariant="square-ghost-small"
218218
loginLink={`/v2/management?hash=providers/edit/details/${providerId}`}
219219
>
220-
{__("Edit All Properties", "simplybook")}
220+
{__("Advanced settings", "simplybook")}
221221
</ButtonLink>
222222
</div>
223223
)}

react/src/components/Fields/Partials/ServiceForm.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ const ServiceForm: React.FC<ServiceFormProps> = ({ serviceId, service }) => {
140140
</div>
141141
) : null}
142142
</div>
143-
{/* Edit All Properties Button */}
143+
{/* Advanced settings Button */}
144144
{serviceId && serviceId !== "new" && (
145145
<div className="mt-4 max-w-fit">
146146
<ButtonLink
@@ -152,7 +152,7 @@ const ServiceForm: React.FC<ServiceFormProps> = ({ serviceId, service }) => {
152152
btnVariant="square-ghost-small"
153153
loginLink={`/v2/management?hash=services/edit/details/${serviceId}`}
154154
>
155-
{__("Edit All Properties", "simplybook")}
155+
{__("Advanced settings", "simplybook")}
156156
</ButtonLink>
157157
</div>
158158
)}

react/src/components/Modals/Partials/FormLogin.jsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { useForm, Controller, set } from "react-hook-form";
44
import TextField from "../../Fields/TextField";
55
import SelectField from "../../Fields/SelectField";
66
import ButtonInput from "../../Inputs/ButtonInput";
7+
import { ReactComponent as Logo } from "../../../../../assets/img/logo.svg";
78

89
// API IMPORTS
910
import apiFetch from "@wordpress/api-fetch";
@@ -109,6 +110,11 @@ const formLogin = ({
109110

110111
return (
111112
<>
113+
<div className="flex flex-col items-center mb-8">
114+
<Logo className="mx-4 w-65 py-2 my-4" />
115+
<h2 className="my-4">{__("Sign In", "simplybook")}</h2>
116+
<small>{__("Please enter your SimplyBook.me credentials to sign in.", "simplybook")}</small>
117+
</div>
112118
<form className="flex flex-col relative" onSubmit={submitForm}>
113119
<Controller
114120
name="company_domain"

react/src/components/Modals/Partials/FormTwoFa.jsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import TextField from "../../Fields/TextField";
55
import ButtonInput from "../../Inputs/ButtonInput";
66
import request from "../../../api/requests/request";
77
import SelectField from "../../Fields/SelectField";
8+
import { ReactComponent as Logo } from "../../../../../assets/img/logo.svg";
89

910
// API IMPORTS
1011
import Error from "../../Errors/Error";
@@ -83,8 +84,17 @@ const FormTwoFa = ({authSessionId, companyLogin, userLogin, domain, twoFaProvide
8384
}
8485
};
8586

87+
const isEmailProvider = (selectedProvider === "email");
88+
const twoFaTitle = isEmailProvider ? __("Email verification", "simplybook") : __("2FA authentication", "simplybook");
89+
const twoFaSubtitle = isEmailProvider ? __("Fill in the code sent in the email", "simplybook") : __("Please use your 2FA provider to sign in.", "simplybook");
90+
8691
return (
8792
<>
93+
<div className="flex flex-col items-center mb-8">
94+
<Logo className="mx-4 w-65 py-2 my-4" />
95+
<h2 className="my-4">{twoFaTitle}</h2>
96+
<small>{twoFaSubtitle}</small>
97+
</div>
8898
<form className="flex flex-col" onSubmit={handle2faSubmit}>
8999
{Object.keys(twoFaProviders).length > 1 ? (
90100
<Controller
@@ -97,7 +107,7 @@ const FormTwoFa = ({authSessionId, companyLogin, userLogin, domain, twoFaProvide
97107
fieldState={fieldState}
98108
label={__("Select 2FA provider", "simplybook")}
99109
setting="two_fa_type"
100-
options={selectedProvider}
110+
options={twoFaProviders}
101111
value={selectedProvider}
102112
onChange={(e) => {
103113
setSelectedProvider(e.target.value);
@@ -119,7 +129,7 @@ const FormTwoFa = ({authSessionId, companyLogin, userLogin, domain, twoFaProvide
119129
{...field}
120130
fieldState={fieldState}
121131
className="mb-4"
122-
label={__("Enter 2FA authentication code", "simplybook")}
132+
label={__("Enter authentication code", "simplybook")}
123133
setting="two_fa_code"
124134
type="text"
125135
placeholder={__("Enter code", "simplybook")}

react/src/components/Modals/SignInModal.jsx

Lines changed: 18 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { useState } from "react";
2-
import { ReactComponent as Logo } from "../../../../assets/img/logo.svg";
32
import {__} from "@wordpress/i18n";
43

54
import FormTwoFa from "./Partials/FormTwoFa";
@@ -18,39 +17,25 @@ const SignInModal = ({onClose}) => {
1817
<div className="signin-modal-bg fixed z-999 inset-0 flex items-center justify-center bg-black/50 border-2 border-gray-200 ">
1918
<div className="signin-modal mt-8 w-3/8 bg-white p-4 px-4 rounded border-3 border-gray-200 max-h-[90vh] overflow-y-scroll">
2019
{!require2fa ? (
21-
<>
22-
<div className="flex flex-col items-center mb-8">
23-
<Logo className="mx-4 w-65 py-2 my-4" />
24-
<h2 className="my-4">{__("Sign In", "simplybook")}</h2>
25-
<small>{__("Please enter your SimplyBook.me credentials to sign in.", "simplybook")}</small>
26-
</div>
27-
<FormLogin
28-
onClose={onClose}
29-
setRequire2fa={set2fa}
30-
setAuthSessionId={setAuthSessionId}
31-
setCompanyLogin={setCompanyLogin}
32-
setUserLogin={setUserLogin}
33-
setTwoFaProviders={setTwoFaProviders}
34-
setDomain={setDomain}
35-
domain={domain}
36-
/>
37-
</>
20+
<FormLogin
21+
onClose={onClose}
22+
setRequire2fa={set2fa}
23+
setAuthSessionId={setAuthSessionId}
24+
setCompanyLogin={setCompanyLogin}
25+
setUserLogin={setUserLogin}
26+
setTwoFaProviders={setTwoFaProviders}
27+
setDomain={setDomain}
28+
domain={domain}
29+
/>
3830
) : (
39-
<>
40-
<div className="flex flex-col items-center mb-8">
41-
<Logo className="mx-4 w-65 py-2 my-4" />
42-
<h2 className="my-4">{__("2FA authentication", "simplybook")}</h2>
43-
<small>{__("Please use your 2FA provider to sign in.", "simplybook")}</small>
44-
</div>
45-
<FormTwoFa
46-
authSessionId={authSessionId}
47-
companyLogin={companyLogin}
48-
userLogin={userLogin}
49-
domain={domain}
50-
twoFaProviders={twoFaProviders}
51-
onClose={onClose}
52-
/>
53-
</>
31+
<FormTwoFa
32+
authSessionId={authSessionId}
33+
companyLogin={companyLogin}
34+
userLogin={userLogin}
35+
domain={domain}
36+
twoFaProviders={twoFaProviders}
37+
onClose={onClose}
38+
/>
5439
)}
5540
</div>
5641
</div>

readme.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,16 @@ You can skip the onboarding and login with your existing login credentials.
8888
5. Your appointments schedule is also accessible via the mobile app!
8989

9090
== Changelog ==
91-
= 3.3.0 - 2026-02-10 =
91+
= 3.3.0 - 2026-02-16 =
9292
* Fixed: Message “form contains errors” briefly flashed in settings.
9393
* Fixed: Direct SimplyBook.me links now work with plain permalinks.
9494
* Fixed: REST API validation is now more reliable.
9595
* Fixed: Issue preventing some users from creating Services or Service Providers.
9696
* Fixed: Rendering issue when no name was provided for a Service (Provider).
9797
* Added: Login now supports custom SimplyBook.me domains.
98+
* Added: E-mail 2FA is now supported during log-in.
9899
* Changed: Onboarding flow is shortened.
100+
* Changed: Renamed button "Edit all properties" to "Advanced settings" for better clarity.
99101

100102
= 3.2.4 - 2025-12-17 =
101103
* Fixed: API response codes now better reflect the actual error.

0 commit comments

Comments
 (0)