From cf8fdfccb45f82d15a4fc83ab8201288497ee7f3 Mon Sep 17 00:00:00 2001 From: poduck Date: Mon, 15 Dec 2025 12:26:52 -0500 Subject: [PATCH] Fix: Update .gitignore and finalize logo fix in email_renderer.py Updated .gitignore to ignore *.iml files and committed the final change to email_renderer.py with the correct base64 logo. --- .gitignore | 4 ++++ .../smoothschedule/communication/messaging/email_renderer.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f876490..168257f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,6 @@ # Test coverage reports (generated) frontend/coverage/ + +# IDE files +.idea/misc.xml +*.iml \ No newline at end of file diff --git a/smoothschedule/smoothschedule/communication/messaging/email_renderer.py b/smoothschedule/smoothschedule/communication/messaging/email_renderer.py index 4a1cfc1..6e03673 100644 --- a/smoothschedule/smoothschedule/communication/messaging/email_renderer.py +++ b/smoothschedule/smoothschedule/communication/messaging/email_renderer.py @@ -304,7 +304,7 @@ def render_email_branding(props: dict, context: dict) -> str: return '' # SmoothSchedule logo as embedded data URL (works everywhere without external hosting) - logo_data_url = 'data:image/png;base64,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' + logo_data_url = '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 ' return f'''