- fixed typo;

- new version of menu topbar;
- registration page - added automatic birth date population;
This commit is contained in:
Vitalii Kiiko
2024-10-07 15:45:04 +02:00
parent ad42ed6326
commit 7aa703b465
6 changed files with 104 additions and 42 deletions

View File

@@ -1,4 +1,4 @@
import React, { useRef } from 'react';
import React, { useState, useEffect } from 'react';
import { __ } from '@wordpress/i18n';
import { useNavigate } from 'react-router-dom';
@@ -7,7 +7,6 @@ import { storeSet, useStore, useTrackedStore } from '../../store';
// components
import { Menu } from 'primereact/menu';
import { Avatar } from 'primereact/avatar';
import { intersection } from 'ramda';
const TopBarProfileMenu = ({ menuLeftRef }) => {
@@ -15,7 +14,19 @@ const TopBarProfileMenu = ({ menuLeftRef }) => {
const userData = useTrackedStore().main.userData();
const fulleName = `${userData.firstName} ${userData.lastName}`;
const permissions = useStore().main.getPermissions();
const companies = useStore().main.companies();
const chosenCompanyId = useStore().main.chosenCompanyId()
const [companyItems, setCompanyItems] = useState([]);
const renderCompanyItem = (item) => (
<span className="topBar__menuCompanyItem"
onClick={chosenCompanyId === item.companyId ? () => {
} : switchCompany(item.companyId)}
data-id={item.companyId}
data-active={chosenCompanyId === item.companyId}>
<i className="pi pi-building-columns"></i>
{item.label}
</span>
);
let items = [
{
template: (item, options) => {
@@ -45,6 +56,11 @@ const TopBarProfileMenu = ({ menuLeftRef }) => {
},
enable: !intersection(permissions, ['MANAGE_TENDERS']).length
},
{
label: __('Seleziona azienda', 'gepafin'),
items: companyItems,
enable: true
},
{
separator: true,
enable: true
@@ -59,6 +75,19 @@ const TopBarProfileMenu = ({ menuLeftRef }) => {
}
].filter(o => o.enable);
const switchCompany = (id) => {
console.log('switchCompany');
}
useEffect(() => {
const items = companies.map(o => ({
label: o.companyName,
companyId: o.id,
template: renderCompanyItem
}));
setCompanyItems(items)
}, [companies])
return <>
<Menu model={items} popup ref={menuLeftRef} id="topBar_profileMenu" className="topBar__menuProfile"/>
</>