- ◦
+
{title}
diff --git a/src/components/ui/HeaderInputList.tsx b/src/components/ui/HeaderInputList.tsx
index e0fc618..f85db15 100644
--- a/src/components/ui/HeaderInputList.tsx
+++ b/src/components/ui/HeaderInputList.tsx
@@ -1,5 +1,6 @@
import { Fragment } from 'react';
import { Button } from './Button';
+import { IconX } from './icons';
import type { HeaderEntry } from '@/utils/headers';
interface HeaderInputListProps {
@@ -60,8 +61,10 @@ export function HeaderInputList({
size="sm"
onClick={() => removeEntry(index)}
disabled={disabled || currentEntries.length <= 1}
+ title="Remove"
+ aria-label="Remove"
>
- ✕
+
diff --git a/src/components/ui/Modal.tsx b/src/components/ui/Modal.tsx
index e17205d..de9f7e8 100644
--- a/src/components/ui/Modal.tsx
+++ b/src/components/ui/Modal.tsx
@@ -1,4 +1,5 @@
import type { PropsWithChildren, ReactNode } from 'react';
+import { IconX } from './icons';
interface ModalProps {
open: boolean;
@@ -23,7 +24,7 @@ export function Modal({ open, title, onClose, footer, width = 520, children }: P
{children}
diff --git a/src/components/ui/ModelInputList.tsx b/src/components/ui/ModelInputList.tsx
index 560a0f1..e4340ac 100644
--- a/src/components/ui/ModelInputList.tsx
+++ b/src/components/ui/ModelInputList.tsx
@@ -1,5 +1,6 @@
import { Fragment } from 'react';
import { Button } from './Button';
+import { IconX } from './icons';
import type { ModelAlias } from '@/types';
interface ModelEntry {
@@ -88,8 +89,10 @@ export function ModelInputList({
size="sm"
onClick={() => removeEntry(index)}
disabled={disabled || currentEntries.length <= 1}
+ title="Remove"
+ aria-label="Remove"
>
- ✕
+
diff --git a/src/components/ui/icons.tsx b/src/components/ui/icons.tsx
new file mode 100644
index 0000000..7423128
--- /dev/null
+++ b/src/components/ui/icons.tsx
@@ -0,0 +1,260 @@
+import type { SVGProps } from 'react';
+
+// Inline SVG icons (Lucide, ISC). We embed paths to keep the WebUI single-file/offline friendly.
+// Source: https://github.com/lucide-icons/lucide (via lucide-static).
+
+export interface IconProps extends SVGProps