chore: migrate all FA icons to Lucide (@lucide/svelte)

- Replaced all active FontAwesome <span class="fas fa-*"> icons with
  Lucide components across 145 files (excluding /idaa/ which is intentional)
- Fixed merge script bug: consolidated lucide-svelte imports into @lucide/svelte
- Replaced dynamic toggle patterns (fa-toggle-on/off) with ToggleRight/ToggleLeft
- Replaced fa-eye/fa-eye-slash with Eye/EyeOff
- Replaced fa-bug/fa-bug-slash with Bug/BugOff
- Replaced fa-sync fa-spin with RefreshCw + animate-spin
- Replaced fa-microchip with Cpu
- Fixed {@const} placement in element_manage_event_file_li.svelte
- Removed obsolete CSS hover rules for .unlock_icon/.lock_icon
- svelte-check: 0 errors, 0 warnings
This commit is contained in:
Scott Idem
2026-03-16 18:07:43 -04:00
parent c9050264a5
commit b543c8a930
147 changed files with 587 additions and 754 deletions

View File

@@ -12,19 +12,7 @@
* (access_type, sign_in_out). Simple controls (theme, cfg utilities)
* are inlined here for clean panel layout without blue-bg conflicts.
*/
import {
Bug,
CircleX,
LogOut,
Menu,
Moon,
Sun,
ShieldEllipsis,
ShieldMinus,
ShieldUser,
User,
} from '@lucide/svelte';
import { Bug, CircleX, Eraser, LogOut, Maximize2, Menu, Minimize2, Moon, Palette, RefreshCw, ShieldEllipsis, ShieldMinus, ShieldUser, Sun, ToggleLeft, ToggleRight, User } from '@lucide/svelte';
import { ae_loc, ae_sess, ae_api } from '$lib/stores/ae_stores';
import Element_access_type from '$lib/app_components/e_app_access_type.svelte';
@@ -341,7 +329,7 @@
onclick={() => sec_appearance = !sec_appearance}
>
<span class="flex items-center gap-1">
<span class="fas fa-palette opacity-60"></span>
<Palette size="1em" class="opacity-60" />
Appearance
<span class="normal-case font-normal opacity-60 ml-1">
({$ae_loc?.theme_name ?? '—'} · {$ae_loc?.theme_mode ?? '—'})
@@ -425,12 +413,12 @@
<!-- iframe mode toggle -->
{#if $ae_loc.iframe}
<a class="btn btn-sm preset-tonal-secondary w-full justify-end" href="/?iframe=false">
<span class="fas fa-compress-arrows-alt opacity-60"></span>
<Minimize2 size="1em" class="opacity-60" />
Exit iframe Mode
</a>
{:else}
<a class="btn btn-sm preset-tonal-secondary w-full justify-end" href="/?iframe=true">
<span class="fas fa-expand-arrows-alt opacity-60"></span>
<Maximize2 size="1em" class="opacity-60" />
Enable iframe Mode
</a>
{/if}
@@ -442,7 +430,7 @@
onclick={() => window.location.reload()}
title="Hard reload the page"
>
<span class="fas fa-sync opacity-60"></span>
<RefreshCw size="1em" class="opacity-60" />
Reload Page
</button>
@@ -453,7 +441,7 @@
onclick={handle_clear_storage_db}
title="Clear localStorage, sessionStorage, and all IndexedDB tables then reload"
>
<span class="fas fa-eraser opacity-60"></span>
<Eraser size="1em" class="opacity-60" />
Clear Storage & DB
</button>
@@ -612,7 +600,7 @@
onclick={() => { $ae_loc.edit_mode = false; }}
title="Edit mode ON click to turn off"
>
<span class="fas fa-toggle-on text-sm inline-block"></span>
<ToggleRight size="1em" class="text-sm inline-block" />
<span class="btn-label max-w-0 overflow-hidden opacity-0 group-hover/edit:max-w-20 group-hover/edit:opacity-100 transition-all duration-300 ease-in-out text-xs pl-1">Edit</span>
</button>
{:else}
@@ -622,7 +610,7 @@
onclick={() => { $ae_loc.edit_mode = true; }}
title="Edit mode OFF click to turn on"
>
<span class="fas fa-toggle-off text-sm inline-block opacity-50"></span>
<ToggleLeft size="1em" class="text-sm inline-block opacity-50" />
<span class="btn-label max-w-0 overflow-hidden opacity-0 group-hover/edit:max-w-20 group-hover/edit:opacity-100 transition-all duration-300 ease-in-out text-xs pl-1">Edit</span>
</button>
{/if}