style(launcher): Phase 3 — FA→Lucide icon migration across all launcher files

Replaces all FontAwesome <span class="fas/fab fa-*"> with Lucide Svelte
components across 20 launcher files. launcher_cfg_section.svelte icon prop
changed from FA string to AnyComponent (svelte:component for dynamic render).
Dynamic file-extension icon now uses ae_util.file_extension_icon_lucide().
Fixes class: directives on components (invalid in Svelte 5) → ternary class.
Removes title prop from Lucide components → wrapping <span title="...">.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-03-16 12:33:37 -04:00
parent 99df204763
commit efc0f46079
20 changed files with 184 additions and 169 deletions

View File

@@ -32,6 +32,7 @@
import Launcher_Cfg_Screen_Saver from './cfg_components/launcher_cfg_screen_saver.svelte';
import Launcher_Cfg_App_Modes from './cfg_components/launcher_cfg_app_modes.svelte';
import Launcher_Cfg_Local_Actions from './cfg_components/launcher_cfg_local_actions.svelte';
import { Settings, Pencil, X, SlidersHorizontal, Monitor, Code, RefreshCw, Bug } from 'lucide-svelte';
// UI Tab State
// Tabs are audience-oriented:
@@ -73,7 +74,7 @@
<h2
class="text-center text-lg font-bold text-gray-700 dark:text-gray-200"
>
<span class="fas fa-cog mr-2 opacity-50"></span>
<Settings size="1em" class="mr-2 opacity-50" />
Launcher Configuration
</h2>
@@ -90,7 +91,7 @@
class:hover:opacity-60={!$ae_loc.edit_mode}
title="{$ae_loc.edit_mode ? 'Disable' : 'Enable'} Edit Mode"
>
<span class="fas fa-pencil-alt text-xs"></span>
<Pencil size="0.75em" />
<span class="sr-only">Toggle Edit Mode</span>
</button>
@@ -99,7 +100,7 @@
onclick={() => ($events_loc.launcher.hide_drawer__cfg = true)}
class="btn btn-icon dark:text-white hover:bg-surface-500/10 transition-colors"
>
<span class="fas fa-times"></span>
<X size="1em" />
<span class="sr-only">Close Config</span>
</button>
</div>
@@ -123,7 +124,7 @@
class:preset-tonal-surface={active_tab !== 'setup'}
title="Display presets, interface toggles, WS controller, screen saver"
>
<span class="fas fa-sliders-h mr-1"></span> Setup
<SlidersHorizontal size="0.85em" class="mr-1" /> Setup
</button>
<button
type="button"
@@ -133,7 +134,7 @@
class:preset-tonal-surface={active_tab !== 'device'}
title="Sync engine, device health &amp; native OS controls"
>
<span class="fas fa-desktop mr-1"></span> Device
<Monitor size="0.85em" class="mr-1" /> Device
</button>
{#if $ae_loc.edit_mode}
<button
@@ -144,7 +145,7 @@
class:preset-tonal-surface={active_tab !== 'dev'}
title="Developer &amp; debug tools"
>
<span class="fas fa-code mr-1"></span> Dev
<Code size="0.85em" class="mr-1" /> Dev
</button>
{/if}
</div>
@@ -192,7 +193,7 @@
{/if}
{:else}
<div class="py-3 text-center opacity-40 italic text-xs flex flex-col gap-1 items-center">
<span class="fas fa-desktop text-lg opacity-30"></span>
<Monitor size="1.2em" class="opacity-30" />
<p>Native OS controls available in Aether Desktop.</p>
<p class="text-[9px]">Enable Edit Mode to preview.</p>
</div>
@@ -223,7 +224,7 @@
onclick={() => ($events_loc.launcher.hide_drawer__cfg = true)}
class="btn btn-sm preset-tonal-surface hover:preset-filled-surface-500 transition-all"
>
<span class="fas fa-times mr-2"></span>
<X size="0.85em" class="mr-1" />
Close
</button>
@@ -232,7 +233,7 @@
onclick={() => location.reload()}
class="btn btn-sm preset-tonal-secondary hover:preset-filled-secondary-500 transition-all"
>
<span class="fas fa-sync-alt mr-2"></span>
<RefreshCw size="0.85em" class="mr-1" />
Reload
</button>
</div>
@@ -244,7 +245,7 @@
($events_loc.launcher.hide_drawer__debug = false)}
class="btn btn-sm preset-tonal-warning hover:preset-filled-warning-500 transition-all w-full"
>
<span class="fas fa-bug mr-2"></span>
<Bug size="0.85em" class="mr-1" />
Debug Panel
</button>
{/if}