diff --git a/frontend/src/components/NFRegex/ServiceRow/index.module.scss b/frontend/src/components/NFRegex/ServiceRow/index.module.scss index 0d91313..316b0f3 100644 --- a/frontend/src/components/NFRegex/ServiceRow/index.module.scss +++ b/frontend/src/components/NFRegex/ServiceRow/index.module.scss @@ -15,4 +15,10 @@ margin-right: 10px; margin-bottom: 13px; color:#FFF; + max-width: 300px; + overflow: hidden; +} +.name:hover{ + overflow: auto; + transition: 0.1s; } \ No newline at end of file diff --git a/frontend/src/components/NFRegex/ServiceRow/index.tsx b/frontend/src/components/NFRegex/ServiceRow/index.tsx index 8c2d47f..4aa89b0 100644 --- a/frontend/src/components/NFRegex/ServiceRow/index.tsx +++ b/frontend/src/components/NFRegex/ServiceRow/index.tsx @@ -76,7 +76,14 @@ function ServiceRow({ service, onClick }:{ service:Service, onClick?:()=>void })
-
{service.name} :{service.port}
+
+ + {service.name} + + + :{service.port} + +
Status: {service.status} {isMedium?null:}
diff --git a/frontend/src/components/RegexView/index.module.scss b/frontend/src/components/RegexView/index.module.scss index 3d86dac..c3e016f 100644 --- a/frontend/src/components/RegexView/index.module.scss +++ b/frontend/src/components/RegexView/index.module.scss @@ -6,9 +6,20 @@ margin:5px; } -.regex_text{ - padding: 6px; - background-color: $third_color; +.outer_regex_text{ border-radius: 8px; + overflow: hidden; margin: 6px; +} + +.regex_text{ + padding: 10px; + background-color: $third_color; + overflow-x: hidden; + border-radius: 8px; +} + +.regex_text:hover{ + overflow-x: auto; + opacity: 0.8; } \ No newline at end of file diff --git a/frontend/src/components/RegexView/index.tsx b/frontend/src/components/RegexView/index.tsx index f027360..877cbfc 100644 --- a/frontend/src/components/RegexView/index.tsx +++ b/frontend/src/components/RegexView/index.tsx @@ -1,4 +1,4 @@ -import { Grid, Text, Title, Badge, Space, ActionIcon, Tooltip } from '@mantine/core'; +import { Grid, Text, Title, Badge, Space, ActionIcon, Tooltip, Box } from '@mantine/core'; import { useState } from 'react'; import { RegexFilter } from '../../js/models'; import { b64decode, errorNotify, getapiobject, okNotify } from '../../js/utils'; @@ -7,6 +7,7 @@ import { BsTrashFill } from "react-icons/bs" import YesNoModal from '../YesNoModal'; import FilterTypeSelector from '../FilterTypeSelector'; import { FaPause, FaPlay } from 'react-icons/fa'; +import { useClipboard } from '@mantine/hooks'; function RegexView({ regexInfo }:{ regexInfo:RegexFilter }) { @@ -20,6 +21,7 @@ function RegexView({ regexInfo }:{ regexInfo:RegexFilter }) { const [deleteModal, setDeleteModal] = useState(false); const [deleteTooltipOpened, setDeleteTooltipOpened] = useState(false); const [statusTooltipOpened, setStatusTooltipOpened] = useState(false); + const clipboard = useClipboard({ timeout: 500 }); const deleteRegex = () => { getapiobject().regexdelete(regexInfo.id).then(res => { @@ -47,7 +49,12 @@ function RegexView({ regexInfo }:{ regexInfo:RegexFilter }) { Regex:
- {regex_expr} + + { + clipboard.copy(regex_expr) + okNotify("Regex copied to clipboard!",`The regex '${regex_expr}' has been copied to the clipboard!`) + }}>{regex_expr} + diff --git a/frontend/src/index.scss b/frontend/src/index.scss index e8a6d82..fa18c20 100644 --- a/frontend/src/index.scss +++ b/frontend/src/index.scss @@ -24,7 +24,7 @@ body { } ::-webkit-scrollbar { - width: 12px; + width: 6px; margin:3px; background: #333; cursor: pointer; diff --git a/frontend/src/js/utils.tsx b/frontend/src/js/utils.tsx index 85f3d5a..bcc7602 100644 --- a/frontend/src/js/utils.tsx +++ b/frontend/src/js/utils.tsx @@ -17,7 +17,7 @@ export const regex_ipv4 = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\. export const regex_ipv4_no_cidr = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" export const regex_port = "^([1-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])?$" export const regex_range_port = "^(([1-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(-([1-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])?)?)?$" -export const DEV_IP_BACKEND = "192.168.233.2:4444" +export const DEV_IP_BACKEND = "127.0.0.1:4444" export const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: Infinity