PromucFlow_constructor/app/client/src/pages/UserAuth/StyledComponents.tsx
Ankita Kinger e07e3ecd04
chore: Updating the login and signup page for cloud hosting as per new design (#32641)
## Description

Updating the login and signup page for cloud hosting as per new design

Fixes [#32267](https://github.com/appsmithorg/appsmith/issues/32267) 

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8723701550>
> Commit: 65a0179c5d22e1f950888c24a119af608aed2a28
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8723701550&attempt=4"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->




































<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced titles and messages across login, signup, and forgot password
pages for clarity and engagement.
- Added new analytics event for tracking visits to self-hosting
documentation.
- Introduced new content and layout adjustments in user authentication
pages to improve user experience.
- Implemented conditional rendering to optimize content display for
mobile devices and cloud hosting scenarios.

- **Bug Fixes**
	- Updated footer links to use consistent capitalization.

- **Refactor**
- Major structural and styling overhaul of forms and user authentication
components to utilize modern CSS practices and improve maintainability.

- **Documentation**
- Added direct links to self-hosting documentation to facilitate user
access.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-17 21:46:44 +05:30

198 lines
4.5 KiB
TypeScript

import styled from "styled-components";
import { Link } from "react-router-dom";
import Form from "components/editorComponents/Form";
import { Card } from "@blueprintjs/core";
import { FormGroup, getTypographyByKey } from "design-system-old";
export const AuthContainer = styled.section`
position: absolute;
width: 100%;
height: ${(props) => `calc(100vh - ${props.theme.headerHeight})`};
background-color: ${(props) => props.theme.colors.auth.background};
display: flex;
flex-direction: column;
align-items: center;
overflow: auto;
`;
export const AuthCardContainer = styled.div`
display: flex;
flex-grow: 1;
flex-direction: column;
justify-content: center;
padding: ${(props) => props.theme.authCard.padding}px 0;
`;
export const AuthCard = styled(Card)`
display: flex;
flex-direction: column;
background-color: ${(props) => props.theme.colors.auth.cardBackground};
padding: ${(props) => props.theme.spaces[15]}px 64px;
width: ${(props) => props.theme.authCard.width}px;
border: none;
box-shadow: none;
border-radius: 0;
h1 {
text-align: center;
padding: 0;
margin: 0;
${getTypographyByKey("cardHeader")}
color: ${(props) => props.theme.colors.auth.headingText};
}
& .form-message-container {
width: ${(props) => props.theme.authCard.formMessageWidth}px;
align-self: center;
text-align: center;
}
.form-message-container ~ .form-message-container {
margin-top: ${(props) => props.theme.spaces[4]}px;
}
& > div {
margin-bottom: ${(props) => props.theme.spaces[14]}px;
}
& > div:last-child,
& > div:empty {
margin-bottom: 0;
}
`;
export const AuthCardHeader = styled.header`
& {
h1 {
font-size: ${(props) => props.theme.fontSizes[6]}px;
white-space: nowrap;
font-weight: 500;
}
h5 {
font-size: ${(props) => props.theme.fontSizes[4]}px;
}
margin-bottom: ${(props) => props.theme.authCard.dividerSpacing}px;
}
`;
export const AuthCardNavLink = styled(Link)`
border-bottom: 1px solid transparent;
color: ${(props) => props.theme.colors.auth.link};
&:hover {
border-bottom: 1px solid ${(props) => props.theme.colors.auth.link};
text-decoration: none;
color: ${(props) => props.theme.colors.auth.link};
}
`;
export const AuthCardFooter = styled.footer`
display: flex;
width: 100%;
justify-content: space-evenly;
align-items: baseline;
margin-top: ${(props) => props.theme.authCard.dividerSpacing}px;
`;
export const AuthCardBody = styled.div`
& a {
margin-top: ${(props) => props.theme.spaces[8]}px;
font-size: ${(props) => props.theme.fontSizes[2]}px;
}
`;
export const SpacedForm = styled(Form)``;
export const SpacedSubmitForm = styled.form`
display: flex;
flex-direction: column;
gap: 12px;
&& .bp3-label {
color: var(--ads-v2-color-fg);
margin-bottom: var(--ads-v2-spaces-2);
}
& a {
font-size: ${(props) => props.theme.fontSizes[3]}px;
}
&:only-child {
margin-right: 0;
}
.bp3-form-group {
margin: 0;
}
`;
export const EmailFormWrapper = styled.div`
display: flex;
flex-direction: column;
gap: 12px;
`;
export const FormActions = styled.div`
display: flex;
& button {
flex: 1;
}
justify-content: space-between;
align-items: baseline;
& > label {
margin-right: ${(props) => props.theme.spaces[11]}px;
}
`;
export const SignUpLinkSection = styled.div`
${getTypographyByKey("cardSubheader")}
color: ${(props) => props.theme.colors.auth.text};
text-align: center;
`;
export const ForgotPasswordLink = styled.div`
${getTypographyByKey("cardSubheader")}
color: ${(props) => props.theme.colors.auth.text};
text-align: center;
& a {
color: ${(props) => props.theme.colors.auth.text};
}
`;
export const FormMessagesContainer = styled.div`
display: flex;
flex-direction: column;
`;
export const BlackAuthCardNavLink = styled(AuthCardNavLink)`
color: #000;
border-bottom: 1px solid transparent;
&:hover {
color: #000;
border-bottom: 1px solid #000;
}
`;
export const StyledFormGroup = styled(FormGroup)`
&& .bp3-label {
color: var(--ads-v2-color-fg);
margin-bottom: var(--ads-v2-spaces-2);
}
`;
export const OrWithLines = styled.div`
overflow: hidden;
text-align: center;
&::before,
&::after {
background-color: var(--ads-v2-color-border);
content: "";
display: inline-block;
height: 1px;
position: relative;
vertical-align: middle;
width: 50%;
}
&::before {
right: 0.5em;
margin-left: -50%;
}
&::after {
left: 0.5em;
margin-right: -50%;
}
`;