diff --git a/Client/src/Components/Link/index.css b/Client/src/Components/Link/index.css
new file mode 100644
index 000000000..e69de29bb
diff --git a/Client/src/Components/Link/index.jsx b/Client/src/Components/Link/index.jsx
new file mode 100644
index 000000000..e8d26a7c7
--- /dev/null
+++ b/Client/src/Components/Link/index.jsx
@@ -0,0 +1,47 @@
+import { Link as MuiLink, useTheme } from "@mui/material";
+import PropTypes from "prop-types";
+
+const Link = ({ level, label, url }) => {
+ const theme = useTheme();
+
+ const levelConfig = {
+ primary: {},
+ secondary: {},
+ tertiary: {
+ color: theme.palette.tertiary.main,
+ sx: {
+ textDecoration: "underline",
+ textDecorationStyle: "dashed",
+ textDecorationColor: theme.palette.primary.main,
+ ":hover": {
+ color: theme.palette.tertiary.main,
+ textDecorationColor: theme.palette.primary.main,
+ backgroundColor: theme.palette.tertiary.linkHover,
+ },
+ },
+ },
+ error: {},
+ };
+
+ /**
+ * @typedef {Object} Props
+ * @property {'primary' | 'secondary' | 'tertiary' | 'error'} level - The level of the link
+ * @property {string} label - The label of the link
+ * @property {string} url - The URL of the link
+ */
+
+ const { sx, color } = levelConfig[level];
+ return (
+