Compare commits

...
5 Commits
6 changed files with 41 additions and 23 deletions
@@ -142,15 +142,20 @@ const UserAddStep = React.memo(
onChange={handleFieldChange} onChange={handleFieldChange}
/> />
<div className={styles.text}>{t('common.password')}</div> <div className={styles.text}>{t('common.password')}</div>
<Input.Password <div className={styles.field}>
fluid <Input.Password
ref={passwordField} fluid
name="password" ref={passwordField}
value={data.password} name="password"
readOnly={isSubmitting} value={data.password}
className={styles.field} readOnly={isSubmitting}
onChange={handleFieldChange} className={styles.field}
/> onChange={handleFieldChange}
/>
<div className={styles.note}>
{t('common.mustBeAtLeast6CharactersLongAndContainAtLeastOneLetterAndNumber')}
</div>
</div>
<div className={styles.text}>{t('common.name')}</div> <div className={styles.text}>{t('common.name')}</div>
<Input <Input
fluid fluid
@@ -3,6 +3,12 @@
margin-bottom: 8px; margin-bottom: 8px;
} }
.note {
font-size: 11px;
margin-top: 4px;
opacity: 0.5;
}
.text { .text {
color: #444444; color: #444444;
font-size: 12px; font-size: 12px;
@@ -6,6 +6,8 @@ import remarkBreaks from 'remark-breaks';
import './Markdown.module.scss'; // FIXME: import as styles? import './Markdown.module.scss'; // FIXME: import as styles?
const ABSOLUTE_URL_REGEX = /^(?:https?:)?\/\//i;
const Markdown = React.memo(({ linkStopPropagation, ...props }) => { const Markdown = React.memo(({ linkStopPropagation, ...props }) => {
const handleLinkClick = useCallback((event) => { const handleLinkClick = useCallback((event) => {
event.stopPropagation(); event.stopPropagation();
@@ -16,25 +18,30 @@ const Markdown = React.memo(({ linkStopPropagation, ...props }) => {
jsx-a11y/click-events-have-key-events, jsx-a11y/click-events-have-key-events,
jsx-a11y/no-static-element-interactions, jsx-a11y/no-static-element-interactions,
react/jsx-props-no-spreading */ react/jsx-props-no-spreading */
({ node, ...linkProps }) => <a {...linkProps} onClick={handleLinkClick} />, ({ node, ...linkProps }) => (
<a
{...linkProps}
rel={
ABSOLUTE_URL_REGEX.test(linkProps.href) && linkProps.target === '_blank'
? 'noreferrer'
: undefined
}
onClick={linkStopPropagation ? handleLinkClick : undefined}
/>
),
/* eslint-enable jsx-a11y/anchor-has-content, /* eslint-enable jsx-a11y/anchor-has-content,
jsx-a11y/click-events-have-key-events, jsx-a11y/click-events-have-key-events,
jsx-a11y/no-static-element-interactions, jsx-a11y/no-static-element-interactions,
react/jsx-props-no-spreading */ react/jsx-props-no-spreading */
[handleLinkClick], [linkStopPropagation, handleLinkClick],
); );
let components;
if (linkStopPropagation) {
components = {
a: linkRenderer,
};
}
return ( return (
<ReactMarkdown <ReactMarkdown
{...props} // eslint-disable-line react/jsx-props-no-spreading {...props} // eslint-disable-line react/jsx-props-no-spreading
components={components} components={{
a: linkRenderer,
}}
remarkPlugins={[remarkGfm, remarkBreaks]} remarkPlugins={[remarkGfm, remarkBreaks]}
className="markdown-body" className="markdown-body"
/> />
+1 -1
View File
@@ -2,7 +2,7 @@ const PASSWORD_REGEX = /^(?=.*[A-Za-z])(?=.*\d).+$/;
const USERNAME_REGEX = /^[a-zA-Z0-9]+((_|\.)?[a-zA-Z0-9])*$/; const USERNAME_REGEX = /^[a-zA-Z0-9]+((_|\.)?[a-zA-Z0-9])*$/;
export const isPassword = (string) => { export const isPassword = (string) => {
return string.length >= 3 && PASSWORD_REGEX.test(string); return string.length >= 6 && PASSWORD_REGEX.test(string);
}; };
export const isUsername = (string) => { export const isUsername = (string) => {
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "planka", "name": "planka",
"version": "1.7.3", "version": "1.7.5",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "planka", "name": "planka",
"version": "1.7.3", "version": "1.7.5",
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "planka", "name": "planka",
"version": "1.7.3", "version": "1.7.5",
"private": true, "private": true,
"homepage": "https://plankanban.github.io/planka", "homepage": "https://plankanban.github.io/planka",
"repository": { "repository": {