mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-07-17 10:11:28 +02:00
Fix keyboard shortcut help layout (#509)
This commit is contained in:
@@ -0,0 +1,25 @@
|
|||||||
|
import { renderToStaticMarkup } from "react-dom/server";
|
||||||
|
import { describe, expect, test, vi } from "vite-plus/test";
|
||||||
|
import type { HotkeyAction } from "../../hooks/useHotKey";
|
||||||
|
import { HotkeyList } from "./HotkeyList";
|
||||||
|
|
||||||
|
vi.mock("./Hotkey", () => ({
|
||||||
|
Hotkey: ({ action }: { action: HotkeyAction }) =>
|
||||||
|
action === "sidebar.selected.move" ? null : <span>{action}</span>,
|
||||||
|
}));
|
||||||
|
|
||||||
|
vi.mock("./HotkeyLabel", () => ({
|
||||||
|
HotkeyLabel: ({ action }: { action: HotkeyAction }) => <span>{action}</span>,
|
||||||
|
}));
|
||||||
|
|
||||||
|
describe("HotkeyList", () => {
|
||||||
|
test("keeps a grid cell for actions without a shortcut", () => {
|
||||||
|
const markup = renderToStaticMarkup(
|
||||||
|
<HotkeyList hotkeys={["sidebar.selected.move", "request.send"]} />,
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(markup).toContain(
|
||||||
|
'<span>sidebar.selected.move</span><div class="ml-4"></div><span>request.send</span>',
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -18,7 +18,10 @@ export const HotkeyList = ({ hotkeys, bottomSlot, className }: Props) => {
|
|||||||
{hotkeys.map((hotkey) => (
|
{hotkeys.map((hotkey) => (
|
||||||
<Fragment key={hotkey}>
|
<Fragment key={hotkey}>
|
||||||
<HotkeyLabel className="truncate" action={hotkey} />
|
<HotkeyLabel className="truncate" action={hotkey} />
|
||||||
<Hotkey className="ml-4" action={hotkey} />
|
{/* Keep this grid cell when Hotkey renders nothing so later rows stay aligned. */}
|
||||||
|
<div className="ml-4">
|
||||||
|
<Hotkey action={hotkey} />
|
||||||
|
</div>
|
||||||
</Fragment>
|
</Fragment>
|
||||||
))}
|
))}
|
||||||
{bottomSlot}
|
{bottomSlot}
|
||||||
|
|||||||
Reference in New Issue
Block a user