From a4bbcea28210ae7b27b90848a583593542ad11f4 Mon Sep 17 00:00:00 2001 From: Bob Mannino Date: Mon, 11 Aug 2025 18:25:38 +0100 Subject: [PATCH 1/9] add keyboard shortcuts for compose/redis/postgres pages --- apps/dokploy/hooks/use-keyboard-nav.tsx | 67 +++++++++++++++---- .../services/application/[applicationId].tsx | 4 +- .../services/compose/[composeId].tsx | 2 + .../services/postgres/[postgresId].tsx | 2 + .../[projectId]/services/redis/[redisId].tsx | 2 + 5 files changed, 61 insertions(+), 16 deletions(-) diff --git a/apps/dokploy/hooks/use-keyboard-nav.tsx b/apps/dokploy/hooks/use-keyboard-nav.tsx index d24064c31..3d4d052c6 100644 --- a/apps/dokploy/hooks/use-keyboard-nav.tsx +++ b/apps/dokploy/hooks/use-keyboard-nav.tsx @@ -3,7 +3,26 @@ import { usePathname, useRouter, useSearchParams } from "next/navigation"; import { useCallback, useEffect, useState } from "react"; -const SHORTCUTS = { +const PAGES = ["compose", "application", "postgres", "redis"] as const; +type Page = typeof PAGES[number]; + +type Shortcuts = Record; +type ShortcutsDictionary = Record; + +const COMPOSE_SHORTCUTS: Shortcuts = { + g: "general", + e: "environment", + u: "domains", + d: "deployments", + b: "backups", + s: "schedules", + v: "volumeBackups", + l: "logs", + m: "monitoring", + a: "advanced", +}; + +const APPLICATION_SHORTCUTS: Shortcuts = { g: "general", e: "environment", u: "domains", @@ -16,22 +35,40 @@ const SHORTCUTS = { a: "advanced", }; +const POSTGRES_SHORTCUTS: Shortcuts = { + g: "general", + e: "environment", + l: "logs", + m: "monitoring", + b: "backups", + a: "advanced", +}; + +const REDIS_SHORTCUTS: Shortcuts = { + g: "general", + e: "environment", + l: "logs", + m: "monitoring", + a: "advanced", +}; + +const SHORTCUTS: ShortcutsDictionary = { + application: APPLICATION_SHORTCUTS, + compose: COMPOSE_SHORTCUTS, + postgres: POSTGRES_SHORTCUTS, + redis: REDIS_SHORTCUTS, +}; + /** - * Use this to register keyboard shortcuts for the application page. Each - * shortcut must be prefixed with `g` (like GitHub). + * Use this to register keyboard shortcuts for different pages. Each shortcut + * must be prefixed with `g` (like GitHub). * + * @example * - `g g` "General", * - `g e` "Environment", * - `g u` "Domains", - * - `g p` "Preview Deployments", - * - `g s` "Schedules", - * - `g v` "Volume Backups", - * - `g d` "Deployments", - * - `g l` "Logs", - * - `g m` "Monitoring", - * - `g a` "Advanced" */ -export function UseKeyboardNavForApplications() { +export function UseKeyboardNav({ forPage }: { forPage: Page }) { const [isModPressed, setModPressed] = useState(false); const [timer, setTimer] = useState(null); @@ -39,6 +76,8 @@ export function UseKeyboardNavForApplications() { const router = useRouter(); const pathname = usePathname(); + const shortcuts = SHORTCUTS[forPage]; + const updateSearchParam = useCallback( (name: string, value: string) => { const params = new URLSearchParams(sp.toString()); @@ -55,10 +94,10 @@ export function UseKeyboardNavForApplications() { if (timer) clearTimeout(timer); setModPressed(false); - if (key in SHORTCUTS) { - const tab = SHORTCUTS[key as keyof typeof SHORTCUTS]; + if (key in shortcuts) { + const tab = shortcuts[key]!; router.push( - `${pathname}?${updateSearchParam("tab", tab.toLowerCase())}`, + `${pathname}?${updateSearchParam("tab", tab)}`, ); } } else { diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx index 104b1ff7b..305a931ce 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx @@ -51,7 +51,7 @@ import { TooltipProvider, TooltipTrigger, } from "@/components/ui/tooltip"; -import { UseKeyboardNavForApplications } from "@/hooks/use-keyboard-nav"; +import { UseKeyboardNav } from "@/hooks/use-keyboard-nav"; import { appRouter } from "@/server/api/root"; import { api } from "@/utils/api"; @@ -92,7 +92,7 @@ const Service = ( return (
- + + + + Date: Mon, 11 Aug 2025 19:15:54 +0100 Subject: [PATCH 2/9] format --- apps/dokploy/hooks/use-keyboard-nav.tsx | 148 ++++++++++++------------ 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/apps/dokploy/hooks/use-keyboard-nav.tsx b/apps/dokploy/hooks/use-keyboard-nav.tsx index 3d4d052c6..3a99dbc61 100644 --- a/apps/dokploy/hooks/use-keyboard-nav.tsx +++ b/apps/dokploy/hooks/use-keyboard-nav.tsx @@ -10,46 +10,46 @@ type Shortcuts = Record; type ShortcutsDictionary = Record; const COMPOSE_SHORTCUTS: Shortcuts = { - g: "general", - e: "environment", - u: "domains", - d: "deployments", - b: "backups", - s: "schedules", - v: "volumeBackups", - l: "logs", - m: "monitoring", - a: "advanced", + g: "general", + e: "environment", + u: "domains", + d: "deployments", + b: "backups", + s: "schedules", + v: "volumeBackups", + l: "logs", + m: "monitoring", + a: "advanced", }; const APPLICATION_SHORTCUTS: Shortcuts = { - g: "general", - e: "environment", - u: "domains", - p: "preview-deployments", - s: "schedules", - v: "volume-backups", - d: "deployments", - l: "logs", - m: "monitoring", - a: "advanced", + g: "general", + e: "environment", + u: "domains", + p: "preview-deployments", + s: "schedules", + v: "volume-backups", + d: "deployments", + l: "logs", + m: "monitoring", + a: "advanced", }; const POSTGRES_SHORTCUTS: Shortcuts = { - g: "general", - e: "environment", - l: "logs", - m: "monitoring", - b: "backups", - a: "advanced", + g: "general", + e: "environment", + l: "logs", + m: "monitoring", + b: "backups", + a: "advanced", }; const REDIS_SHORTCUTS: Shortcuts = { - g: "general", - e: "environment", - l: "logs", - m: "monitoring", - a: "advanced", + g: "general", + e: "environment", + l: "logs", + m: "monitoring", + a: "advanced", }; const SHORTCUTS: ShortcutsDictionary = { @@ -60,57 +60,57 @@ const SHORTCUTS: ShortcutsDictionary = { }; /** - * Use this to register keyboard shortcuts for different pages. Each shortcut - * must be prefixed with `g` (like GitHub). - * - * @example - * - `g g` "General", - * - `g e` "Environment", - * - `g u` "Domains", - */ +* Use this to register keyboard shortcuts for different pages. Each shortcut +* must be prefixed with `g` (like GitHub). +* +* @example +* - `g g` "General", +* - `g e` "Environment", +* - `g u` "Domains", +*/ export function UseKeyboardNav({ forPage }: { forPage: Page }) { - const [isModPressed, setModPressed] = useState(false); - const [timer, setTimer] = useState(null); + const [isModPressed, setModPressed] = useState(false); + const [timer, setTimer] = useState(null); - const sp = useSearchParams(); - const router = useRouter(); - const pathname = usePathname(); + const sp = useSearchParams(); + const router = useRouter(); + const pathname = usePathname(); const shortcuts = SHORTCUTS[forPage]; - const updateSearchParam = useCallback( - (name: string, value: string) => { - const params = new URLSearchParams(sp.toString()); - params.set(name, value); + const updateSearchParam = useCallback( + (name: string, value: string) => { + const params = new URLSearchParams(sp.toString()); + params.set(name, value); - return params.toString(); - }, - [sp], - ); + return params.toString(); + }, + [sp], + ); - useEffect(() => { - const handleKeyDown = ({ key }: KeyboardEvent) => { - if (isModPressed) { - if (timer) clearTimeout(timer); - setModPressed(false); + useEffect(() => { + const handleKeyDown = ({ key }: KeyboardEvent) => { + if (isModPressed) { + if (timer) clearTimeout(timer); + setModPressed(false); - if (key in shortcuts) { - const tab = shortcuts[key]!; - router.push( - `${pathname}?${updateSearchParam("tab", tab)}`, - ); - } - } else { - if (key === "g") { - setModPressed(true); - setTimer(setTimeout(() => setModPressed(false), 5000)); - } - } - }; + if (key in shortcuts) { + const tab = shortcuts[key]!; + router.push( + `${pathname}?${updateSearchParam("tab", tab)}`, + ); + } + } else { + if (key === "g") { + setModPressed(true); + setTimer(setTimeout(() => setModPressed(false), 5000)); + } + } + }; - window.addEventListener("keydown", handleKeyDown); - return () => window.removeEventListener("keydown", handleKeyDown); - }, [isModPressed, timer, updateSearchParam, router, pathname]); + window.addEventListener("keydown", handleKeyDown); + return () => window.removeEventListener("keydown", handleKeyDown); + }, [isModPressed, timer, updateSearchParam, router, pathname]); - return null; + return null; } From 957d1b5966ba709600057253259b7af62ef6246d Mon Sep 17 00:00:00 2001 From: Bob Mannino Date: Mon, 11 Aug 2025 19:28:29 +0100 Subject: [PATCH 3/9] add mysql keyboard shortcuts --- apps/dokploy/hooks/use-keyboard-nav.tsx | 3 ++- .../dashboard/project/[projectId]/services/mysql/[mysqlId].tsx | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/dokploy/hooks/use-keyboard-nav.tsx b/apps/dokploy/hooks/use-keyboard-nav.tsx index 3a99dbc61..7aa9adf6c 100644 --- a/apps/dokploy/hooks/use-keyboard-nav.tsx +++ b/apps/dokploy/hooks/use-keyboard-nav.tsx @@ -3,7 +3,7 @@ import { usePathname, useRouter, useSearchParams } from "next/navigation"; import { useCallback, useEffect, useState } from "react"; -const PAGES = ["compose", "application", "postgres", "redis"] as const; +const PAGES = ["compose", "application", "postgres", "redis", "mysql"] as const; type Page = typeof PAGES[number]; type Shortcuts = Record; @@ -57,6 +57,7 @@ const SHORTCUTS: ShortcutsDictionary = { compose: COMPOSE_SHORTCUTS, postgres: POSTGRES_SHORTCUTS, redis: REDIS_SHORTCUTS, + mysql: POSTGRES_SHORTCUTS, }; /** diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/mysql/[mysqlId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/mysql/[mysqlId].tsx index 11efc6528..d9fbe07e8 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/mysql/[mysqlId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/mysql/[mysqlId].tsx @@ -29,6 +29,7 @@ import { TooltipProvider, TooltipTrigger, } from "@/components/ui/tooltip"; +import { UseKeyboardNav } from "@/hooks/use-keyboard-nav"; import { cn } from "@/lib/utils"; import { appRouter } from "@/server/api/root"; import { api } from "@/utils/api"; @@ -62,6 +63,7 @@ const MySql = ( return (
+ Date: Mon, 11 Aug 2025 18:28:50 +0000 Subject: [PATCH 4/9] [autofix.ci] apply automated fixes --- apps/dokploy/hooks/use-keyboard-nav.tsx | 160 +++++++++--------- .../services/application/[applicationId].tsx | 2 +- .../services/compose/[composeId].tsx | 2 +- .../[projectId]/services/mysql/[mysqlId].tsx | 2 +- .../services/postgres/[postgresId].tsx | 2 +- .../[projectId]/services/redis/[redisId].tsx | 2 +- 6 files changed, 84 insertions(+), 86 deletions(-) diff --git a/apps/dokploy/hooks/use-keyboard-nav.tsx b/apps/dokploy/hooks/use-keyboard-nav.tsx index 7aa9adf6c..be9e206a9 100644 --- a/apps/dokploy/hooks/use-keyboard-nav.tsx +++ b/apps/dokploy/hooks/use-keyboard-nav.tsx @@ -4,114 +4,112 @@ import { usePathname, useRouter, useSearchParams } from "next/navigation"; import { useCallback, useEffect, useState } from "react"; const PAGES = ["compose", "application", "postgres", "redis", "mysql"] as const; -type Page = typeof PAGES[number]; +type Page = (typeof PAGES)[number]; type Shortcuts = Record; type ShortcutsDictionary = Record; const COMPOSE_SHORTCUTS: Shortcuts = { - g: "general", - e: "environment", - u: "domains", - d: "deployments", - b: "backups", - s: "schedules", - v: "volumeBackups", - l: "logs", - m: "monitoring", - a: "advanced", + g: "general", + e: "environment", + u: "domains", + d: "deployments", + b: "backups", + s: "schedules", + v: "volumeBackups", + l: "logs", + m: "monitoring", + a: "advanced", }; const APPLICATION_SHORTCUTS: Shortcuts = { - g: "general", - e: "environment", - u: "domains", - p: "preview-deployments", - s: "schedules", - v: "volume-backups", - d: "deployments", - l: "logs", - m: "monitoring", - a: "advanced", + g: "general", + e: "environment", + u: "domains", + p: "preview-deployments", + s: "schedules", + v: "volume-backups", + d: "deployments", + l: "logs", + m: "monitoring", + a: "advanced", }; const POSTGRES_SHORTCUTS: Shortcuts = { - g: "general", - e: "environment", - l: "logs", - m: "monitoring", - b: "backups", - a: "advanced", + g: "general", + e: "environment", + l: "logs", + m: "monitoring", + b: "backups", + a: "advanced", }; const REDIS_SHORTCUTS: Shortcuts = { - g: "general", - e: "environment", - l: "logs", - m: "monitoring", - a: "advanced", + g: "general", + e: "environment", + l: "logs", + m: "monitoring", + a: "advanced", }; const SHORTCUTS: ShortcutsDictionary = { - application: APPLICATION_SHORTCUTS, - compose: COMPOSE_SHORTCUTS, - postgres: POSTGRES_SHORTCUTS, - redis: REDIS_SHORTCUTS, - mysql: POSTGRES_SHORTCUTS, + application: APPLICATION_SHORTCUTS, + compose: COMPOSE_SHORTCUTS, + postgres: POSTGRES_SHORTCUTS, + redis: REDIS_SHORTCUTS, + mysql: POSTGRES_SHORTCUTS, }; /** -* Use this to register keyboard shortcuts for different pages. Each shortcut -* must be prefixed with `g` (like GitHub). -* -* @example -* - `g g` "General", -* - `g e` "Environment", -* - `g u` "Domains", -*/ + * Use this to register keyboard shortcuts for different pages. Each shortcut + * must be prefixed with `g` (like GitHub). + * + * @example + * - `g g` "General", + * - `g e` "Environment", + * - `g u` "Domains", + */ export function UseKeyboardNav({ forPage }: { forPage: Page }) { - const [isModPressed, setModPressed] = useState(false); - const [timer, setTimer] = useState(null); + const [isModPressed, setModPressed] = useState(false); + const [timer, setTimer] = useState(null); - const sp = useSearchParams(); - const router = useRouter(); - const pathname = usePathname(); + const sp = useSearchParams(); + const router = useRouter(); + const pathname = usePathname(); - const shortcuts = SHORTCUTS[forPage]; + const shortcuts = SHORTCUTS[forPage]; - const updateSearchParam = useCallback( - (name: string, value: string) => { - const params = new URLSearchParams(sp.toString()); - params.set(name, value); + const updateSearchParam = useCallback( + (name: string, value: string) => { + const params = new URLSearchParams(sp.toString()); + params.set(name, value); - return params.toString(); - }, - [sp], - ); + return params.toString(); + }, + [sp], + ); - useEffect(() => { - const handleKeyDown = ({ key }: KeyboardEvent) => { - if (isModPressed) { - if (timer) clearTimeout(timer); - setModPressed(false); + useEffect(() => { + const handleKeyDown = ({ key }: KeyboardEvent) => { + if (isModPressed) { + if (timer) clearTimeout(timer); + setModPressed(false); - if (key in shortcuts) { - const tab = shortcuts[key]!; - router.push( - `${pathname}?${updateSearchParam("tab", tab)}`, - ); - } - } else { - if (key === "g") { - setModPressed(true); - setTimer(setTimeout(() => setModPressed(false), 5000)); - } - } - }; + if (key in shortcuts) { + const tab = shortcuts[key]!; + router.push(`${pathname}?${updateSearchParam("tab", tab)}`); + } + } else { + if (key === "g") { + setModPressed(true); + setTimer(setTimeout(() => setModPressed(false), 5000)); + } + } + }; - window.addEventListener("keydown", handleKeyDown); - return () => window.removeEventListener("keydown", handleKeyDown); - }, [isModPressed, timer, updateSearchParam, router, pathname]); + window.addEventListener("keydown", handleKeyDown); + return () => window.removeEventListener("keydown", handleKeyDown); + }, [isModPressed, timer, updateSearchParam, router, pathname]); - return null; + return null; } diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx index 305a931ce..09766130d 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/application/[applicationId].tsx @@ -92,7 +92,7 @@ const Service = ( return (
- + - + - + - + - + Date: Mon, 11 Aug 2025 19:33:25 +0100 Subject: [PATCH 5/9] add mariadb/mongodb keyboard shortcuts --- apps/dokploy/hooks/use-keyboard-nav.tsx | 4 +++- .../project/[projectId]/services/mariadb/[mariadbId].tsx | 2 ++ .../project/[projectId]/services/mongo/[mongoId].tsx | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/dokploy/hooks/use-keyboard-nav.tsx b/apps/dokploy/hooks/use-keyboard-nav.tsx index be9e206a9..cc9a32496 100644 --- a/apps/dokploy/hooks/use-keyboard-nav.tsx +++ b/apps/dokploy/hooks/use-keyboard-nav.tsx @@ -3,7 +3,7 @@ import { usePathname, useRouter, useSearchParams } from "next/navigation"; import { useCallback, useEffect, useState } from "react"; -const PAGES = ["compose", "application", "postgres", "redis", "mysql"] as const; +const PAGES = ["compose", "application", "postgres", "redis", "mysql", "mariadb", "mongodb"] as const; type Page = (typeof PAGES)[number]; type Shortcuts = Record; @@ -58,6 +58,8 @@ const SHORTCUTS: ShortcutsDictionary = { postgres: POSTGRES_SHORTCUTS, redis: REDIS_SHORTCUTS, mysql: POSTGRES_SHORTCUTS, + mariadb: POSTGRES_SHORTCUTS, + mongodb: POSTGRES_SHORTCUTS, }; /** diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx index d6745a241..a10bca422 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx @@ -29,6 +29,7 @@ import { TooltipProvider, TooltipTrigger, } from "@/components/ui/tooltip"; +import { UseKeyboardNav } from "@/hooks/use-keyboard-nav"; import { cn } from "@/lib/utils"; import { appRouter } from "@/server/api/root"; import { api } from "@/utils/api"; @@ -63,6 +64,7 @@ const Mariadb = ( return (
+ + Date: Mon, 11 Aug 2025 18:33:47 +0000 Subject: [PATCH 6/9] [autofix.ci] apply automated fixes --- apps/dokploy/hooks/use-keyboard-nav.tsx | 10 +++++++++- .../[projectId]/services/mariadb/[mariadbId].tsx | 2 +- .../project/[projectId]/services/mongo/[mongoId].tsx | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/apps/dokploy/hooks/use-keyboard-nav.tsx b/apps/dokploy/hooks/use-keyboard-nav.tsx index cc9a32496..d9dc75bd6 100644 --- a/apps/dokploy/hooks/use-keyboard-nav.tsx +++ b/apps/dokploy/hooks/use-keyboard-nav.tsx @@ -3,7 +3,15 @@ import { usePathname, useRouter, useSearchParams } from "next/navigation"; import { useCallback, useEffect, useState } from "react"; -const PAGES = ["compose", "application", "postgres", "redis", "mysql", "mariadb", "mongodb"] as const; +const PAGES = [ + "compose", + "application", + "postgres", + "redis", + "mysql", + "mariadb", + "mongodb", +] as const; type Page = (typeof PAGES)[number]; type Shortcuts = Record; diff --git a/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx b/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx index a10bca422..ba17aadac 100644 --- a/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx +++ b/apps/dokploy/pages/dashboard/project/[projectId]/services/mariadb/[mariadbId].tsx @@ -64,7 +64,7 @@ const Mariadb = ( return (
- + - + Date: Tue, 12 Aug 2025 18:13:04 +0100 Subject: [PATCH 7/9] fix: do not navigate if typing in input/textarea/select fixes #2367 --- apps/dokploy/hooks/use-keyboard-nav.tsx | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/apps/dokploy/hooks/use-keyboard-nav.tsx b/apps/dokploy/hooks/use-keyboard-nav.tsx index d9dc75bd6..768c47b67 100644 --- a/apps/dokploy/hooks/use-keyboard-nav.tsx +++ b/apps/dokploy/hooks/use-keyboard-nav.tsx @@ -100,7 +100,20 @@ export function UseKeyboardNav({ forPage }: { forPage: Page }) { ); useEffect(() => { - const handleKeyDown = ({ key }: KeyboardEvent) => { + const handleKeyDown = ({ key, target }: KeyboardEvent) => { + const active = target as HTMLElement | null; + + if (active) { + const tag = active.tagName; + if ( + active.isContentEditable || + tag === "INPUT" || + tag === "TEXTAREA" || + tag === "SELECT" || + active.getAttribute("role") === "textbox" + ) return; + } + if (isModPressed) { if (timer) clearTimeout(timer); setModPressed(false); @@ -109,11 +122,9 @@ export function UseKeyboardNav({ forPage }: { forPage: Page }) { const tab = shortcuts[key]!; router.push(`${pathname}?${updateSearchParam("tab", tab)}`); } - } else { - if (key === "g") { - setModPressed(true); - setTimer(setTimeout(() => setModPressed(false), 5000)); - } + } else if (key === "g") { + setModPressed(true); + setTimer(setTimeout(() => setModPressed(false), 5000)); } }; From a41137aaccb4c6d395a53e0b799ba349cc88fbe5 Mon Sep 17 00:00:00 2001 From: Bob Mannino Date: Tue, 12 Aug 2025 18:15:35 +0100 Subject: [PATCH 8/9] reduce time waiting for second nav key to 1.5s --- apps/dokploy/hooks/use-keyboard-nav.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dokploy/hooks/use-keyboard-nav.tsx b/apps/dokploy/hooks/use-keyboard-nav.tsx index 768c47b67..1070dd702 100644 --- a/apps/dokploy/hooks/use-keyboard-nav.tsx +++ b/apps/dokploy/hooks/use-keyboard-nav.tsx @@ -124,7 +124,7 @@ export function UseKeyboardNav({ forPage }: { forPage: Page }) { } } else if (key === "g") { setModPressed(true); - setTimer(setTimeout(() => setModPressed(false), 5000)); + setTimer(setTimeout(() => setModPressed(false), 1500)); } }; From 83e8c82c4ac4d8367d9faa177bf1557e108a741b Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:16:10 +0000 Subject: [PATCH 9/9] [autofix.ci] apply automated fixes --- apps/dokploy/hooks/use-keyboard-nav.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/dokploy/hooks/use-keyboard-nav.tsx b/apps/dokploy/hooks/use-keyboard-nav.tsx index 1070dd702..95f38d7e2 100644 --- a/apps/dokploy/hooks/use-keyboard-nav.tsx +++ b/apps/dokploy/hooks/use-keyboard-nav.tsx @@ -111,7 +111,8 @@ export function UseKeyboardNav({ forPage }: { forPage: Page }) { tag === "TEXTAREA" || tag === "SELECT" || active.getAttribute("role") === "textbox" - ) return; + ) + return; } if (isModPressed) {