Starting to wrap up for the night. Gemini cleaned up the tools and settings section.

This commit is contained in:
Scott Idem
2025-12-15 18:30:57 -05:00
parent a7bf03e449
commit f529f4baac

View File

@@ -14,7 +14,7 @@
// Toggles for collapsible sections
let show_meeting_details: boolean = $state(false);
let show_live_stats: boolean = $state(false);
let show_name_changer: boolean = $state(false);
let show_profile_editor: boolean = $state(false);
let show_sound_settings: boolean = $state(false);
let user_id: null | string = $state(null);
@@ -35,6 +35,7 @@
let disable_raise_hand_sound: boolean = $state(true); // NOTE: Disable by default
let name_input: string = $state('');
let email_input: string = $state('');
// State for Live Meeting Stats
let meeting_participants = $state(new Map<string, any>());
@@ -114,13 +115,23 @@
);
}
async function handle_name_update() {
if (name_input && name_input.trim() !== '' && name_input !== display_name) {
console.log(`Jitsi: User updating name from "${display_name}" to "${name_input}"`);
display_name = name_input.trim();
async function handle_profile_update() {
const name_changed = name_input && name_input.trim() !== '' && name_input !== display_name;
const email_changed = email_input && email_input.trim() !== '' && email_input !== email;
if (name_changed || email_changed) {
console.log(`Jitsi: User updating profile.`);
if (name_changed) {
console.log(` - Name from "${display_name}" to "${name_input}"`);
display_name = name_input.trim();
}
if (email_changed) {
console.log(` - Email from "${email}" to "${email_input}"`);
email = email_input.trim();
}
await init_jitsi();
} else {
console.log('Jitsi: Name update skipped. New name is same as old or empty.');
console.log('Jitsi: Profile update skipped. No changes detected.');
}
}
@@ -243,8 +254,9 @@
console.warn('Jitsi: Novi API not configured. Skipping user details/moderator check.');
}
// Set initial value for the name input
// Set initial value for the profile editor inputs
name_input = display_name;
email_input = email;
// --- All data fetched, now initialize Jitsi ---
await init_jitsi();
@@ -540,7 +552,7 @@
</ul>
</div>
<div class="mt-1">
<h4 class="font-semibold">Participants:</h4>
<div class="font-bold">Participants:</div>
<ul class="pl-4 list-disc">
{#each Array.from(meeting_participants.values()).filter((p) => p.role !== 'moderator') as person (person.id)}
<li>{person.displayName}</li>
@@ -553,34 +565,45 @@
{/if}
</div>
<!-- Change Name -->
<!-- Profile -->
<div class="mt-2 pt-2 border-t-2 border-dashed border-gray-400">
<button
onclick={() => (show_name_changer = !show_name_changer)}
onclick={() => (show_profile_editor = !show_profile_editor)}
class="w-full flex justify-between items-center font-bold text-left"
>
Change Name
<span class="fas {show_name_changer ? 'fa-chevron-up' : 'fa-chevron-down'}"></span>
Profile
<span class="fas {show_profile_editor ? 'fa-chevron-up' : 'fa-chevron-down'}"></span>
</button>
{#if show_name_changer}
<div class="mt-1 pl-2">
<span class="w-full flex flex-row items-center justify-between gap-1">
<input
type="text"
id="display_name_input"
bind:value={name_input}
class="border rounded px-2 py-1 w-full"
placeholder="Enter new display name"
/>
<button
onclick={handle_name_update}
class="px-2 py-1 bg-green-200 text-white rounded hover:bg-green-400"
title="Update your display name"
>
<span class="fas fa-user-edit" aria-hidden="true"></span>
<span class="sr-only">Update Display Name</span>
</button>
</span>
{#if show_profile_editor}
<div class="mt-1 pl-2 space-y-2">
<div>
<label for="display_name_input" class="block font-semibold">Name:</label>
<input
type="text"
id="display_name_input"
bind:value={name_input}
class="border rounded px-2 py-1 w-full"
placeholder="Enter new display name"
/>
</div>
<div>
<label for="email_input" class="block font-semibold">Email:</label>
<input
type="email"
id="email_input"
bind:value={email_input}
class="border rounded px-2 py-1 w-full"
placeholder="Enter new email"
/>
</div>
<button
onclick={handle_profile_update}
class="w-full mt-1 px-2 py-1 bg-green-500 text-white rounded hover:bg-green-600"
title="Update your profile"
>
<span class="fas fa-user-edit" aria-hidden="true"></span>
Update Profile
</button>
</div>
{/if}
</div>
@@ -666,7 +689,9 @@
{/if}
</div>
<div class="mt-2 pt-2 border-t-2 border-dashed border-gray-400">
<div class="
flex flex-col sm:flex-row gap-1 items-center justify-center w-full
mt-2 pt-2 border-t-2 border-dashed border-gray-400">
<button
class="mt-2 px-2 py-1 bg-orange-200 text-white rounded hover:bg-orange-400"