diff --git a/src/modules/account/const/my-material-requests.const.tsx b/src/modules/account/const/my-material-requests.const.tsx index c0f709074..f0bf81b64 100644 --- a/src/modules/account/const/my-material-requests.const.tsx +++ b/src/modules/account/const/my-material-requests.const.tsx @@ -89,21 +89,39 @@ export const GET_MATERIAL_REQUEST_DOWNLOAD_FILTER_ARRAY = (): { }, ]; -export const getAccountMaterialRequestTableColumns = (): Column[] => [ - { - Header: tText('modules/cp/const/material-requests___materiaal'), - accessor: MaterialRequestKeys.material, - Cell: ({ row: { original } }: MaterialRequestRow) => ( - - - {original.objectSchemaName} - - - {original.maintainerName} - - - ), - }, +export const getAccountMaterialRequestTableColumns = ( + isKeyUser: boolean +): Column[] => [ + ...(isKeyUser + ? [ + { + Header: tText('modules/cp/const/material-requests___materiaal'), + accessor: MaterialRequestKeys.material, + Cell: ({ row: { original } }: MaterialRequestRow) => ( + + + {original.objectSchemaName} + + + {original.maintainerName} + + + ), + }, + ] + : [ + { + Header: tText('modules/cp/const/material-requests___materiaal'), + accessor: MaterialRequestKeys.material, + }, + { + Header: tText('modules/cp/const/material-requests___aanbieder'), + accessor: MaterialRequestKeys.maintainer, + Cell: ({ row: { original } }: MaterialRequestRow) => ( + {original.maintainerName} + ), + }, + ]), { Header: tText('modules/cp/const/material-requests___aangevraagd-op'), accessor: MaterialRequestKeys.requestedAt, @@ -125,25 +143,29 @@ export const getAccountMaterialRequestTableColumns = (): Column ), }, - { - Header: tText('modules/cp/const/material-requests___status'), - accessor: MaterialRequestKeys.status, - Cell: ({ row: { original } }: MaterialRequestRow) => ( - - ), - }, - { - Header: tText('modules/cp/const/material-requests___download'), - accessor: MaterialRequestKeys.downloadUrl, - Cell: ({ row: { original } }: MaterialRequestRow) => ( - - ), - }, - { - Header: tText('modules/cp/const/material-requests___request-name'), - accessor: MaterialRequestKeys.requestName, - Cell: ({ row: { original } }: MaterialRequestRow) => ( - {original.requestName} - ), - }, + ...(isKeyUser + ? [ + { + Header: tText('modules/cp/const/material-requests___status'), + accessor: MaterialRequestKeys.status, + Cell: ({ row: { original } }: MaterialRequestRow) => ( + + ), + }, + { + Header: tText('modules/cp/const/material-requests___download'), + accessor: MaterialRequestKeys.downloadUrl, + Cell: ({ row: { original } }: MaterialRequestRow) => ( + + ), + }, + { + Header: tText('modules/cp/const/material-requests___request-name'), + accessor: MaterialRequestKeys.requestName, + Cell: ({ row: { original } }: MaterialRequestRow) => ( + {original.requestName} + ), + }, + ] + : []), ]; diff --git a/src/modules/account/views/AccountMyMaterialRequests.tsx b/src/modules/account/views/AccountMyMaterialRequests.tsx index 96eff47dc..936627a81 100644 --- a/src/modules/account/views/AccountMyMaterialRequests.tsx +++ b/src/modules/account/views/AccountMyMaterialRequests.tsx @@ -38,6 +38,7 @@ import { ROUTES_BY_LOCALE } from '@shared/const'; import { QUERY_PARAM_KEY } from '@shared/const/query-param-keys'; import { tHtml, tText } from '@shared/helpers/translate'; import { useHasAnyPermission } from '@shared/hooks/has-permission'; +import { useIsKeyUser } from '@shared/hooks/is-key-user'; import { useLocale } from '@shared/hooks/use-locale/use-locale'; import type { DefaultSeoInfo } from '@shared/types/seo'; import { VisitorLayout } from '@visitor-layout/index'; @@ -59,6 +60,7 @@ export const AccountMyMaterialRequests: FC = ({ url, canonicalUr const hasOwnMaterialRequestsPerm = useHasAnyPermission(Permission.VIEW_OWN_MATERIAL_REQUESTS); const hasAnyMaterialRequestsPerm = useHasAnyPermission(Permission.VIEW_ANY_MATERIAL_REQUESTS); const locale = useLocale(); + const isKeyUser = useIsKeyUser(); const { data: currentMaterialRequestDetail, isFetching: isLoading } = useGetMaterialRequestById( currentMaterialRequest?.id || null @@ -228,7 +230,7 @@ export const AccountMyMaterialRequests: FC = ({ url, canonicalUr className="u-mt-24 p-material-requests__table p-account-my-material-requests__table" options={{ - columns: getAccountMaterialRequestTableColumns(), + columns: getAccountMaterialRequestTableColumns(isKeyUser), data: materialRequests?.items || [], initialState: { pageSize: ACCOUNT_MATERIAL_REQUESTS_TABLE_PAGE_SIZE, @@ -279,103 +281,105 @@ export const AccountMyMaterialRequests: FC = ({ url, canonicalUr 'u-text-center u-color-neutral u-py-48': isFetching || noData, })} > -
-
-
- } - iconClosed={} - iconCheck={} - checkboxHeader={tText('Type aanvraag')} - confirmOptions={{ - label: tText('Pas toe'), - variants: ['black'], - onClick: setSelectedTypes, - }} - resetOptions={{ - icon: , - label: tText('Reset'), - variants: ['text'], - onClick: setSelectedTypes, - }} - /> + {isKeyUser && ( +
+
+
+ } + iconClosed={} + iconCheck={} + checkboxHeader={tText('Type aanvraag')} + confirmOptions={{ + label: tText('Pas toe'), + variants: ['black'], + onClick: setSelectedTypes, + }} + resetOptions={{ + icon: , + label: tText('Reset'), + variants: ['text'], + onClick: setSelectedTypes, + }} + /> - } - iconClosed={} - iconCheck={} - checkboxHeader={tText('Status aanvraag')} - confirmOptions={{ - label: tText('Pas toe'), - variants: ['black'], - onClick: setSelectedStatuses, - }} - resetOptions={{ - icon: , - label: tText('Reset'), - variants: ['text'], - onClick: setSelectedStatuses, - }} - /> + } + iconClosed={} + iconCheck={} + checkboxHeader={tText('Status aanvraag')} + confirmOptions={{ + label: tText('Pas toe'), + variants: ['black'], + onClick: setSelectedStatuses, + }} + resetOptions={{ + icon: , + label: tText('Reset'), + variants: ['text'], + onClick: setSelectedStatuses, + }} + /> + + } + iconClosed={} + iconCheck={} + checkboxHeader={tText('Aanvraag met download')} + confirmOptions={{ + label: tText('Pas toe'), + variants: ['black'], + onClick: setSelectedDownloadFilters, + }} + resetOptions={{ + icon: , + label: tText('Reset'), + variants: ['text'], + onClick: setSelectedDownloadFilters, + }} + /> +
- } - iconClosed={} - iconCheck={} - checkboxHeader={tText('Aanvraag met download')} - confirmOptions={{ - label: tText('Pas toe'), - variants: ['black'], - onClick: setSelectedDownloadFilters, - }} - resetOptions={{ - icon: , - label: tText('Reset'), - variants: ['text'], - onClick: setSelectedDownloadFilters, - }} + + setFilters({ + [QUERY_PARAM_KEY.SEARCH_QUERY_KEY]: newValue, + page: 1, + }) + } />
- - - setFilters({ - [QUERY_PARAM_KEY.SEARCH_QUERY_KEY]: newValue, - page: 1, - }) - } - />
-
+ )} {isFetching && } {noData && renderEmptyMessage()}