import React, { ReactElement, useEffect } from 'react'; import Head from 'next/head' import DatePicker from "react-datepicker"; import "react-datepicker/dist/react-datepicker.css"; import dayjs from "dayjs"; import {useAppDispatch, useAppSelector} from "../../stores/hooks"; import {useRouter} from "next/router"; import { fetch } from '../../stores/funding_sources/funding_sourcesSlice' import {saveFile} from "../../helpers/fileSaver"; import dataFormatter from '../../helpers/dataFormatter'; import ImageField from "../../components/ImageField"; import LayoutAuthenticated from "../../layouts/Authenticated"; import {getPageTitle} from "../../config"; import SectionTitleLineWithButton from "../../components/SectionTitleLineWithButton"; import SectionMain from "../../components/SectionMain"; import CardBox from "../../components/CardBox"; import BaseButton from "../../components/BaseButton"; import BaseDivider from "../../components/BaseDivider"; import {mdiChartTimelineVariant} from "@mdi/js"; import {SwitchField} from "../../components/SwitchField"; import FormField from "../../components/FormField"; import {hasPermission} from "../../helpers/userPermissions"; const Funding_sourcesView = () => { const router = useRouter() const dispatch = useAppDispatch() const { funding_sources } = useAppSelector((state) => state.funding_sources) const { currentUser } = useAppSelector((state) => state.auth); const { id } = router.query; function removeLastCharacter(str) { console.log(str,`str`) return str.slice(0, -1); } useEffect(() => { dispatch(fetch({ id })); }, [dispatch, id]); return ( <> {getPageTitle('View funding_sources')} {hasPermission(currentUser, 'READ_ORGANIZATIONS') &&

Organization

{funding_sources?.organization?.name ?? 'No data'}

}

FundingSourceName

{funding_sources?.name}

SourceType

{funding_sources?.source_type ?? 'No data'}

ReferenceCode

{funding_sources?.reference_code}

Currency

{funding_sources?.currency ?? 'No data'}

TotalCommittedAmount

{funding_sources?.total_committed_amount || 'No data'}

{funding_sources.effective_date ? :

No EffectiveDate

}

Status

{funding_sources?.status ?? 'No data'}

<>

Budget_programs FundingSource

{funding_sources.budget_programs_funding_source && Array.isArray(funding_sources.budget_programs_funding_source) && funding_sources.budget_programs_funding_source.map((item: any) => ( router.push(`/budget_programs/budget_programs-view/?id=${item.id}`)}> ))}
ProgramName ProgramCode Objective Status ApprovedAmount Currency
{ item.name } { item.code } { item.objective } { item.status } { item.approved_amount } { item.currency }
{!funding_sources?.budget_programs_funding_source?.length &&
No data
}
<>

Programs FundingSource

{funding_sources.programs_funding_source && Array.isArray(funding_sources.programs_funding_source) && funding_sources.programs_funding_source.map((item: any) => ( router.push(`/programs/programs-view/?id=${item.id}`)}> ))}
ProgramName ProgramCode Status BudgetAmount Currency
{ item.name } { item.code } { item.status } { item.budget_amount } { item.currency }
{!funding_sources?.programs_funding_source?.length &&
No data
}
router.push('/funding_sources/funding_sources-list')} />
); }; Funding_sourcesView.getLayout = function getLayout(page: ReactElement) { return ( {page} ) } export default Funding_sourcesView;