diff --git a/src/containers/Projects/containers/ProjectFormDialog/ProjectForm.tsx b/src/containers/Projects/containers/ProjectFormDialog/ProjectForm.tsx
index 115e8a0ff..af039a715 100644
--- a/src/containers/Projects/containers/ProjectFormDialog/ProjectForm.tsx
+++ b/src/containers/Projects/containers/ProjectFormDialog/ProjectForm.tsx
@@ -15,7 +15,7 @@ const defaultInitialValues = {
contact: '',
projectName: '',
projectDeadline: moment(new Date()).format('YYYY-MM-DD'),
- projectState: true,
+ projectState: false,
projectCost: '',
};
diff --git a/src/containers/Projects/containers/ProjectFormDialog/ProjectFormFields.tsx b/src/containers/Projects/containers/ProjectFormDialog/ProjectFormFields.tsx
index 0f2d7848b..239530454 100644
--- a/src/containers/Projects/containers/ProjectFormDialog/ProjectFormFields.tsx
+++ b/src/containers/Projects/containers/ProjectFormDialog/ProjectFormFields.tsx
@@ -1,6 +1,7 @@
// @ts-nocheck
import React from 'react';
import intl from 'react-intl-universal';
+import { useFormikContext } from 'formik';
import { Classes, Position, FormGroup, ControlGroup } from '@blueprintjs/core';
import { FastField } from 'formik';
@@ -14,6 +15,7 @@ import {
FMoneyInputGroup,
InputPrependText,
FormattedMessage as T,
+ FieldRequiredHint,
CustomerSelectField,
} from 'components';
import {
@@ -29,8 +31,12 @@ import { useProjectFormContext } from './ProjectFormProvider';
* @returns
*/
function ProjectFormFields() {
+ // project form dialog context.
const { customers } = useProjectFormContext();
+ // Formik context.
+ const { values } = useFormikContext();
+
return (
{/*------------ Contact -----------*/}
@@ -38,6 +44,7 @@ function ProjectFormFields() {
{({ form, field: { value }, meta: { error, touched } }) => (
}
className={classNames('form-group--select-list', Classes.FILL)}
intent={inputIntent({ error, touched })}
>
@@ -93,7 +100,7 @@ function ProjectFormFields() {
}
- text={'New Project'}
+ text={}
onClick={handleNewProjectBtnClick}
/>
{/* AdvancedFilterPopover */}
diff --git a/src/containers/Projects/containers/ProjectsLanding/ProjectsDataTable.tsx b/src/containers/Projects/containers/ProjectsLanding/ProjectsDataTable.tsx
index d8943c4fd..cb2c9b647 100644
--- a/src/containers/Projects/containers/ProjectsLanding/ProjectsDataTable.tsx
+++ b/src/containers/Projects/containers/ProjectsLanding/ProjectsDataTable.tsx
@@ -20,18 +20,22 @@ const projects = [
name: 'Maroon Bronze',
deadline: '2022-06-08T22:00:00.000Z',
display_name: 'Kyrie Rearden',
- cost_estimate: '4000',
- task_amount: '1000',
- is_in_process: true,
+ cost_estimate: '40000',
+ task_amount: '10000',
+ is_process: true,
+ is_closed: false,
+ is_draft: false,
},
{
id: 2,
name: 'Project Sherwood',
deadline: '2022-06-08T22:00:00.000Z',
display_name: 'Ella-Grace Miller',
- cost_estimate: '0',
- task_amount: '1000',
- is_in_process: true,
+ cost_estimate: '700',
+ task_amount: '300',
+ is_process: true,
+ is_closed: false,
+ is_draft: false,
},
];
@@ -54,7 +58,8 @@ function ProjectsDataTable({
// Handle cell click.
const handleCellClick = ({ row: { original } }) => {
return history.push(`/projects/${original?.id}/details`, {
- name: original.name,
+ projectId: original.id,
+ projectName: original.name,
});
};
@@ -77,7 +82,8 @@ function ProjectsDataTable({
// Handle view detail project.
const handleViewDetailProject = (project) => {
return history.push(`/projects/${project.id}/details`, {
- name: project.name,
+ projectId: project.id,
+ projectName: project.name,
});
};
@@ -119,7 +125,7 @@ export default compose(
const ProjectsTable = styled(DataTable)`
.tbody {
.tr .td {
- padding: 0.8rem;
+ padding: 0.5rem 0.8rem;
}
.avatar.td {
diff --git a/src/containers/Projects/containers/ProjectsLanding/components.tsx b/src/containers/Projects/containers/ProjectsLanding/components.tsx
index e23114c00..0932a5bb5 100644
--- a/src/containers/Projects/containers/ProjectsLanding/components.tsx
+++ b/src/containers/Projects/containers/ProjectsLanding/components.tsx
@@ -19,30 +19,36 @@ import { safeCallback, firstLettersArgs, calculateStatus } from 'utils';
export function ProjectStatus({ project }) {
return (
- {project.task_amount}
+ {project.task_amount}
);
}
/**
- * project status accessor.
+ * status accessor.
*/
-export const ProjectStatusAccessor = (row) => {
+export const StatusAccessor = (project) => {
return (
-
-
+
+
-
+
+
+
+
+
+
-
+
);
};
@@ -126,19 +132,18 @@ export const useProjectsListColumns = () => {
},
{
id: 'name',
- Header: 'Project Name',
+ Header: '',
accessor: ProjectsAccessor,
- width: 240,
+ width: 200,
className: 'name',
clickable: true,
},
{
id: 'status',
- Header: 'status',
- accessor: ProjectStatusAccessor,
- width: 80,
+ Header: '',
+ accessor: StatusAccessor,
+ width: 50,
className: 'status',
- clickable: true,
},
],
[],
@@ -150,10 +155,11 @@ const ProjectItemsWrap = styled.div``;
const ProjectItemsHeader = styled.div`
display: flex;
align-items: baseline;
+ line-height: 1.3rem;
`;
const ProjectItemContactName = styled.div`
- font-weight: 600;
+ font-weight: 500;
padding-right: 4px;
`;
const ProjectItemProjectName = styled.div``;
@@ -162,23 +168,30 @@ const ProjectItemDescription = styled.div`
display: inline-block;
font-size: 13px;
opacity: 0.75;
- margin-top: 4px;
+ margin-top: 0.2rem;
+ line-height: 1;
`;
const ProjectStatusRoot = styled.div`
display: flex;
align-items: center;
- flex-direction: row-reverse;
- margin: 0 20px;
+ justify-content: flex-end;
+ /* margin-right: 0.8rem; */
+ /* flex-direction: row-reverse; */
+`;
+const ProjectStatusTaskAmount = styled.div`
+ text-align: right;
+ font-weight: 400;
+ line-height: 1.5rem;
+ margin-left: 20px;
`;
const ProjectProgressBar = styled(ProgressBar)`
&.bp3-progress-bar {
- margin-right: 20px;
+ display: block;
flex-shrink: 0;
height: 3px;
- max-width: 130px;
-
+ max-width: 100px;
&,
.bp3-progress-meter {
border-radius: 0;