From c2f2584101da5d0ec8ab4e208606fe5a53f2d293 Mon Sep 17 00:00:00 2001 From: MMK21 <50421330+MMK21Hub@users.noreply.github.com> Date: Tue, 28 Oct 2025 22:38:30 +0000 Subject: [PATCH] Make the header in app home configurable (#87) * Add an app_title env var * Use app_title in app home * Fix header being wrapped in a tuple --- .env.sample | 2 ++ nephthys/utils/env.py | 1 + nephthys/views/home/assigned.py | 11 +++-------- nephthys/views/home/components/header.py | 12 ++++++++++++ nephthys/views/home/helper.py | 11 +++-------- 5 files changed, 21 insertions(+), 16 deletions(-) create mode 100644 nephthys/views/home/components/header.py diff --git a/.env.sample b/.env.sample index 2333587..dfd08ba 100644 --- a/.env.sample +++ b/.env.sample @@ -12,3 +12,5 @@ SLACK_MAINTAINER_ID="U..." DATABASE_URL="postgresql://postgres:postgres@localhost:5432/nephthys" SITE_URL="https://summer.hackclub.com" SITE_API_KEY="..." +# Title shown in app home: +APP_TITLE="helper heidi" \ No newline at end of file diff --git a/nephthys/utils/env.py b/nephthys/utils/env.py index 8379dd3..e634a5d 100644 --- a/nephthys/utils/env.py +++ b/nephthys/utils/env.py @@ -31,6 +31,7 @@ class Environment: self.slack_maintainer_id = os.environ.get("SLACK_MAINTAINER_ID", "unset") self.program = os.environ.get("PROGRAM", "summer_of_making") self.daily_summary = True if not os.environ.get("DAILY_SUMMARY") else False + self.app_title = os.environ.get("APP_TITLE", "helper heidi") self.port = int(os.environ.get("PORT", 3000)) diff --git a/nephthys/views/home/assigned.py b/nephthys/views/home/assigned.py index b983b3d..9aedae6 100644 --- a/nephthys/views/home/assigned.py +++ b/nephthys/views/home/assigned.py @@ -2,11 +2,13 @@ import pytz from nephthys.utils.env import env from nephthys.views.home.components.buttons import get_buttons +from nephthys.views.home.components.header import get_header from prisma.enums import TicketStatus from prisma.models import User async def get_assigned_tickets_view(user: User): + header = get_header() btns = get_buttons(user, "assigned-tickets") tickets = ( @@ -71,14 +73,7 @@ async def get_assigned_tickets_view(user: User): return { "type": "home", "blocks": [ - { - "type": "header", - "text": { - "type": "plain_text", - "text": ":rac_cute: helper heidi", - "emoji": True, - }, - }, + header, btns, {"type": "divider"}, { diff --git a/nephthys/views/home/components/header.py b/nephthys/views/home/components/header.py new file mode 100644 index 0000000..2114eba --- /dev/null +++ b/nephthys/views/home/components/header.py @@ -0,0 +1,12 @@ +from nephthys.utils.env import env + + +def get_header(): + return { + "type": "header", + "text": { + "type": "plain_text", + "text": f":rac_cute: {env.app_title}", + "emoji": True, + }, + } diff --git a/nephthys/views/home/helper.py b/nephthys/views/home/helper.py index dd13bb1..bf7df91 100644 --- a/nephthys/views/home/helper.py +++ b/nephthys/views/home/helper.py @@ -5,6 +5,7 @@ import pytz from nephthys.utils.env import env from nephthys.views.home.components.buttons import get_buttons +from nephthys.views.home.components.header import get_header from nephthys.views.home.components.leaderboards import get_leaderboard_view from nephthys.views.home.components.ticket_status_pie import get_ticket_status_pie_chart from nephthys.views.home.error import get_error_view @@ -34,6 +35,7 @@ async def get_helper_view(user: User): f"Generated leaderboard in {time_leaderboard - time_pie_chart:.4f} seconds" ) + header = get_header() btns = get_buttons(user, "dashboard") logging.debug( f"Generated Dashboard view in {perf_counter() - time_start:.4f} seconds total" @@ -42,14 +44,7 @@ async def get_helper_view(user: User): return { "type": "home", "blocks": [ - { - "type": "header", - "text": { - "type": "plain_text", - "text": ":rac_cute: helper heidi", - "emoji": True, - }, - }, + header, btns, {"type": "divider"}, {