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

@@ -2,8 +2,7 @@
import { ae_loc } from '$lib/stores/ae_stores';
import { events_loc, events_sess } from '$lib/stores/ae_events_stores';
import Launcher_Cfg_Section from './launcher_cfg_section.svelte';
import { LayoutGrid, GraduationCap, IdCard, Clock } from 'lucide-svelte';
import { Clock, GraduationCap, IdCard, LayoutGrid } from '@lucide/svelte';
interface Props {
on_expand?: () => void;
}

View File

@@ -2,8 +2,7 @@
import { ae_loc } from '$lib/stores/ae_stores';
import { events_loc, events_sess } from '$lib/stores/ae_events_stores';
import Launcher_Cfg_Section from './launcher_cfg_section.svelte';
import { Gamepad2, Plug, Unlink, Link, RefreshCw, LockOpen, Lock } from 'lucide-svelte';
import { Gamepad2, Link, Lock, LockOpen, Plug, RefreshCw, Unlink } from '@lucide/svelte';
interface Props {
on_expand?: () => void;
}

View File

@@ -2,8 +2,7 @@
import { ae_loc } from '$lib/stores/ae_stores';
import { events_loc, events_sess } from '$lib/stores/ae_events_stores';
import Launcher_Cfg_Section from './launcher_cfg_section.svelte';
import { HeartPulse, RefreshCw } from 'lucide-svelte';
import { HeartPulse, RefreshCw } from '@lucide/svelte';
interface Props {
on_expand?: () => void;
}

View File

@@ -3,8 +3,7 @@
import { events_loc } from '$lib/stores/ae_events_stores';
import { cleanup_tmp_files } from '$lib/electron/electron_relay';
import Launcher_Cfg_Section from './launcher_cfg_section.svelte';
import { Wrench, Eraser } from 'lucide-svelte';
import { Bug, BugOff, Eraser, Eye, EyeOff, Wrench } from '@lucide/svelte';
interface Props {
on_expand?: () => void;
}
@@ -117,11 +116,7 @@
class="btn btn-xs preset-tonal-surface hover:preset-filled-primary-500"
title="Show/Hide Aether global system menu"
>
<span
class="fas {$ae_loc.sys_menu.hide
? 'fa-eye'
: 'fa-eye-slash'} mr-2"
></span>
{#if $ae_loc.sys_menu.hide}<Eye size="1em" class="mr-2" />{:else}<EyeOff size="1em" class="mr-2" />{/if}
{$ae_loc.sys_menu.hide ? 'Show' : 'Hide'} Sys Menu
</button>
@@ -132,11 +127,7 @@
class="btn btn-xs preset-tonal-surface hover:preset-filled-primary-500"
title="Show/Hide Aether global debug menu"
>
<span
class="fas {$ae_loc.debug_menu.hide
? 'fa-bug'
: 'fa-bug-slash'} mr-2"
></span>
{#if $ae_loc.debug_menu.hide}<Bug size="1em" class="mr-2" />{:else}<BugOff size="1em" class="mr-2" />{/if}
{$ae_loc.debug_menu.hide ? 'Show' : 'Hide'} Debug
</button>
</div>

View File

@@ -3,12 +3,7 @@
import { events_loc, events_sess } from '$lib/stores/ae_events_stores';
import * as native from '$lib/electron/electron_relay';
import Launcher_Cfg_Section from './launcher_cfg_section.svelte';
import {
Code, FlaskConical, FolderOpen, Maximize2, Monitor,
SkipBack, Play, Square, SkipForward,
Columns2, Image, RefreshCw, Power
} from 'lucide-svelte';
import { Code, Columns2, FlaskConical, FolderOpen, Image, Maximize2, Monitor, Play, Power, RefreshCw, SkipBack, SkipForward, Square } from '@lucide/svelte';
interface Props {
on_expand?: () => void;
}

View File

@@ -2,8 +2,7 @@
import { ae_loc } from '$lib/stores/ae_stores';
import { events_loc } from '$lib/stores/ae_events_stores';
import Launcher_Cfg_Section from './launcher_cfg_section.svelte';
import { IdCard } from 'lucide-svelte';
import { IdCard } from '@lucide/svelte';
interface Props {
on_expand?: () => void;
}

View File

@@ -2,7 +2,7 @@
import { ae_loc } from '$lib/stores/ae_stores';
import { events_loc } from '$lib/stores/ae_events_stores';
import { slide } from 'svelte/transition';
import { Pin, ChevronRight, ChevronDown, Pencil } from 'lucide-svelte';
import { ChevronDown, ChevronRight, Pencil, Pin } from '@lucide/svelte';
// eslint-disable-next-line @typescript-eslint/no-explicit-any
type AnyComponent = any;

View File

@@ -2,8 +2,7 @@
import { ae_loc } from '$lib/stores/ae_stores';
import { events_loc } from '$lib/stores/ae_events_stores';
import Launcher_Cfg_Section from './launcher_cfg_section.svelte';
import { RefreshCw, Play, Pause } from 'lucide-svelte';
import { Pause, Play, RefreshCw } from '@lucide/svelte';
interface Props {
on_expand?: () => void;
}

View File

@@ -7,8 +7,7 @@
import { ae_loc, ae_api, ae_sess } from '$lib/stores/ae_stores';
import { events_loc, events_sess } from '$lib/stores/ae_events_stores';
import Launcher_Cfg_Section from './launcher_cfg_section.svelte';
import { Boxes, Zap, Settings, RefreshCw, AlertTriangle, Trash2 } from 'lucide-svelte';
import { AlertTriangle, Boxes, RefreshCw, Settings, Trash2, Zap } from '@lucide/svelte';
interface Props {
on_expand?: () => void;
}

View File

@@ -3,8 +3,7 @@
import { events_loc, events_sess } from '$lib/stores/ae_events_stores';
import * as native from '$lib/electron/electron_relay';
import Launcher_Cfg_Section from './launcher_cfg_section.svelte';
import { CloudDownload, LoaderCircle, Search, Wand2 } from 'lucide-svelte';
import { CloudDownload, LoaderCircle, Search, Wand2 } from '@lucide/svelte';
interface Props {
on_expand?: () => void;
}

View File

@@ -1,4 +1,5 @@
<script lang="ts">
import { ChevronDown, ChevronUp, Cpu, RefreshCw } from '@lucide/svelte';
/**
* launcher_background_sync.svelte
* Exhaustive Background Pre-Caching Engine with Loop Monitoring.
@@ -522,14 +523,14 @@
"
title="Native Sync Monitor · {sync_stats.cached}/{sync_stats.total} files · click to {show_monitor ? 'close' : 'open'}"
>
<span class="fas {currently_syncing ? 'fa-sync fa-spin text-primary-500' : 'fa-microchip opacity-50'} text-[9px]"></span>
{#if currently_syncing}<RefreshCw size="1em" class="text-[9px] animate-spin text-primary-500" />{:else}<Cpu size="1em" class="text-[9px] opacity-50" />{/if}
{#if currently_syncing}
<span class="truncate max-w-40 text-left">{currently_syncing}</span>
{:else}
<span>Native Sync</span>
<span class="opacity-50 ml-0.5">{sync_stats.cached}/{sync_stats.total}</span>
{/if}
<span class="fas {show_monitor ? 'fa-chevron-down' : 'fa-chevron-up'} text-[7px] opacity-40 ml-0.5"></span>
{#if show_monitor}<ChevronDown size="1em" class="text-[7px] opacity-40 ml-0.5" />{:else}<ChevronUp size="1em" class="text-[7px] opacity-40 ml-0.5" />{/if}
</button>
</div>
{/if}

View File

@@ -32,8 +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';
import { Bug, Code, Monitor, Pencil, RefreshCw, Settings, SlidersHorizontal, X } from '@lucide/svelte';
// UI Tab State
// Tabs are audience-oriented:
// setup — what every onsite operator needs (mode preset, display, WS, screen saver)

View File

@@ -63,8 +63,7 @@
events_slct
} from '$lib/stores/ae_events_stores';
import { events_func } from '$lib/ae_events_functions';
import { LoaderCircle, AlertTriangle, AlertCircle, BarChart2, Send, FolderOpen, CalendarDays, Save, Monitor, Laptop } from 'lucide-svelte';
import { AlertCircle, AlertTriangle, BarChart2, CalendarDays, FolderOpen, Laptop, LoaderCircle, Monitor, Save, Send } from '@lucide/svelte';
import AE_Comp_Hosted_Files_Download_Button from '$lib/ae_core/ae_comp__hosted_files_download_button.svelte';
// Import the relay

View File

@@ -32,8 +32,7 @@
// import { events_func } from '$lib/ae_events_functions';
import Event_launcher_file_cont from './launcher_file_cont.svelte';
import { User, Users, Archive } from 'lucide-svelte';
import { Archive, User, Users } from '@lucide/svelte';
// export let slct_event_presentation_id: string;
let ae_promises: key_val = {

View File

@@ -32,8 +32,7 @@
// import { events_func } from '$lib/ae_events_functions';
import Event_launcher_file_cont from './launcher_file_cont.svelte';
import { User, Users, Archive } from 'lucide-svelte';
import { Archive, User, Users } from '@lucide/svelte';
// export let slct_event_presentation_id: string;
let ae_promises: key_val = {

View File

@@ -39,8 +39,7 @@
events_trigger
} from '$lib/stores/ae_events_stores';
import { events_func } from '$lib/ae_events_functions';
import { LoaderCircle, Barcode, AlertTriangle, Archive, Image, Monitor, User, Users } from 'lucide-svelte';
import { AlertTriangle, Archive, Barcode, Image, LoaderCircle, Monitor, User, Users } from '@lucide/svelte';
// Event Session (Main View Trigger)
// WHY: We use a simple derived observable. The template handles the $ prefix.
let lq__event_session_obj = $derived(

View File

@@ -28,7 +28,7 @@
import { events_loc, events_sess } from '$lib/stores/ae_events_stores';
import Event_launcher_file_cont from './launcher_file_cont.svelte';
import { LoaderCircle, Images, Image, User, Users } from 'lucide-svelte';
import { Image, Images, LoaderCircle, User, Users } from '@lucide/svelte';
import Launcher_presentation_view from './launcher_presentation_view.svelte';
import Launcher_presenter_view_posters from './launcher_presenter_view_posters.svelte';

View File

@@ -74,8 +74,7 @@
events_trigger
} from '$lib/stores/ae_events_stores';
import { events_func } from '$lib/ae_events_functions';
import { LoaderCircle, Check } from 'lucide-svelte';
import { Check, LoaderCircle } from '@lucide/svelte';
// export let slct_event_session_id: any;
// *** Functions and Logic

View File

@@ -91,8 +91,7 @@
events_trigger
} from '$lib/stores/ae_events_stores';
import { events_func } from '$lib/ae_events_functions';
import { LoaderCircle, Check, CalendarCheck, CalendarDays, Image, EyeOff } from 'lucide-svelte';
import { CalendarCheck, CalendarDays, Check, EyeOff, Image, LoaderCircle } from '@lucide/svelte';
// export let slct__event_session_id: any;
// *** Functions and Logic