irongit

A better version of regex 101

now the variable builder can update

huncholanehuncholaneauthored
parent 4c71b9ecommit f26b738a9e988e5b6130863d37ddb1b451b701f1Browse files

1 file changed, +12 -0

+12-0src/App.jsx
@@ -19,6 +19,7 @@ function App() {
1919 const [hideVariables, setHideVariables] = useState(false);
2020 const [hideBuilder, setHideBuilder] = useState(false);
2121 const [varText, setVarText] = useState("");
22+ const [builderText, setBuilderText] = useState("");
2223 const regexInput = document.querySelector(
2324 "#regex-app > div > div.QtZzw > div > div.AUc0W > div.rjodX > div.cO83v > div.h9z_E.T886D > div > div > div:nth-child(1) > textarea"
2425 );
@@ -47,6 +48,16 @@ function App() {
4748 className="w-full"
4849 onChange={(e) => {
4950 setVarText(e.target.value);
51+ const parsedVars = readVars(e.target.value);
52+ const parseBuild = parseBuilder(builderText, parsedVars);
53+ if (!parseBuild) setValid(false);
54+ else setValid(true);
55+ setBuild(parseBuild);
56+ }}
57+ onKeyDown={(e) => {
58+ if (e.ctrlKey && e.key == "s") {
59+ saveBuild();
60+ }
5061 }}
5162 ></textarea>
5263 {hideButton(setHideVariables, hideVariables)}
@@ -82,6 +93,7 @@ function App() {
8293 }}
8394 onChangeCapture={(e) => {
8495 const parsedVars = readVars(varText);
96+ setBuilderText(e.target.value);
8597 const parseBuild = parseBuilder(e.target.value, parsedVars);
8698 if (!parseBuild) setValid(false);
8799 else setValid(true);