-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(service-portal): Notifications - locale updates. Add cleanstring #15239
fix(service-portal): Notifications - locale updates. Add cleanstring #15239
Conversation
WalkthroughRecent updates to the service portal and notification system introduce enhanced data fetching based on language changes, string sanitization for notifications, and improved handling of GraphQL queries. Key modifications include adding the Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
Datadog ReportBranch report: ✅ 0 Failed, 4 Passed, 0 Skipped, 2.94s Total Time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (4)
- apps/service-portal/src/components/Notifications/NotificationButton.tsx (1 hunks)
- libs/api/domains/notifications/src/utils/helpers.ts (2 hunks)
- libs/service-portal/information/src/screens/Notifications/Notifications.graphql (2 hunks)
- libs/service-portal/information/src/screens/Notifications/Notifications.tsx (4 hunks)
Additional context used
Path-based instructions (4)
libs/api/domains/notifications/src/utils/helpers.ts (1)
Pattern
libs/**/*
: "Confirm that the code adheres to the following:
- Reusability of components and hooks across different NextJS apps.
- TypeScript usage for defining props and exporting types.
- Effective tree-shaking and bundling practices."
libs/service-portal/information/src/screens/Notifications/Notifications.graphql (1)
Pattern
libs/**/*
: "Confirm that the code adheres to the following:
- Reusability of components and hooks across different NextJS apps.
- TypeScript usage for defining props and exporting types.
- Effective tree-shaking and bundling practices."
apps/service-portal/src/components/Notifications/NotificationButton.tsx (1)
Pattern
apps/**/*
: "Confirm that the code adheres to the following:
- NextJS best practices, including file structure, API routes, and static generation methods.
- Efficient state management and server-side rendering techniques.
- Optimal use of TypeScript for component and utility type safety."
libs/service-portal/information/src/screens/Notifications/Notifications.tsx (1)
Pattern
libs/**/*
: "Confirm that the code adheres to the following:
- Reusability of components and hooks across different NextJS apps.
- TypeScript usage for defining props and exporting types.
- Effective tree-shaking and bundling practices."
Additional comments not posted (4)
libs/api/domains/notifications/src/utils/helpers.ts (1)
27-32
: The use ofcleanString
innotificationMapper
is a good practice for ensuring data cleanliness.This ensures that all notification data is consistently formatted before further processing or display, which can help in preventing UI issues and improve user experience.
libs/service-portal/information/src/screens/Notifications/Notifications.graphql (1)
35-36
: Adding the$locale
parameter to GraphQL queries is a good practice for supporting internationalization.This change allows the backend to serve data that is localized to the user's current language setting, enhancing the user experience by providing contextually relevant data.
Also applies to: 55-58
apps/service-portal/src/components/Notifications/NotificationButton.tsx (1)
27-45
: Proper use of thelang
variable to trigger refetches in response to locale changes.This ensures that the notification data is always up-to-date with the user's preferred language, which is crucial for maintaining a good user experience in a multilingual application.
libs/service-portal/information/src/screens/Notifications/Notifications.tsx (1)
Line range hint
35-64
: Efficient integration oflang
to manage locale-specific data fetching.The use of
lang
to control the fetching and refetching of data ensures that the content is relevant to the user’s current locale, which is essential for a global application.Also applies to: 75-75
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #15239 +/- ##
=======================================
Coverage 37.10% 37.10%
=======================================
Files 6448 6448
Lines 131456 131456
Branches 37575 37575
=======================================
Hits 48781 48781
Misses 82675 82675
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Sentry.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (1)
- libs/api/domains/notifications/src/utils/helpers.ts (2 hunks)
Files skipped from review as they are similar to previous changes (1)
- libs/api/domains/notifications/src/utils/helpers.ts
…hub.com:island-is/island.is into service-portal/notifications-locale-cleanstring
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (1)
- libs/service-portal/information/project.json (1 hunks)
Files skipped from review due to trivial changes (1)
- libs/service-portal/information/project.json
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (1)
- libs/service-portal/information/src/screens/Notifications/Notifications.graphql (2 hunks)
Additional context used
Path-based instructions (1)
libs/service-portal/information/src/screens/Notifications/Notifications.graphql (1)
Pattern
libs/**/*
: "Confirm that the code adheres to the following:
- Reusability of components and hooks across different NextJS apps.
- TypeScript usage for defining props and exporting types.
- Effective tree-shaking and bundling practices."
Additional comments not posted (2)
libs/service-portal/information/src/screens/Notifications/Notifications.graphql (2)
55-59
: The mandatory$locale
parameter inGetUserNotificationsOverview
ensures that locale is always specified, aligning with localization efforts. Verify that all client calls to this query have been updated to include the$locale
parameter.
35-36
: The addition of the$locale
parameter enhances localization support. Ensure that the backend gracefully handles cases where$locale
is not provided, as it is optional here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (3)
- apps/service-portal/src/components/Notifications/NotificationButton.tsx (1 hunks)
- libs/service-portal/information/src/screens/Notifications/Notifications.graphql (2 hunks)
- libs/service-portal/information/src/screens/Notifications/Notifications.tsx (3 hunks)
Additional context used
Path-based instructions (3)
libs/service-portal/information/src/screens/Notifications/Notifications.graphql (1)
Pattern
libs/**/*
: "Confirm that the code adheres to the following:
- Reusability of components and hooks across different NextJS apps.
- TypeScript usage for defining props and exporting types.
- Effective tree-shaking and bundling practices."
apps/service-portal/src/components/Notifications/NotificationButton.tsx (1)
Pattern
apps/**/*
: "Confirm that the code adheres to the following:
- NextJS best practices, including file structure, API routes, and static generation methods.
- Efficient state management and server-side rendering techniques.
- Optimal use of TypeScript for component and utility type safety."
libs/service-portal/information/src/screens/Notifications/Notifications.tsx (1)
Pattern
libs/**/*
: "Confirm that the code adheres to the following:
- Reusability of components and hooks across different NextJS apps.
- TypeScript usage for defining props and exporting types.
- Effective tree-shaking and bundling practices."
Additional comments not posted (4)
libs/service-portal/information/src/screens/Notifications/Notifications.graphql (2)
35-36
: The addition of the$locale
parameter toGetUserNotifications
is a good enhancement for supporting localization.
55-59
: Properly adding the$locale
parameter toGetUserNotificationsOverview
enhances the localization capability of the notifications overview.apps/service-portal/src/components/Notifications/NotificationButton.tsx (1)
27-34
: The addition oflang
andrefetch
in theuseGetUserNotificationsOverviewQuery
anduseEffect
to handle language change is a solid implementation for dynamic localization.Also applies to: 42-44
Verification successful
The
useEffect
hook correctly includeslang
in its dependency array, ensuring thatrefetch
is triggered on language change. This confirms that the implementation supports dynamic localization as intended.
useEffect
with[lang, refetch]
dependency array is correctly implemented inNotificationButton.tsx
.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that `refetch` is triggered correctly on language change. # Test: Check for the useEffect dependency array to include `lang`. rg --type typescript "useEffect\(.*\[.*lang.*\]"Length of output: 85
Script:
#!/bin/bash # Description: Verify that `refetch` is triggered correctly on language change. # Test: Check for the useEffect dependency array to include `lang`. rg --type ts "useEffect\(.*\[.*lang.*\]"Length of output: 42
Script:
#!/bin/bash # Description: Verify the use of `useEffect` in NotificationButton.tsx and check if `lang` is included in the dependency array. # Search for all useEffect hooks in the NotificationButton.tsx file. rg --type ts "useEffect" apps/service-portal/src/components/Notifications/NotificationButton.tsxLength of output: 195
Script:
#!/bin/bash # Description: Extract the full implementations of useEffect hooks in NotificationButton.tsx to check if lang is included in the dependency array. # Extract lines containing useEffect hooks and their implementations. rg --type ts -A 10 "useEffect" apps/service-portal/src/components/Notifications/NotificationButton.tsxLength of output: 1003
libs/service-portal/information/src/screens/Notifications/Notifications.tsx (1)
60-62
: The implementation ofuseEffect
to refetch data on language change is correctly set up withlang
as a dependency, ensuring data consistency with language settings.Verification successful
The
useEffect
hook withrefetch
andlang
as dependencies is indeed present in theNotifications.tsx
file, confirming the implementation to refetch data on language change.
refetch
usage found at:libs/service-portal/information/src/screens/Notifications/Notifications.tsx
lang
usage found at:libs/service-portal/information/src/screens/Notifications/Notifications.tsx
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that the useEffect correctly triggers refetch on language change. # Test: Check for the useEffect dependency array to include `lang`. rg --type typescript "useEffect\(.*\[.*lang.*\]"Length of output: 85
Script:
#!/bin/bash # Description: Verify that the useEffect correctly triggers refetch on language change. # Test: Check for the useEffect dependency array to include `lang`. rg --glob '*.tsx' "useEffect\(.*\[.*lang.*\]"Length of output: 47
Script:
#!/bin/bash # Description: Search for all useEffect hooks and inspect their dependency arrays. rg --glob '*.tsx' "useEffect\(.*\[" -A 3Length of output: 2995
Script:
#!/bin/bash # Description: Search for useEffect hooks in the Notifications.tsx file. rg "useEffect\(.*\[" libs/service-portal/information/src/screens/Notifications/Notifications.tsx -A 3Length of output: 103
Script:
#!/bin/bash # Description: Search for refetch and lang usage in the Notifications.tsx file. rg 'refetch' libs/service-portal/information/src/screens/Notifications/Notifications.tsx rg 'lang' libs/service-portal/information/src/screens/Notifications/Notifications.tsxLength of output: 349
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (2)
- apps/service-portal/src/components/Notifications/NotificationButton.tsx (1 hunks)
- libs/service-portal/information/src/screens/Notifications/Notifications.tsx (4 hunks)
Additional context used
Path-based instructions (2)
apps/service-portal/src/components/Notifications/NotificationButton.tsx (1)
Pattern
apps/**/*
: "Confirm that the code adheres to the following:
- NextJS best practices, including file structure, API routes, and static generation methods.
- Efficient state management and server-side rendering techniques.
- Optimal use of TypeScript for component and utility type safety."
libs/service-portal/information/src/screens/Notifications/Notifications.tsx (1)
Pattern
libs/**/*
: "Confirm that the code adheres to the following:
- Reusability of components and hooks across different NextJS apps.
- TypeScript usage for defining props and exporting types.
- Effective tree-shaking and bundling practices."
Additional comments not posted (2)
apps/service-portal/src/components/Notifications/NotificationButton.tsx (1)
27-27
: The addition oflang
andrefetch
fromuseLocale
anduseGetUserNotificationsOverviewQuery
respectively, along with theuseEffect
to handle locale changes, are well implemented. This ensures the notification data is consistent with the current user's language preference.Also applies to: 34-39, 43-45
libs/service-portal/information/src/screens/Notifications/Notifications.tsx (1)
35-35
: The implementation oflang
inuseLocale
, its addition to GraphQL queries, and theuseEffect
to refetch data on language changes are correctly applied. These changes ensure that the notification data is up-to-date with the current language setting, enhancing the user experience by providing localized content.Also applies to: 57-57, 61-63, 75-75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (1)
- apps/service-portal/src/components/Notifications/NotificationButton.tsx (1 hunks)
Files skipped from review as they are similar to previous changes (1)
- apps/service-portal/src/components/Notifications/NotificationButton.tsx
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (3)
- apps/service-portal/src/components/Notifications/NotificationButton.tsx (1 hunks)
- libs/service-portal/information/src/screens/Notifications/Notifications.graphql (2 hunks)
- libs/service-portal/information/src/screens/Notifications/Notifications.tsx (9 hunks)
Files skipped from review as they are similar to previous changes (3)
- apps/service-portal/src/components/Notifications/NotificationButton.tsx
- libs/service-portal/information/src/screens/Notifications/Notifications.graphql
- libs/service-portal/information/src/screens/Notifications/Notifications.tsx
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (1)
- scripts/ci/cache/__config.mjs (2 hunks)
Files skipped from review as they are similar to previous changes (1)
- scripts/ci/cache/__config.mjs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (2)
- libs/service-portal/information/src/screens/Notifications/Notifications.graphql (2 hunks)
- libs/service-portal/information/src/screens/Notifications/Notifications.tsx (5 hunks)
Files skipped from review as they are similar to previous changes (2)
- libs/service-portal/information/src/screens/Notifications/Notifications.graphql
- libs/service-portal/information/src/screens/Notifications/Notifications.tsx
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Outside diff range and nitpick comments (3)
libs/api/domains/notifications/src/lib/notificationsList.resolver.ts (2)
Line range hint
40-40
: The@Audit()
decorator usage is incorrectly placed directly above the method parameter, which is not allowed. Decorators in TypeScript are applicable to classes, methods, or properties but not to method parameters unless explicitly enabled.- @Audit() - async getNotifications( + async getNotifications( + @Audit()Reposition the
@Audit()
decorator to just above the method declaration to resolve this issue.
Line range hint
49-49
: The placement of decorators on field resolvers is incorrect. Decorators should not be placed directly above the method parameters but should instead decorate the method itself.- @ResolveField('unseenCount', () => Int, { - nullable: true, - }) - async resolveNotificationsUnseenCount( + @ResolveField('unseenCount', () => Int, { nullable: true }) + async resolveNotificationsUnseenCount(Apply this change for all instances where decorators are used incorrectly on method parameters in this file.
Also applies to: 52-52, 75-75, 85-85, 97-97, 99-99
libs/api/domains/notifications/src/lib/notifications.resolver.ts (1)
Line range hint
28-28
: The placement of decorators on method parameters is incorrect throughout this file. Decorators should be placed directly above the method declaration, not on the parameters.- @Audit() - async getNotification( + async getNotification( + @Audit()This change should be applied to all instances where decorators are incorrectly placed on method parameters in this file.
Also applies to: 36-36, 37-37, 39-39, 80-80, 101-101, 122-122, 123-123, 125-125
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (2)
- libs/api/domains/notifications/src/lib/notifications.resolver.ts (2 hunks)
- libs/api/domains/notifications/src/lib/notificationsList.resolver.ts (2 hunks)
Additional context used
Path-based instructions (2)
libs/api/domains/notifications/src/lib/notificationsList.resolver.ts (1)
Pattern
libs/**/*
: "Confirm that the code adheres to the following:
- Reusability of components and hooks across different NextJS apps.
- TypeScript usage for defining props and exporting types.
- Effective tree-shaking and bundling practices."
libs/api/domains/notifications/src/lib/notifications.resolver.ts (1)
Pattern
libs/**/*
: "Confirm that the code adheres to the following:
- Reusability of components and hooks across different NextJS apps.
- TypeScript usage for defining props and exporting types.
- Effective tree-shaking and bundling practices."
Biome
libs/api/domains/notifications/src/lib/notificationsList.resolver.ts
[error] 40-40: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 49-49: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 50-50: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 52-52: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 75-75: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 85-85: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 97-97: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 99-99: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.libs/api/domains/notifications/src/lib/notifications.resolver.ts
[error] 28-28: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 36-36: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 37-37: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 39-39: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 80-80: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 101-101: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 122-122: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 123-123: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
[error] 125-125: Decorators are not valid here. (parse)
Decorators are only valid on class declarations, class expressions, and class methods.
You can enable parameter decorators by setting theunsafeParameterDecoratorsEnabled
option totrue
in your configuration file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (1)
- scripts/_hash-generated-files.sh (1 hunks)
Files skipped from review due to trivial changes (1)
- scripts/_hash-generated-files.sh
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* feat: buttons at top should not be sticky * feat: add empty state for notifications * fix: make sure to update unreadCount in inbox when fetching next page * feat: add fallback icon for notifications --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* fix: hash generated files * chore: nx format:write update dirty files --------- Co-authored-by: andes-it <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (1)
- scripts/ci/cache/__config.mjs (1 hunks)
Files skipped from review as they are similar to previous changes (1)
- scripts/ci/cache/__config.mjs
…15239) * Fix locale updates. Add cleanstring * update string clean * Update packagejson * Update query * Update query * Add lang option * Test * Fix * Add locale * Test name update * fix: force generated files * chore: nx format:write update dirty files * Revert test * Remove ff * fix: hash generated files * fix(j-s): Null Service Reference (#15247) Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> * feat(native-app): Notifications final improvements (#15240) * feat: buttons at top should not be sticky * feat: add empty state for notifications * fix: make sure to update unreadCount in inbox when fetching next page * feat: add fallback icon for notifications --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> * feat(consultation-portal): KAM-2522: PowerBI report added (#15251) * fix: hash generated files (#15253) * fix: hash generated files * chore: nx format:write update dirty files --------- Co-authored-by: andes-it <[email protected]> * fix: remove file * Update __config.mjs --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> Co-authored-by: lommi <[email protected]> Co-authored-by: andes-it <[email protected]> Co-authored-by: Guðjón Guðjónsson <[email protected]> Co-authored-by: Þórey Jóna <[email protected]> Co-authored-by: Karl Arnar Ægisson <[email protected]>
…15255) * fix(documents-v2): Add download URL to detail document v2 (#15194) * fix(service-portal): Update notification icon styling (#15219) * Update notification icon styling * Add option to remove button docline * fix(service-portal): Notifications - locale updates. Add cleanstring (#15239) * Fix locale updates. Add cleanstring * update string clean * Update packagejson * Update query * Update query * Add lang option * Test * Fix * Add locale * Test name update * fix: force generated files * chore: nx format:write update dirty files * Revert test * Remove ff * fix: hash generated files * fix(j-s): Null Service Reference (#15247) Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> * feat(native-app): Notifications final improvements (#15240) * feat: buttons at top should not be sticky * feat: add empty state for notifications * fix: make sure to update unreadCount in inbox when fetching next page * feat: add fallback icon for notifications --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> * feat(consultation-portal): KAM-2522: PowerBI report added (#15251) * fix: hash generated files (#15253) * fix: hash generated files * chore: nx format:write update dirty files --------- Co-authored-by: andes-it <[email protected]> * fix: remove file * Update __config.mjs --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> Co-authored-by: lommi <[email protected]> Co-authored-by: andes-it <[email protected]> Co-authored-by: Guðjón Guðjónsson <[email protected]> Co-authored-by: Þórey Jóna <[email protected]> Co-authored-by: Karl Arnar Ægisson <[email protected]> --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> Co-authored-by: lommi <[email protected]> Co-authored-by: andes-it <[email protected]> Co-authored-by: Guðjón Guðjónsson <[email protected]> Co-authored-by: Þórey Jóna <[email protected]> Co-authored-by: Karl Arnar Ægisson <[email protected]>
What
Fix locale updates. Add cleanstring
Why
Strings can have leading spaces, trailing spaces, newlines, tabs, you name it. Clean it up before serving.
Add refetch to data once locale changes, add locale change option.
Checklist:
Summary by CodeRabbit
New Features
Improvements
Bug Fixes
Chores