feat(cabinet): migrate all icons to the panel's Phosphor set

Replace the cabinet's hand-written heroicons-style SVG icon components with
the Remnawave panel's own icon family — Phosphor via react-icons/pi (Duotone).
All icons now live in a single central barrel (src/components/icons:
index + extended-icons + editor-icons, 144 icons); every feature file imports
from it instead of redefining inline SVGs (~440 icon defs removed).

- Add react-icons dependency
- Desktop nav (AppShell) now uses the central Phosphor icons, removing a
  stroke-vs-duotone inconsistency the partial migration introduced
- Icons with custom props (SortIcon's direction, expandable chevrons) kept as
  thin Phosphor wrappers; the RemnawaveIcon brand logo and animated SVGs
  (checkmarks, spinners) are intentionally left as-is
- Restore the original per-call-site icon sizes wherever the centralized
  default differed (211 call sites)
This commit is contained in:
c0mrade
2026-05-31 18:50:50 +03:00
parent a62d689fd3
commit d0e0b6b7e3
94 changed files with 1368 additions and 5059 deletions

View File

@@ -768,7 +768,7 @@ export default function AdminTrafficUsage() {
{/* Threshold inputs */}
<div className="flex items-center gap-1.5 rounded-lg border border-dark-700 bg-dark-800 px-2 py-1">
<ShieldIcon />
<ShieldIcon className="h-3.5 w-3.5" />
<input
type="number"
value={totalThreshold}
@@ -784,12 +784,12 @@ export default function AdminTrafficUsage() {
onClick={() => setTotalThreshold('')}
className="text-dark-500 hover:text-dark-300"
>
<XIcon />
<XIcon className="h-3 w-3" />
</button>
)}
</div>
<div className="flex items-center gap-1.5 rounded-lg border border-dark-700 bg-dark-800 px-2 py-1">
<ServerSmallIcon />
<ServerSmallIcon className="h-3.5 w-3.5" />
<input
type="number"
value={nodeThreshold}
@@ -805,7 +805,7 @@ export default function AdminTrafficUsage() {
onClick={() => setNodeThreshold('')}
className="text-dark-500 hover:text-dark-300"
>
<XIcon />
<XIcon className="h-3 w-3" />
</button>
)}
</div>