mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
fix: resolve QA report issues across routing, editor, i18n, and pipeline
- Add /tools/:toolId legacy redirect and catch-all 404 page (P1-12, P1-13) - Add Shift+O dodge/burn/sponge cycle and Ctrl+Y redo shortcut (P1-3, P1-4) - Fix Fit on Screen menu action to properly compute fit zoom (P1-8) - Add filename input to editor export dialog (P1-2) - Fix password validation mismatch: frontend now requires 8 chars (P1-11) - Add license info to Settings About section (P1-9) - Replace hardcoded strings in dropzone, files, pipeline with i18n keys (P1-17 to P1-25) - Add 20+ missing i18n keys to all 21 locale files - Translate Japanese editor.shapes and settings.aiFeatures sections (P1-19, P1-20) - Fix RTL: use logical CSS properties in sidebar, files, app-layout (P2-24 to P2-26) - Add single-file download button to pipeline results (P1-28) - Fix compress step settings restoration on pipeline load (P1-27) - Increase mobile nav touch targets to 44px minimum (P2-29)
This commit is contained in:
@@ -41,6 +41,8 @@ const SHAPE_CYCLE: ToolType[] = [
|
||||
"shape-polygon",
|
||||
"shape-star",
|
||||
];
|
||||
// Dodge/burn/sponge cycle
|
||||
const DODGE_CYCLE: ToolType[] = ["dodge", "burn", "sponge"];
|
||||
// Fill/gradient cycle
|
||||
const FILL_CYCLE: ToolType[] = ["fill", "gradient"];
|
||||
|
||||
@@ -199,12 +201,29 @@ export function useEditorShortcuts(callbacks?: {
|
||||
{ preventDefault: true },
|
||||
);
|
||||
|
||||
// O - Dodge tool
|
||||
// O - Dodge/Burn/Sponge (cycles)
|
||||
useHotkeys(
|
||||
"o",
|
||||
() => {
|
||||
if (isInputFocused()) return;
|
||||
useEditorStore.getState().setTool("dodge");
|
||||
const current = useEditorStore.getState().activeTool;
|
||||
if (DODGE_CYCLE.includes(current)) {
|
||||
useEditorStore.getState().setTool(cycleSubtool(current, DODGE_CYCLE));
|
||||
} else {
|
||||
useEditorStore.getState().setTool("dodge");
|
||||
}
|
||||
},
|
||||
{ preventDefault: true },
|
||||
);
|
||||
|
||||
// Shift+O - Cycle dodge/burn/sponge subtypes
|
||||
useHotkeys(
|
||||
"shift+o",
|
||||
() => {
|
||||
if (isInputFocused()) return;
|
||||
useEditorStore
|
||||
.getState()
|
||||
.setTool(cycleSubtool(useEditorStore.getState().activeTool, DODGE_CYCLE));
|
||||
},
|
||||
{ preventDefault: true },
|
||||
);
|
||||
@@ -361,6 +380,16 @@ export function useEditorShortcuts(callbacks?: {
|
||||
{ preventDefault: true },
|
||||
);
|
||||
|
||||
// Ctrl+Y / Cmd+Y - Redo (alternative)
|
||||
useHotkeys(
|
||||
"mod+y",
|
||||
(e) => {
|
||||
e.preventDefault();
|
||||
useEditorStore.temporal.getState().redo();
|
||||
},
|
||||
{ preventDefault: true },
|
||||
);
|
||||
|
||||
// Ctrl+S / Cmd+S - Save project
|
||||
useHotkeys(
|
||||
"mod+s",
|
||||
|
||||
Reference in New Issue
Block a user