From f214b0ac4d58171958e57d5f66ba66e50055e323 Mon Sep 17 00:00:00 2001 From: johannes-hernehult Date: Mon, 15 Jun 2026 19:49:00 +0200 Subject: [PATCH] feat: add frame reordering and improve file upload accessibility - Add Up/Down reorder controls to Frame component - Add handleReOrderFrames hook using splice swap - Improve FileUpload: keyboard support, aria attributes, fix accept=image/* typo - Extract component-level CSS for Frame, Step, FileUpload - Update focus-visible styles; scope border style to .file-upload --- src/features/guides/components/FileUpload.css | 19 ++++++++++++++++ src/features/guides/components/FileUpload.tsx | 22 +++++++++++++++---- src/features/guides/components/Frame.css | 0 src/features/guides/components/Frame.tsx | 12 ++++++++++ src/features/guides/components/Step.css | 0 src/features/guides/components/Step.tsx | 1 + src/features/guides/hooks/useNewGuide.ts | 10 +++++++++ src/features/guides/routes/NewGuide.tsx | 5 ++++- src/styles/App.css | 7 +++++- src/styles/reset.css | 2 +- 10 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 src/features/guides/components/FileUpload.css create mode 100644 src/features/guides/components/Frame.css create mode 100644 src/features/guides/components/Step.css diff --git a/src/features/guides/components/FileUpload.css b/src/features/guides/components/FileUpload.css new file mode 100644 index 0000000..54de590 --- /dev/null +++ b/src/features/guides/components/FileUpload.css @@ -0,0 +1,19 @@ +.file-upload { + display: grid; + place-items: center; + cursor: pointer; + border-style: dashed; + padding: 2rem; + font-weight: bold; + + &:hover, + &:focus-visible { + border-color: #ff770080; + color: #ff7700; + background-color: #ff770010; + } +} + +.file-upload input { + display: none; +} diff --git a/src/features/guides/components/FileUpload.tsx b/src/features/guides/components/FileUpload.tsx index a587aa0..01f8870 100644 --- a/src/features/guides/components/FileUpload.tsx +++ b/src/features/guides/components/FileUpload.tsx @@ -1,17 +1,31 @@ +import "./FileUpload.css"; + export default function FileUpload({ onChange, }: { onChange: (e: React.ChangeEvent) => void; }) { return ( -