diff --git a/litmus-portal/frontend/src/pages/Community/styles.ts b/litmus-portal/frontend/src/pages/Community/styles.ts
index 703d94647..996630faf 100644
--- a/litmus-portal/frontend/src/pages/Community/styles.ts
+++ b/litmus-portal/frontend/src/pages/Community/styles.ts
@@ -2,11 +2,12 @@ import { makeStyles } from '@material-ui/core/styles';
// Community Component Styling
const useStyles = makeStyles((theme) => ({
+ root: {
+ margin: theme.spacing(1.5),
+ },
mainHeader: {
color: theme.palette.text.primary,
- fontSize: '2.5rem',
- marginTop: theme.spacing(5),
- marginBottom: theme.spacing(6),
+ margin: theme.spacing(4.5, 1.5, 2.5, 0),
},
LitmusAnalyticsBlock: {
diff --git a/litmus-portal/frontend/src/pages/LoginPage/index.tsx b/litmus-portal/frontend/src/pages/LoginPage/index.tsx
index 7cc79b89a..ba491664a 100644
--- a/litmus-portal/frontend/src/pages/LoginPage/index.tsx
+++ b/litmus-portal/frontend/src/pages/LoginPage/index.tsx
@@ -68,7 +68,7 @@ const LoginPage = () => {
-

+
diff --git a/litmus-portal/frontend/src/pages/Settings/index.tsx b/litmus-portal/frontend/src/pages/Settings/index.tsx
index 690e2cd77..3731f73af 100644
--- a/litmus-portal/frontend/src/pages/Settings/index.tsx
+++ b/litmus-portal/frontend/src/pages/Settings/index.tsx
@@ -1,4 +1,5 @@
import { Box, Paper, Tab, Tabs, Typography } from '@material-ui/core';
+import useTheme from '@material-ui/core/styles/useTheme';
import React from 'react';
import { useSelector } from 'react-redux';
import Scaffold from '../../containers/layouts/Scaffold';
@@ -28,7 +29,7 @@ function TabPanel(props: TabPanelProps) {
aria-labelledby={`simple-tab-${index}`}
{...other}
>
- {value === index &&
{children}}
+ {value === index &&
{children}}
);
}
@@ -54,15 +55,22 @@ const Settings: React.FC = () => {
tabs.changeSettingsTabs(newValue);
};
+ const theme = useTheme();
+
return (
- Settings
+
+ Settings
+
diff --git a/litmus-portal/frontend/src/pages/Settings/styles.ts b/litmus-portal/frontend/src/pages/Settings/styles.ts
index 4c4c21ada..4f98cab99 100644
--- a/litmus-portal/frontend/src/pages/Settings/styles.ts
+++ b/litmus-portal/frontend/src/pages/Settings/styles.ts
@@ -7,13 +7,11 @@ const useStyles = makeStyles((theme) => ({
maxWidth: '63.75rem',
alignItems: 'center',
justifyContent: 'space-between',
- marginLeft: theme.spacing(11),
+ marginLeft: theme.spacing(2),
+ borderBottom: `1px solid ${theme.palette.customColors.black(0.1)}`,
},
Head: {
- fontSize: '2.25rem',
- marginLeft: theme.spacing(11),
- marginTop: theme.spacing(4.875),
- marginBottom: theme.spacing(3.5),
+ margin: theme.spacing(4.5, 1.5, 2.5, 1.5),
},
}));
export default useStyles;
diff --git a/litmus-portal/frontend/src/pages/Workflows/index.tsx b/litmus-portal/frontend/src/pages/Workflows/index.tsx
index a7b83a2aa..741b30810 100644
--- a/litmus-portal/frontend/src/pages/Workflows/index.tsx
+++ b/litmus-portal/frontend/src/pages/Workflows/index.tsx
@@ -1,4 +1,5 @@
import { AppBar, Typography } from '@material-ui/core';
+import useTheme from '@material-ui/core/styles/useTheme';
import Tabs from '@material-ui/core/Tabs';
import React from 'react';
import { useTranslation } from 'react-i18next';
@@ -24,15 +25,17 @@ const Workflows = () => {
);
const tabs = useActions(TabActions);
+ const theme = useTheme();
+
const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {
tabs.changeWorkflowsTabs(newValue);
};
return (
-
+
-
Chaos Workflows
+
Chaos Workflows
{
diff --git a/litmus-portal/frontend/src/pages/Workflows/styles.ts b/litmus-portal/frontend/src/pages/Workflows/styles.ts
index f5fd4d7f3..80be81781 100644
--- a/litmus-portal/frontend/src/pages/Workflows/styles.ts
+++ b/litmus-portal/frontend/src/pages/Workflows/styles.ts
@@ -5,8 +5,8 @@ const useStyles = makeStyles((theme) => ({
width: '100%',
display: 'flex',
flexDirection: 'row',
- marginTop: theme.spacing(2.5),
- marginBottom: theme.spacing(2.5),
+ color: theme.palette.text.primary,
+ margin: theme.spacing(4.5, 1.5, 2.5, 1.5),
},
scheduleBtn: {
marginLeft: 'auto',
@@ -14,6 +14,7 @@ const useStyles = makeStyles((theme) => ({
appBar: {
background: 'transparent',
boxShadow: 'none',
+ paddingLeft: theme.spacing(1.5),
},
}));
diff --git a/litmus-portal/frontend/src/svg/community.svg b/litmus-portal/frontend/src/svg/community.svg
new file mode 100644
index 000000000..9596798fa
--- /dev/null
+++ b/litmus-portal/frontend/src/svg/community.svg
@@ -0,0 +1,3 @@
+
diff --git a/litmus-portal/frontend/src/svg/home.svg b/litmus-portal/frontend/src/svg/home.svg
new file mode 100644
index 000000000..5de067eec
--- /dev/null
+++ b/litmus-portal/frontend/src/svg/home.svg
@@ -0,0 +1,3 @@
+
diff --git a/litmus-portal/frontend/src/svg/hub.svg b/litmus-portal/frontend/src/svg/hub.svg
new file mode 100644
index 000000000..e9edd53fc
--- /dev/null
+++ b/litmus-portal/frontend/src/svg/hub.svg
@@ -0,0 +1,7 @@
+
diff --git a/litmus-portal/frontend/src/svg/settings.svg b/litmus-portal/frontend/src/svg/settings.svg
new file mode 100644
index 000000000..13e0ce256
--- /dev/null
+++ b/litmus-portal/frontend/src/svg/settings.svg
@@ -0,0 +1,5 @@
+
diff --git a/litmus-portal/frontend/src/svg/target.svg b/litmus-portal/frontend/src/svg/target.svg
new file mode 100644
index 000000000..6c117064b
--- /dev/null
+++ b/litmus-portal/frontend/src/svg/target.svg
@@ -0,0 +1,11 @@
+
diff --git a/litmus-portal/frontend/src/svg/workflows.svg b/litmus-portal/frontend/src/svg/workflows.svg
new file mode 100644
index 000000000..8fd2e61ff
--- /dev/null
+++ b/litmus-portal/frontend/src/svg/workflows.svg
@@ -0,0 +1,6 @@
+
diff --git a/litmus-portal/frontend/src/theme/index.tsx b/litmus-portal/frontend/src/theme/index.tsx
index 41c3c9cdc..0c9976b88 100644
--- a/litmus-portal/frontend/src/theme/index.tsx
+++ b/litmus-portal/frontend/src/theme/index.tsx
@@ -150,6 +150,7 @@ const theme = customTheme({
},
mark: {
marginLeft: -6.8,
+ paddingTop: 1.8,
backgroundImage: `url(${'./icons/arrow.svg'})`,
backgroundColor: 'none',
'&[data-index="9"]': {
@@ -164,7 +165,7 @@ const theme = customTheme({
fontFamily: 'Ubuntu',
fontSize: 15,
marginTop: -5,
- marginLeft: -45,
+ marginLeft: '-5%',
color: 'rgba(0, 0, 0, 0.4)',
},
markLabelActive: {
@@ -173,6 +174,13 @@ const theme = customTheme({
color: '#FFFFFF',
},
},
+ MuiTab: {
+ root: {
+ '&$selected': {
+ color: '#5B44BA',
+ },
+ },
+ },
MuiFormLabel: {
root: {
paddingLeft: 20,
diff --git a/litmus-portal/frontend/src/utils/validate.ts b/litmus-portal/frontend/src/utils/validate.ts
index c071dea07..4e36a5ac5 100644
--- a/litmus-portal/frontend/src/utils/validate.ts
+++ b/litmus-portal/frontend/src/utils/validate.ts
@@ -19,6 +19,15 @@ export const validateEmail = (value: string) => {
return false;
};
+export const validateWorkflowName = (value: string) => {
+ const workflowValid = /^[a-z0-9._-]+$/g;
+ if (value.length > 0) {
+ if (value.match(workflowValid)) return false;
+ return true;
+ }
+ return false;
+};
+
export const validatePassword = (value: string) => {
const passValid = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}$/;
if (value.length > 0) {
diff --git a/litmus-portal/frontend/src/views/ChaosWorkflows/BrowseWorkflow/styles.ts b/litmus-portal/frontend/src/views/ChaosWorkflows/BrowseWorkflow/styles.ts
index 96adb6c95..a0fad51fa 100644
--- a/litmus-portal/frontend/src/views/ChaosWorkflows/BrowseWorkflow/styles.ts
+++ b/litmus-portal/frontend/src/views/ChaosWorkflows/BrowseWorkflow/styles.ts
@@ -53,7 +53,7 @@ const useStyles = makeStyles((theme) => ({
// Table and Table Data Properties
tableMain: {
- marginTop: theme.spacing(6.25),
+ marginTop: theme.spacing(4.25),
border: `1px solid ${theme.palette.customColors.black(0.07)}`,
backgroundColor: theme.palette.common.white,
height: '29.219rem',
diff --git a/litmus-portal/frontend/src/views/ChaosWorkflows/CustomStatus/Status.tsx b/litmus-portal/frontend/src/views/ChaosWorkflows/CustomStatus/Status.tsx
index cb0d908b2..49f76575a 100644
--- a/litmus-portal/frontend/src/views/ChaosWorkflows/CustomStatus/Status.tsx
+++ b/litmus-portal/frontend/src/views/ChaosWorkflows/CustomStatus/Status.tsx
@@ -1,5 +1,5 @@
-import React, { useEffect } from 'react';
import { Typography } from '@material-ui/core';
+import React, { useEffect } from 'react';
import useStyles from './styles';
interface StatusProps {
@@ -17,7 +17,8 @@ const CustomStatus: React.FC = ({ status }) => {
return setLabel(classes.running);
}
return setLabel(classes.failed);
- }, [status, classes.failed, classes.completed, classes.running]);
+ }, [status]);
+
return (
<>
diff --git a/litmus-portal/frontend/src/views/CreateWorkflow/ChooseWorkflow/index.tsx b/litmus-portal/frontend/src/views/CreateWorkflow/ChooseWorkflow/index.tsx
index ea6fa715e..e66191c8f 100644
--- a/litmus-portal/frontend/src/views/CreateWorkflow/ChooseWorkflow/index.tsx
+++ b/litmus-portal/frontend/src/views/CreateWorkflow/ChooseWorkflow/index.tsx
@@ -4,6 +4,7 @@ import React, { useEffect, useState } from 'react';
import { useSelector } from 'react-redux';
import ButtonFilled from '../../../components/Button/ButtonFilled';
import ButtonOutline from '../../../components/Button/ButtonOutline';
+import InputField from '../../../components/InputField';
import PredifinedWorkflows from '../../../components/PredifinedWorkflows';
import workflowsList from '../../../components/PredifinedWorkflows/data';
import Unimodal from '../../../containers/layouts/Unimodal';
@@ -11,6 +12,7 @@ import useActions from '../../../redux/actions';
import * as TemplateSelectionActions from '../../../redux/actions/template';
import * as WorkflowActions from '../../../redux/actions/workflow';
import { RootState } from '../../../redux/reducers';
+import { validateWorkflowName } from '../../../utils/validate';
import useStyles, { CssTextField } from './styles';
// import { getWkfRunCount } from "../../utils";
@@ -28,6 +30,7 @@ const ChooseWorkflow: React.FC = () => {
);
const [open, setOpen] = React.useState(false);
+ const isSuccess = React.useRef
(false);
const [workflowDetails, setWorkflowData] = useState({
workflowName: 'Personal Workflow Name',
workflowDesc: 'Personal Description',
@@ -52,11 +55,13 @@ const ChooseWorkflow: React.FC = () => {
};
const handleSave = () => {
- workflow.setWorkflowDetails({
- name: workflowDetails.workflowName,
- description: workflowDetails.workflowDesc,
- });
- setOpen(false);
+ if (isSuccess.current) {
+ workflow.setWorkflowDetails({
+ name: workflowDetails.workflowName,
+ description: workflowDetails.workflowDesc,
+ });
+ setOpen(false);
+ }
};
/*
@@ -65,6 +70,10 @@ const ChooseWorkflow: React.FC = () => {
);
*/
+ if (validateWorkflowName(workflowDetails.workflowName) === false)
+ isSuccess.current = true;
+ else isSuccess.current = false;
+
useEffect(() => {
workflow.setWorkflowDetails({
name: 'Personal Workflow Name',
@@ -80,9 +89,11 @@ const ChooseWorkflow: React.FC = () => {
// Sets workflow details based on user clicks
const selectWorkflow = (index: number) => {
template.selectTemplate({ selectedTemplateID: index, isDisable: false });
+
const timeStampBasedWorkflowName: string = `argowf-chaos-${
workflowsList[index].title
}-${Math.round(new Date().getTime() / 1000)}`;
+
workflow.setWorkflowDetails({
name: timeStampBasedWorkflowName,
link: workflowsList[index].chaosWkfCRDLink,
@@ -177,23 +188,26 @@ const ChooseWorkflow: React.FC = () => {
-
-
-
+
{
handleSave()}
>
Save
diff --git a/litmus-portal/frontend/src/views/Settings/AccountsTab/AccountSettings/styles.ts b/litmus-portal/frontend/src/views/Settings/AccountsTab/AccountSettings/styles.ts
index c5d815a39..2944b53a3 100644
--- a/litmus-portal/frontend/src/views/Settings/AccountsTab/AccountSettings/styles.ts
+++ b/litmus-portal/frontend/src/views/Settings/AccountsTab/AccountSettings/styles.ts
@@ -2,8 +2,6 @@ import { makeStyles, Theme } from '@material-ui/core/styles';
const useStyles = makeStyles((theme: Theme) => ({
container: {
- marginLeft: theme.spacing(7.5),
- maxWidth: '63.75rem',
marginTop: theme.spacing(3.75),
border: '1px solid ',
borderColor: theme.palette.customColors.black(0.07),
diff --git a/litmus-portal/frontend/src/views/Settings/TeammingTab/InviteNew/Invite/index.tsx b/litmus-portal/frontend/src/views/Settings/TeammingTab/InviteNew/Invite/index.tsx
index d5bc3a2c2..5cd504a06 100644
--- a/litmus-portal/frontend/src/views/Settings/TeammingTab/InviteNew/Invite/index.tsx
+++ b/litmus-portal/frontend/src/views/Settings/TeammingTab/InviteNew/Invite/index.tsx
@@ -180,7 +180,7 @@ const Invite: React.FC = ({ handleModal }) => {
-
+
Invitation sent successfully
@@ -238,7 +238,7 @@ const Invite: React.FC
= ({ handleModal }) => {
{
setShowsuccess(true);
selected.map(
diff --git a/litmus-portal/frontend/src/views/Settings/TeammingTab/InviteNew/Invite/styles.ts b/litmus-portal/frontend/src/views/Settings/TeammingTab/InviteNew/Invite/styles.ts
index 03eb979e0..f0bc37211 100644
--- a/litmus-portal/frontend/src/views/Settings/TeammingTab/InviteNew/Invite/styles.ts
+++ b/litmus-portal/frontend/src/views/Settings/TeammingTab/InviteNew/Invite/styles.ts
@@ -64,10 +64,8 @@ const useStyles = makeStyles((theme) => ({
},
text: {
- width: '23.5rem',
- height: '5.875rem',
marginTop: theme.spacing(3.75),
- marginBottom: theme.spacing(3.75),
+ marginBottom: theme.spacing(2),
},
typo: {
fontSize: '2.25rem',
diff --git a/litmus-portal/frontend/src/views/Settings/TeammingTab/InviteNew/styles.ts b/litmus-portal/frontend/src/views/Settings/TeammingTab/InviteNew/styles.ts
index ee8ad762b..e58b7f9a2 100644
--- a/litmus-portal/frontend/src/views/Settings/TeammingTab/InviteNew/styles.ts
+++ b/litmus-portal/frontend/src/views/Settings/TeammingTab/InviteNew/styles.ts
@@ -4,7 +4,6 @@ const useStyles = makeStyles((theme: Theme) => ({
body: {
display: 'flex',
flexDirection: 'column',
- maxWidth: '63.75rem',
minWidth: '39.0625rem',
alignItems: 'center',
},
diff --git a/litmus-portal/frontend/src/views/Settings/TeammingTab/styles.ts b/litmus-portal/frontend/src/views/Settings/TeammingTab/styles.ts
index b220ba0fa..c1255d68a 100644
--- a/litmus-portal/frontend/src/views/Settings/TeammingTab/styles.ts
+++ b/litmus-portal/frontend/src/views/Settings/TeammingTab/styles.ts
@@ -34,6 +34,7 @@ const useStyles = makeStyles((theme: Theme) => ({
toolbar: {
height: '6.125rem',
border: `1px solid ${theme.palette.customColors.black(0.05)}`,
+ backgroundColor: theme.palette.common.white,
marginBottom: theme.spacing(1.25),
display: 'flex',
justifyContent: 'space-between',
diff --git a/litmus-portal/frontend/src/views/Settings/UserManagementTab/UserManagement/index.tsx b/litmus-portal/frontend/src/views/Settings/UserManagementTab/UserManagement/index.tsx
index 1d1553dde..c051237c5 100644
--- a/litmus-portal/frontend/src/views/Settings/UserManagementTab/UserManagement/index.tsx
+++ b/litmus-portal/frontend/src/views/Settings/UserManagementTab/UserManagement/index.tsx
@@ -144,9 +144,6 @@ const UserManagement: React.FC = () => {
// for displaying user table
-
- User Management
-
diff --git a/litmus-portal/frontend/src/views/Settings/UserManagementTab/UserManagement/styles.ts b/litmus-portal/frontend/src/views/Settings/UserManagementTab/UserManagement/styles.ts
index 27e7802f9..9ebd23d52 100644
--- a/litmus-portal/frontend/src/views/Settings/UserManagementTab/UserManagement/styles.ts
+++ b/litmus-portal/frontend/src/views/Settings/UserManagementTab/UserManagement/styles.ts
@@ -3,7 +3,7 @@ import { makeStyles, Theme } from '@material-ui/core/styles';
const useStyles = makeStyles((theme: Theme) => ({
UMDiv: {
marginTop: theme.spacing(3.75),
- marginLeft: theme.spacing(7.5),
+ marginLeft: theme.spacing(1),
},
headerText: {
fontSize: '1.5625rem',
@@ -53,6 +53,7 @@ const useStyles = makeStyles((theme: Theme) => ({
height: '6.125rem',
border: `1px solid ${theme.palette.customColors.black(0.05)}`,
marginBottom: theme.spacing(1.25),
+ backgroundColor: theme.palette.common.white,
display: 'flex',
justifyContent: 'space-between',
},