From 8f65e08bdf1832fa57c0b1b5d032e63b5bc880da Mon Sep 17 00:00:00 2001 From: 1emu Date: Mon, 20 May 2024 12:54:54 -0300 Subject: [PATCH] chore: editable personnel view --- src/components/GrantRequest/PersonnelView.tsx | 20 ++++------ .../Projects/EditablePersonnelView.tsx | 37 +++++++++++++++++++ .../Projects/ProjectGeneralInfo.tsx | 4 +- 3 files changed, 47 insertions(+), 14 deletions(-) create mode 100644 src/components/Projects/EditablePersonnelView.tsx diff --git a/src/components/GrantRequest/PersonnelView.tsx b/src/components/GrantRequest/PersonnelView.tsx index 04b126b..0b3736d 100644 --- a/src/components/GrantRequest/PersonnelView.tsx +++ b/src/components/GrantRequest/PersonnelView.tsx @@ -2,11 +2,10 @@ import { useMemo } from 'react' import useFormatMessage from '../../hooks/useFormatMessage' import { TeamMember } from '../../types/grants' -import EditableBreakdownContent from '../Projects/EditableBreakdownContent.tsx' -import ExpandableBreakdownItem from '../Projects/ExpandableBreakdownItem.tsx' -import ProjectSidebarTitle from '../Projects/ProjectSidebarTitle.tsx' +import ProposalMarkdown from '../Proposal/View/ProposalMarkdown' -import { BreakdownItem } from './BreakdownAccordion' +import BreakdownAccordion, { BreakdownItem } from './BreakdownAccordion' +import BreakdownContent from './BreakdownContent' interface Props { members: TeamMember[] @@ -16,20 +15,17 @@ function PersonnelView({ members }: Props) { const t = useFormatMessage() const items = useMemo( () => - members.map(({ name, role, about, relevantLink, address }) => ({ - title: name + (address || ''), + members.map(({ name, role, about, relevantLink }) => ({ + title: name, subtitle: role, - content: {}} relevantLink={relevantLink} />, + content: , })), [members] ) - return ( <> - - {items.map((item, key) => { - return - })} + + ) } diff --git a/src/components/Projects/EditablePersonnelView.tsx b/src/components/Projects/EditablePersonnelView.tsx new file mode 100644 index 0000000..e628007 --- /dev/null +++ b/src/components/Projects/EditablePersonnelView.tsx @@ -0,0 +1,37 @@ +import { useMemo } from 'react' + +import useFormatMessage from '../../hooks/useFormatMessage.ts' +import { TeamMember } from '../../types/grants.ts' +import { BreakdownItem } from '../GrantRequest/BreakdownAccordion.tsx' + +import EditableBreakdownContent from './EditableBreakdownContent.tsx' +import ExpandableBreakdownItem from './ExpandableBreakdownItem.tsx' +import ProjectSidebarTitle from './ProjectSidebarTitle.tsx' + +interface Props { + members: TeamMember[] +} + +function EditablePersonnelView({ members }: Props) { + const t = useFormatMessage() + const items = useMemo( + () => + members.map(({ name, role, about, relevantLink, address }) => ({ + title: name + (address || ''), + subtitle: role, + content: {}} relevantLink={relevantLink} />, + })), + [members] + ) + + return ( + <> + + {items.map((item, key) => { + return + })} + + ) +} + +export default EditablePersonnelView diff --git a/src/components/Projects/ProjectGeneralInfo.tsx b/src/components/Projects/ProjectGeneralInfo.tsx index e78ec12..aaa041d 100644 --- a/src/components/Projects/ProjectGeneralInfo.tsx +++ b/src/components/Projects/ProjectGeneralInfo.tsx @@ -1,6 +1,6 @@ import { Project } from '../../types/proposals.ts' -import PersonnelView from '../GrantRequest/PersonnelView.tsx' +import EditablePersonnelView from './EditablePersonnelView.tsx' import './ProjectSidebar.css' interface Props { @@ -10,7 +10,7 @@ interface Props { function ProjectGeneralInfo({ project }: Props) { return (
- +
) }