-
Notifications
You must be signed in to change notification settings - Fork 57
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
feat(service-portal): Parliamentary setup #15451
Conversation
WalkthroughThe changes introduce new components and updates within the service portal for managing parliamentary and presidential signature lists. Key additions include new message definitions for localization, components for displaying and managing lists, and a modal for looking up individuals by national ID. These updates enhance the application's structure and functionality, particularly in constituency management and user interactions. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant OwnerView
participant Signees
participant Modal
User->>OwnerView: Open OwnerView for parliamentary lists
OwnerView->>Signees: Request list of signees
Signees->>OwnerView: Return list of signees
User->>Signees: Filter signees
Signees->>User: Display filtered signees
User->>OwnerView: Open AddConstituencyModal
OwnerView->>Modal: Show Add Constituency options
Modal->>User: Allow selection of constituencies
User->>Modal: Confirm selection
Modal->>OwnerView: Update constituencies
sequenceDiagram
participant User
participant LookupPersonModal
participant IdentityQuery
User->>LookupPersonModal: Open modal to lookup person
LookupPersonModal->>User: Prompt for national ID
User->>LookupPersonModal: Input national ID
LookupPersonModal->>IdentityQuery: Validate and fetch identity data
IdentityQuery->>LookupPersonModal: Return identity data
LookupPersonModal->>User: Display name or error message
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 Documentation and Community
|
Datadog ReportAll test runs ✅ 34 Total Test Services: 0 Failed, 33 Passed Test ServicesThis report shows up to 10 services
🔻 Code Coverage Decreases vs Default Branch (2) |
Affected services are: api,application-system-api,financial-aid-api,financial-aid-backend,financial-aid-open-api,services-auth-personal-representative,air-discount-scheme-web,consultation-portal,contentful-apps,financial-aid-web-osk,financial-aid-web-veita,judicial-system-web,skilavottord-web,web,application-system-form,island-ui-storybook,portals-admin,service-portal,system-e2e, |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #15451 +/- ##
=======================================
Coverage 36.97% 36.97%
=======================================
Files 6625 6625
Lines 135746 135746
Branches 38619 38620 +1
=======================================
Hits 50192 50192
Misses 85554 85554 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: 13
Outside diff range, codebase verification and nitpick comments (3)
libs/service-portal/signature-collection/src/screens/Parliamentary/index.tsx (1)
5-6
: Remove unused importSigneeView
.The
SigneeView
component is imported but not used in the JSX. Consider removing it if it's not needed for future development.- import SigneeView from './SigneeView'
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/ViewList/index.tsx (1)
21-65
: Remove or address commented-out code.The commented-out sections should be removed or addressed to maintain code clarity and cleanliness.
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/ViewList/Signees.tsx (1)
24-35
: Ensure efficient state management.The state for
signees
is set directly fromlistSignees
. Consider using a more efficient approach if the data is large or frequently updated.
Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Files selected for processing (24)
- libs/island-ui/core/src/lib/ActionCard/ActionCard.tsx (1 hunks)
- libs/service-portal/core/src/lib/messages.ts (1 hunks)
- libs/service-portal/information/src/lib/navigation.ts (1 hunks)
- libs/service-portal/signature-collection/src/lib/constants.ts (1 hunks)
- libs/service-portal/signature-collection/src/lib/messages.ts (2 hunks)
- libs/service-portal/signature-collection/src/lib/paths.ts (1 hunks)
- libs/service-portal/signature-collection/src/module.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/ViewList/Signees.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/ViewList/index.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/index.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/AddConstituency/index.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/CancelCollection/index.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/DeletePerson/index.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/EditPerson/index.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/LookupPerson/index.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Parliamentary/SigneeView/index.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Parliamentary/index.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Presidential/OwnerView/CancelCollection/index.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Presidential/OwnerView/ViewList/SigneesOverview.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Presidential/OwnerView/ViewList/index.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Presidential/OwnerView/index.tsx (3 hunks)
- libs/service-portal/signature-collection/src/screens/Presidential/SignedList/index.tsx (1 hunks)
- libs/service-portal/signature-collection/src/screens/Presidential/SigneeView/index.tsx (2 hunks)
- libs/service-portal/signature-collection/src/screens/Presidential/index.tsx (1 hunks)
Files skipped from review due to trivial changes (5)
- libs/island-ui/core/src/lib/ActionCard/ActionCard.tsx
- libs/service-portal/signature-collection/src/lib/constants.ts
- libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/CancelCollection/index.tsx
- libs/service-portal/signature-collection/src/screens/Presidential/OwnerView/ViewList/SigneesOverview.tsx
- libs/service-portal/signature-collection/src/screens/Presidential/OwnerView/ViewList/index.tsx
Additional context used
Path-based instructions (19)
libs/service-portal/signature-collection/src/lib/paths.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/signature-collection/src/screens/Parliamentary/index.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."
libs/service-portal/signature-collection/src/screens/Parliamentary/SigneeView/index.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."
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/DeletePerson/index.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."
libs/service-portal/signature-collection/src/screens/Presidential/index.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."
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/EditPerson/index.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."
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/AddConstituency/index.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."
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/ViewList/index.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."
libs/service-portal/signature-collection/src/module.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."
libs/service-portal/information/src/lib/navigation.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/signature-collection/src/screens/Presidential/OwnerView/CancelCollection/index.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."
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/LookupPerson/index.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."
libs/service-portal/signature-collection/src/screens/Presidential/SigneeView/index.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."
libs/service-portal/signature-collection/src/screens/Presidential/SignedList/index.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."
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/ViewList/Signees.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."
libs/service-portal/signature-collection/src/screens/Presidential/OwnerView/index.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."
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/index.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."
libs/service-portal/signature-collection/src/lib/messages.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/core/src/lib/messages.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/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/index.tsx
[error] 38-39: Missing key property for this element in iterable.
The order of the items may change, and having a key can help React identify which item was moved.
Check the React documentation.(lint/correctness/useJsxKeyInIterable)
Additional comments not posted (28)
libs/service-portal/signature-collection/src/lib/paths.ts (1)
3-7
: LGTM! New paths added toSignatureCollectionPaths
.The new paths for parliamentary signatures and general petitions are consistent with the existing structure and naming conventions.
libs/service-portal/signature-collection/src/screens/Parliamentary/index.tsx (1)
8-22
: LGTM! Effective use of localization and UI components.The
SignatureListsParliamentary
component is well-structured and makes good use of theBox
andIntroHeader
components for layout and presentation.libs/service-portal/signature-collection/src/screens/Parliamentary/SigneeView/index.tsx (1)
1-25
: LGTM! Well-structuredSigneeView
component.The
SigneeView
component effectively uses theActionCard
andText
components to display information. The localization is consistent and enhances the user experience.libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/DeletePerson/index.tsx (2)
24-24
: Verify the modal label.The modal's label is currently an empty string. Ensure this is intentional or provide a meaningful label for accessibility.
33-33
: Verify the deletion button action.The delete button doesn't have an associated action. Ensure that the intended functionality is implemented.
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/EditPerson/index.tsx (2)
34-42
: Verify the read-only status of input fields.The input fields for national ID and name are read-only. Ensure this is intentional and aligns with the intended functionality.
53-53
: Verify the save button action.The save button doesn't have an associated action. Ensure that the intended functionality is implemented.
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/AddConstituency/index.tsx (3)
1-14
: Imports and component definition look good.The imports and the functional component definition are appropriate and follow best practices.
18-58
: Button and modal logic are well-implemented.The use of
useState
for modal visibility and the structure of the modal content are appropriate.
61-61
: Default export is appropriate.The component is correctly exported as the default export.
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/ViewList/index.tsx (2)
1-10
: Imports and component definition look good.The imports and the functional component definition are appropriate and follow best practices.
69-69
: Default export is appropriate.The component is correctly exported as the default export.
libs/service-portal/signature-collection/src/module.tsx (4)
8-16
: Lazy loading of components is well-implemented.Using
lazy
for importing components optimizes performance by enabling code-splitting.
28-29
: Use ofNavigate
component is appropriate.The
Navigate
component is correctly used for redirection.
17-60
: Export statement is appropriate.The module is correctly exported as
signatureCollectionModule
.
17-60
: TypeScript usage is well-implemented.The use of TypeScript for defining routes and module structure enhances type safety and reusability.
libs/service-portal/information/src/lib/navigation.ts (1)
59-68
: Verify the correctness of new navigation paths.Ensure that the paths
SignatureCollectionPaths.SignatureCollectionParliamentaryLists
andSignatureCollectionPaths.ViewParliamentaryList
are correctly defined and accessible within the application.Run the following script to verify the existence of these paths:
Verification successful
Navigation paths are correctly defined and accessible.
The paths
SignatureCollectionPaths.SignatureCollectionParliamentaryLists
andSignatureCollectionPaths.ViewParliamentaryList
are correctly defined within the application and are accessible in the relevant files.
libs/service-portal/signature-collection/src/lib/paths.ts
libs/portals/admin/signature-collection/src/lib/paths.ts
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the existence of new navigation paths. # Test: Search for the path definitions. Expect: Definitions for the new paths. rg --type typescript 'SignatureCollectionPaths.SignatureCollectionParliamentaryLists|SignatureCollectionPaths.ViewParliamentaryList'Length of output: 169
Script:
#!/bin/bash # Description: Verify the existence of new navigation paths. # Test: Search for the path definitions. Expect: Definitions for the new paths. rg 'SignatureCollectionPaths.SignatureCollectionParliamentaryLists|SignatureCollectionPaths.ViewParliamentaryList'Length of output: 787
Script:
#!/bin/bash # Description: Verify the definition of SignatureCollectionPaths. # Test: Search for the definition of SignatureCollectionPaths. rg 'SignatureCollectionPaths' --type-add 'ts:*.{ts,tsx}'Length of output: 3277
libs/service-portal/signature-collection/src/screens/Presidential/SigneeView/index.tsx (2)
14-14
: Consider the impact of removingIntroHeader
.The
IntroHeader
component has been removed, which may affect the user interface by eliminating the title and introductory text. Consider whether this change aligns with the intended user experience.Ensure that the removal of
IntroHeader
does not negatively impact the user experience or the overall design consistency.
11-18
: Verify import path correctness.The import paths have been updated to reflect a new directory structure. Ensure that these paths are correct and that the modules are still accessible.
Run the following script to verify the existence of the updated import paths:
libs/service-portal/signature-collection/src/screens/Presidential/SignedList/index.tsx (1)
3-9
: Verify import path correctness.The import paths have been updated to reflect a new directory structure. Ensure that these paths are correct and that the modules are still accessible.
Run the following script to verify the existence of the updated import paths:
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/ViewList/Signees.tsx (2)
1-16
: Verify import necessity and correctness.Ensure that all imported modules are necessary for the component and correctly used within the code.
Check if any imports are unused or can be optimized.
54-137
: Review rendering logic and user experience.The component renders a table with pagination and handles different states (loading, no results, etc.). Ensure that the user experience is smooth and that all edge cases are handled.
Test the component with various data scenarios to ensure consistent behavior.
libs/service-portal/signature-collection/src/screens/Presidential/OwnerView/index.tsx (2)
Line range hint
22-156
: Component Renaming and Import Path Updates Approved.The renaming of the component to
OwnerView
and the updated import paths are appropriate given the context change. Ensure that all references toCandidateView
are updated across the codebase.
Line range hint
22-156
: Verify the Impact of RemovingIntroHeader
.The removal of the
IntroHeader
component may affect the user experience by eliminating introductory information. Verify if this change aligns with the intended design.Run the following script to check for any remaining references to
IntroHeader
:libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/index.tsx (1)
20-160
: Component Structure Approved.The
OwnerView
component is well-structured, utilizing localization and navigation effectively. Ensure that the component integrates seamlessly with the rest of the application.Tools
Biome
[error] 38-39: Missing key property for this element in iterable.
The order of the items may change, and having a key can help React identify which item was moved.
Check the React documentation.(lint/correctness/useJsxKeyInIterable)
libs/service-portal/signature-collection/src/lib/messages.ts (1)
250-354
: New Message Definitions Approved.The new message definitions for parliamentary elections are comprehensive and well-structured, enhancing localization support for the new features.
libs/service-portal/core/src/lib/messages.ts (2)
516-519
: LGTM! Message definition is correct.The message
signatureCollectionParliamentaryLists
is correctly defined with a unique ID and a default message.
520-523
: LGTM! Message definition is correct.The message
signatureCollectionPresidentialLists
is correctly defined with a unique ID and a default message.
...ortal/signature-collection/src/screens/Parliamentary/OwnerView/modals/DeletePerson/index.tsx
Show resolved
Hide resolved
libs/service-portal/signature-collection/src/screens/Presidential/index.tsx
Show resolved
Hide resolved
libs/service-portal/signature-collection/src/screens/Presidential/index.tsx
Show resolved
Hide resolved
...-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/EditPerson/index.tsx
Show resolved
Hide resolved
...al/signature-collection/src/screens/Parliamentary/OwnerView/modals/AddConstituency/index.tsx
Show resolved
Hide resolved
...ce-portal/signature-collection/src/screens/Presidential/OwnerView/CancelCollection/index.tsx
Show resolved
Hide resolved
...ortal/signature-collection/src/screens/Parliamentary/OwnerView/modals/LookupPerson/index.tsx
Outdated
Show resolved
Hide resolved
...ortal/signature-collection/src/screens/Parliamentary/OwnerView/modals/LookupPerson/index.tsx
Show resolved
Hide resolved
...service-portal/signature-collection/src/screens/Parliamentary/OwnerView/ViewList/Signees.tsx
Show resolved
Hide resolved
libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/index.tsx
Outdated
Show resolved
Hide resolved
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/signature-collection/src/screens/Parliamentary/OwnerView/modals/LookupPerson/index.tsx (1 hunks)
Files skipped from review as they are similar to previous changes (1)
- libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/LookupPerson/index.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)
- libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/LookupPerson/index.tsx (1 hunks)
Files skipped from review as they are similar to previous changes (1)
- libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/modals/LookupPerson/index.tsx
…nd-is/island.is into sp_collection_parliamentary
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/signature-collection/src/screens/Parliamentary/OwnerView/ViewList/index.tsx (1 hunks)
Files skipped from review as they are similar to previous changes (1)
- libs/service-portal/signature-collection/src/screens/Parliamentary/OwnerView/ViewList/index.tsx
* feat(service-portal): Parliamentary setup * restructuring files adding parliamentary * initial view setup * owner view update * owner - view list draft * add manager draft * ui updates and cleanup * tweaks * ui updates - owner view * cleanup * chore: nx format:write update dirty files * lint fix * tweaks in module for feature flagging * review tweaks * tweak * chore: nx format:write update dirty files * import fix --------- Co-authored-by: kksteini <steini@kosmosogkaos.is> Co-authored-by: andes-it <builders@andes.is> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* feat(service-portal): Parliamentary setup * restructuring files adding parliamentary * initial view setup * owner view update * owner - view list draft * add manager draft * ui updates and cleanup * tweaks * ui updates - owner view * cleanup * chore: nx format:write update dirty files * lint fix * tweaks in module for feature flagging * review tweaks * tweak * chore: nx format:write update dirty files * import fix --------- Co-authored-by: kksteini <steini@kosmosogkaos.is> Co-authored-by: andes-it <builders@andes.is> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Note: still a WIP, but the initial setup of the ui that will be iterated once all the decisions are made
Checklist:
Summary by CodeRabbit
New Features
ViewList
component to display signature lists in a structured format.OwnerView
component for managing parliamentary lists and personnel, improving user interaction.LookupPerson
modal for searching individuals by national ID, streamlining user lookups.Bug Fixes
Documentation