This is an automated email from the ASF dual-hosted git repository.
robin0716 pushed a commit to branch feat/embed
in repository https://gitbox.apache.org/repos/asf/incubator-answer-plugins.git
The following commit(s) were added to refs/heads/feat/embed by this push:
new 0c8d243 refactor(embed-basic): Update regular expression
0c8d243 is described below
commit 0c8d2439f47834ecc1cb54cee36ae63522220e8e
Author: robin <[email protected]>
AuthorDate: Thu May 30 16:51:11 2024 +0800
refactor(embed-basic): Update regular expression
---
embed-basic/modal.tsx | 62 ++++++++++++++++++++++++---------------------------
1 file changed, 29 insertions(+), 33 deletions(-)
diff --git a/embed-basic/modal.tsx b/embed-basic/modal.tsx
index f156be1..5322808 100644
--- a/embed-basic/modal.tsx
+++ b/embed-basic/modal.tsx
@@ -17,44 +17,44 @@
* under the License.
*/
-import { useState } from 'react';
-import { Modal, Button, Form } from 'react-bootstrap';
-import { useTranslation } from 'react-i18next';
+import { useState } from 'react'
+import { Modal, Button, Form } from 'react-bootstrap'
+import { useTranslation } from 'react-i18next'
const EmbedModal = ({ show, setShowState, onConfirm }) => {
const [title, setTitle] = useState({
value: '',
isInvalid: false,
errorMsg: '',
- });
+ })
const [url, setUrl] = useState({
value: '',
isInvalid: false,
errorMsg: '',
- });
+ })
const { t } = useTranslation('plugin', {
keyPrefix: 'basic_embed.frontend',
- });
+ })
const handleHide = () => {
- setShowState(false);
- };
+ setShowState(false)
+ }
const handleChangeTitle = (e) => {
setTitle({
value: e.target.value,
isInvalid: false,
errorMsg: '',
- });
- };
+ })
+ }
const handleChangeUrl = (e) => {
setUrl({
value: e.target.value,
isInvalid: false,
errorMsg: '',
- });
- };
+ })
+ }
const handleSubmit = () => {
if (!title.value) {
@@ -62,45 +62,45 @@ const EmbedModal = ({ show, setShowState, onConfirm }) => {
...title,
isInvalid: true,
errorMsg: t('required_title'),
- });
- return;
+ })
+ return
}
if (!url.value) {
setUrl({
...url,
isInvalid: true,
errorMsg: t('required_url'),
- });
- return;
+ })
+ return
}
const urlRegex =
- /^(https?:\/\/)?([\da-z\\.-]+)\.([a-z\\.]{2,6})([\\/\w \\.-]*)*\/?$/;
+
/^[(http(s)?):\/\/(www\.)?a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/
if (!urlRegex.test(url.value)) {
setUrl({
...url,
isInvalid: true,
errorMsg: t('invalid_url'),
- });
- return;
+ })
+ return
}
onConfirm({
title: title.value,
url: url.value,
- });
- setShowState(false);
+ })
+ setShowState(false)
setTitle({
value: '',
isInvalid: false,
errorMsg: '',
- });
+ })
setUrl({
value: '',
isInvalid: false,
errorMsg: '',
- });
- };
+ })
+ }
return (
<Modal show={show} onHide={handleHide}>
<Modal.Header closeButton>
@@ -116,9 +116,7 @@ const EmbedModal = ({ show, setShowState, onConfirm }) => {
isInvalid={title.isInvalid}
onChange={handleChangeTitle}
/>
- <Form.Control.Feedback type="invalid">
- {title.errorMsg}
- </Form.Control.Feedback>
+ <Form.Control.Feedback
type="invalid">{title.errorMsg}</Form.Control.Feedback>
</Form.Group>
<Form.Group className="mb-3" controlId="editor.plugin.embed.url">
<Form.Label>{t('url')}</Form.Label>
@@ -128,9 +126,7 @@ const EmbedModal = ({ show, setShowState, onConfirm }) => {
isInvalid={url.isInvalid}
onChange={handleChangeUrl}
/>
- <Form.Control.Feedback type="invalid">
- {url.errorMsg}
- </Form.Control.Feedback>
+ <Form.Control.Feedback
type="invalid">{url.errorMsg}</Form.Control.Feedback>
</Form.Group>
</Form>
</Modal.Body>
@@ -143,7 +139,7 @@ const EmbedModal = ({ show, setShowState, onConfirm }) => {
</Button>
</Modal.Footer>
</Modal>
- );
-};
+ )
+}
-export default EmbedModal;
+export default EmbedModal