diff --git a/src/components/GrantRequest/TeamMemberItem.css b/src/components/GrantRequest/BreakdownItem.css
similarity index 86%
rename from src/components/GrantRequest/TeamMemberItem.css
rename to src/components/GrantRequest/BreakdownItem.css
index e5751526a..f2380ad2d 100644
--- a/src/components/GrantRequest/TeamMemberItem.css
+++ b/src/components/GrantRequest/BreakdownItem.css
@@ -1,4 +1,4 @@
-.TeamMemberItem {
+.BreakdownItem {
display: flex;
align-items: center;
justify-content: space-between;
@@ -12,7 +12,7 @@
cursor: pointer;
}
-.TeamMemberItem__Concept {
+.BreakdownItem__Title {
margin: 0;
font-weight: var(--weight-semi-bold);
font-size: 15px;
@@ -20,7 +20,7 @@
color: var(--black-700);
}
-.TeamMemberItem__Duration {
+.BreakdownItem__Subtitle {
margin: 0;
font-weight: var(--weight-normal);
font-size: 11px;
@@ -29,14 +29,14 @@
color: var(--black-600);
}
-.TeamMemberItem__BudgetContainer {
+.BreakdownItem__Container {
display: flex;
flex-direction: row;
align-items: center;
gap: 18px;
}
-.TeamMemberItem__Budget {
+.BreakdownItem__Extra {
font-weight: var(--weight-normal);
font-size: 15px;
line-height: 28px;
diff --git a/src/components/GrantRequest/BreakdownItem.tsx b/src/components/GrantRequest/BreakdownItem.tsx
new file mode 100644
index 000000000..a7477f37c
--- /dev/null
+++ b/src/components/GrantRequest/BreakdownItem.tsx
@@ -0,0 +1,29 @@
+import React from 'react'
+
+import ChevronRightCircleOutline from '../Icon/ChevronRightCircleOutline'
+
+import './BreakdownItem.css'
+
+interface Props {
+ title: string
+ subtitle: string
+ extra?: string
+ onClick: () => void
+}
+
+function BreakdownItem({ title, subtitle, extra, onClick }: Props) {
+ return (
+
+
+
{title}
+ {subtitle}
+
+
+ {extra && {extra}}
+
+
+
+ )
+}
+
+export default BreakdownItem
diff --git a/src/components/GrantRequest/BudgetBreakdownConcept.css b/src/components/GrantRequest/BudgetBreakdownConcept.css
deleted file mode 100644
index 5c94b02eb..000000000
--- a/src/components/GrantRequest/BudgetBreakdownConcept.css
+++ /dev/null
@@ -1,58 +0,0 @@
-.BudgetBreakdownConcept {
- display: flex;
- align-items: center;
- justify-content: space-between;
- background: var(--white-900);
- margin-bottom: 23px;
- padding: 0 16px;
- height: 64px;
- border: 1px solid var(--black-300);
- box-shadow: 0px 1px 4px var(--alpha-black-300);
- border-radius: 8px;
- cursor: pointer;
-}
-
-.BudgetBreakdownConcept__Concept {
- margin: 0;
- font-weight: var(--weight-semi-bold);
- font-size: 15px;
- letter-spacing: 0.4px;
- color: var(--black-700);
-}
-
-.BudgetBreakdownConcept__Duration {
- margin: 0;
- font-weight: var(--weight-normal);
- font-size: 11px;
- letter-spacing: 0.4px;
- text-transform: uppercase;
- color: var(--black-600);
-}
-
-.BudgetBreakdownConcept__BudgetContainer {
- display: flex;
- flex-direction: row;
- align-items: center;
- gap: 18px;
-}
-
-.BudgetBreakdownConcept__Budget {
- font-weight: var(--weight-normal);
- font-size: 15px;
- line-height: 28px;
- display: flex;
- align-items: flex-end;
- text-align: right;
- letter-spacing: 0.4px;
- color: var(--black-600);
-}
-
-.BudgetBreakdownConcept__DeleteButton {
- display: flex;
- align-items: center;
- border: none;
- background: none;
- margin: 0;
- padding: 0;
- cursor: pointer;
-}
diff --git a/src/components/GrantRequest/BudgetBreakdownConcept.tsx b/src/components/GrantRequest/BudgetBreakdownConcept.tsx
deleted file mode 100644
index c35f1adab..000000000
--- a/src/components/GrantRequest/BudgetBreakdownConcept.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import React from 'react'
-
-import { BudgetBreakdownConcept as BudgetBreakdownConceptType } from '../../entities/Grant/types'
-import { CURRENCY_FORMAT_OPTIONS } from '../../helpers'
-import ChevronRightCircleOutline from '../Icon/ChevronRightCircleOutline'
-
-import './BudgetBreakdownConcept.css'
-
-interface Props {
- item: BudgetBreakdownConceptType
- onClick: () => void
-}
-
-const BudgetBreakdownConcept = ({ item, onClick }: Props) => {
- const { concept, estimatedBudget, duration } = item
-
- return (
-
-
-
{concept}
- {duration} months
-
-
-
- {Number(estimatedBudget).toLocaleString(undefined, CURRENCY_FORMAT_OPTIONS)}
-
-
-
-
- )
-}
-
-export default BudgetBreakdownConcept
diff --git a/src/components/GrantRequest/GrantRequestDueDiligenceSection.tsx b/src/components/GrantRequest/GrantRequestDueDiligenceSection.tsx
index 8cd27c01d..f0161cfc0 100644
--- a/src/components/GrantRequest/GrantRequestDueDiligenceSection.tsx
+++ b/src/components/GrantRequest/GrantRequestDueDiligenceSection.tsx
@@ -8,6 +8,7 @@ import {
GrantRequestDueDiligence,
} from '../../entities/Grant/types'
import { userModifiedForm } from '../../entities/Proposal/utils'
+import { CURRENCY_FORMAT_OPTIONS } from '../../helpers'
import useFormatMessage from '../../hooks/useFormatMessage'
import SubLabel from '../Common/SubLabel'
import Label from '../Common/Typography/Label'
@@ -15,7 +16,7 @@ import ProjectRequestSection from '../ProjectRequest/ProjectRequestSection'
import AddBox from './AddBox'
import AddBudgetBreakdownModal from './AddBudgetBreakdownModal'
-import BudgetBreakdownConcept from './BudgetBreakdownConcept'
+import BreakdownItem from './BreakdownItem'
import './GrantRequestDueDiligenceSection.css'
export const INITIAL_GRANT_REQUEST_DUE_DILIGENCE_STATE: GrantRequestDueDiligence = {
@@ -97,9 +98,11 @@ export default function GrantRequestDueDiligenceSection({
{t('page.submit_grant.due_diligence.budget_breakdown_detail', { value: fundingLeftToDisclose })}
{dueDiligenceState.budgetBreakdown.map((item, index) => (
- {
setSelectedBudgetBreakdownConcept(item)
setModalOpen(true)
diff --git a/src/components/GrantRequest/GrantRequestTeamSection.tsx b/src/components/GrantRequest/GrantRequestTeamSection.tsx
index 6f3fd8758..658888827 100644
--- a/src/components/GrantRequest/GrantRequestTeamSection.tsx
+++ b/src/components/GrantRequest/GrantRequestTeamSection.tsx
@@ -2,7 +2,7 @@ import React, { useCallback, useEffect, useState } from 'react'
import isEmpty from 'lodash/isEmpty'
-import { GrantRequest, GrantRequestTeam, TeamMember } from '../../entities/Grant/types'
+import { GrantRequestTeam, TeamMember } from '../../entities/Grant/types'
import { userModifiedForm } from '../../entities/Proposal/utils'
import useFormatMessage from '../../hooks/useFormatMessage'
import SubLabel from '../Common/SubLabel'
@@ -11,7 +11,7 @@ import ProjectRequestSection from '../ProjectRequest/ProjectRequestSection'
import AddBox from './AddBox'
import AddTeamMemberModal from './AddTeamMemberModal'
-import TeamMemberItem from './TeamMemberItem'
+import BreakdownItem from './BreakdownItem'
export const INITIAL_GRANT_REQUEST_TEAM_STATE: GrantRequestTeam = {
members: [],
@@ -76,9 +76,10 @@ export default function GrantRequestTeamSection({ sectionNumber, onValidation, i
{t('page.submit_grant.team.members_detail')}
{teamState.members.map((item, index) => (
- {
setSelectedTeamMember(item)
setModalOpen(true)
diff --git a/src/components/GrantRequest/TeamMemberItem.tsx b/src/components/GrantRequest/TeamMemberItem.tsx
deleted file mode 100644
index 507069e93..000000000
--- a/src/components/GrantRequest/TeamMemberItem.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import React from 'react'
-
-import { TeamMember } from '../../entities/Grant/types'
-import ChevronRightCircleOutline from '../Icon/ChevronRightCircleOutline'
-
-import './TeamMemberItem.css'
-
-interface Props {
- item: TeamMember
- onClick: () => void
-}
-
-const TeamMemberItem = ({ item, onClick }: Props) => {
- const { name, role } = item
-
- return (
-
-
-
{name}
- {role}
-
-
-
- )
-}
-
-export default TeamMemberItem