# Add AppPreferences provider and UI integration · dara/icarus

[View on GitCafe](https://git.cafe/dara/icarus/commit/1e4ed46c0996913028dfb130160ad9d2157bdef1)

Repository: [dara/icarus](https://git.cafe/dara/icarus)

Visibility: public

Requested revision: 1e4ed46c0996913028dfb130160ad9d2157bdef1

Requested commit: 1e4ed46c0996913028dfb130160ad9d2157bdef1

Commit: 1e4ed46c0996913028dfb130160ad9d2157bdef1

Tree: 516705c7de497c622e56ebe875382b279a9f28e9

Author: Dara Adedeji

Committer: Dara Adedeji

## Message

```
Add AppPreferences provider and UI integration

Introduce a new AppPreferences provider persisted in Hive (app_preferences_provider.dart) to store global map/display defaults (spawn barrier, ult orbs, region names, default agent/ability sizes, default theme profile). Update Hive adapters and generated YAML to include new AppPreferences fields. Wire the provider into UI and logic: interactive_map and screenshot_view now read overlays from app preferences; settings_tab uses the provider (adds sliders for default sizes and checkboxes for overlays). Remove overlay flags from mapProvider and migrate map theme/profile logic to use the app preferences provider; strategy creation and imports persist/read app preferences so defaults apply to new strategies. Mark strategy settings changes as dirty via strategy_provider and strategy_settings_provider updates. Extend archive manifest to serialize/deserialize app preferences and add parsing helpers. Add tests for app preferences persistence, defaults usage in new strategies, and dirty-state behavior; adjust existing tests to use the new provider. Also add a safe check in AppErrorReporter before using the app provider container.

```

## Parents

- [9f2bdd96f9391ddf12e0404af6562f9e0ad37170](https://git.cafe/dara/icarus/commit/9f2bdd96f9391ddf12e0404af6562f9e0ad37170?format=markdown)

[Source at this commit](https://git.cafe/dara/icarus/tree/1e4ed46c0996913028dfb130160ad9d2157bdef1?format=markdown)
