feat(web): хоткей Ctrl+F для полноэкранного режима приложения
Кнопке «На весь экран» в верхней панели добавлен хоткей Ctrl+F. Хоткей `f` полноэкранного просмотра больше не срабатывает на Ctrl+F: модификаторы проверяются явно, поэтому сочетание свободно для кнопки каркаса.
This commit is contained in:
@@ -176,6 +176,17 @@
|
||||
}
|
||||
|
||||
function onKeydown(ev: KeyboardEvent) {
|
||||
// Ctrl+F — полноэкранный режим приложения (кнопка «На весь экран»).
|
||||
if (
|
||||
ev.ctrlKey &&
|
||||
!ev.shiftKey &&
|
||||
!ev.altKey &&
|
||||
(ev.key === 'f' || ev.key === 'F' || ev.key === 'а' || ev.key === 'А')
|
||||
) {
|
||||
ev.preventDefault();
|
||||
toggleFullscreen();
|
||||
return;
|
||||
}
|
||||
if (ev.ctrlKey || ev.metaKey || ev.altKey || ev.repeat) return;
|
||||
|
||||
// `+`/`-` меняют размер миниатюр — как кнопки под регулятором.
|
||||
@@ -275,8 +286,11 @@
|
||||
<button
|
||||
type="button"
|
||||
class="text-text-muted hover:bg-bg-muted hover:text-text inline-flex items-center justify-center rounded-md p-1"
|
||||
aria-label={isFullscreen ? 'Выйти из полноэкранного режима' : 'На весь экран'}
|
||||
title={isFullscreen ? 'Выйти из полноэкранного режима' : 'На весь экран'}
|
||||
aria-label={isFullscreen
|
||||
? 'Выйти из полноэкранного режима (Ctrl+F)'
|
||||
: 'На весь экран (Ctrl+F)'}
|
||||
title={isFullscreen ? 'Выйти из полноэкранного режима (Ctrl+F)' : 'На весь экран (Ctrl+F)'}
|
||||
aria-keyshortcuts="Control+f"
|
||||
aria-pressed={isFullscreen}
|
||||
onclick={toggleFullscreen}
|
||||
>
|
||||
|
||||
@@ -362,7 +362,13 @@
|
||||
else toggleActual();
|
||||
return;
|
||||
}
|
||||
if (ev.key === 'f' || ev.key === 'F' || ev.key === 'а' || ev.key === 'А') {
|
||||
// `f` — полноэкранный просмотр; `Ctrl+F` отдан кнопке «На весь экран» каркаса.
|
||||
if (
|
||||
!ev.ctrlKey &&
|
||||
!ev.metaKey &&
|
||||
!ev.altKey &&
|
||||
(ev.key === 'f' || ev.key === 'F' || ev.key === 'а' || ev.key === 'А')
|
||||
) {
|
||||
ev.preventDefault();
|
||||
toggleViewerFullscreen();
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user