-
+
showUpDeleteModal()}
- style={darkMode ? boxStyleDark : boxStyle}
>
Delete
diff --git a/src/components/Projects/WBS/WBSDetail/Task/Task.jsx b/src/components/Projects/WBS/WBSDetail/Task/Task.jsx
index 1f9d262f2a..2082b1a833 100644
--- a/src/components/Projects/WBS/WBSDetail/Task/Task.jsx
+++ b/src/components/Projects/WBS/WBSDetail/Task/Task.jsx
@@ -9,7 +9,7 @@ import {
deleteChildrenTasks,
} from '../../../../../actions/task.js';
import './tagcolor.css';
-import './task.css';
+import styles from './task.module.css';
import '../../../../Header/index.css'
import { Editor } from '@tinymce/tinymce-react';
import { getPopupById } from './../../../../../actions/popupEditorAction';
@@ -206,12 +206,12 @@ function Task(props) {
id={`r_${props.num}_${props.taskId}`}
// eslint-disable-next-line jsx-a11y/scope
scope="row"
- className={`taskNum ${props.hasChildren ? 'has_children' : ''} text-left`}
+ className={`taskNum ${props.hasChildren ? styles.has_children : ''} ${styles.textLeft}`}
onClick={openChild}
>
{props.num.replaceAll('.0', '')}
- |
+ |
{
{props.hasChildren ? (
@@ -245,45 +245,56 @@ function Task(props) {
) : null}
|
- {props.resources.length
- ? props.resources
- .filter((elm, i) => i < 2 || showMoreResources)
- .map((elm, i) => {
- const name = elm.name; //Getting initials and formatting them here
- const initials = getInitials(name);
- //getting background color here
- const bg = colors_objs[name].color;
- return (
-
- {!elm.profilePic || elm.profilePic === '/defaultprofilepic.png' ? (
-
- {initials}{' '}
-
- ) : (
- // eslint-disable-next-line jsx-a11y/alt-text
-
- )}
-
- );
- })
- : null}
+ {props.resources.length
+ ? props.resources
+ .filter((elm, i) => i < 2 || showMoreResources)
+ .map((elm, i) => {
+ const name = elm.name;
+ const initials = getInitials(name);
+ const bg = colors_objs[name].color;
+ return (
+
+ {!elm.profilePic || elm.profilePic === '/defaultprofilepic.png' ? (
+
+ {initials}
+
+ ) : (
+
+ )}
+
+ );
+ })
+ : null}
+
{props.resources.length > 2 ? (
- // eslint-disable-next-line jsx-a11y/anchor-is-valid, jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
- setShowMoreResources(!showMoreResources)}
+ aria-label={
+ showMoreResources
+ ? 'Show fewer assigned resources'
+ : `Show ${props.resources.length - 2} more assigned resources`
+ }
>
-
+
{showMoreResources ? : `${props.resources.length - 2}+`}
-
+
) : null}
|
diff --git a/src/components/Projects/WBS/WBSDetail/Task/task.css b/src/components/Projects/WBS/WBSDetail/Task/task.css
deleted file mode 100644
index 8c4ae1c184..0000000000
--- a/src/components/Projects/WBS/WBSDetail/Task/task.css
+++ /dev/null
@@ -1,54 +0,0 @@
-.has_children {
- cursor: pointer;
- font-weight: bold;
-}
-
-.task-link {
- word-break: break-all;
-}
-
-
-.remove-link {
- margin-right: 5px;
- color: red;
- cursor: pointer;
-}
-
-.disable-div {
- pointer-events: none;
-}
-
-@media only screen and (max-width: 600px) {
- .container-tasks tbody tr:nth-child(8n + 0) {
- background-color: rgb(255, 212, 212);
- }
-
- .container-tasks tbody tr:nth-child(8n + 1) {
- background-color: rgb(255, 252, 213);
- }
-
- .container-tasks tbody tr:nth-child(8n + 2) {
- background-color: rgb(222, 255, 254);
- }
- .container-tasks tbody tr:nth-child(8n + 3) {
- background-color: rgb(230, 227, 255);
- }
-
- .container-tasks tbody tr:nth-child(8n + 4) {
- background-color: rgb(255, 235, 255);
- }
-
- .container-tasks tbody tr:nth-child(8n + 5) {
- background-color: rgb(245, 255, 228);
- }
-
- .container-tasks tbody tr:nth-child(8n + 6) {
- background-color: rgb(228, 255, 236);
- }
- .container-tasks tbody tr:nth-child(8n + 7) {
- background-color: rgb(228, 255, 255);
- }
-}
-.text-left {
- text-align: left !important;
-}
\ No newline at end of file
diff --git a/src/components/Projects/WBS/WBSDetail/Task/task.module.css b/src/components/Projects/WBS/WBSDetail/Task/task.module.css
new file mode 100644
index 0000000000..64b1a28496
--- /dev/null
+++ b/src/components/Projects/WBS/WBSDetail/Task/task.module.css
@@ -0,0 +1,89 @@
+.has_children {
+ cursor: pointer;
+ font-weight: bold;
+}
+
+.taskLink {
+ word-break: break-all;
+}
+
+.removeLink {
+ margin-right: 5px;
+ color: red;
+ cursor: pointer;
+}
+
+.disableDiv {
+ pointer-events: none;
+}
+
+@media only screen and (max-width: 600px) {
+ :global(.container-tasks) tbody tr:nth-child(8n + 0) {
+ background-color: rgb(255, 212, 212);
+ }
+
+ :global(.container-tasks) tbody tr:nth-child(8n + 1) {
+ background-color: rgb(255, 252, 213);
+ }
+
+ :global(.container-tasks) tbody tr:nth-child(8n + 2) {
+ background-color: rgb(222, 255, 254);
+ }
+
+ :global(.container-tasks) tbody tr:nth-child(8n + 3) {
+ background-color: rgb(230, 227, 255);
+ }
+
+ :global(.container-tasks) tbody tr:nth-child(8n + 4) {
+ background-color: rgb(255, 235, 255);
+ }
+
+ :global(.container-tasks) tbody tr:nth-child(8n + 5) {
+ background-color: rgb(245, 255, 228);
+ }
+
+ :global(.container-tasks) tbody tr:nth-child(8n + 6) {
+ background-color: rgb(228, 255, 236);
+ }
+
+ :global(.container-tasks) tbody tr:nth-child(8n + 7) {
+ background-color: rgb(228, 255, 255);
+ }
+}
+
+.textLeft {
+ text-align: left !important;
+}
+
+
+.name {
+ display: inline-block;
+ margin-right: 4px;
+}
+
+.dot {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 24px;
+ height: 24px;
+ border-radius: 50%;
+ font-size: 12px;
+ font-weight: 600;
+ color: #ffffff;
+ text-transform: uppercase;
+}
+
+.imgCircle {
+ width: 24px;
+ height: 24px;
+ border-radius: 50%;
+ object-fit: cover;
+ margin-right: 4px;
+}
+
+.resourceMoreToggle {
+ display: inline-block;
+ margin-left: 4px;
+ cursor: pointer;
+}
diff --git a/src/components/Projects/projects.css b/src/components/Projects/projects.module.css
similarity index 61%
rename from src/components/Projects/projects.css
rename to src/components/Projects/projects.module.css
index 51fd4b61f8..a15f1f3a5c 100644
--- a/src/components/Projects/projects.css
+++ b/src/components/Projects/projects.module.css
@@ -1,105 +1,71 @@
-thead {
+:global(thead) {
background: aliceblue;
}
-#new_project {
+:global(#new_project) {
margin-bottom: 10px;
}
-#projects__order {
+:global(#projects__order) {
width: 5px;
}
-#projects__active {
+:global(#projects__active) {
width: 10px;
}
-#projects__category {
+:global(#projects__category) {
width: 15px;
}
-#projects__members {
+:global(#projects__members) {
width: 15px;
}
-#projects__inv {
+:global(#projects__inv) {
width: 15px;
}
-#projects__wbs {
+:global(#projects__wbs) {
width: 15px;
}
-#projects__delete {
+:global(#projects__delete) {
width: 20px;
}
-.projects__tr {
- text-align: center;
-}
-
+/* Keep overview layout global for now (likely used in Overview.jsx) */
/* .projects__overview--top {
background: gray;
} */
-.projects__overview--top .card {
+:global(.projects__overview--top .card) {
width: 200px;
float: left;
margin-right: 10px;
margin-bottom: 10px;
}
-#card_project {
+:global(#card_project) {
background: #1d62f0;
color: white;
}
-#card_active {
+:global(#card_active) {
background: #fbad4c;
color: white;
}
-.projects__order--input div {
- margin-top: 7px;
-}
-
-.projects__active--input i {
- margin-top: 10px;
- cursor: pointer;
-}
-
-.projects__name--input input {
- border: 1px solid white;
-}
-
-.projects__name--input input:hover {
- border: 1px solid #dee2e6;
-}
-
-.isActive i {
- color: lawngreen;
-}
-
-.isNotActive {
- color: #dee2e6;
-}
-
-.isDisabled {
- opacity: 0;
- transition: opacity 10ms;
- display: none;
-}
-
-.project_info_modal_ol {
+:global(.project_info_modal_ol) {
padding-left: 20px;
}
-.search-project-person {
+:global(.search-project-person) {
position: relative;
width: 100%;
}
-.suggestions-list {
+:global(.suggestions-list) {
position: absolute;
background-color: white;
border: 1px solid #ccc;
@@ -110,36 +76,71 @@ thead {
padding: 0;
}
-.suggestion-item {
+:global(.suggestion-item) {
padding: 8px;
cursor: pointer;
}
-.suggestion-item:hover {
+:global(.suggestion-item:hover) {
background-color: #f0f0f0;
}
-.suggestion-button {
+:global(.suggestion-button) {
display: block;
- width: 100%;
- padding: 10px;
- text-align: left;
- background: none;
- border: none;
- cursor: pointer;
+ width: 100%;
+ padding: 10px;
+ text-align: left;
+ background: none;
+ border: none;
+ cursor: pointer;
}
-.suggestion-button:hover {
+:global(.suggestion-button:hover) {
background-color: #f0f0f0;
}
-tr:hover {
+:global(tr:hover) {
background: #e9f6ff;
}
@media (max-width: 375px) {
- #new_project .form-control {
+ :global(#new_project .form-control) {
flex: 1 1 auto;
width: 50%;
}
}
+
+.projects__tr {
+ text-align: center;
+}
+
+.projects__order--input div {
+ margin-top: 7px;
+}
+
+.projects__active--input i {
+ margin-top: 10px;
+ cursor: pointer;
+}
+
+.projects__name--input input {
+ border: 1px solid white;
+}
+
+.projects__name--input input:hover {
+ border: 1px solid #dee2e6;
+}
+
+.isActive i {
+ color: lawngreen;
+}
+
+.isNotActive {
+ color: #dee2e6;
+}
+
+.isDisabled {
+ opacity: 0;
+ transition: opacity 10ms;
+ display: none;
+}
diff --git a/src/components/TeamMemberTasks/TeamMemberTask.jsx b/src/components/TeamMemberTasks/TeamMemberTask.jsx
index 6ed49be836..359a0a1693 100644
--- a/src/components/TeamMemberTasks/TeamMemberTask.jsx
+++ b/src/components/TeamMemberTasks/TeamMemberTask.jsx
@@ -595,7 +595,7 @@ const TeamMemberTask = React.memo(
darkMode ? 'bg-yinmn-blue text-light' : ''
}`}
>
- <>
+ |
)}
|
diff --git a/src/components/TeamMemberTasks/style.module.css b/src/components/TeamMemberTasks/style.module.css
index efc16bd720..53fe1866b2 100644
--- a/src/components/TeamMemberTasks/style.module.css
+++ b/src/components/TeamMemberTasks/style.module.css
@@ -11,9 +11,21 @@
overflow: hidden;
}
+.progress-wrapper {
+ display: inline-block;
+}
+.team-task-progress-container {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ flex-wrap: wrap;
+}
-
+.team-task-progress-bar {
+ width: 100%;
+ margin-top: 4px;
+}
.team-member-task-review-button {
@@ -491,13 +503,6 @@
/* min-width: 150px; */
}
-.team-task-progress-container {
- display: flex;
- flex-direction: row;
- align-items: center;
- flex-wrap: wrap;
-}
-
.progress-text{
margin: 0;
/* border: green 1px solid; */
@@ -522,17 +527,6 @@
align-self: center;
}
-.team-task-progress-bar {
- /* width: 60%;
- max-width: 180px;
- min-width: 100px; */
- align-self: flex-start;
- margin-top: 4px;
- height: 10px;
- border-radius: 4px;
-}
-
-
.hours-btn-div {
display: flex;
flex-direction: row;
diff --git a/src/components/Teams/Team.jsx b/src/components/Teams/Team.jsx
index 59283fc09a..f2b2a888b4 100644
--- a/src/components/Teams/Team.jsx
+++ b/src/components/Teams/Team.jsx
@@ -5,6 +5,7 @@ import { Button } from 'reactstrap';
import hasPermission from '~/utils/permissions';
import { boxStyle, boxStyleDark } from '~/styles';
import { DELETE } from '../../languages/en/ui';
+import headerStyles from './TeamTableHeader.module.css';
export function Team(props) {
const darkMode = useSelector(state => state.theme.darkMode);
@@ -17,7 +18,7 @@ export function Team(props) {
{(props.index ?? 0) + 1}
{/* Wrap long names vertically */}
- {props.name} |
+ {props.name} |
|