mirror of
https://github.com/Matysh/houseplan-card
synced 2026-07-31 08:28:31 +00:00
- All card UI strings moved to src/i18n.ts (en/ru); language follows the HA profile automatically, new 'language: en|ru' card option forces it; GUI editor localized and got the language dropdown; generated device names localized via BuildCtx.loc. - English-only codebase: comments, docstrings, test names, backend error messages and logs. Russian remains only in the ru dictionary, ru.json, iconFor regexes matching Russian device names (+their fixtures) and README.ru.md. - Docs English-first: README (EN) + README.ru.md, ARCHITECTURE/DEVELOPMENT/ ROADMAP/CHANGELOG fully translated; translations/en.json had Russian - fixed. - Removed obsolete RELEASE_NOTES_v1.9.3.md and scripts_publish.sh.
42 lines
1.4 KiB
Python
Executable File
42 lines
1.4 KiB
Python
Executable File
"""Config flow: a single entry with no parameters."""
|
|
from __future__ import annotations
|
|
|
|
import voluptuous as vol
|
|
|
|
from homeassistant import config_entries
|
|
|
|
from .const import CONF_ADMIN_ONLY, DOMAIN
|
|
|
|
|
|
class HouseplanConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|
"""One-step setup."""
|
|
|
|
VERSION = 1
|
|
|
|
async def async_step_user(self, user_input=None):
|
|
if self._async_current_entries():
|
|
return self.async_abort(reason="single_instance_allowed")
|
|
if user_input is not None:
|
|
return self.async_create_entry(title="House Plan", data={}, options=user_input)
|
|
return self.async_show_form(
|
|
step_id="user",
|
|
data_schema=vol.Schema({vol.Optional(CONF_ADMIN_ONLY, default=False): bool}),
|
|
)
|
|
|
|
@staticmethod
|
|
def async_get_options_flow(config_entry):
|
|
return HouseplanOptionsFlow()
|
|
|
|
|
|
class HouseplanOptionsFlow(config_entries.OptionsFlow):
|
|
"""Option: layout editing by administrators only."""
|
|
|
|
async def async_step_init(self, user_input=None):
|
|
if user_input is not None:
|
|
return self.async_create_entry(title="", data=user_input)
|
|
current = self.config_entry.options.get(CONF_ADMIN_ONLY, False)
|
|
return self.async_show_form(
|
|
step_id="init",
|
|
data_schema=vol.Schema({vol.Optional(CONF_ADMIN_ONLY, default=current): bool}),
|
|
)
|