diff --git a/public/index.html b/public/index.html
index 9bc7318..0e46bc7 100644
--- a/public/index.html
+++ b/public/index.html
@@ -2,10 +2,10 @@
-
+
-
+
%REACT_APP_TAB_TITLE%
diff --git a/public/loaded-files/empty-cache-chrome.png b/public/loaded-files/empty-cache-chrome.png
new file mode 100644
index 0000000..416da60
Binary files /dev/null and b/public/loaded-files/empty-cache-chrome.png differ
diff --git a/public/loaded-files/empty-cache-edge.png b/public/loaded-files/empty-cache-edge.png
new file mode 100644
index 0000000..2117ef2
Binary files /dev/null and b/public/loaded-files/empty-cache-edge.png differ
diff --git a/public/loaded-files/empty-cache-firefox.png b/public/loaded-files/empty-cache-firefox.png
new file mode 100644
index 0000000..d2e64cb
Binary files /dev/null and b/public/loaded-files/empty-cache-firefox.png differ
diff --git a/public/loaded-files/favicon.ico b/public/loaded-files/favicon.ico
index a11777c..d27de52 100644
Binary files a/public/loaded-files/favicon.ico and b/public/loaded-files/favicon.ico differ
diff --git a/public/loaded-files/termini-e-condizioni.pdf b/public/loaded-files/termini-e-condizioni.pdf
new file mode 100644
index 0000000..1805d0f
Binary files /dev/null and b/public/loaded-files/termini-e-condizioni.pdf differ
diff --git a/public/manifest.json b/public/manifest.json
index 86677be..3cfd5d0 100644
--- a/public/manifest.json
+++ b/public/manifest.json
@@ -8,13 +8,13 @@
"type": "image/x-icon"
},
{
- "src": "logo192.png",
- "type": "image/png",
+ "src": "logo.svg",
+ "type": "image/svg+xml",
"sizes": "192x192"
},
{
- "src": "logo512.png",
- "type": "image/png",
+ "src": "logo.svg",
+ "type": "image/svg+xml",
"sizes": "512x512"
}
],
diff --git a/src/App.js b/src/App.js
index 9ff20f8..7d3a901 100644
--- a/src/App.js
+++ b/src/App.js
@@ -4,7 +4,7 @@ import Routes from './routes';
import { createI18n, setLocaleData } from '@wordpress/i18n';
import { I18nProvider } from '@wordpress/react-i18n';
import './assets/scss/theme.scss';
-import { isEmpty } from 'ramda'
+import { isEmpty, head } from 'ramda'
// store
import { useStore, storeSet, storeGet } from './store';
@@ -17,6 +17,7 @@ const i18n = createI18n({}, 'gepafin');
function App() {
const role = useStore().main.getRole();
const chosenCompanyId = useStore().main.chosenCompanyId();
+ const isRedirectedOnceNoCompany = useStore().main.isRedirectedOnceNoCompany();
const callback = (data) => {
if (data.status === 'SUCCESS') {
@@ -36,9 +37,23 @@ function App() {
const userData = storeGet.main.userData();
if (userData.companies && !isEmpty(userData.companies)) {
storeSet.main.companies(userData.companies);
+ const company = head(userData.companies.filter(o => o.id === chosenCompanyId));
+
+ if (!company) {
+ storeSet.main.chosenCompanyId(userData.companies[0].id);
+ }
+ } else {
+ storeSet.main.chosenCompanyId(0);
+ const { origin, href } = window.location;
+ const url = `${origin}/agguingi-azienda`;
+
+ if (!isRedirectedOnceNoCompany && url !== href) {
+ storeSet.main.isRedirectedOnceNoCompany(true);
+ window.location.replace('/agguingi-azienda')
+ }
}
}
- }, [role])
+ }, [role]);
useEffect(() => {
storeSet.main.setAsyncRequest();
diff --git a/src/assets/scss/components/layout.scss b/src/assets/scss/components/layout.scss
index 844fc06..6957419 100644
--- a/src/assets/scss/components/layout.scss
+++ b/src/assets/scss/components/layout.scss
@@ -25,6 +25,15 @@ body {
flex-grow: 1;
}
+iframe {
+ width: 100%;
+ height: 100%;
+}
+
+img {
+ max-width: 100%;
+}
+
.inner {
display: flex;
height: 100%;
diff --git a/src/components/FormField/components/Switch/index.js b/src/components/FormField/components/Switch/index.js
index 29efd39..c38cbf9 100644
--- a/src/components/FormField/components/Switch/index.js
+++ b/src/components/FormField/components/Switch/index.js
@@ -27,6 +27,7 @@ const Switch = ({
rules={config}
render={({ field, fieldState }) => (
field.onChange(e.value)}
diff --git a/src/components/TopBarProfileMenu/index.js b/src/components/TopBarProfileMenu/index.js
index bbcd140..32bfac6 100644
--- a/src/components/TopBarProfileMenu/index.js
+++ b/src/components/TopBarProfileMenu/index.js
@@ -86,6 +86,7 @@ const TopBarProfileMenu = ({ menuLeftRef }) => {
const switchCompany = (id) => {
if (chosenCompanyId !== id) {
storeSet.main.chosenCompanyId(id);
+ console.log('set company 2', id)
if (toast.current) {
toast.current.show({
severity: 'success',
diff --git a/src/configData.js b/src/configData.js
index b8e4b46..1eea6c7 100644
--- a/src/configData.js
+++ b/src/configData.js
@@ -5,7 +5,10 @@ export const mimeTypes = [
{ name: 'Immagine', code: 'image/*' },
{
name: 'Word',
- code: 'application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document'
+ code: '.doc,.docx,.odt,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.oasis.opendocument.text'
},
- { name: 'Excel doc', code: 'application/vnd.ms-excel' }
+ {
+ name: 'Excel',
+ code: '.xls,.xlsx,.ods,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.oasis.opendocument.spreadsheet'
+ }
];
\ No newline at end of file
diff --git a/src/pages/AddCompany/index.js b/src/pages/AddCompany/index.js
index a04264c..09e3b01 100644
--- a/src/pages/AddCompany/index.js
+++ b/src/pages/AddCompany/index.js
@@ -75,6 +75,7 @@ const AddCompany = () => {
} else {
newCompanies = [...companies, company];
storeSet.main.chosenCompanyId(company.id);
+ console.log('set company 1', company.id)
}
storeSet.main.companies(newCompanies);
diff --git a/src/pages/Bandi/components/AllBandiTable/index.js b/src/pages/Bandi/components/AllBandiTable/index.js
index 7600244..cc4191b 100644
--- a/src/pages/Bandi/components/AllBandiTable/index.js
+++ b/src/pages/Bandi/components/AllBandiTable/index.js
@@ -140,7 +140,8 @@ const AllBandiTable = () => {
filters={filters}
globalFilterFields={['name', 'status']}
header={header}
- emptyMessage="Nothing found." onFilter={(e) => setFilters(e.filters)}>
+ emptyMessage={__('Nessun dato disponibile', 'gepafin')}
+ onFilter={(e) => setFilters(e.filters)}>
diff --git a/src/pages/BandiBeneficiario/components/AllBandiAccordion/index.js b/src/pages/BandiBeneficiario/components/AllBandiAccordion/index.js
index c97204c..d0c1160 100644
--- a/src/pages/BandiBeneficiario/components/AllBandiAccordion/index.js
+++ b/src/pages/BandiBeneficiario/components/AllBandiAccordion/index.js
@@ -126,8 +126,13 @@ const AllBandiAccordion = () => {
return(
- setExpandedRows(e.data)}
rowExpansionTemplate={rowExpansionTemplate}
diff --git a/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js b/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js
index ca6d5d7..e9f9ec3 100644
--- a/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js
+++ b/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js
@@ -42,7 +42,7 @@ const ElementSetting = ({ setting, changeFn, updateDataFn }) => {
};
const header = renderHeader();
-
+ console.log('setting', setting)
const getProperField = (setting) => {
if (setting.name === 'options') {
return {
const createCallBack = (data) => {
if (data.status === 'SUCCESS') {
setNewQuestion('');
- /*if (bandoMsgs.current && data.message) {
- bandoMsgs.current.show([
- {
- sticky: true, severity: 'success', summary: '',
- detail: data.message,
- closable: true
- }
- ]);
-
- setTimeout(() => {
- bandoMsgs.current.clear();
- }, 5000);
- }*/
if (toast.current) {
toast.current.show({
severity: 'success',
@@ -355,7 +342,7 @@ const BandoViewBeneficiario = () => {
label={__('Salva', 'gepafin')}/>
- {chosenCompanyId === 0
+ {!chosenCompanyId || chosenCompanyId === 0
? <>
diff --git a/src/pages/Dashboard/components/LatestBandiTable/index.js b/src/pages/Dashboard/components/LatestBandiTable/index.js
index 1a02633..94b45b5 100644
--- a/src/pages/Dashboard/components/LatestBandiTable/index.js
+++ b/src/pages/Dashboard/components/LatestBandiTable/index.js
@@ -183,7 +183,8 @@ const LatestBandiTable = () => {
filters={filters}
globalFilterFields={['name', 'status']}
header={header}
- emptyMessage="Nothing found." onFilter={(e) => setFilters(e.filters)}>
+ emptyMessage={__('Nessun dato disponibile', 'gepafin')}
+ onFilter={(e) => setFilters(e.filters)}>
{
filters={filters}
globalFilterFields={['name', 'status']}
header={header}
- emptyMessage="Nothing found." onFilter={(e) => setFilters(e.filters)}>
+ emptyMessage={__('Nessun dato disponibile', 'gepafin')}
+ onFilter={(e) => setFilters(e.filters)}>
diff --git a/src/pages/DashboardBeneficiario/components/LatestBandiTable/index.js b/src/pages/DashboardBeneficiario/components/LatestBandiTable/index.js
index 32228fd..b852369 100644
--- a/src/pages/DashboardBeneficiario/components/LatestBandiTable/index.js
+++ b/src/pages/DashboardBeneficiario/components/LatestBandiTable/index.js
@@ -151,7 +151,8 @@ const LatestBandiTable = () => {
filters={filters}
globalFilterFields={['name', 'status']}
header={header}
- emptyMessage="Nothing found." onFilter={(e) => setFilters(e.filters)}>
+ emptyMessage={__('Nessun dato disponibile', 'gepafin')}
+ onFilter={(e) => setFilters(e.filters)}>
{
filters={filters}
globalFilterFields={['name', 'status']}
header={header}
- emptyMessage="Nothing found." onFilter={(e) => setFilters(e.filters)}>
+ emptyMessage={__('Nessun dato disponibile', 'gepafin')}
+ onFilter={(e) => setFilters(e.filters)}>
{
const token = useStore().main.token();
const errorMsgs = useRef(null);
const [loading, setLoading] = useState(false);
+ const [visibleCacheFaq, setVisibleCacheFaq] = useState(false);
let [searchParams] = useSearchParams();
+ const { origin } = window.location;
const loginWithSpid = () => {
if (!loading) {
@@ -56,6 +63,15 @@ const Login = () => {
setLoading(false);
}
+ const openCacheFaq = (e) => {
+ e.preventDefault();
+ setVisibleCacheFaq(true);
+ }
+
+ const hideCacheFaq = () => {
+ setVisibleCacheFaq(false);
+ }
+
useEffect(() => {
if (!isEmpty(token)) {
window.location.replace('/')
@@ -104,6 +120,72 @@ const Login = () => {
{__('Entra con SPID', 'gepafin')}
+
+
+ {__('Hai problemi di accesso con SPID?', 'gepafin')}
+
+
+
)
diff --git a/src/pages/ProfileCompany/index.js b/src/pages/ProfileCompany/index.js
index 26c8f98..50da801 100644
--- a/src/pages/ProfileCompany/index.js
+++ b/src/pages/ProfileCompany/index.js
@@ -82,6 +82,7 @@ const ProfileCompany = () => {
} else {
newCompanies = [...companies, company];
storeSet.main.chosenCompanyId(company.id);
+ console.log('set company 3', company.id)
}
storeSet.main.companies(newCompanies);
diff --git a/src/pages/Registration/index.js b/src/pages/Registration/index.js
index b1ff5df..8cd123e 100644
--- a/src/pages/Registration/index.js
+++ b/src/pages/Registration/index.js
@@ -20,10 +20,12 @@ import LogoIcon from '../../icons/LogoIcon';
import { Button } from 'primereact/button';
import { Messages } from 'primereact/messages';
import { Panel } from 'primereact/panel';
+import { Dialog } from 'primereact/dialog';
const Registration = () => {
const token = useStore().main.token();
const [loading, setLoading] = useState(false);
+ const [visibleTerms, setVisibleTerms] = useState(false);
const errorMsgs = useRef(null);
let [searchParams] = useSearchParams();
const {
@@ -34,6 +36,8 @@ const Registration = () => {
getValues
} = useForm({ mode: 'onChange' });
const values = getValues();
+ const { origin } = window.location;
+ const urlTermsPdf = `${origin}/loaded-files/termini-e-condizioni.pdf`;
const onSubmit = (formData) => {
errorMsgs.current.clear();
@@ -117,6 +121,15 @@ const Registration = () => {
setValue('thirdParty', true);
}
+ const openTermsDoc = (e) => {
+ e.preventDefault();
+ setVisibleTerms(true);
+ }
+
+ const hideTerms = () => {
+ setVisibleTerms(false);
+ }
+
useEffect(() => {
if (!isEmpty(token)) {
setLoading(true);
@@ -279,7 +292,7 @@ const Registration = () => {
}}
toggleable>
- {__('Termini e condizioni', 'gepafin')}
+ {__('Termini e condizioni', 'gepafin')}
@@ -350,9 +363,16 @@ const Registration = () => {