diff --git a/src/Attribution.tsx b/src/Attribution.tsx
new file mode 100644
index 0000000..076f67a
--- /dev/null
+++ b/src/Attribution.tsx
@@ -0,0 +1,16 @@
+import {Center, Text} from "@mantine/core";
+
+export default function Attribution() {
+ return
+
+
+ Technical University of Munich
+
+ Bachelor's Thesis in Informatics for the course Compiler Construction at the chair I2
+
+ By Michael Spiss, advised by Dr. Michael Petter
+
+
+}
\ No newline at end of file
diff --git a/src/features/analyze_regex/presentation/screens/RegexInputScreen.tsx b/src/features/analyze_regex/presentation/screens/RegexInputScreen.tsx
index 17e7c18..43e87ee 100644
--- a/src/features/analyze_regex/presentation/screens/RegexInputScreen.tsx
+++ b/src/features/analyze_regex/presentation/screens/RegexInputScreen.tsx
@@ -1,4 +1,4 @@
-import {Button, Center, Group, Paper, Text, Title, useMantineTheme} from "@mantine/core";
+import {ActionIcon, Button, Center, Group, Modal, Paper, Text, Title, useMantineTheme} from "@mantine/core";
import LectureConventions from "@/layout/presentation/LectureConventions";
import {useEventListener} from "@mantine/hooks";
import {useState} from "react";
@@ -7,6 +7,8 @@ import RegexError from "@/analyze_regex/domain/models/regexError";
import useAppStateStore from "@/layout/stores/appStateStore";
import RegexInput from "@/analyze_regex/presentation/RegexInput";
import DefaultError from "@/layout/presentation/DefaultError";
+import Attribution from "../../../../Attribution";
+import {IconInfoCircle} from "@tabler/icons";
const RegexExample = (props: { regex: string }) => {
return {
export default function RegexInputScreen() {
const theme = useMantineTheme();
const [isLoading, setIsLoading] = useState(false);
+ const [showAttribution, setShowAttribution] = useState(false);
const [error, setError] = useState(null);
const formRef = useEventListener('submit', (event) => {
@@ -60,43 +63,51 @@ export default function RegexInputScreen() {
}
});
- return
-
-
- {!error ? null : }
-
-
-
+
+ {!error ? null : }
+
+
+
+ setShowAttribution(false)}>
+ >
}
diff --git a/src/features/tree_builder/presentation/CompletionModal.tsx b/src/features/tree_builder/presentation/CompletionModal.tsx
index cafa3e0..752e25d 100644
--- a/src/features/tree_builder/presentation/CompletionModal.tsx
+++ b/src/features/tree_builder/presentation/CompletionModal.tsx
@@ -1,17 +1,15 @@
-import {ActionIcon, Box, Button, Divider, Flex, Group, Modal, Text, useMantineTheme} from "@mantine/core";
+import {Box, Button, Flex, Group, Modal, useMantineTheme} from "@mantine/core";
import useAppStateStore from "@/layout/stores/appStateStore";
import backToHome from "../../../backToHome";
import AutomatonPreview from "@/automaton_builder/presentation/AutomatonPreview";
import InteractiveTreeBuilder from "@/tree_builder/presentation/InteractiveTreeBuilder";
import RegexHighlighter from "@/analyze_regex/presentation/RegexHighlighter";
-import {IconCircleCheck, IconInfoCircle} from "@tabler/icons";
-import {useState} from "react";
+import {IconCircleCheck} from "@tabler/icons";
export default function CompletionModal() {
const isOpen = useAppStateStore(state => state.isDone);
const regex = useAppStateStore(state => state.regex);
const theme = useMantineTheme();
- const [displayCredits, setDisplayCredits] = useState(false);
return useAppStateStore.setState({isDone: false})}
@@ -21,48 +19,33 @@ export default function CompletionModal() {
overlayBlur={5}
overlayColor={theme.colors.gray[5]}
overlayOpacity={.5}
- size={displayCredits ? "75%" : "50%"}
- styles={{modal: {
- minWidth: 450
- }}}
+ size={"50%"}
+ styles={{
+ modal: {
+ minWidth: 450
+ }
+ }}
>
-
+
- Well done! You completed the Berry-Sethi construction for the regular expression
+ Well done! You completed the Berry-Sethi construction for the regular
+ expression
-
+
- {displayCredits ? : null}
- {displayCredits ?
-
-
- Technical University of Munich
-
- Bachelor's Thesis in Informatics
- For the Course Compiler Construction
- At the chair I2
-
- By Michael Spiss
- Advised by Dr. Michael Petter
-
- : null}
-
-
-
-
-
- setDisplayCredits(!displayCredits)}>
+
+
+
}