@@ -608,22 +608,25 @@ async function fetchBoostStats() {
608608async function fetchAuditLog ( ) {
609609 const c = document . getElementById ( 'audit-log-list' ) ;
610610 if ( ! c ) return ;
611- c . innerHTML = `<div class="loading-state"><div class="spinner"></div><p>Loading server audit log…</p></div>` ;
611+ c . innerHTML = `<div class="loading-state"><div class="spinner"></div><p>Loading audit log from MongoDB …</p></div>` ;
612612 try {
613- if ( ! currentGuild ) throw new Error ( 'No guild selected' ) ;
614- const res = await fetch ( `${ BOT_API } /server/ audit- log?guild_id= ${ currentGuild . id } &limit=100 ` , {
613+ const guildParam = currentGuild ? `&guild_id= ${ currentGuild . id } ` : '' ;
614+ const res = await fetch ( `${ BOT_API } /audit/ log?limit=200 ${ guildParam } ` , {
615615 headers : { 'Authorization' : `Bearer ${ discordToken } ` }
616616 } ) ;
617617 const data = await res . json ( ) ;
618- if ( ! res . ok ) throw new Error ( data . error || 'Failed ') ;
618+ if ( ! res . ok ) throw new Error ( 'failed ') ;
619619 allLogEntries = data . entries || [ ] ;
620+
621+ // Update badge count
620622 const badge = document . getElementById ( 'log-badge' ) ;
621623 if ( badge ) badge . textContent = allLogEntries . length ;
624+
622625 renderLog ( ) ;
623- } catch ( err ) {
626+ } catch {
624627 c . innerHTML = `<div class="loading-state">
625- <p>❌ Could not load server audit log .</p>
626- <p style="font-size:0.78rem;color:var(--tx-3);margin-top:6px">${ err . message } </p>
628+ <p>❌ Audit log not available .</p>
629+ <p style="font-size:0.78rem;color:var(--tx-3);margin-top:6px">Add <code style="color:var(--green)">GET /audit/log</code> to your bot API to display MongoDB mod logs here. </p>
627630 <button class="btn-sm-o" onclick="fetchAuditLog()" style="margin-top:10px">🔄 Retry</button>
628631 </div>` ;
629632 }
@@ -642,11 +645,7 @@ function logPage(dir) {
642645 renderLog ( ) ;
643646}
644647
645- const LOG_ICONS = { ban :'🔨' , unban :'🔓' , kick :'👢' , timeout :'⏱' , untimeout :'🔊' , mute :'🔇' , unmute :'🔊' , warn :'⚠️' , purge :'🧹' , delete :'🗑️' , edit :'✏️' , join :'✅' , leave :'🚪' , nick :'✏️' , role_add :'➕' , role_remove :'➖' , role_create :'🎭' , role_delete :'🗑️' , role_rename :'🏷️' , channel_create :'📢' , channel_delete :'🗑️' , channel_rename :'📝' , voice_join :'🎙️' , voice_leave :'🔇' , voice_move :'🔀' , invite_create :'🔗' , invite_delete :'❌' , server_rename :'🏠' , emoji_add :'😀' , emoji_remove :'🗑️' , slowmode :'🐢' , lock :'🔒' , unlock :'🔓' ,
646- member_ban_add :'🔨' , member_ban_remove :'🔓' , member_kick :'👢' , member_update :'✏️' , member_role_update :'🏷️' ,
647- message_delete :'🗑️' , message_bulk_delete :'🧹' , channel_update :'📝' , role_update :'🏷️' ,
648- guild_update :'🏠' , bot_add :'🤖' , invite_create :'🔗' ,
649- } ;
648+ const LOG_ICONS = { ban :'🔨' , unban :'🔓' , kick :'👢' , timeout :'⏱' , untimeout :'🔊' , mute :'🔇' , unmute :'🔊' , warn :'⚠️' , purge :'🧹' , delete :'🗑️' , edit :'✏️' , join :'✅' , leave :'🚪' , nick :'✏️' , role_add :'➕' , role_remove :'➖' , role_create :'🎭' , role_delete :'🗑️' , role_rename :'🏷️' , channel_create :'📢' , channel_delete :'🗑️' , channel_rename :'📝' , voice_join :'🎙️' , voice_leave :'🔇' , voice_move :'🔀' , invite_create :'🔗' , invite_delete :'❌' , server_rename :'🏠' , emoji_add :'😀' , emoji_remove :'🗑️' , slowmode :'🐢' , lock :'🔒' , unlock :'🔓' , bot_start :'🚀' } ;
650649const PER_PAGE = 20 ;
651650
652651function renderLog ( ) {
@@ -676,25 +675,18 @@ function renderLog() {
676675 return ;
677676 }
678677
679- c . innerHTML = `<div class="log-list">${ slice . map ( e => {
680- const action = e . action || 'unknown' ;
681- const label = action . toUpperCase ( ) . replace ( / _ / g, ' ' ) ;
682- const icon = LOG_ICONS [ action ] || '📌' ;
683- // Strip numeric Discord IDs from names
684- const clean = s => ( s || '' ) . replace ( / \s * \( \d { 10 , 20 } \) / g, '' ) . replace ( / # 0 $ / , '' ) . trim ( ) || s || '?' ;
685- return `
686- <div class="log-entry ${ action } ">
687- <div class="log-icon">${ icon } </div>
678+ c . innerHTML = `<div class="log-list">${ slice . map ( e => `
679+ <div class="log-entry ${ e . action || '' } ">
680+ <div class="log-icon">${ LOG_ICONS [ e . action ] || '📌' } </div>
688681 <div class="log-body">
689682 <div class="log-action">
690- <span class="log-tag ${ action } ">${ label } </span>
691- <strong>${ clean ( e . target ) } </strong>${ e . reason ? ` — ${ e . reason } ` : '' }
683+ <span class="log-tag ${ e . action || '' } ">${ ( e . action || 'action' ) . toUpperCase ( ) } </span>
684+ <strong>${ e . target || 'Unknown' } </strong>${ e . reason ? ` — ${ e . reason } ` : '' }
692685 </div>
693- <div class="log-meta">By ${ clean ( e . moderator ) } ${ e . guild_name ?'in ' + e . guild_name :'' } </div>
686+ <div class="log-meta">By ${ e . moderator || 'System' } ${ e . guild_name ?'in ' + e . guild_name :'' } </div>
694687 </div>
695688 <div class="log-time">${ formatTime ( e . timestamp ) } </div>
696- </div>` ;
697- } ) . join ( '' ) } </div>`;
689+ </div>` ) . join ( '' ) } </div>`;
698690
699691 if ( pg ) {
700692 pg . style . display = 'flex' ;
0 commit comments