@@ -85,7 +85,7 @@ def _build_home_view(user_id, app):
8585 blocks = []
8686
8787 # Header
88- blocks .append ({"type" : "header" , "text" : {"type" : "plain_text" , "text" : "BrightDayBot" }})
88+ blocks .append ({"type" : "header" , "text" : {"type" : "plain_text" , "text" : "🎉 BrightDayBot" }})
8989
9090 blocks .append (
9191 {
@@ -103,7 +103,7 @@ def _build_home_view(user_id, app):
103103 blocks .append (
104104 {
105105 "type" : "section" ,
106- "text" : {"type" : "mrkdwn" , "text" : "*Your Birthday Status*" },
106+ "text" : {"type" : "mrkdwn" , "text" : "*🎂 Your Birthday Status*" },
107107 }
108108 )
109109
@@ -113,12 +113,12 @@ def _build_home_view(user_id, app):
113113 age = calculate_age (user_birthday ["year" ]) if user_birthday .get ("year" ) else None
114114
115115 fields = [
116- {"type" : "mrkdwn" , "text" : f"*Birthday: *\n { date_words } " },
117- {"type" : "mrkdwn" , "text" : f"*Star Sign: *\n { star_sign } " },
116+ {"type" : "mrkdwn" , "text" : f"📅 *Birthday*\n { date_words } " },
117+ {"type" : "mrkdwn" , "text" : f"⭐ *Star Sign*\n { star_sign } " },
118118 ]
119119
120120 if age :
121- fields .append ({"type" : "mrkdwn" , "text" : f"*Age: *\n { age } years" })
121+ fields .append ({"type" : "mrkdwn" , "text" : f"🎈 *Age*\n { age } years" })
122122
123123 blocks .append ({"type" : "section" , "fields" : fields })
124124
@@ -133,12 +133,17 @@ def _build_home_view(user_id, app):
133133
134134 pref_items = []
135135 if is_active :
136- pref_items .append ("Celebrations: Active" )
136+ pref_items .append ("✅ Active" )
137137 else :
138- pref_items .append ("Celebrations: Paused" )
139- pref_items .append (f"AI Images: { 'On' if image_enabled else 'Off' } " )
140- pref_items .append (f"Show Age: { 'Yes' if show_age else 'No' } " )
141- pref_items .append (f"Style: { celebration_style .title ()} " )
138+ pref_items .append ("⏸️ Paused" )
139+ pref_items .append (
140+ f"{ '🖼️' if image_enabled else '📝' } { 'Images On' if image_enabled else 'Text Only' } "
141+ )
142+ pref_items .append (
143+ f"{ '🎂' if show_age else '🤫' } { 'Age Shown' if show_age else 'Age Hidden' } "
144+ )
145+ style_emoji = {"quiet" : "🤫" , "standard" : "🎊" , "epic" : "🚀" }.get (celebration_style , "🎊" )
146+ pref_items .append (f"{ style_emoji } { celebration_style .title ()} " )
142147
143148 blocks .append (
144149 {
@@ -154,13 +159,13 @@ def _build_home_view(user_id, app):
154159 "elements" : [
155160 {
156161 "type" : "button" ,
157- "text" : {"type" : "plain_text" , "text" : "Edit Birthday" },
162+ "text" : {"type" : "plain_text" , "text" : "✏️ Edit Birthday" , "emoji" : True },
158163 "action_id" : "open_birthday_modal" ,
159164 "style" : "primary" ,
160165 },
161166 {
162167 "type" : "button" ,
163- "text" : {"type" : "plain_text" , "text" : "Remove Birthday" },
168+ "text" : {"type" : "plain_text" , "text" : "🗑️ Remove" , "emoji" : True },
164169 "action_id" : "remove_birthday_confirm" ,
165170 "style" : "danger" ,
166171 "confirm" : {
@@ -182,7 +187,7 @@ def _build_home_view(user_id, app):
182187 "type" : "section" ,
183188 "text" : {
184189 "type" : "mrkdwn" ,
185- "text" : "You haven't added your birthday yet!" ,
190+ "text" : "🎈 You haven't added your birthday yet! Add it now to receive personalized celebrations. " ,
186191 },
187192 }
188193 )
@@ -194,7 +199,7 @@ def _build_home_view(user_id, app):
194199 "elements" : [
195200 {
196201 "type" : "button" ,
197- "text" : {"type" : "plain_text" , "text" : "Add My Birthday" },
202+ "text" : {"type" : "plain_text" , "text" : "➕ Add My Birthday" , "emoji" : True },
198203 "action_id" : "open_birthday_modal" ,
199204 "style" : "primary" ,
200205 }
@@ -208,7 +213,7 @@ def _build_home_view(user_id, app):
208213 blocks .append (
209214 {
210215 "type" : "section" ,
211- "text" : {"type" : "mrkdwn" , "text" : "*Upcoming Birthdays*" },
216+ "text" : {"type" : "mrkdwn" , "text" : "*🗓️ Upcoming Birthdays*" },
212217 }
213218 )
214219
@@ -217,13 +222,13 @@ def _build_home_view(user_id, app):
217222 birthday_lines = []
218223 for bday in upcoming :
219224 if bday ["days_until" ] == 0 :
220- days_text = "_Today!_ 🎂 "
225+ days_text = "🎂 _Today!_"
221226 elif bday ["days_until" ] == 1 :
222- days_text = "_Tomorrow_"
227+ days_text = "🔜 _Tomorrow_"
223228 else :
224229 days_text = f"_in { bday ['days_until' ]} days_"
225230
226- birthday_lines .append (f"• <@{ bday ['user_id' ]} > ({ bday ['date' ]} ) - { days_text } " )
231+ birthday_lines .append (f"• <@{ bday ['user_id' ]} > ({ bday ['date' ]} ) — { days_text } " )
227232
228233 blocks .append (
229234 {
@@ -240,7 +245,7 @@ def _build_home_view(user_id, app):
240245 "type" : "section" ,
241246 "text" : {
242247 "type" : "mrkdwn" ,
243- "text" : "_No birthdays registered yet ._" ,
248+ "text" : "_No upcoming birthdays in the next few days ._" ,
244249 },
245250 }
246251 )
@@ -252,48 +257,66 @@ def _build_home_view(user_id, app):
252257 blocks .append (
253258 {
254259 "type" : "section" ,
255- "text" : {"type" : "mrkdwn" , "text" : "*Birthday Statistics*" },
260+ "text" : {"type" : "mrkdwn" , "text" : "*📊 Birthday Statistics*" },
256261 }
257262 )
258263
259- # Build stats text
260- stats_lines = []
261- stats_lines .append (f"*{ stats ['total' ]} * birthdays registered" )
264+ # Build stats fields for 2-column layout
265+ stats_fields = [
266+ {
267+ "type" : "mrkdwn" ,
268+ "text" : f"🎂 *Total Registered*\n { stats ['total' ]} birthdays" ,
269+ }
270+ ]
262271
263272 if stats ["this_week" ] > 0 :
264- stats_lines .append (f"*{ stats ['this_week' ]} * birthday(s) this week" )
273+ week_text = (
274+ "1 celebration" if stats ["this_week" ] == 1 else f"{ stats ['this_week' ]} celebrations"
275+ )
276+ stats_fields .append ({"type" : "mrkdwn" , "text" : f"📅 *This Week*\n { week_text } " })
277+
265278 if stats ["this_month" ] > 0 :
266- stats_lines .append (f"*{ stats ['this_month' ]} * birthday(s) in next 30 days" )
279+ month_text = (
280+ "1 upcoming" if stats ["this_month" ] == 1 else f"{ stats ['this_month' ]} upcoming"
281+ )
282+ stats_fields .append ({"type" : "mrkdwn" , "text" : f"🗓️ *Next 30 Days*\n { month_text } " })
267283
268284 if stats ["most_common_month" ]:
269- stats_lines .append (
270- f"Most popular month: *{ stats ['most_common_month' ]} * ({ stats ['most_common_count' ]} birthdays)"
285+ count = stats ["most_common_count" ]
286+ count_text = "1 birthday" if count == 1 else f"{ count } birthdays"
287+ stats_fields .append (
288+ {
289+ "type" : "mrkdwn" ,
290+ "text" : f"⭐ *Most Popular*\n { stats ['most_common_month' ]} ({ count_text } )" ,
291+ }
271292 )
272293
273- # Fun fact about empty months
294+ blocks .append ({"type" : "section" , "fields" : stats_fields })
295+
296+ # Fun fact about empty months as context
274297 if stats ["empty_months" ]:
275298 if len (stats ["empty_months" ]) == 1 :
276- stats_lines . append ( f" No one born in { stats ['empty_months' ][0 ]} yet!" )
299+ fun_fact = f"💡 No one born in { stats ['empty_months' ][0 ]} yet — be the first!"
277300 elif len (stats ["empty_months" ]) <= 3 :
278- stats_lines .append (f"No birthdays in: { ', ' .join (stats ['empty_months' ])} " )
301+ fun_fact = f"💡 Missing birthdays in: { ', ' .join (stats ['empty_months' ])} "
302+ else :
303+ fun_fact = None
279304
280- blocks .append (
281- {
282- "type" : "section" ,
283- "text" : {
284- "type" : "mrkdwn" ,
285- "text" : "\n " .join (f"• { line } " for line in stats_lines ),
286- },
287- }
288- )
305+ if fun_fact :
306+ blocks .append (
307+ {
308+ "type" : "context" ,
309+ "elements" : [{"type" : "mrkdwn" , "text" : fun_fact }],
310+ }
311+ )
289312
290313 blocks .append ({"type" : "divider" })
291314
292315 # Upcoming Special Days
293316 blocks .append (
294317 {
295318 "type" : "section" ,
296- "text" : {"type" : "mrkdwn" , "text" : "*Upcoming Special Days*" },
319+ "text" : {"type" : "mrkdwn" , "text" : "*✨ Upcoming Special Days*" },
297320 }
298321 )
299322
@@ -344,7 +367,7 @@ def _build_home_view(user_id, app):
344367 "type" : "section" ,
345368 "text" : {
346369 "type" : "mrkdwn" ,
347- "text" : "_No special days in the next week._" ,
370+ "text" : "_No special days coming up this week._" ,
348371 },
349372 }
350373 )
@@ -355,7 +378,7 @@ def _build_home_view(user_id, app):
355378 blocks .append (
356379 {
357380 "type" : "section" ,
358- "text" : {"type" : "mrkdwn" , "text" : "*Quick Commands*" },
381+ "text" : {"type" : "mrkdwn" , "text" : "*⌨️ Quick Commands*" },
359382 }
360383 )
361384
@@ -365,11 +388,11 @@ def _build_home_view(user_id, app):
365388 "text" : {
366389 "type" : "mrkdwn" ,
367390 "text" : "Use these slash commands anywhere:\n "
368- + "- `/birthday` - Add or edit your birthday\n "
369- + "- `/birthday check` - Check your birthday\n "
370- + "- `/birthday list` - See upcoming birthdays\n "
371- + "- `/birthday export` - Export to calendar\n "
372- + "- `/special-day` - View today's special days" ,
391+ + "• `/birthday` — Add or edit your birthday\n "
392+ + "• `/birthday check` — Check your birthday\n "
393+ + "• `/birthday list` — See upcoming birthdays\n "
394+ + "• `/birthday export` — Export to calendar\n "
395+ + "• `/special-day` — View today's special days" ,
373396 },
374397 }
375398 )
@@ -381,7 +404,7 @@ def _build_home_view(user_id, app):
381404 "elements" : [
382405 {
383406 "type" : "mrkdwn" ,
384- "text" : "Tip: Send me a DM with your date (e.g., 25/12) to quickly add your birthday!" ,
407+ "text" : "💡 Tip: Send me a DM with your date (e.g., 25/12) to quickly add your birthday!" ,
385408 }
386409 ],
387410 }
0 commit comments