- added message for beneficiary about requirement of adding company;

This commit is contained in:
Vitalii Kiiko
2024-11-15 16:07:03 +01:00
parent 1cb4232fee
commit 7803816e21
6 changed files with 63 additions and 17 deletions

View File

@@ -276,6 +276,10 @@
.summary {
font-weight: bold;
}
a {
color: inherit;
}
}
@container section_with_border (max-width: 600px) {

View File

@@ -28,6 +28,14 @@ body {
}
}
a {
color: inherit;
&:hover {
text-decoration: none;
}
}
#root, .wrapper {
min-height: 100%;
display: flex;

View File

@@ -1,6 +1,6 @@
import React, { useState, useEffect} from 'react';
import { __ } from '@wordpress/i18n';
import { is, uniq, isNil } from 'ramda';
import { is, uniq, isNil, isEmpty } from 'ramda';
import { wrap } from 'object-path-immutable';
// store
@@ -28,6 +28,7 @@ import set404FromErrorResponse from '../../../../helpers/set404FromErrorResponse
const AllBandiAccordion = () => {
const chosenCompanyId = useStore().main.chosenCompanyId();
const isAsyncRequest = useStore().main.isAsyncRequest();
const [items, setItems] = useState(null);
const [filters, setFilters] = useState(null);
@@ -113,11 +114,11 @@ const AllBandiAccordion = () => {
<div className="p-3">
{renderHtmlContent(data.descriptionShort)}
<p>{__('Scadenza', 'gepafin')}: {getDateFromISOstring(data.dates[1])}</p>
{!data.confidi
{!isEmpty(chosenCompanyId) && chosenCompanyId !== 0 && !data.confidi
? <Button onClick={() => goToBandoPage(data.id)} severity="info">
{__('Partecipa', 'gepafin')}
</Button> : null}
{data.confidi
{!isEmpty(chosenCompanyId) && chosenCompanyId !== 0 && data.confidi
? <Button onClick={() => goToBandoPage(data.id)} severity="info">
{__('Mostra', 'gepafin')}
</Button> : null}

View File

@@ -1,12 +1,16 @@
import React from 'react';
import { __ } from '@wordpress/i18n';
import { useNavigate } from 'react-router-dom';
import { Link, useNavigate } from 'react-router-dom';
// components
import AllBandiAccordion from './components/AllBandiAccordion';
import { Button } from 'primereact/button';
import { isEmpty } from 'ramda';
import { useStore } from '../../store';
const BandiBeneficiario = () => {
const chosenCompanyId = useStore().main.chosenCompanyId();
return (
<div className="appPage">
<div className="appPage__pageHeader">
@@ -15,6 +19,19 @@ const BandiBeneficiario = () => {
<div className="appPage__spacer"></div>
{isEmpty(chosenCompanyId) || chosenCompanyId === 0
? <>
<div className="appPageSection__message warning">
<i className="pi pi-exclamation-triangle"></i>
<span className="summary">{__('Attenzione', 'gepafin')}</span>
<span>
{__('Per applicare ai bandi devi Registare un Azienda clicca', 'gepafin')}
<Link to={`/agguingi-azienda`} style={{marginLeft: '0.5ch'}}>{__('qua', 'gepafin')}</Link>
</span>
</div>
<div className="appPage__spacer"></div>
</> : null}
<div className="appPageSection">
<AllBandiAccordion/>
</div>

View File

@@ -1,10 +1,10 @@
import React, { useState, useEffect } from 'react';
import { __ } from '@wordpress/i18n';
import { uniq } from 'ramda';
import { uniq, isEmpty } from 'ramda';
import { Link } from 'react-router-dom';
// store
import { storeSet } from '../../../../store';
import { storeSet, useStore } from '../../../../store';
// api
import BandoService from '../../../../service/bando-service';
@@ -22,6 +22,7 @@ import ProperBandoLabel from '../../../../components/ProperBandoLabel';
const LatestBandiTable = () => {
const chosenCompanyId = useStore().main.chosenCompanyId();
const [items, setItems] = useState(null);
const [filters, setFilters] = useState(null);
const [loading, setLoading] = useState(false);
@@ -145,8 +146,9 @@ const LatestBandiTable = () => {
body={dateEndBodyTemplate} filter filterElement={dateFilterTemplate}/>
<Column field="status" header={__('Stato', 'gepafin')}
style={{ minWidth: '7rem' }} body={statusBodyTemplate} />
<Column header={__('Azioni', 'gepafin')}
body={actionsBodyTemplate}/>
{!isEmpty(chosenCompanyId) && chosenCompanyId !== 0
? <Column header={__('Azioni', 'gepafin')}
body={actionsBodyTemplate}/> : null}
</DataTable>
</div>
)

View File

@@ -1,7 +1,7 @@
import React, { useEffect, useState } from 'react';
import { __ } from '@wordpress/i18n';
import { useNavigate } from 'react-router-dom';
import { head, pathOr } from 'ramda';
import { __, sprintf } from '@wordpress/i18n';
import { Link, useNavigate } from 'react-router-dom';
import { head, isEmpty, pathOr } from 'ramda';
import NumberFlow from '@number-flow/react';
// store
@@ -35,7 +35,8 @@ const DashboardBeneficiario = () => {
}
}
const errGetStats = () => {}
const errGetStats = () => {
}
useEffect(() => {
const existingCompany = head(companies.filter(o => o.id === chosenCompanyId));
@@ -89,6 +90,19 @@ const DashboardBeneficiario = () => {
<div className="appPage__spacer"></div>
{isEmpty(chosenCompanyId) || chosenCompanyId === 0
? <>
<div className="appPageSection__message warning">
<i className="pi pi-exclamation-triangle"></i>
<span className="summary">{__('Attenzione', 'gepafin')}</span>
<span>
{__('Per applicare ai bandi devi Registare un Azienda clicca', 'gepafin')}
<Link to={`/agguingi-azienda`} style={{marginLeft: '0.5ch'}}>{__('qua', 'gepafin')}</Link>
</span>
</div>
<div className="appPage__spacer"></div>
</> : null}
<div className="appPageSection">
<h2>{__('Bandi disponibili', 'gepafin')}</h2>
<LatestBandiTable/>