Skip to content

feat: Add Dynamic ISF data accumulation progress indicator#16

Draft
Sjoerd-Bo3 wants to merge 1 commit intodevfrom
feature/dynamic-isf-countdown-issue-560
Draft

feat: Add Dynamic ISF data accumulation progress indicator#16
Sjoerd-Bo3 wants to merge 1 commit intodevfrom
feature/dynamic-isf-countdown-issue-560

Conversation

@Sjoerd-Bo3
Copy link
Copy Markdown
Owner

@Sjoerd-Bo3 Sjoerd-Bo3 commented May 25, 2025

Summary

Description

This PR implements a progress tracking system for Dynamic ISF to address user confusion about when the feature becomes active. The new progress indicator clearly shows:

  • Current vs required data points
  • Progress bar visualization
  • Days of data collected
  • Clear messaging about the 7-day requirement

Key Features

  1. Progress View Component: Clean, reusable SwiftUI component with:

    • Progress bar with gradient fill
    • Percentage and day count display
    • Informative text about data requirements
  2. Data Tracking:

    • Fetches actual TDD record count from Core Data
    • Updates automatically as new data is recorded
    • Handles edge cases (no data, partial data)
  3. UI Integration:

    • Displays prominently at top of Dynamic Settings when data is insufficient
    • Automatically hides when 7 days of data are available
    • Maintains consistent styling with rest of the app

Test plan

  • Enable Dynamic ISF on a fresh install or with <7 days of data
  • Verify progress indicator appears at top of Dynamic Settings
  • Check that progress bar and counts update as days pass
  • Confirm indicator disappears after 7 days of TDD data
  • Test with various data scenarios (0 days, partial days, full 7 days)
  • Verify no impact on existing Dynamic ISF functionality

Screenshots

Progress Indicator In Settings View
!Progress View !Settings Integration

- Created DynamicISFProgressView component showing data collection progress
- Shows progress bar with percentage and days of data collected
- Updates DynamicSettingsStateModel to track current and required data points
- Displays progress indicator when Dynamic ISF is not yet available
- Follows dnzxy's suggestion for progress bar instead of precise countdown
- Addresses issue nightscout#560 for better transparency during 7-day warmup period
@Sjoerd-Bo3 Sjoerd-Bo3 marked this pull request as draft July 5, 2025 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Countdown for Dynamic ISF "Warmup"

1 participant