fix: resolve CI lint and typecheck failures
- Add @site/* path alias to docs tsconfig for generated integration files - Fix label-has-associated-control: use htmlFor/id pairs in SubmitForm - Suppress no-noninteractive-element-interactions for drag-and-drop zones - Add aria-labels to search and comment inputs - Remove unused Label component import
This commit is contained in:
8 files changed
+156
-7
No files matched your search
@@ -253,6 +253,7 @@ const CommentsSection = ({
|
||||
<Input
|
||||
className="flex-1"
|
||||
placeholder="Write a comment…"
|
||||
aria-label="Write a comment"
|
||||
value={newComment}
|
||||
onChange={(e) => setNewComment(e.target.value)}
|
||||
onKeyDown={(e) => {
|
||||
@@ -303,6 +304,7 @@ const CommentsSection = ({
|
||||
<div className="mt-2 flex items-center gap-1">
|
||||
<Input
|
||||
className="flex-1"
|
||||
aria-label="Edit comment"
|
||||
value={editContent}
|
||||
onChange={(e) => setEditContent(e.target.value)}
|
||||
onKeyDown={(e) => {
|
||||
|
||||
@@ -179,6 +179,7 @@ export const StoreApp = ({ storeUrl }: { storeUrl: string }) => {
|
||||
<input
|
||||
className="h-7 w-48 rounded-md border border-input bg-transparent pl-8 text-xs outline-none placeholder:text-muted-foreground"
|
||||
placeholder="Search…"
|
||||
aria-label="Search submissions"
|
||||
value={search}
|
||||
onChange={(e) => setSearch(e.target.value)}
|
||||
/>
|
||||
|
||||
@@ -25,7 +25,6 @@ import {
|
||||
DialogTitle,
|
||||
} from "@/components/ui/dialog";
|
||||
import { Input } from "@/components/ui/input";
|
||||
import { Label } from "@/components/ui/label";
|
||||
import { Textarea } from "@/components/ui/textarea";
|
||||
import { cn, errorMessage } from "@/lib/utils";
|
||||
|
||||
@@ -185,10 +184,11 @@ export const SubmitForm = ({ onClose, onSubmit }: Props) => {
|
||||
if (!open && !pending) onClose();
|
||||
}}
|
||||
>
|
||||
{/* oxlint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */}
|
||||
<DialogContent
|
||||
className="max-h-[90vh] overflow-y-auto sm:max-w-xl"
|
||||
showCloseButton={!pending}
|
||||
onDragOver={(e) => {
|
||||
onDragOver={(e: React.DragEvent) => {
|
||||
e.preventDefault();
|
||||
setJsonDropHint(true);
|
||||
}}
|
||||
@@ -348,6 +348,7 @@ const StepType = ({
|
||||
))}
|
||||
</div>
|
||||
|
||||
{/* oxlint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */}
|
||||
<label
|
||||
onDragOver={(e) => {
|
||||
e.preventDefault();
|
||||
@@ -405,8 +406,9 @@ const StepDetails = ({
|
||||
}) => (
|
||||
<div className="flex flex-col gap-4">
|
||||
<div className="flex flex-col gap-1.5">
|
||||
<Label className="text-xs font-medium text-muted-foreground">{contentLabels[type]} *</Label>
|
||||
<label htmlFor="submit-content" className="text-xs font-medium text-muted-foreground">{contentLabels[type]} *</label>
|
||||
<Textarea
|
||||
id="submit-content"
|
||||
className="font-mono text-xs"
|
||||
value={content}
|
||||
onChange={(e) => onContentChange(e.target.value)}
|
||||
@@ -422,8 +424,9 @@ const StepDetails = ({
|
||||
)}
|
||||
</div>
|
||||
<div className="flex flex-col gap-1.5">
|
||||
<Label className="text-xs font-medium text-muted-foreground">Title *</Label>
|
||||
<label htmlFor="submit-title" className="text-xs font-medium text-muted-foreground">Title *</label>
|
||||
<Input
|
||||
id="submit-title"
|
||||
value={title}
|
||||
onChange={(e) => setTitle(e.target.value)}
|
||||
required
|
||||
@@ -433,8 +436,9 @@ const StepDetails = ({
|
||||
/>
|
||||
</div>
|
||||
<div className="flex flex-col gap-1.5">
|
||||
<Label className="text-xs font-medium text-muted-foreground">Description</Label>
|
||||
<label htmlFor="submit-description" className="text-xs font-medium text-muted-foreground">Description</label>
|
||||
<Textarea
|
||||
id="submit-description"
|
||||
value={description}
|
||||
onChange={(e) => setDescription(e.target.value)}
|
||||
maxLength={2000}
|
||||
@@ -465,11 +469,12 @@ const StepMedia = ({
|
||||
return (
|
||||
<div className="flex flex-col gap-4">
|
||||
<div>
|
||||
<Label className="text-xs font-medium text-muted-foreground">Screenshots (optional, up to 5)</Label>
|
||||
<span className="text-xs font-medium text-muted-foreground">Screenshots (optional, up to 5)</span>
|
||||
<p className="mt-0.5 text-xs text-muted-foreground/70">
|
||||
Add screenshots to help others preview your submission.
|
||||
</p>
|
||||
</div>
|
||||
{/* oxlint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */}
|
||||
<label
|
||||
onDragOver={(e) => {
|
||||
e.preventDefault();
|
||||
|
||||
Reference in new issue
Block a user