mirror of
https://github.com/plankanban/planka.git
synced 2025-12-24 01:11:41 +03:00
fix: Improve login page appearance
This commit is contained in:
BIN
client/src/assets/images/about-logo.png
Normal file
BIN
client/src/assets/images/about-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 157 KiB After Width: | Height: | Size: 157 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 14 KiB |
@@ -19,6 +19,8 @@ import { isUsername } from '../../../utils/validator';
|
||||
import AccessTokenSteps from '../../../constants/AccessTokenSteps';
|
||||
import TermsModal from './TermsModal';
|
||||
|
||||
import logo from '../../../assets/images/logo.png';
|
||||
|
||||
import styles from './Content.module.scss';
|
||||
|
||||
const createMessage = (error) => {
|
||||
@@ -175,10 +177,19 @@ const Content = React.memo(() => {
|
||||
|
||||
return (
|
||||
<div className={classNames(styles.wrapper, styles.fullHeight)}>
|
||||
<Grid verticalAlign="middle" className={classNames(styles.grid, styles.fullHeight)}>
|
||||
<Grid.Column computer={6} tablet={16} mobile={16}>
|
||||
<div className={styles.loginWrapper}>
|
||||
<Header as="h1" textAlign="center" content="PLANKA" className={styles.formTitle} />
|
||||
<Grid verticalAlign="middle" className={styles.grid}>
|
||||
<Grid.Column computer={6} tablet={16} mobile={16} className={styles.gridItem}>
|
||||
<div className={styles.login}>
|
||||
<div className={styles.form}>
|
||||
<div className={styles.logoWrapper}>
|
||||
<img src={logo} alt="" className={styles.logo} />
|
||||
</div>
|
||||
<Header
|
||||
as="h1"
|
||||
textAlign="center"
|
||||
content={bootstrap.instanceName || 'PLANKA'}
|
||||
className={styles.formTitle}
|
||||
/>
|
||||
<Header
|
||||
as="h2"
|
||||
textAlign="center"
|
||||
@@ -187,7 +198,6 @@ const Content = React.memo(() => {
|
||||
})}
|
||||
className={styles.formSubtitle}
|
||||
/>
|
||||
<div className={styles.formWrapper}>
|
||||
{message && (
|
||||
<Message
|
||||
{...{
|
||||
@@ -255,7 +265,8 @@ const Content = React.memo(() => {
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
<p className={styles.formFooter}>
|
||||
<div className={styles.poweredBy}>
|
||||
<p className={styles.poweredByText}>
|
||||
<Trans i18nKey="common.poweredByPlanka">
|
||||
{'Powered by '}
|
||||
<a href="https://github.com/plankanban/planka" target="_blank" rel="noreferrer">
|
||||
@@ -264,11 +275,12 @@ const Content = React.memo(() => {
|
||||
</Trans>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</Grid.Column>
|
||||
<Grid.Column
|
||||
computer={10}
|
||||
only="computer"
|
||||
className={classNames(styles.cover, styles.fullHeight)}
|
||||
className={classNames(styles.gridItem, styles.cover)}
|
||||
>
|
||||
<div className={styles.coverOverlay} />
|
||||
</Grid.Column>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
:global(#app) {
|
||||
.cover {
|
||||
background: url("../../../assets/images/cover.jpg") left / cover;
|
||||
background: url("../../../assets/images/login-cover.jpg") left / cover;
|
||||
}
|
||||
|
||||
.coverOverlay {
|
||||
@@ -23,16 +23,16 @@
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.formFooter {
|
||||
color: #6b808c;
|
||||
font-weight: lighter;
|
||||
text-align: center;
|
||||
.form {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.formTitle {
|
||||
font-size: 36px;
|
||||
font-weight: bold;
|
||||
margin-bottom: 36px;
|
||||
}
|
||||
|
||||
.formSubtitle {
|
||||
@@ -41,18 +41,16 @@
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
|
||||
.formWrapper {
|
||||
margin-bottom: 36px;
|
||||
}
|
||||
|
||||
.fullHeight {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.grid {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.gridItem {
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.inputLabel {
|
||||
font-size: 16px;
|
||||
line-height: 20px;
|
||||
@@ -63,10 +61,40 @@
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.loginWrapper {
|
||||
.login {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 0 auto;
|
||||
max-width: 440px;
|
||||
padding: 0 20px;
|
||||
min-height: 100vh;
|
||||
padding: 40px;
|
||||
row-gap: 40px;
|
||||
}
|
||||
|
||||
.logo {
|
||||
max-height: 144px;
|
||||
max-width: 80%;
|
||||
}
|
||||
|
||||
.logoWrapper {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.poweredBy {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
justify-content: center;
|
||||
margin-top: auto;
|
||||
}
|
||||
|
||||
.poweredByText {
|
||||
color: #6b808c;
|
||||
font-weight: lighter;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
|
||||
@@ -8,14 +8,14 @@ import { Image, Tab } from 'semantic-ui-react';
|
||||
|
||||
import version from '../../../version';
|
||||
|
||||
import logo from '../../../assets/images/logo.png';
|
||||
import aboutLogo from '../../../assets/images/about-logo.png';
|
||||
|
||||
import styles from './AboutPane.module.scss';
|
||||
|
||||
const AboutPane = React.memo(() => (
|
||||
<Tab.Pane attached={false} className={styles.wrapper}>
|
||||
<a href="https://github.com/plankanban/planka" target="_blank" rel="noreferrer">
|
||||
<Image centered src={logo} size="large" />
|
||||
<Image centered src={aboutLogo} size="large" />
|
||||
</a>
|
||||
<div className={styles.version}>{version}</div>
|
||||
</Tab.Pane>
|
||||
|
||||
@@ -129,13 +129,6 @@ export default (state = initialState, { type, payload }) => {
|
||||
},
|
||||
};
|
||||
case ActionTypes.CONFIG_UPDATE__SUCCESS:
|
||||
return {
|
||||
...state,
|
||||
config: {
|
||||
...state.config,
|
||||
...payload.config,
|
||||
},
|
||||
};
|
||||
case ActionTypes.CONFIG_UPDATE_HANDLE:
|
||||
return {
|
||||
...state,
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
* url:
|
||||
* type: string
|
||||
* format: uri
|
||||
* description: URL to access the full-size background image
|
||||
* description: URL to the full-size background image
|
||||
* example: https://storage.example.com/background-images/1357158568008091264/original.jpg
|
||||
* thumbnailUrls:
|
||||
* type: object
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
* cover180:
|
||||
* type: string
|
||||
* format: uri
|
||||
* description: URL for 180px cover thumbnail
|
||||
* description: URL for 180px thumbnail version
|
||||
* example: https://storage.example.com/user-avatars/1357158568008091264/cover-180.jpg
|
||||
* gravatarUrl:
|
||||
* type: string
|
||||
|
||||
Reference in New Issue
Block a user