Components
335 components across 4 layers
UI Components
Multi-step onboarding wizard shown to new users after their first successful authentication. Guides ...
Full-screen UI presented on first app launch that lists all available organizations (NHF, Blindeforb...
Stateless Flutter widget driven by a BLoC that manages the email and password login form. Handles fo...
Full-screen UI that initiates the BankID OIDC authentication flow by launching an in-app browser ses...
Full-screen UI that initiates the Vipps Login OAuth flow via an in-app browser. Communicates to the ...
The entry screen shown on app launch for returning authenticated users. Displays a biometric prompt ...
Service Components
Business logic layer responsible for fetching, caching, and managing the active organization context...
BLoC-based service that orchestrates the email and password authentication flow against the REST API...
Backend service that abstracts the BankID OIDC provider flow behind a common authentication interfac...
Shared backend service that provides a provider-agnostic interface for linking verified external ide...
Backend service that abstracts the Vipps Login OAuth flow behind the same common authentication inte...
Core service that orchestrates biometric authentication using the local_auth Flutter plugin. Handles...
Data Components
Data access layer that abstracts all persistence and retrieval operations for organization data. Com...
Secure persistent storage for JWT access and refresh tokens using Flutter Secure Storage, backed by ...
Data access layer for persisting and retrieving authentication tokens, session records, and identity...
Manages persistent storage of the refresh token in the device's secure enclave using Flutter Secure ...
Caches the role-permission matrix locally on the device to allow the Role Guard Service to evaluate ...
Data access layer managing all CRUD operations for activities and activity types against the local S...
Infrastructure Components
Infrastructure layer responsible for JWT token parsing, validation, and expiry checks. Decodes acces...
Flutter infrastructure layer wrapping flutter_web_auth_2 (or equivalent) to launch external OAuth pr...
Shared backend infrastructure for signing, verifying, and managing platform JWTs. Used by both BankI...
Next.js API route infrastructure that receives OAuth authorization code callbacks from BankID and Vi...
Platform-level abstraction wrapping the local_auth Flutter plugin and Flutter Secure Storage package...
Next.js middleware layer that intercepts every API request and validates the JWT role claims server-...
Shared Components
Secure persistent storage for JWT access and refresh tokens using Flutter Secure Storage, backed by ...
Infrastructure layer responsible for JWT token parsing, validation, and expiry checks. Decodes acces...
BLoC-based service that orchestrates the email and password authentication flow against the REST API...
Data access layer for persisting and retrieving authentication tokens, session records, and identity...
Shared backend infrastructure for signing, verifying, and managing platform JWTs. Used by both BankI...
Next.js middleware layer that intercepts every API request and validates the JWT role claims server-...
A Riverpod provider that reads the authenticated user's role and organization context from app state...
Data access layer for activity records supporting both online REST API writes and offline local SQLi...
Read-only local cache of contact records enabling offline contact search within the wizard contact s...
Shared business logic service for creating, updating, and submitting activities. Used by both the si...
WCAG 2.2 AA compliant reusable picker widget providing 44×44px touch targets, keyboard-accessible nu...
Reusable Flutter widget that wraps any TextField with a microphone button, enabling peer mentors to ...
Injects the authenticated user's role into query contexts to enforce data access boundaries. Shared ...
Compact list-item card displaying a contact's name, role context, and last interaction summary. Meet...
Reusable search input widget that triggers real-time filtering across contacts and notes content. Im...
Segmented control widget allowing users to toggle the contacts list between 'Contacts' and 'Peer Men...
Data access layer for the contacts table, shared across Contact List & Search and Contact Detail & E...
Business logic layer for contact CRUD operations, shared across the Contact List & Search and Contac...
A reusable card widget that displays a single aggregated metric — such as total hours, total contact...
Next.js API route middleware that enforces role-scoped access control for all team report endpoints,...
Middleware that enforces role-based access control for all Bufdir report generation and export endpo...
Infrastructure component that writes structured audit log entries to audit_logs for every approval l...
Compact badge widget that renders the current approval status of a reimbursement claim with color co...
Implements the asymmetric key exchange and symmetric encryption layer used for assignment payloads. ...
Persistent Material 3 NavigationBar shell widget wrapping all five tab destinations (Home, Contacts,...
Adapter layer wrapping the transactional email provider (Resend or SendGrid) used for all outbound s...
Generates and validates time-limited cryptographically signed tokens used in user invitation links. ...
Handles the composition and dispatch of user invitation emails via a transactional email provider su...
Specialized service responsible for recording immutable audit trail entries whenever an approval act...
Inline badge component that surfaces duplicate activity detection results as visual warnings on acti...
Data access layer optimized for the admin oversight use case, providing complex filtered and paginat...
Infrastructure utility that generates time-limited signed URLs for accessing receipt images stored i...
Service responsible for writing immutable audit log entries whenever a reimbursement is approved, re...
Overlay modal that displays receipt images fetched via signed URLs from object storage, preventing u...
Data access layer for the full organizational hierarchy including organizations, regions, and local ...
Application-level tenancy scoping layer that intercepts every incoming API request and attaches the ...
Flutter BLoC-based service that stores and broadcasts the active association context throughout the ...
Shared service that provides aggregated activity and contact statistics for a given user and time ra...
Provides low-level utilities for generating image snapshots and PDF exports of the calculator result...
Reusable Flutter widget that renders a visual chart of individual benefit categories using the fl_ch...
Flutter-side Dio/HTTP interceptor chain that transparently handles token refresh, retry logic, and e...
Centralized HTTP client for the Flutter mobile app that handles all communication with the Next.js b...
Single Dart constants file defining all visual design tokens for the application including colors, t...
Infrastructure layer providing localized, organization-aware semantic label strings for all interact...
Central service managing runtime accessibility state, screen reader detection, font scaling, and foc...
Accessible, reusable button widget used throughout the Flutter app. Enforces minimum 24x24 logical p...
Accessible text input widget enforcing WCAG 2.2 AA requirements for form fields across the entire ap...
Widget utilities managing modal presentation, dismissal, and focus trapping to meet WCAG 2.2 focus m...
Standardized page header widget providing consistent visual hierarchy, back navigation, and screen r...
Provides read and write access to the local SQLite mirror of server-side data required for offline o...
Monitors device network connectivity using the connectivity_plus Flutter package and exposes reactiv...
Bootstraps and manages the on-device SQLite database using the drift (formerly moor) package for Flu...
A persistent UI widget that communicates the current synchronization state to the user. Displays pen...
Persists security-relevant events to a dedicated PostgreSQL audit_logs table with tamper-evident app...
Wraps flutter_secure_storage to provide hardware-backed secure storage delegating to iOS Keychain an...
Provides AES-256-GCM symmetric encryption for sensitive fields at rest. Wraps key derivation logic w...
Manages a pool of PostgreSQL connections for the Next.js backend using node-postgres (pg). Configure...
Manages versioned SQL schema migrations for the PostgreSQL database. Applies migration scripts in se...