import { Grid, Text, Title, Badge, Space, ActionIcon, Tooltip } from '@mantine/core'; import React, { useState } from 'react'; import { RegexFilter } from '../../js/models'; import { deleteregex, errorNotify, fireUpdateRequest, getHumanReadableRegex, okNotify } from '../../js/utils'; import style from "./RegexView.module.scss"; import { BsTrashFill } from "react-icons/bs" import YesNoModal from '../YesNoModal'; import FilterTypeSelector from '../FilterTypeSelector'; function RegexView({ regexInfo }:{ regexInfo:RegexFilter }) { const mode_string = regexInfo.mode === "C"? "C -> S": regexInfo.mode === "S"? "S -> C": regexInfo.mode === "B"? "S <-> C": "🤔" let regex_expr = getHumanReadableRegex(regexInfo.regex); const [deleteModal, setDeleteModal] = useState(false); const [tooltipOpened, setTooltipOpened] = useState(false); const deleteRegex = () => { deleteregex(regexInfo.id).then(res => { if(!res){ okNotify(`Regex ${regex_expr} deleted successfully!`,`Regex '${regex_expr}' ID:${regexInfo.id} has been deleted!`) fireUpdateRequest() }else{ errorNotify(`Regex ${regex_expr} deleation failed!`,`Error: ${res}`) } }).catch( err => errorNotify(`Regex ${regex_expr} deleation failed!`,`Error: ${err}`)) } return