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

@@ -7,34 +7,7 @@
import { get_object } from '$lib/ae_api/api_get_object';
import { post_object } from '$lib/ae_api/api_post_object';
import { patch_object } from '$lib/ae_api/api_patch_object';
import {
Database,
Server,
User,
Users,
UserCheck,
Building2,
MapPin,
Contact,
ShieldCheck,
Globe,
RefreshCcw,
Trash2,
Bug,
Zap,
Eye,
EyeOff,
Key,
Unlock,
ShieldAlert,
ArrowRightLeft,
Code,
FlaskConical,
Info,
Satellite,
Settings2
} from 'lucide-svelte';
import { ArrowRightLeft, Bug, Building2, CircleCheck, Code, Contact, Database, Eye, EyeOff, FlaskConical, Globe, Info, Key, MapPin, RefreshCcw, Satellite, Server, Settings2, ShieldAlert, ShieldCheck, Trash2, Unlock, User, UserCheck, Users, Zap } from '@lucide/svelte';
// Core Module Imports
import { load_ae_obj_li__account } from '$lib/ae_core/ae_core__account';
import { lookup_site_domain_v3 } from '$lib/ae_core/ae_core__site';
@@ -410,7 +383,7 @@
</span>
<div class="flex shadow-sm border border-gray-500 rounded-lg overflow-hidden bg-surface-500/10">
<input type={show_raw_keys ? 'text' : 'password'} readonly value={$ae_api.api_secret_key || 'MISSING'} class="flex-1 font-mono text-xs p-3 bg-transparent border-none focus:ring-0" />
<div class="bg-gray-500/20 p-3 flex items-center"><span class="fas" class:fa-check-circle={$ae_api.api_secret_key} class:text-success-500={$ae_api.api_secret_key}></span></div>
<div class="bg-gray-500/20 p-3 flex items-center">{#if $ae_api.api_secret_key}<CircleCheck size="1em" class="text-success-500" />{:else}<CircleCheck size="1em" class="opacity-20" />{/if}</div>
</div>
</label>
<label class="label space-y-2">
@@ -419,7 +392,7 @@
</span>
<div class="flex shadow-sm border border-gray-500 rounded-lg overflow-hidden bg-surface-500/10">
<input type={show_raw_keys ? 'text' : 'password'} readonly value={$ae_loc.jwt || 'No Token'} class="flex-1 font-mono text-xs p-3 bg-transparent border-none focus:ring-0" />
<div class="bg-gray-500/20 p-3 flex items-center"><span class="fas" class:fa-key={$ae_loc.jwt} class:text-warning-500={$ae_loc.jwt}></span></div>
<div class="bg-gray-500/20 p-3 flex items-center">{#if $ae_loc.jwt}<Key size="1em" class="text-warning-500" />{:else}<Key size="1em" class="opacity-20" />{/if}</div>
</div>
</label>
<label class="label space-y-2">

View File

@@ -5,7 +5,7 @@
import { db_journals } from '$lib/ae_journals/db_journals';
import { load_ae_obj_id__journal } from '$lib/ae_journals/ae_journals__journal';
import { load_ae_obj_id__journal_entry } from '$lib/ae_journals/ae_journals__journal_entry';
import { LoaderCircle, Database, Settings2, Edit, FileText } from 'lucide-svelte';
import { Database, Edit, FileText, LoaderCircle, RefreshCw, Settings2 } from '@lucide/svelte';
import { onMount } from 'svelte';
let log_lvl = $state(1);
@@ -65,7 +65,7 @@
<input type="checkbox" bind:checked={$ae_loc.edit_mode} class="checkbox" />
</label>
<button class="btn variant-filled-primary" onclick={() => window.location.reload()}>
<span class="fas fa-sync mr-2"></span> Reload Page
<RefreshCw size="1em" class="mr-2" /> Reload Page
</button>
</div>
</header>

View File

@@ -2,7 +2,7 @@
import AE_Element_Data_Store_V3 from '$lib/elements/element_data_store_v3.svelte';
import { ae_loc } from '$lib/stores/ae_stores';
import { db_core } from '$lib/ae_core/db_core';
import { RefreshCw, Trash2 } from '@lucide/svelte';
// let test_code_global = 'hub__site__root_page_header'; // Expected to be a global default
// let test_name_global = 'Global Header Test - hub__site__root_page_header';
// let test_code_account = 'hub__site__root_page_header';
@@ -39,10 +39,10 @@
</div>
<div class="flex gap-2">
<button class="btn variant-filled-warning" onclick={clear_cache}>
<span class="fas fa-trash mr-2"></span> Clear Cache
<Trash2 size="1em" class="mr-2" /> Clear Cache
</button>
<button class="btn variant-filled-primary" onclick={() => refresh_trigger++}>
<span class="fas fa-sync mr-2"></span> Force Refresh
<RefreshCw size="1em" class="mr-2" /> Force Refresh
</button>
</div>
</header>

View File

@@ -1,7 +1,7 @@
<script lang="ts">
import AE_Comp_Editor_TipTap from '$lib/elements/AE_Comp_Editor_TipTap.svelte';
import AE_Comp_Editor_CodeMirror from '$lib/elements/AE_Comp_Editor_CodeMirror.svelte';
import { Code, Eye } from '@lucide/svelte';
let test_content = $state('<h2>Welcome to the Visual Editor Test</h2><p>This editor uses <strong>native browser rich text</strong> capabilities.</p><ul><li>No library conflicts</li><li>Uses existing <em>.tiptap</em> styles</li><li>Instant performance</li></ul>');
let log_lvl = 1;
</script>
@@ -16,7 +16,7 @@
<!-- Visual Editor -->
<section class="card p-4 space-y-4 variant-soft-primary">
<h2 class="h3 flex items-center gap-2">
<span class="fas fa-eye text-primary-500"></span>
<Eye size="1em" class="text-primary-500" />
Visual Editor (AE_Comp_Editor_TipTap)
</h2>
<div class="bg-surface-100 dark:bg-surface-800 rounded-lg">
@@ -30,7 +30,7 @@
<!-- Source Code View -->
<section class="card p-4 space-y-4 variant-soft-tertiary">
<h2 class="h3 flex items-center gap-2">
<span class="fas fa-code text-tertiary-500"></span>
<Code size="1em" class="text-tertiary-500" />
Source View (AE_Comp_Editor_CodeMirror)
</h2>
<div class="bg-surface-100 dark:bg-surface-800 rounded-lg h-[250px]">