Skip to content

Commit 2920580

Browse files
Merge pull request #1194 from suppermancool/f2f-30069264-issue-894
fix issue #894
2 parents d0406b6 + 3839040 commit 2920580

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

src/shared/components/Settings/Account/LinkedAccount/AddWebLink.jsx

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export default class AddWebLink extends React.Component {
1818
this.onUpdateWebLink = this.onUpdateWebLink.bind(this);
1919
this.onAddWebLink = this.onAddWebLink.bind(this);
2020
this.isWebLinkValid = this.isWebLinkValid.bind(this);
21-
this.isWebLinkExist = this.isWebLinkExist.bind(this);
21+
this.webLinkExist = this.webLinkExist.bind(this);
2222
}
2323

2424
componentWillReceiveProps(nextProps) {
@@ -45,30 +45,32 @@ export default class AddWebLink extends React.Component {
4545
tokenV3,
4646
} = this.props;
4747
const { webLink } = this.state;
48-
if (webLink && this.isWebLinkValid() && !this.isWebLinkExist()) {
48+
if (webLink && this.isWebLinkValid() && !this.webLinkExist()) {
4949
addWebLink(handle, tokenV3, webLink);
5050
}
5151
}
5252
}
5353

5454
isWebLinkValid() {
5555
const { webLink } = this.state;
56-
return !webLink || /^(http(s?):\/\/)?(www\.)?[a-zA-Z0-9\.\-\_]+(\.[a-zA-Z]{2,15})+(\/[a-zA-Z0-9\_\-\s\.\/\?\%\#\&\=]*)?$/.test(webLink); /* eslint-disable-line no-useless-escape */
56+
return !webLink
57+
|| (webLink.includes('www') && /^(http(s?):\/\/)?(www\.)[a-zA-Z0-9\.\-\_]+(\.[a-zA-Z]{2,15})+$/.test(webLink)) /* eslint-disable-line no-useless-escape */
58+
|| (!webLink.includes('www') && /^(http(s?):\/\/)?[a-zA-Z0-9\.\-\_]+(\.[a-zA-Z]{2,15})+$/.test(webLink)); /* eslint-disable-line no-useless-escape */
5759
}
5860

59-
isWebLinkExist() {
61+
webLinkExist() {
6062
const { webLink } = this.state;
6163
const {
6264
allLinks,
6365
} = this.props;
64-
return _.some(allLinks, link => link.URL.toLowerCase() === webLink.toLowerCase());
66+
return _.some(allLinks, link => link.URL && (link.URL.toLowerCase() === webLink.toLowerCase()));
6567
}
6668

6769
render() {
6870
const { webLink } = this.state;
6971

7072
const webLinkValid = this.isWebLinkValid();
71-
const isWebLinkExist = this.isWebLinkExist();
73+
const webLinkExist = this.webLinkExist();
7274

7375
return (
7476
<div styleName="external-web-link">
@@ -94,7 +96,7 @@ export default class AddWebLink extends React.Component {
9496
required
9597
/>
9698
{
97-
!webLinkValid && !isWebLinkExist
99+
!webLinkValid && !webLinkExist
98100
&& (
99101
<div styleName="form-input-error">
100102
<p>
@@ -104,7 +106,7 @@ Please enter a valid URL
104106
)
105107
}
106108
{
107-
isWebLinkExist
109+
webLinkExist
108110
&& (
109111
<div styleName="form-input-error">
110112
<p>

src/shared/components/Settings/Profile/ExternalLinks/AddWebLink.jsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,17 @@ export default class AddWebLink extends React.Component {
5050

5151
isWebLinkValid() {
5252
const { webLink } = this.state;
53-
return !webLink || /^(http(s?):\/\/)?(www\.)?[a-zA-Z0-9\.\-\_]+(\.[a-zA-Z]{2,15})+(\/[a-zA-Z0-9\_\-\s\.\/\?\%\#\&\=]*)?$/.test(webLink); /* eslint-disable-line no-useless-escape */
53+
return !webLink
54+
|| (webLink.includes('www') && /^(http(s?):\/\/)?(www\.)[a-zA-Z0-9\.\-\_]+(\.[a-zA-Z]{2,15})+$/.test(webLink)) /* eslint-disable-line no-useless-escape */
55+
|| (!webLink.includes('www') && /^(http(s?):\/\/)?[a-zA-Z0-9\.\-\_]+(\.[a-zA-Z]{2,15})+$/.test(webLink)); /* eslint-disable-line no-useless-escape */
5456
}
5557

5658
webLinkExists() {
5759
const { webLink } = this.state;
5860
const {
5961
allLinks,
6062
} = this.props;
61-
return _.some(allLinks, link => link.URL.toLowerCase() === webLink.toLowerCase());
63+
return _.some(allLinks, link => link.URL && (link.URL.toLowerCase() === webLink.toLowerCase()));
6264
}
6365

6466
render() {

0 commit comments

Comments
 (0)