diff --git a/VERSION.properties b/VERSION.properties index 85efee4..86768f4 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.112 -server.version=1.2.104 +client.version=1.2.113 +server.version=1.2.105 diff --git a/shine-UI/js/pages/show-keys-view.js b/shine-UI/js/pages/show-keys-view.js index 29a1273..1aa1b8f 100644 --- a/shine-UI/js/pages/show-keys-view.js +++ b/shine-UI/js/pages/show-keys-view.js @@ -40,13 +40,28 @@ export function render({ navigate }) { const renderField = (id, label) => { const row = document.createElement('div'); row.className = 'key-card stack'; + const eyeIcon = ` + + `; + const eyeOffIcon = ` + + `; row.innerHTML = `
${label} - +
*****
`; + row._eyeIcon = eyeIcon; + row._eyeOffIcon = eyeOffIcon; return row; }; @@ -59,21 +74,29 @@ export function render({ navigate }) { const setMissingState = (id) => { const valueEl = card.querySelector(`[data-value="${id}"]`); const btnEl = card.querySelector(`[data-toggle="${id}"]`); + const field = btnEl?.closest('.key-card'); valueEl.textContent = 'нет данных'; btnEl.disabled = true; - btnEl.textContent = 'Нет'; + btnEl.innerHTML = field?._eyeOffIcon || ''; + btnEl.setAttribute('aria-label', 'Нет данных'); + btnEl.title = 'Нет данных'; }; const updateField = (id) => { const valueEl = card.querySelector(`[data-value="${id}"]`); const btnEl = card.querySelector(`[data-toggle="${id}"]`); + const field = btnEl?.closest('.key-card'); if (!keys[id]) { setMissingState(id); return; } valueEl.textContent = visible[id] ? keys[id] : '*****'; btnEl.disabled = false; - btnEl.textContent = visible[id] ? 'Скрыть' : 'Показать'; + btnEl.innerHTML = visible[id] + ? field?._eyeIcon || '' + : field?._eyeOffIcon || ''; + btnEl.setAttribute('aria-label', visible[id] ? 'Скрыть ключ' : 'Показать ключ'); + btnEl.title = visible[id] ? 'Скрыть ключ' : 'Показать ключ'; }; card.querySelectorAll('[data-toggle]').forEach((button) => { diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 2bfd8bb..17519f8 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -1281,6 +1281,24 @@ textarea.input { letter-spacing: 0; } +.key-toggle-btn { + width: 36px; + height: 36px; + min-height: 36px; + min-width: 36px; + padding: 0; + display: grid; + place-items: center; + flex: 0 0 auto; + border-radius: 10px; +} + +.key-toggle-icon { + width: 18px; + height: 18px; + display: block; +} + .qr-demo { width: 64px; height: 64px;