diff --git a/packages/bff/package.json b/packages/bff/package.json index 32823a0d..d59930f3 100644 --- a/packages/bff/package.json +++ b/packages/bff/package.json @@ -22,7 +22,7 @@ "@azure/keyvault-keys": "^4.7.2", "@azure/monitor-opentelemetry": "1.7.0", "@digdir/dialogporten-node-logger": "workspace:*", - "@digdir/dialogporten-schema": "1.47.4-4b9bad0", + "@digdir/dialogporten-schema": "1.47.5-431c529", "@fastify/cookie": "^9.3.1", "@fastify/cors": "^9.0.1", "@fastify/formbody": "^7.4.0", diff --git a/packages/frontend/package.json b/packages/frontend/package.json index c460ae79..993d3144 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -21,7 +21,7 @@ "i18n:sort": "tsx ./src/i18n/check.ts --sort" }, "dependencies": { - "@altinn/altinn-components": "^0.14.2", + "@altinn/altinn-components": "^0.15.3", "@digdir/designsystemet-css": "0.11.0-next.10", "@digdir/designsystemet-react": "1.0.0-next.15", "@digdir/designsystemet-theme": "1.0.0-next.14", diff --git a/packages/frontend/src/components/PageLayout/GlobalMenu/useGlobalMenu.tsx b/packages/frontend/src/components/PageLayout/GlobalMenu/useGlobalMenu.tsx index b4fc458f..8d3d9ea7 100644 --- a/packages/frontend/src/components/PageLayout/GlobalMenu/useGlobalMenu.tsx +++ b/packages/frontend/src/components/PageLayout/GlobalMenu/useGlobalMenu.tsx @@ -27,6 +27,9 @@ export const getAlertBadgeProps = (count: number): BadgeProps | undefined => { if (count > 0) { return { label: count.toString(), + size: 'xs', + theme: 'base', + color: 'alert', }; } }; @@ -89,11 +92,9 @@ export const useGlobalMenu = ({ id: '1', groupId: 'global', size: 'lg', - icon: 'inbox', - theme: 'base', - iconVariant: 'solid', + icon: { name: 'inbox', theme: 'base', variant: 'solid' }, title: t('sidebar.inbox'), - alertBadge: getAlertBadgeProps(needsAttentionPerView.inbox), + iconBadge: getAlertBadgeProps(needsAttentionPerView.inbox), badge: getBadgeProps(itemsPerViewCount.inbox, dialogCountsInconclusive), selected: pathname === PageRoutes.inbox, expanded: true, diff --git a/packages/frontend/src/pages/SavedSearches/SavedSearchesPage.tsx b/packages/frontend/src/pages/SavedSearches/SavedSearchesPage.tsx index 84ea8aa3..c74a4966 100644 --- a/packages/frontend/src/pages/SavedSearches/SavedSearchesPage.tsx +++ b/packages/frontend/src/pages/SavedSearches/SavedSearchesPage.tsx @@ -1,7 +1,8 @@ -import { type BookmarksListItemProps, BookmarksSection } from '@altinn/altinn-components'; +import { BookmarksSection } from '@altinn/altinn-components'; import { useSnackbar } from '@altinn/altinn-components'; +import type { EditableBookmarkProps } from '@altinn/altinn-components/dist/types/lib/components'; import { useQueryClient } from '@tanstack/react-query'; -import { useState } from 'react'; +import { type ChangeEvent, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Link } from 'react-router-dom'; import { deleteSavedSearch, updateSavedSearch } from '../../api/queries.ts'; @@ -34,13 +35,13 @@ export const SavedSearchesPage = () => { if (isLoadingSavedSearches) { const skeletonItems = 3; - const items: BookmarksListItemProps[] = Array.from({ length: savedSearches?.length || skeletonItems }, (_, i) => ({ + const items = Array.from({ length: skeletonItems }, (_, i) => ({ id: i.toString(), title: t('savedSearches.loading_saved_searches') + randomString(), })); return (
- +
); } @@ -82,7 +83,7 @@ export const SavedSearchesPage = () => { queryParams.append(filter.id, String(filter.value)); } - const itemObject: BookmarksListItemProps = { + const itemObject: EditableBookmarkProps = { id: savedSearch.id.toString(), params: [], title: '', @@ -100,8 +101,7 @@ export const SavedSearchesPage = () => { void queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.SAVED_SEARCHES] }); setExpandedId(''); }) - .catch((e) => { - console.error('Failed to update saved search:', e); + .catch(() => { openSnackbar({ message: t('savedSearches.update_failed'), color: 'alert', @@ -122,8 +122,7 @@ export const SavedSearchesPage = () => { void queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.SAVED_SEARCHES] }); setExpandedId(''); }) - .catch((e) => { - console.error('Failed to delete saved search:', e); + .catch(() => { openSnackbar({ message: t('savedSearches.delete_failed'), color: 'alert', @@ -131,7 +130,7 @@ export const SavedSearchesPage = () => { }); }, }, - onChange: (e) => { + onChange: (e: ChangeEvent) => { setSavedSearchInputValue(e.target.value); }, inputValue: savedSearchInputValue, @@ -155,11 +154,11 @@ export const SavedSearchesPage = () => { }); const handleOnToggle = (itemId: string) => { - if (expandedId === itemId) { - setExpandedId(''); - return; + const nextExpandedId = itemId === expandedId ? '' : itemId; + if (nextExpandedId) { + setSavedSearchInputValue(items?.find((item) => item.id === nextExpandedId)?.title ?? ''); } - setExpandedId(itemId); + setExpandedId(nextExpandedId); }; return ( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8513e5d..22a1edc5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,8 +39,8 @@ importers: specifier: workspace:* version: link:../node-logger '@digdir/dialogporten-schema': - specifier: 1.47.4-4b9bad0 - version: 1.47.4-4b9bad0 + specifier: 1.47.5-431c529 + version: 1.47.5-431c529 '@fastify/cookie': specifier: ^9.3.1 version: 9.4.0 @@ -386,8 +386,8 @@ importers: packages/frontend: dependencies: '@altinn/altinn-components': - specifier: ^0.14.2 - version: 0.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^0.15.3 + version: 0.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@digdir/designsystemet-css': specifier: 0.11.0-next.10 version: 0.11.0-next.10 @@ -606,8 +606,8 @@ packages: resolution: {integrity: sha512-p6t8ue0XZNjcRiqNkb5QAM0qQRAKsCiebZ6n9JjWA+p8fWf8BvnhO55y2fO28g3GW0Imj7PrAuyBuxq8aDVQwQ==} engines: {node: '>= 14.0.0'} - '@altinn/altinn-components@0.14.2': - resolution: {integrity: sha512-yRVe/Qs1H/XNrvPkkdn5KzuHL019U+k9GYlmiSEquSS4JZgk4ckrT1I8gsT20GPUn/rflJ+1+qSGYWCM5lc2LQ==} + '@altinn/altinn-components@0.15.3': + resolution: {integrity: sha512-eay9JsIi/QRgDhPh4+EDw/MxMY7Crm4Q6l5WcSKvLypbkZ6vg4PCnYC47q1g7CfjJIbRdW5+P+nk4v1rSY/6XQ==} peerDependencies: react: '>=18.3.1' react-dom: '>=18.3.1' @@ -1690,8 +1690,8 @@ packages: '@digdir/designsystemet-theme@1.0.0-next.14': resolution: {integrity: sha512-JWCLhXxDlMYwatg7mLkptfEkeiv/EKSaUOXX4nUoV8HjqyxMnLaaZZe6NKqx2SH1GPKOeSL5bEcs2NAEoFlGXg==} - '@digdir/dialogporten-schema@1.47.4-4b9bad0': - resolution: {integrity: sha512-qDHNSeItqxxZCM9fXQolYJgbDKjTQkP5LVbbiuNR+snJ+n6wN+zsheP9+UgCDBdNTzRqtEl/6eL6p0Db/xwhLg==} + '@digdir/dialogporten-schema@1.47.5-431c529': + resolution: {integrity: sha512-KT0PiM6Q1/CaBRNqTyVt0hgBHRkrBjjbpgArLf/Aa4y7AprxzA9HYq6Ys6YleC0h16YQC3f3yMS8XvXGVLiXnA==} engines: {node: '22'} '@discoveryjs/json-ext@0.5.7': @@ -2798,8 +2798,8 @@ packages: '@navikt/aksel-icons@6.17.0': resolution: {integrity: sha512-n+1AsE9kRFh3C7BcD0fAJhIA6/65PsLGrpNKnLQUjW8hwESzo1LYHfZgZXi2Shaw2hCzQ1wx/hBBdwtQfUiBNg==} - '@navikt/aksel-icons@7.9.1': - resolution: {integrity: sha512-IbKrPTyu4D39BUQ/sq3DnejUnQx2tNkFxISgOpw/SvAcpNJKP6FgRyuu9c68gGwQx16qSdzQfv+uMGTC1VJVfw==} + '@navikt/aksel-icons@7.10.0': + resolution: {integrity: sha512-k8mcnkx/kiNd6SacR6lQot+WuIz6/3k3oUc9A+mH91FFJ1DcA4GCstS72/A4otmszvvCxCw0ZkivgBtU1JFq1g==} '@nevware21/ts-async@0.5.4': resolution: {integrity: sha512-IBTyj29GwGlxfzXw2NPnzty+w0Adx61Eze1/lknH/XIVdxtF9UnOpk76tnrHXWa6j84a1RR9hsOcHQPFv9qJjA==} @@ -10296,9 +10296,9 @@ snapshots: dependencies: '@algolia/client-common': 5.19.0 - '@altinn/altinn-components@0.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@altinn/altinn-components@0.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@navikt/aksel-icons': 7.9.1 + '@navikt/aksel-icons': 7.10.0 classnames: 2.5.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -11720,7 +11720,7 @@ snapshots: '@digdir/designsystemet-theme@1.0.0-next.14': {} - '@digdir/dialogporten-schema@1.47.4-4b9bad0': {} + '@digdir/dialogporten-schema@1.47.5-431c529': {} '@discoveryjs/json-ext@0.5.7': {} @@ -13783,7 +13783,7 @@ snapshots: '@navikt/aksel-icons@6.17.0': {} - '@navikt/aksel-icons@7.9.1': {} + '@navikt/aksel-icons@7.10.0': {} '@nevware21/ts-async@0.5.4': dependencies: