Skip to main content

pilot_ui 0.0.13 copy "pilot_ui: ^0.0.13" to clipboard
pilot_ui: ^0.0.13 copied to clipboard

PlatformAndroid

A dynamic, theme-aware JSON UI rendering engine for Flutter with extensible parsers, action handlers, and ready-to-use smart dispatch & RTS action components.

0.0.13 #

  • iOS Multi-App Calling Support (Google Voice & Phone):
    • Added iOS multi-app chooser via native CupertinoActionSheet: automatically detects if Google Voice (googlevoice://) is installed on the user's iPhone and prompts between Phone (Default) and Google Voice.
    • Automatically copies the driver's phone number to the iOS clipboard when launching Google Voice for effortless paste and dial.
    • Added LSApplicationQueriesSchemes configuration for iOS (tel, googlevoice).

0.0.12 #

  • Multi-App Calling Chooser Support (Android):
    • Integrated android_intent_plus to display the native system app chooser (Intent.createChooser with ACTION_DIAL) when clicking the Call button in DriverContactBar and RtsActionCard on Android devices.
    • Allows users to select from all installed dialer and calling apps (e.g. Phone, Google Voice, Truecaller) rather than opening only the default dialer directly.
    • Updated PilotMarkdownText.defaultLaunchUrl to support the multi-app chooser for tel: URLs and phone numbers.
    • Added <queries> declarations for Android (ACTION_DIAL, tel:) in Android manifest for Android 11+ package visibility compliance.

0.0.11 #

  • Markdown Hyperlink & URL Tap Handling:
    • Added automatic link launching in PilotMarkdownText powered by url_launcher (PilotMarkdownText.defaultLaunchUrl), automatically opening URLs in the external browser or default system app when clicked.
    • Added auto-detection and clickable styling for raw URLs (http://... / https://...) in markdown content alongside standard [label](url) links.
    • Added onLinkTap callback parameter to RtsActionCard and RtsActionCard.fromMap, forwarding link tap interactions across Title, Description, and AI Insights.
  • Test Suite Updates:
    • Added widget unit tests in test/pilot_markdown_test.dart and test/rts_action_card_test.dart validating markdown link recognition, raw URL extraction, and callback triggers.

0.0.10 #

  • Driver Contact Bar (DriverContactBar):
    • Added dedicated DriverContactBar component for calling drivers directly via url_launcher (tel: dial pad intent).
    • Features driver avatar, driver name, clean phone number normalization, error feedback snackbars, and responsive dark/light theme styling.
    • Integrated contact bar into RtsActionCard, automatically resolving driver details from driver_phone, driver_name, or ui_schema.data.
    • Added onCallDriver and onMessageDriver callback hooks on RtsActionCard.
  • Integrated Audio Player (PilotAudioPlayer):
    • Added PilotAudioPlayer widget powered by audioplayers for driver voice notes and recorded audio streams.
    • Includes play/pause state controls, interactive seekable scrubber slider, tabular duration display (mm:ss), streaming error indicators, and theme-adaptive styling.
    • Integrated audio player into RtsActionCard when audio_url is present, with optional autoPlayAudio support.
  • Card Header Edit Option:
    • Added onEdit callback and showEdit toggle to RtsActionCard with an edit button rendered in the header next to the timestamp.
  • Dependencies & Public Exports:
    • Added audioplayers: ^6.1.0 and url_launcher: ^6.3.0 dependencies.
    • Exported DriverContactBar and PilotAudioPlayer in lib/pilot_ui.dart.
  • Test Suite Updates:
    • Added widget unit tests for DriverContactBar calling action, PilotAudioPlayer rendering, and header edit button trigger in test/rts_action_card_test.dart.

0.0.9 #

  • Countdown Expiry Progress Bar in RtsActionCard:
    • Added animated top-border countdown progress bar to RtsActionCard visually tracking event expiration for pending action items.
    • Added support for expires_at (ISO 8601 UTC timestamp) and expires_in_seconds properties with robust UTC-to-local normalization and total duration calculation.
    • Implemented dynamic progress gradient colors that smoothly transition from Blue (>40%) to Amber (15%-40%) to Red (<15%) as remaining time elapses.
    • Managed internal 100ms periodic timer with automatic cleanup upon card disposal, expiration, or status change to resolved.
  • UI Robustness & Overflow Protection:
    • Applied TextOverflow.ellipsis to RtsActionCard headers and labels to prevent text overflow issues.
  • Test Suite Updates:
    • Added widget unit tests in test/rts_action_card_test.dart to verify countdown progress bar rendering on pending events and automatic suppression on resolved events.

0.0.8 #

  • Full Visibility & AI Insights in RtsActionCard:
    • Removed expand/collapse tap toggling and line truncation on event description and AI insights text, rendering full content by default for immediate readability and faster review.
    • Renamed the "AI Diagnosis" callout section header to "AI Insights".
  • Layout Modernization:
    • Modernized Column and Row layouts across RtsActionCard using native Flutter spacing parameters instead of interstitial SizedBox widgets.
  • Test Suite Updates:
    • Updated unit test suite in test/rts_action_card_test.dart to validate "AI Insights" labeling and full-text visibility.

0.0.7 #

  • Dark Mode Support & Theme Adaptability:
    • Added isDarkMode parameter to RtsActionCard and DynamicActionButtons with automatic brightness detection from Theme.of(context).brightness.
    • Implemented dedicated dark theme color palettes, card surface backgrounds, high-contrast borders, inputs, and button styling.
  • AI Diagnosis Section & Interactive Preview:
    • Added a dedicated AI Diagnosis callout container in RtsActionCard rendered directly below event descriptions.
    • Added tap-to-expand collapsible preview (_isDiagnosisExpanded) with smooth animation and rich markdown formatting support.
  • Responsive Layout & Badge Improvements:
    • Wrapped severity and status badges in FittedBox with BoxFit.scaleDown to prevent text overflows on compact screens and narrow cards.
  • Testing & Quality:
    • Added comprehensive unit test coverage for AI diagnosis expansion and dark theme rendering in test/rts_action_card_test.dart.

0.0.6 #

  • Markdown Text Rendering & Formatting:
    • Introduced PilotMarkdownText widget for rendering markdown formatting (bold, italic, inline code, headers, bullet lists, and clickable hyperlinks) without heavy external dependencies.
    • Added MarkdownTextParser to parse and render "markdown" and "markdown_text" widget definitions in JSON schemas via PilotBuilder.
    • Updated RtsActionCard to format and render event titles and descriptions using PilotMarkdownText.
    • Updated example application mock data with rich markdown-formatted event descriptions and AI diagnoses.
    • Added comprehensive unit test suite in test/pilot_markdown_test.dart for regex parsing, list normalization, styling, and JSON widget schema parsing.

0.0.5 #

  • Asynchronous Loading States & RTS Action Enhancements:
    • Converted DynamicActionButtons to a StatefulWidget with internal loading state management for asynchronous actions.
    • Added inline CircularProgressIndicator inside action buttons while action execution is in progress.
    • Added isLoading, loadingAction, loadingActionType, and loadingActionLabel props to DynamicActionButtons for granular external loading control.
    • Prevented concurrent duplicate triggers by disabling action buttons while any action is executing.
    • Updated RtsActionCard to support asynchronous onActionTriggered and onButtonTap callbacks and propagate loading states to buttons.
    • Disabled RtsActionCard reason text field, "Self" edit toggle, and mode switch buttons while an action is executing.
    • Updated RtsActionCard expanded view to display the event description directly.
    • Enhanced unit tests with async loading indicator verification and updated example application with simulated network latency.

0.0.4 #

  • Expandable RTS Action Card & UI Refinements:
    • Added smooth expandable/collapsible body animation to RtsActionCard using SizeTransition and CurvedAnimation.
    • Added initiallyExpanded parameter to RtsActionCard to control initial card expansion (defaults to false).
    • Modernized visual styling with multi-layered soft elevation shadows, refined borders, and compact badge typography.
    • Enhanced action reason handling to prefill from action payloads or direct data keys.
    • Updated DynamicActionButtons styling: increased height to 38px, adjusted padding, and updated Emerald & Indigo palettes.
    • Renamed manual action toggle to "Self" with an updated icon.
    • Updated unit tests to verify expandable interaction behaviors and initial expansion states.

0.0.3 #

  • Package Renaming & RTS Action Card Enhancements:
    • Renamed package to pilot_ui.
    • Enhanced RtsActionCard to merge top-level action_payload with individual action item payloads.
    • Added fallback context ID extraction (user_id, driver_id, attendance_id, id) from card data or ui_schema.
    • Improved action trigger status inference and reason handling.
    • Added unit tests verifying complete actionPayload merging and ID preservation.

0.0.2 #

  • RtsActionCard Refactoring & Enhancements:
    • Refactored RtsActionCard to accept a consolidated data map instead of individual parameters.
    • Added onButtonTap callback for handling action triggers.
    • Moved data parsing and property extraction to private getters within _RtsActionCardState.
    • Updated example app and unit tests to reflect the new component API.

0.0.1 #

  • Initial release of pilot_ui.
  • Dynamic JSON UI Engine:
    • Core PilotBuilder widget for compiling JSON definitions into interactive, responsive Flutter widget trees.
    • Extensible PilotRegistry system for registering custom widget parsers and action handlers.
    • State management and dynamic context evaluation through PilotStateContext and Evaluator.
    • AST caching and performance optimization for rapid expression parsing.
    • Theme resolution and responsive layout helpers (breakpoints, adaptive sizes).
  • Comprehensive Widget Parser Suite:
    • Layout: Container, Column, Row, Flex, Stack, ListView, Expanded, Wrap, SafeArea.
    • Display: Text, Icon, CachedImage, Card, Avatar, Badge, ProgressIndicator, GlassContainer.
    • Input & Interactive: TextField, Checkbox, ElevatedButton, TextButton.
    • Navigation & App Structure: AppBar, BottomNavigationBar, FloatingActionButton, PageView, TabView.
  • Built-in Action Handlers:
    • showDialog, showBottomSheet, setState, emitEvent.
  • Specialized Fleet & Logistics Components:
    • RtsActionCard: Feature-rich, interactive Return-to-Station (RTS) event cards with severity tags, AI diagnosis panels, expandable reasons, and confirmation bottom sheets.
    • DynamicActionButtons: Configurable action buttons with icon mapping and callback routing.
    • PilotComponents.registerAll() helper to quickly register pre-built specialized components.
1
likes
120
points
532
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A dynamic, theme-aware JSON UI rendering engine for Flutter with extensible parsers, action handlers, and ready-to-use smart dispatch & RTS action components.

Homepage

License

MIT (license)

Dependencies

android_intent_plus, audioplayers, cached_network_image, flutter, url_launcher

More

Packages that depend on pilot_ui