Client: Confirm: CreateUser: add greeting mode
This commit is contained in:
parent
50a0620598
commit
00e3e50876
@ -144,7 +144,7 @@ export const RegisterContainer = styled.div`
|
|||||||
.line:after {
|
.line:after {
|
||||||
content: "";
|
content: "";
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
background: ${(props) => props.theme.invitePage.borderColor};;
|
background: ${(props) => props.theme.invitePage.borderColor};
|
||||||
height: 1px;
|
height: 1px;
|
||||||
font-size: 0px;
|
font-size: 0px;
|
||||||
line-height: 0px;
|
line-height: 0px;
|
||||||
|
@ -5,6 +5,8 @@ import { withTranslation } from "react-i18next";
|
|||||||
import PropTypes from "prop-types";
|
import PropTypes from "prop-types";
|
||||||
import { createUser, signupOAuth } from "@docspace/common/api/people";
|
import { createUser, signupOAuth } from "@docspace/common/api/people";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
|
import { isMobile } from "react-device-detect";
|
||||||
|
import { isDesktop as isDesktopUtil } from "@docspace/components/utils/device";
|
||||||
import Avatar from "@docspace/components/avatar";
|
import Avatar from "@docspace/components/avatar";
|
||||||
import Button from "@docspace/components/button";
|
import Button from "@docspace/components/button";
|
||||||
import TextInput from "@docspace/components/text-input";
|
import TextInput from "@docspace/components/text-input";
|
||||||
@ -67,12 +69,30 @@ const CreateUserForm = (props) => {
|
|||||||
const [isEmailErrorShow, setIsEmailErrorShow] = useState(false);
|
const [isEmailErrorShow, setIsEmailErrorShow] = useState(false);
|
||||||
const [isPasswordErrorShow, setIsPasswordErrorShow] = useState(false);
|
const [isPasswordErrorShow, setIsPasswordErrorShow] = useState(false);
|
||||||
|
|
||||||
|
const [showForm, setShowForm] = useState(true);
|
||||||
|
const [showGreeting, setShowGreeting] = useState(true);
|
||||||
|
|
||||||
const focusInput = () => {
|
const focusInput = () => {
|
||||||
if (inputRef) {
|
if (inputRef) {
|
||||||
inputRef.current.focus();
|
inputRef.current.focus();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const onCheckGreeting = () => {
|
||||||
|
const isGreetingMode = oauthDataExists() && isMobile; /*!isDesktopUtil()*/
|
||||||
|
setShowForm(!isGreetingMode);
|
||||||
|
};
|
||||||
|
|
||||||
|
const onGreetingJoin = () => {
|
||||||
|
setShowForm(true);
|
||||||
|
setShowGreeting(false);
|
||||||
|
};
|
||||||
|
|
||||||
|
/*useEffect(() => {
|
||||||
|
window.addEventListener("resize", onCheckGreeting);
|
||||||
|
return () => window.removeEventListener("resize", onCheckGreeting);
|
||||||
|
}, []);*/
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const { isAuthenticated, logout, linkData, capabilities } = props;
|
const { isAuthenticated, logout, linkData, capabilities } = props;
|
||||||
|
|
||||||
@ -91,6 +111,7 @@ const CreateUserForm = (props) => {
|
|||||||
|
|
||||||
setSsoLabel(capabilities?.ssoLabel);
|
setSsoLabel(capabilities?.ssoLabel);
|
||||||
setSsoUrl(capabilities?.ssoUrl);
|
setSsoUrl(capabilities?.ssoUrl);
|
||||||
|
onCheckGreeting();
|
||||||
focusInput();
|
focusInput();
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -378,6 +399,8 @@ const CreateUserForm = (props) => {
|
|||||||
{greetingTitle}
|
{greetingTitle}
|
||||||
</Text>
|
</Text>
|
||||||
|
|
||||||
|
{showGreeting && (
|
||||||
|
<>
|
||||||
<div className="greeting-block">
|
<div className="greeting-block">
|
||||||
<Avatar className="avatar" role="user" source={userAvatar} />
|
<Avatar className="avatar" role="user" source={userAvatar} />
|
||||||
<div className="user-info">
|
<div className="user-info">
|
||||||
@ -393,6 +416,8 @@ const CreateUserForm = (props) => {
|
|||||||
<div className="tooltip">
|
<div className="tooltip">
|
||||||
<span className="tooltiptext">{t("WelcomeUser")}</span>
|
<span className="tooltiptext">{t("WelcomeUser")}</span>
|
||||||
</div>
|
</div>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
</GreetingContainer>
|
</GreetingContainer>
|
||||||
|
|
||||||
<FormWrapper>
|
<FormWrapper>
|
||||||
@ -426,6 +451,7 @@ const CreateUserForm = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{showForm && (
|
||||||
<form className="auth-form-container">
|
<form className="auth-form-container">
|
||||||
<div className="auth-form-fields">
|
<div className="auth-form-fields">
|
||||||
<FieldContainer
|
<FieldContainer
|
||||||
@ -575,6 +601,25 @@ const CreateUserForm = (props) => {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{!showForm && (
|
||||||
|
<Button
|
||||||
|
className="login-button"
|
||||||
|
primary
|
||||||
|
size="medium"
|
||||||
|
scale={true}
|
||||||
|
label={
|
||||||
|
isLoading
|
||||||
|
? t("Common:LoadingProcessing")
|
||||||
|
: t("LoginRegistryButton")
|
||||||
|
}
|
||||||
|
tabIndex={1}
|
||||||
|
isDisabled={isLoading}
|
||||||
|
isLoading={isLoading}
|
||||||
|
onClick={onGreetingJoin}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
|
||||||
<MoreLoginModal
|
<MoreLoginModal
|
||||||
t={t}
|
t={t}
|
||||||
|
Loading…
Reference in New Issue
Block a user