Updates view creation to leverage sections for improved layout control, especially on the home view.
The home view now uses a grid layout via sections.
This change makes it easier to create complex layouts and improves responsiveness.
Previously, the card creation logic was embedded directly within each view, leading to code duplication and difficulty in customizing layouts.
The changes introduce the concept of sections, which are distinct areas within a view that can contain multiple cards.
The home view is updated to use sections for the persons, areas, and quick access cards.
This makes it easier to create responsive layouts that adapt to different screen sizes.
Adds:
- Strategy:
- SceneCard: Support for Stateful scenes. Closes#190.
- ValveCard: A card to control an entity of the valve domain. Closes#192.
- LockView: A view for entities of the lock domain. Closes#171.
- Modules:
- RegistryFilter: Advanced filtering and sorting of Home Assistant registries.
- Auxiliaries: Generic utility functions.
- Debug: Centralized logging and debug level management.
- Tooling:
- ESLint configuration for linting.
- Prettier configuration for code formatting.
Removes:
- Redundant types and interface annotations.
- Redundant legacy and unused modules.
- Localization constant from the `Helper` module in favor of a new `localize` utility.
Refactors:
- References regarding change of repository owner.
- Auxiliary functions are moved from the `Helper` module to `Auxiliaries` module.
- `Helper` module is renamed to `Registry` for centralized state and registry management.
- `ControllerCard` is renamed to `HeaderCard`.
- Doc-blocks and comments are updated for clarity and consistency.
- The file tree is restructured for improved clarity, modularity, and scalability.
- Third party type definitions are updated and cleaned up.
- Issue and Pull Request templates.
Optimizations:
- Parallelization of dynamic imports for views and cards.
- Improved error handling and logging throughout the codebase.
- Sanitization of HASS registries after import.
- Enforced stricter and simplified types and interfaces.
- Localization now available at global scope.
Fixes:
- Wrong type in configuration of `HeaderCard`.
- Translation files: Resolved key inconsistencies.
- Removed unnecessary namespaces from types.
- Typos and Grammar.
- Explicit use of `any` types.
- Turn off all entities of a domain with a chip tap action.
- Rendering too small HASS area cards.
- Count of active vacuums.
Bumps:
- Mushroom Strategy
- home-assistant-js-websocket
- superstruct
- ts-loader
- ts-node
- typescript
- webpack
- webpack-cli
Fixed dashboard strings are replaced with a string in the language as
defined by the user.
Currently, languages `en` and `nl` are supported.
If the user-defined language isn't supported, the language will fall
back to english.
Untranslated strings will fall back to the translation keyword.
Resolves#166
Other changes include:
* Add Vacuum Card and View.
* Add hiding a view if no device is configured for it. Closes#24.
* Add icon to HomeView configuration.
* Add version output to console.
* Add version bumper.
* Add .editorconfig settings.
* Refactor README, because the information moved to the repository's
Wiki. Closes#87.