Skip to content

Commit

Permalink
[#391] Create VisualCardWrapper component
Browse files Browse the repository at this point in the history
  • Loading branch information
wayangalihpratama committed Jan 16, 2025
1 parent b36db59 commit aceb28f
Show file tree
Hide file tree
Showing 5 changed files with 85 additions and 14 deletions.
40 changes: 40 additions & 0 deletions frontend/src/App.scss
Original file line number Diff line number Diff line change
Expand Up @@ -389,3 +389,43 @@
font-family: "TabletGothic" !important;
font-size: 12px;
}

.visual-card-wrapper {
padding: 0;
border-radius: 20px;

.ant-card-head {
padding: 12px 24px;
background: #dfdfdf;
border-radius: 20px 20px 0px 0px;

.title {
font-family: "RocGrotesk";
font-size: 16px;
font-style: normal;
font-weight: 700;
line-height: 157.15%;
}

.button-export {
border: 1px solid #01625f;
font-weight: 600;
font-size: 12px;
background: transparent;
color: #01625f;
border-radius: 40px;

&:hover {
background: #01625f;
border: 1px solid #fff;
color: #fff;
}
}
}

.ant-card-body {
padding: 18px 24px;
border-radius: 0px 0px 20px 20px;
background: #fff;
}
}
9 changes: 7 additions & 2 deletions frontend/src/pages/cases/components/EnterIncomeDataVisual.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import React, { useMemo } from "react";
import { Card, Row, Col, Space } from "antd";
import { CaseUIState, CurrentCaseState } from "../store";
import { thousandFormatter } from "../../../components/chart/options/common";
import { VisualCardWrapper } from ".";

const EnterIncomeDataVisual = () => {
const { activeSegmentId } = CaseUIState.useState((s) => s.general);
Expand Down Expand Up @@ -34,10 +35,14 @@ const EnterIncomeDataVisual = () => {
</Card>
</Col>
<Col span={24}>
<Card>Household Income Bar Chart</Card>
<VisualCardWrapper title="Household Income">
Household Income Bar Chart
</VisualCardWrapper>
</Col>
<Col span={24}>
<Card>Household Income Table</Card>
<VisualCardWrapper title="Household Income">
Household Income Table
</VisualCardWrapper>
</Col>
</Row>
);
Expand Down
32 changes: 32 additions & 0 deletions frontend/src/pages/cases/components/VisualCardWrapper.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import React from "react";
import { Row, Col, Card, Space, Button } from "antd";
import { InfoCircleOutlined } from "@ant-design/icons";

const VisualCardWrapper = ({ children, title }) => {
return (
<Card
className="visual-card-wrapper"
title={
<Row align="middle" gutter={[8, 8]}>
<Col span={19}>
<Space align="center">
<div className="title">{title}</div>
<div>
<InfoCircleOutlined />
</div>
</Space>
</Col>
<Col span={5} align="end">
<Button size="small" className="button-export">
Export
</Button>
</Col>
</Row>
}
>
{children}
</Card>
);
};

export default VisualCardWrapper;
13 changes: 1 addition & 12 deletions frontend/src/pages/cases/components/index.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,9 @@
export { default as AreaUnitFields } from "./AreaUnitFields";
// export { default as SideMenu } from "./SideMenu";
// export { default as CaseProfile } from "./CaseProfile";
// export { default as DataFields } from "./DataFields";
// export { default as IncomeDriverDataEntry } from "./IncomeDriverDataEntry";
// export { default as IncomeDriverForm } from "./IncomeDriverForm";
// export { default as IncomeDriverTarget } from "./IncomeDriverTarget";
// export { default as IncomeDriverDashboard } from "./IncomeDriverDashboard";
// export { default as DashboardIncomeOverview } from "./DashboardIncomeOverview";
// export { default as DashboardSensitivityAnalysis } from "./DashboardSensitivityAnalysis";
// export { default as DashboardScenarioModeling } from "./DashboardScenarioModeling";
// export { default as Questions } from "./Questions";
// export { default as Scenario } from "./Scenario";
export { default as DebounceSelect } from "./DebounceSelect";
export { default as CaseFilter } from "./CaseFilter";
export { default as CaseSettings } from "./CaseSettings";
export { default as SegmentForm } from "./SegmentForm";
export { default as CaseForm } from "./CaseForm";
export { default as EnterIncomeDataVisual } from "./EnterIncomeDataVisual";
export { default as EnterIncomeDataForm } from "./EnterIncomeDataForm";
export { default as VisualCardWrapper } from "./VisualCardWrapper";
5 changes: 5 additions & 0 deletions frontend/src/pages/cases/steps/steps.scss
Original file line number Diff line number Diff line change
Expand Up @@ -192,10 +192,15 @@
padding: 40px 0;

.income-target-wrapper {
padding: 0;
border-radius: 20px;
background: #01625f;
color: #fff;

.ant-card-body {
padding: 12px 24px;
}

.label {
font-family: "TabletGothic";
font-size: 14px;
Expand Down

0 comments on commit aceb28f

Please sign in to comment.