From 63d638c5df2f4e301f27029f42a35d8b3cae381e Mon Sep 17 00:00:00 2001 From: mortezaei Date: Tue, 25 Aug 2026 17:56:06 +0330 Subject: [PATCH] fix(coordinator): hide bottom action button during keyboard open to prevent glow artifact --- src/app/globals.css | 13 +++++++++++++ src/components/Componentes/fix-to-the-end.tsx | 2 +- src/components/Componentes/question-number.test.tsx | 3 ++- .../Componentes/question-viewport-coordinator.ts | 3 ++- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/app/globals.css b/src/app/globals.css index c4cb2a6..776ad95 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -412,6 +412,19 @@ body.section-overlay-open .app-shell { will-change: transform; } +.question-fix-to-end { + transition: + opacity 200ms ease-out, + transform 240ms cubic-bezier(0.16, 1, 0.3, 1); + will-change: opacity, transform; +} + +body.question-keyboard-open .question-fix-to-end { + opacity: 0 !important; + pointer-events: none !important; + transform: translate3d(0, 120%, 0) !important; +} + .page-background-none, .page-background-custom, .page-background-default { diff --git a/src/components/Componentes/fix-to-the-end.tsx b/src/components/Componentes/fix-to-the-end.tsx index 41a96a7..86ec978 100644 --- a/src/components/Componentes/fix-to-the-end.tsx +++ b/src/components/Componentes/fix-to-the-end.tsx @@ -12,7 +12,7 @@ export function FixToTheEnd({ children, className }: FixToTheEndProps) {
{ type: "number", order: 1, required: true, + baseRequired: true, isVisible: true, description: "", tooltip: "", - extras: { placeHolder: "e.g. 3", range: [0, 20] }, + extras: { placeHolder: "e.g. 3", range: [0, 20], options: [] }, options: [], ui_config: {}, }; diff --git a/src/components/Componentes/question-viewport-coordinator.ts b/src/components/Componentes/question-viewport-coordinator.ts index e63b281..25f54d3 100644 --- a/src/components/Componentes/question-viewport-coordinator.ts +++ b/src/components/Componentes/question-viewport-coordinator.ts @@ -94,7 +94,8 @@ function setLift(nextLift: number) { const prevLift = currentLift; currentLift = Math.max(0, Math.round(nextLift)); document.documentElement.style.setProperty(LIFT_VARIABLE, `${currentLift}px`); - const isOpen = currentLift > 0 && keyboardVisible && activeQuestionInput !== null; + const isOpen = + (currentLift > 0 || keyboardVisible) && activeQuestionInput !== null; document.body.classList.toggle("question-keyboard-open", isOpen); console.log(`[Coord] setLift: ${prevLift}px -> ${currentLift}px | visible: ${keyboardVisible} | class: ${isOpen}`); }