Skip to content

Commit 5bb2e85

Browse files
authored
using avatars for both to and from in Rights with others pages (#1426)
1 parent f8fea04 commit 5bb2e85

File tree

4 files changed

+64
-25
lines changed

4 files changed

+64
-25
lines changed

src/features/amUI/common/UserPageHeader/UserPageHeader.module.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66

77
.avatar {
88
grid-area: avatar;
9+
display: flex;
10+
justify-content: center;
11+
align-items: center;
912
}
1013
.name {
1114
grid-area: name;

src/features/amUI/common/UserPageHeader/UserPageHeader.tsx

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,59 @@
11
import { Avatar, DsParagraph, DsHeading } from '@altinn/altinn-components';
22
import type { ReactNode } from 'react';
3-
4-
import classes from './UserPageHeader.module.css';
3+
import { ArrowRightIcon } from '@navikt/aksel-icons';
54

65
import { PartyType } from '@/rtk/features/userInfoApi';
76

7+
import classes from './UserPageHeader.module.css';
8+
89
interface UserPageHeaderProps {
910
userName?: string;
1011
userType?: PartyType;
1112
subHeading?: string;
1213
roles?: ReactNode;
14+
secondaryAvatarName?: string;
15+
secondaryAvatarType?: PartyType;
1316
}
1417

15-
export const UserPageHeader = ({ userName, userType, subHeading, roles }: UserPageHeaderProps) => {
16-
return (
17-
<div className={classes.headingContainer}>
18+
export const UserPageHeader = ({
19+
userName,
20+
userType,
21+
subHeading,
22+
roles,
23+
secondaryAvatarName,
24+
secondaryAvatarType,
25+
}: UserPageHeaderProps) => {
26+
const avatar = () => {
27+
if (secondaryAvatarName && secondaryAvatarType) {
28+
return (
29+
<div className={classes.avatar}>
30+
<Avatar
31+
name={userName || ''}
32+
size={'lg'}
33+
type={userType === PartyType.Organization ? 'company' : 'person'}
34+
/>
35+
<ArrowRightIcon style={{ fontSize: '1.5rem' }} />
36+
<Avatar
37+
name={secondaryAvatarName}
38+
size={'lg'}
39+
type={secondaryAvatarType === PartyType.Organization ? 'company' : 'person'}
40+
/>
41+
</div>
42+
);
43+
}
44+
return (
1845
<Avatar
1946
className={classes.avatar}
2047
name={userName || ''}
2148
size={'lg'}
2249
type={userType === PartyType.Organization ? 'company' : 'person'}
2350
/>
51+
);
52+
};
53+
54+
return (
55+
<div className={classes.headingContainer}>
56+
{avatar()}
2457
<DsHeading
2558
level={1}
2659
data-size='sm'

src/features/amUI/reporteeRightsPage/ReporteeAccessPackageSection.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ import { useTranslation } from 'react-i18next';
22
import { useEffect, useRef, useState } from 'react';
33
import { DsHeading } from '@altinn/altinn-components';
44

5+
import type { AccessPackage } from '@/rtk/features/accessPackageApi';
6+
57
import { AccessPackageList } from '../common/AccessPackageList/AccessPackageList';
68
import { DelegationAction } from '../common/DelegationModal/EditModal';
79
import { AccessPackageInfoModal } from '../userRightsPage/AccessPackageSection/AccessPackageInfoModal';
810
import { useDelegationModalContext } from '../common/DelegationModal/DelegationModalContext';
911
import { OldRolesAlert } from '../common/OldRolesAlert/OldRolesAlert';
1012

11-
import type { AccessPackage } from '@/rtk/features/accessPackageApi';
12-
1313
interface ReporteeAccessPackageSectionProps {
1414
numberOfAccesses?: number;
1515
}
@@ -42,6 +42,7 @@ export const ReporteeAccessPackageSection = ({
4242
availableActions={[DelegationAction.REVOKE, DelegationAction.REQUEST]}
4343
useDeleteConfirm
4444
showAllPackages
45+
minimizeAvailablePackages
4546
onSelect={(accessPackage) => {
4647
setModalItem(accessPackage);
4748
modalRef.current?.showModal();

src/features/amUI/reporteeRightsPage/ReporteeRightsPage.tsx

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@ import * as React from 'react';
22
import { useTranslation } from 'react-i18next';
33
import { useParams } from 'react-router';
44

5+
import { useDocumentTitle } from '@/resources/hooks/useDocumentTitle';
6+
import { PageWrapper } from '@/components';
7+
import { useGetPartyByUUIDQuery } from '@/rtk/features/lookupApi';
8+
import { useGetUserAccessesQuery } from '@/rtk/features/userInfoApi';
9+
import { amUIPath } from '@/routes/paths';
10+
import { getCookie } from '@/resources/Cookie/CookieMethods';
11+
import { filterDigdirRole } from '@/resources/utils/roleUtils';
12+
import { rerouteIfNotConfetti } from '@/resources/utils/featureFlagUtils';
13+
514
import { UserPageHeader } from '../common/UserPageHeader/UserPageHeader';
615
import { RightsTabs } from '../common/RightsTabs/RightsTabs';
716
import { UserRoles } from '../common/UserRoles/UserRoles';
@@ -13,24 +22,15 @@ import { PartyRepresentationProvider } from '../common/PartyRepresentationContex
1322
import { ReporteeAccessPackageSection } from './ReporteeAccessPackageSection';
1423
import { ReporteeRoleSection } from './ReporteeRoleSection';
1524

16-
import { useDocumentTitle } from '@/resources/hooks/useDocumentTitle';
17-
import { PageWrapper } from '@/components';
18-
import { useGetPartyByUUIDQuery } from '@/rtk/features/lookupApi';
19-
import { useGetReporteeQuery, useGetUserAccessesQuery } from '@/rtk/features/userInfoApi';
20-
import { amUIPath } from '@/routes/paths';
21-
import { getCookie } from '@/resources/Cookie/CookieMethods';
22-
import { filterDigdirRole } from '@/resources/utils/roleUtils';
23-
import { rerouteIfNotConfetti } from '@/resources/utils/featureFlagUtils';
24-
2525
export const ReporteeRightsPage = () => {
2626
const { t } = useTranslation();
2727
const { id: reporteeUuid } = useParams();
2828

29-
const { data: reportee } = useGetReporteeQuery();
30-
const { data: party } = useGetPartyByUUIDQuery(reporteeUuid ?? '');
29+
const { data: toParty } = useGetPartyByUUIDQuery(getCookie('AltinnPartyUuid') ?? '');
30+
const { data: fromParty } = useGetPartyByUUIDQuery(reporteeUuid ?? '');
3131

3232
useDocumentTitle(t('user_rights_page.page_title'));
33-
const name = reporteeUuid ? party?.name : '';
33+
const name = reporteeUuid ? fromParty?.name : '';
3434

3535
const { data: allAccesses } = useGetUserAccessesQuery({
3636
from: reporteeUuid ?? '',
@@ -51,15 +51,17 @@ export const ReporteeRightsPage = () => {
5151
<PageContainer backUrl={`/${amUIPath.Reportees}`}>
5252
<UserPageHeader
5353
userName={name}
54-
userType={party?.partyTypeName}
55-
subHeading={t('reportee_rights_page.heading_subtitle', { name: reportee?.name })}
54+
userType={fromParty?.partyTypeName}
55+
secondaryAvatarName={toParty?.name}
56+
secondaryAvatarType={toParty?.partyTypeName}
57+
subHeading={t('reportee_rights_page.heading_subtitle', { name: toParty?.name })}
5658
roles={
5759
displayLimitedPreviewLaunch &&
58-
!!reportee?.partyUuid &&
59-
!!party?.partyUuid && (
60+
!!toParty?.partyUuid &&
61+
!!fromParty?.partyUuid && (
6062
<UserRoles
61-
rightOwnerUuid={reportee.partyUuid}
62-
rightHolderUuid={party.partyUuid}
63+
rightOwnerUuid={toParty.partyUuid}
64+
rightHolderUuid={fromParty.partyUuid}
6365
/>
6466
)
6567
}

0 commit comments

Comments
 (0)