Remove now unused splitTopicUrl function

pull/180/head
Philipp Heckel 2022-04-06 13:27:32 -04:00
parent 83bb9951b0
commit 3f96fad7ce
2 changed files with 2 additions and 20 deletions

View File

@ -23,28 +23,10 @@ export const shortUrl = (url) => url.replaceAll(/https?:\/\//g, "");
export const expandUrl = (url) => [`https://${url}`, `http://${url}`]; export const expandUrl = (url) => [`https://${url}`, `http://${url}`];
export const expandSecureUrl = (url) => `https://${url}`; export const expandSecureUrl = (url) => `https://${url}`;
export const splitTopicUrl = (url) => {
if (!validTopicUrl(url)) {
throw new Error("Invalid topic URL");
}
const parts = url.split("/");
if (parts.length < 2) {
throw new Error("Invalid topic URL");
}
return {
baseUrl: parts.slice(0, parts.length-1).join("/"),
topic: parts[parts.length-1]
};
};
export const validUrl = (url) => { export const validUrl = (url) => {
return url.match(/^https?:\/\//); return url.match(/^https?:\/\//);
} }
export const validTopicUrl = (url) => {
return url.match(/^https?:\/\/.+\/.*[^/]/); // At least one other slash
}
export const validTopic = (topic) => { export const validTopic = (topic) => {
if (disallowedTopic(topic)) { if (disallowedTopic(topic)) {
return false; return false;

View File

@ -18,7 +18,7 @@ import IconButton from "@mui/material/IconButton";
import InsertEmoticonIcon from '@mui/icons-material/InsertEmoticon'; import InsertEmoticonIcon from '@mui/icons-material/InsertEmoticon';
import {Close} from "@mui/icons-material"; import {Close} from "@mui/icons-material";
import MenuItem from "@mui/material/MenuItem"; import MenuItem from "@mui/material/MenuItem";
import {basicAuth, formatBytes, topicShortUrl, topicUrl, validTopicUrl} from "../app/utils"; import {basicAuth, formatBytes, topicShortUrl, validTopic, validUrl} from "../app/utils";
import Box from "@mui/material/Box"; import Box from "@mui/material/Box";
import AttachmentIcon from "./AttachmentIcon"; import AttachmentIcon from "./AttachmentIcon";
import DialogFooter from "./DialogFooter"; import DialogFooter from "./DialogFooter";
@ -80,7 +80,7 @@ const SendDialog = (props) => {
}, [props.baseUrl, props.topic]); }, [props.baseUrl, props.topic]);
useEffect(() => { useEffect(() => {
const valid = validTopicUrl(topicUrl(baseUrl, topic)) && !attachFileError; const valid = validUrl(baseUrl) && validTopic(topic) && !attachFileError;
setSendButtonEnabled(valid); setSendButtonEnabled(valid);
}, [baseUrl, topic, attachFileError]); }, [baseUrl, topic, attachFileError]);