style: FA→Lucide migration — events misc, badges, leads, hosted_files; variant-* fixes

- Batch-migrated 10 files via migrate_fa_to_lucide.py (53+18+10+1+4+2+1+1+6+4 FA instances)
  - events/ae_comp__events_menu_opts.svelte (53)
  - events/ae_comp__event_file_obj_tbl.svelte (18)
  - events/ae_comp__event_presentation_obj_li.svelte (10)
  - events/ae_comp__event_session_obj_tbl.svelte (1)
  - badges/print_list/+page.svelte (2), badges/templates/+page.svelte (1)
  - leads/ae_tab__manage.svelte (4)
  - hosted_files/+page.svelte (1), hold_video_util.svelte (6), video_util/+page.svelte (4)
- events/[event_id]/+page.svelte: converted JS icon strings to Lucide component refs
  (Presentation, Plane, IdCard, Contact) — rendered via <mod.icon size="2rem" />
- +page.svelte: hover:variant-outline-warning → hover:preset-outlined-warning (×2)
- migrate_fa_to_lucide.py: added 18 new icon mappings
  (ArrowLeft/Right, Ban, Broom→Trash2, calendar-alt, Database, DoorOpen, Download,
   exchange-alt, file-image, lock, magic→Sparkles, print, sticky-note, sync, tag,
   trash, user-ninja/tie→UserRound, video)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-03-16 14:25:18 -04:00
parent 31fe26df9c
commit 478dedb898
13 changed files with 134 additions and 121 deletions

View File

@@ -51,6 +51,7 @@
// import { events_func } from '$lib/ae_events_functions';
import MyClipboard from '$lib/app_components/e_app_clipboard.svelte';
import AE_Comp_Hosted_Files_Download_Button from '$lib/ae_core/ae_comp__hosted_files_download_button.svelte';
import { Check, Download, FileImage, FileSpreadsheet, ListOrdered, LoaderCircle, Presentation, ToggleLeft, ToggleRight, TriangleAlert, User } from 'lucide-svelte';
// export let display_mode: string = 'default'; // 'default', 'compact', 'minimal', 'launcher'
@@ -309,7 +310,7 @@
title="Count {$lq__event_file_obj_li.length ??
'None'}"
>
<span class="fas fa-list-ol mx-4"></span>
<ListOrdered size="1em" class="mx-4" />
{$lq__event_file_obj_li.length ?? 'None'}&times;
</span>
{/if}
@@ -337,7 +338,7 @@
console.log('CSV Data:', csv_data);
}}
>
<span class="fas fa-file-csv mx-1"></span>
<FileSpreadsheet size="1em" class="mx-1" />
Export Files CSV
</button>
<span id="download_csv_container"></span>
@@ -353,7 +354,7 @@
: 'ae_btn_surface_outlined'}"
title="Show or hide the session-related column fields."
>
<span class="fas fa-toggle-on m-1"></span>
<ToggleRight size="1em" class="m-1" />
Showing Session Fields
</button>
{:else}
@@ -367,7 +368,7 @@
: 'ae_btn_surface_outlined'}"
title="Show or hide the session-related column fields."
>
<span class="fas fa-toggle-off m-1"></span>
<ToggleLeft size="1em" class="m-1" />
Show Session Fields
</button>
{/if}
@@ -382,7 +383,7 @@
class="btn btn-sm ae_btn_surface"
title="Hide the session code column from view. Currently showing the Session Code column."
>
<span class="fas fa-toggle-on m-1"></span>
<ToggleRight size="1em" class="m-1" />
Showing Session Code
</button>
{:else}
@@ -394,7 +395,7 @@
class="btn btn-sm ae_btn_surface_outlined"
title="Show the session code column. Currently hiding the Session Code column from view."
>
<span class="fas fa-toggle-off m-1"></span>
<ToggleLeft size="1em" class="m-1" />
Show Session Code
</button>
{/if}
@@ -411,7 +412,7 @@
: 'ae_btn_surface_outlined'}"
title="Show or hide the extra presentation-related column fields."
>
<span class="fas fa-toggle-on m-1"></span>
<ToggleRight size="1em" class="m-1" />
Showing Presentation Fields
</button>
{:else}
@@ -426,7 +427,7 @@
: 'ae_btn_surface_outlined'}"
title="Show or hide the extra presentation-related column fields."
>
<span class="fas fa-toggle-off m-1"></span>
<ToggleLeft size="1em" class="m-1" />
Show Presentation Fields
</button>
{/if}
@@ -494,17 +495,17 @@
title="Convert this PDF to a high-res webp image for use in the Launcher poster display."
onclick={() => handle_convert_pdf_to_image(event_file_obj)}
>
<span class="fas fa-file-image mx-1"></span>
<FileImage size="1em" class="mx-1" />
Convert PDF → Image
</button>
{:else if convert_status_kv[event_file_obj.event_file_id] === 'converting'}
<span class="btn btn-sm preset-tonal-surface opacity-60 cursor-wait">
<span class="fas fa-spinner fa-spin mx-1"></span>
<LoaderCircle size="1em" class="mx-1 animate-spin" />
Converting…
</span>
{:else if convert_status_kv[event_file_obj.event_file_id] === 'done'}
<span class="btn btn-sm preset-tonal-success" title="Conversion complete. New webp hosted_file created: {convert_result_kv[event_file_obj.event_file_id]?.filename ?? ''}">
<span class="fas fa-check mx-1"></span>
<Check size="1em" class="mx-1" />
Done — {convert_result_kv[event_file_obj.event_file_id]?.filename ?? 'image created'}
</span>
{:else if convert_status_kv[event_file_obj.event_file_id] === 'error'}
@@ -516,7 +517,7 @@
convert_status_kv[event_file_obj.event_file_id] = 'idle';
}}
>
<span class="fas fa-exclamation-triangle mx-1"></span>
<TriangleAlert size="1em" class="mx-1" />
Failed — Retry?
</button>
{/if}
@@ -541,8 +542,7 @@
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs underline"
title={`Download this file:\n${ae_util.clean_filename(event_file_obj?.filename)}\n[API] SHA256: ${event_file_obj?.hash_sha256?.slice(0, 10) ?? 'N/A'}\nHosted ID: ${event_file_obj?.hosted_file_id} Event File ID: ${event_file_obj?.event_file_id}`}
>
<span class="fas fa-download mx-1"
></span>
<Download size="1em" class="mx-1" />
<span class="hidden"> Download </span>
</a>
@@ -580,8 +580,7 @@
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs underline"
title={`Download renamed with session name to: ${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_session_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}`}
>
<span class="fas fa-download mx-1"
></span>
<Download size="1em" class="mx-1" />
<span class="hidden"> Renamed </span>
</a>
@@ -616,8 +615,7 @@
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs underline"
title={`Download renamed with presentation name to: ${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_presentation_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}`}
>
<span class="fas fa-download mx-1"
></span>
<Download size="1em" class="mx-1" />
<span class="hidden"> Renamed </span>
</a>
@@ -700,8 +698,7 @@
'-- not set --'}
</td>
<td class="px-4 py-2 lg:text-xs">
<span class="fas fa-chalkboard-teacher"
></span>
<Presentation size="1em" />
<a
href="/events/{event_file_obj?.event_id}/session/{event_file_obj?.event_session_id}"
class="text-blue-500 underline hover:text-blue-800"
@@ -737,7 +734,7 @@
{/if}
<td class="px-4 py-2">
{#if event_file_obj?.event_presenter_id}
<span class="fas fa-user"></span>
<User size="1em" />
<a
href="/events/{event_file_obj?.event_id}/presenter/{event_file_obj?.event_presenter_id}"
class="text-blue-500 underline hover:text-blue-800"