From a7cb48e10be87a3d093f466fa6f80c103538ac46 Mon Sep 17 00:00:00 2001 From: Slipstreamm Date: Sat, 14 Jun 2025 14:03:23 -0600 Subject: [PATCH] refactor(welcome): Consolidate welcome and goodbye message sections for improved layout --- cogs/welcome_cog.py | 72 +++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 51 deletions(-) diff --git a/cogs/welcome_cog.py b/cogs/welcome_cog.py index 47d5a7a..ea207b4 100644 --- a/cogs/welcome_cog.py +++ b/cogs/welcome_cog.py @@ -28,7 +28,7 @@ class WelcomeMessageView(ui.LayoutView): container = ui.Container(accent_colour=accent_color) - # Add a welcome banner/header + # Add a welcome banner/header with avatar header_section = ui.Section( accessory=ui.Thumbnail( media=member.display_avatar.url, @@ -40,15 +40,9 @@ class WelcomeMessageView(ui.LayoutView): header_section.add_item(ui.TextDisplay("🎉 **Welcome to the Server!** 🎉")) header_section.add_item(ui.TextDisplay(message)) - container.add_item(header_section) - - # Add separator - container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small)) - - # Member info section - info_section = ui.Section() - info_section.add_item(ui.TextDisplay(f"**Member:** {member.display_name}")) - info_section.add_item(ui.TextDisplay(f"**Account Created:** {member.created_at.strftime('%B %d, %Y')}")) + # Add member info to the header section + header_section.add_item(ui.TextDisplay(f"**Member:** {member.display_name}")) + header_section.add_item(ui.TextDisplay(f"**Account Created:** {member.created_at.strftime('%B %d, %Y')}")) # Calculate account age account_age = datetime.now(timezone.utc) - member.created_at @@ -61,28 +55,17 @@ class WelcomeMessageView(ui.LayoutView): months = account_age.days // 30 age_str = f"{months} month{'s' if months != 1 else ''} ago" - info_section.add_item(ui.TextDisplay(f"**Account Age:** {age_str}")) - container.add_item(info_section) + header_section.add_item(ui.TextDisplay(f"**Account Age:** {age_str}")) - # Add separator - container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small)) + # Add server stats to the header section + header_section.add_item(ui.TextDisplay(f"📊 **Server Statistics**")) + header_section.add_item(ui.TextDisplay(f"**Total Members:** {member_count:,}")) + header_section.add_item(ui.TextDisplay(f"**You are member #{member_count:,}**")) - # Server stats section - stats_section = ui.Section() - stats_section.add_item(ui.TextDisplay(f"📊 **Server Statistics**")) - stats_section.add_item(ui.TextDisplay(f"**Total Members:** {member_count:,}")) - stats_section.add_item(ui.TextDisplay(f"**You are member #{member_count:,}**")) - - container.add_item(stats_section) - - # Add separator - container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small)) - - # Welcome footer - footer_section = ui.Section() - footer_section.add_item(ui.TextDisplay("💬 Feel free to introduce yourself and have fun!")) - container.add_item(footer_section) + # Add welcome footer + header_section.add_item(ui.TextDisplay("💬 Feel free to introduce yourself and have fun!")) + container.add_item(header_section) self.add_item(container) @@ -119,15 +102,9 @@ class GoodbyeMessageView(ui.LayoutView): header_section.add_item(ui.TextDisplay(f"{emoji} **{title}** {emoji}")) header_section.add_item(ui.TextDisplay(message)) - container.add_item(header_section) - - # Add separator - container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small)) - - # Member info section - info_section = ui.Section() - info_section.add_item(ui.TextDisplay(f"**Member:** {member.display_name}")) - info_section.add_item(ui.TextDisplay(f"**Username:** {member.name}")) + # Add member info to the header section + header_section.add_item(ui.TextDisplay(f"**Member:** {member.display_name}")) + header_section.add_item(ui.TextDisplay(f"**Username:** {member.name}")) # Show join date if available if hasattr(member, 'joined_at') and member.joined_at: @@ -144,21 +121,14 @@ class GoodbyeMessageView(ui.LayoutView): else: duration_str = f"{time_in_server.days} day{'s' if time_in_server.days != 1 else ''}" - info_section.add_item(ui.TextDisplay(f"**Joined:** {join_date}")) - info_section.add_item(ui.TextDisplay(f"**Time in Server:** {duration_str}")) + header_section.add_item(ui.TextDisplay(f"**Joined:** {join_date}")) + header_section.add_item(ui.TextDisplay(f"**Time in Server:** {duration_str}")) - container.add_item(info_section) - - # Add separator - container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small)) - - # Server stats section - stats_section = ui.Section() - stats_section.add_item(ui.TextDisplay(f"📊 **Server Statistics**")) - stats_section.add_item(ui.TextDisplay(f"**Current Members:** {member_count:,}")) - - container.add_item(stats_section) + # Add server stats to the header section + header_section.add_item(ui.TextDisplay(f"📊 **Server Statistics**")) + header_section.add_item(ui.TextDisplay(f"**Current Members:** {member_count:,}")) + container.add_item(header_section) self.add_item(container)