diff --git a/Client/src/Components/Inputs/Field/index.jsx b/Client/src/Components/Inputs/Field/index.jsx
index 06594450a..cb18c42af 100644
--- a/Client/src/Components/Inputs/Field/index.jsx
+++ b/Client/src/Components/Inputs/Field/index.jsx
@@ -21,6 +21,7 @@ import { useState } from "react";
* @param {string} [props.label] - Label for the input field.
* @param {boolean} [props.isRequired] - Indicates if the field is required, will display a red asterisk.
* @param {boolean} [props.isOptional] - Indicates if the field is optional, will display optional text.
+ * @param {string} [props.optionalLabel] - Optional label for the input field.
* @param {boolean} [props.hasCopy] - Indicates if the field supports copying.
* @param {string} [props.autoComplete] - Autocomplete value for the input field.
* @param {string} [props.placeholder] - Placeholder text for the input field.
@@ -36,6 +37,7 @@ const Field = ({
label,
isRequired,
isOptional,
+ optionalLabel,
hasCopy,
autoComplete,
placeholder,
@@ -61,7 +63,13 @@ const Field = ({
{label}
{isRequired ? * : ""}
- {isOptional ? (optional) : ""}
+ {isOptional ? (
+
+ {optionalLabel || "(optional)"}
+
+ ) : (
+ ""
+ )}
)}
{
const levelConfig = {
primary: {},
- secondary: {},
+ secondary: {
+ color: theme.palette.otherColors.bluishGray,
+ sx: {
+ ":hover": {
+ color: theme.palette.otherColors.bluishGray,
+ },
+ },
+ },
tertiary: {
color: theme.palette.tertiary.main,
sx: {
textDecoration: "underline",
textDecorationStyle: "dashed",
textDecorationColor: theme.palette.primary.main,
+ textUnderlineOffset: "1px",
":hover": {
color: theme.palette.tertiary.main,
textDecorationColor: theme.palette.primary.main,
@@ -33,7 +41,13 @@ const Link = ({ level, label, url }) => {
};
const { sx, color } = levelConfig[level];
return (
-
+
{label}
);
diff --git a/Client/src/Pages/Settings/index.css b/Client/src/Pages/Settings/index.css
index e69de29bb..738757f77 100644
--- a/Client/src/Pages/Settings/index.css
+++ b/Client/src/Pages/Settings/index.css
@@ -0,0 +1,36 @@
+.settings a.MuiTypography-root,
+.settings h2.MuiTypography-root,
+.settings span.MuiTypography-root,
+.settings button,
+.settings p.MuiTypography-root {
+ font-size: var(--env-var-font-size-medium);
+}
+.settings h1.MuiTypography-root,
+.settings h2.MuiTypography-root,
+.settings p.MuiTypography-root {
+ color: var(--env-var-color-5);
+}
+.settings h1.MuiTypography-root {
+ font-size: var(--env-var-font-size-large);
+}
+.settings h1.MuiTypography-root,
+.settings h2.MuiTypography-root {
+ font-weight: 600;
+}
+.settings button {
+ height: 34px;
+}
+.settings span.MuiTypography-root {
+ opacity: 0.6;
+ margin-right: 4px;
+}
+.settings .config-box {
+ padding: var(--env-var-spacing-4) 50px;
+ padding-bottom: 60px;
+ border: 1px solid var(--env-var-color-16);
+ border-radius: var(--env-var-radius-1);
+}
+.settings .config-box .MuiBox-root,
+.settings .config-box .MuiStack-root {
+ flex: 1;
+}
diff --git a/Client/src/Pages/Settings/index.jsx b/Client/src/Pages/Settings/index.jsx
index 3ca261a80..c2ef71666 100644
--- a/Client/src/Pages/Settings/index.jsx
+++ b/Client/src/Pages/Settings/index.jsx
@@ -1,7 +1,126 @@
-import React from "react";
+import { useTheme } from "@emotion/react";
+import { Box, Stack, Typography } from "@mui/material";
+import Button from "../../Components/Button";
+
+import "./index.css";
+import Field from "../../Components/Inputs/Field";
+import Link from "../../Components/Link";
const Settings = () => {
- return Settings
;
+ const theme = useTheme();
+
+ return (
+
+
+
+ );
};
export default Settings;