From 274b0b09c581f5224bb70595fa851bb6d9e9477b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 30 Mar 2026 15:46:23 +0000 Subject: [PATCH] Add favicon to the app Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/d5386c25-5b4f-4f21-8537-ae2d0fc06c04 Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com> --- backend/app/main.py | 7 ++++++- backend/app/static/img/apple-touch-icon.png | Bin 0 -> 28790 bytes backend/app/static/img/favicon-16x16.png | Bin 0 -> 499 bytes backend/app/static/img/favicon-32x32.png | Bin 0 -> 1040 bytes backend/app/static/img/favicon.ico | Bin 0 -> 3387 bytes backend/app/templates/layouts/base.html | 8 +++++++- 6 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 backend/app/static/img/apple-touch-icon.png create mode 100644 backend/app/static/img/favicon-16x16.png create mode 100644 backend/app/static/img/favicon-32x32.png create mode 100644 backend/app/static/img/favicon.ico diff --git a/backend/app/main.py b/backend/app/main.py index 05c293b..5ff61c1 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -5,7 +5,7 @@ from datetime import datetime from fastapi import Depends, FastAPI, Request from fastapi.middleware.cors import CORSMiddleware -from fastapi.responses import HTMLResponse +from fastapi.responses import FileResponse, HTMLResponse from fastapi.staticfiles import StaticFiles from fastapi.templating import Jinja2Templates @@ -369,6 +369,11 @@ async def index(request: Request): return templates.TemplateResponse(request, "index.html") +@app.get("/favicon.ico", include_in_schema=False) +async def favicon(): + return FileResponse(os.path.join(os.path.dirname(__file__), "static", "img", "favicon.ico")) + + # Individual page routes @app.get("/dashboard", response_class=HTMLResponse) async def dashboard(request: Request): diff --git a/backend/app/static/img/apple-touch-icon.png b/backend/app/static/img/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6665deb4209e5301d3760d75cb83c90d5005cb97 GIT binary patch literal 28790 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 literal 0 HcmV?d00001 diff --git a/backend/app/static/img/favicon-32x32.png b/backend/app/static/img/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..8c3abba179135cd34a585c69f67f7813e6af1564 GIT binary patch literal 1040 zcmV+r1n>KaP)*Yw_Uc|lDgZ}3CrAOsWrRaOWA0jf`|$sDIAP~{4yw4He;YrAQ-76 zqiC>Ngf_x2;&iDUZdHQg7M{}>26}b6fKRCQE=N!)O zd7s~Tp5H69*2El!oXh058Gx8;05hxXom_&MQFt2x%#Jv$Y>UPa#+YgIQc6fErtTvl zK#+hC0!q!Sx+0qoNO|i+T-Sw^5+tFNnzpXBPA3rAOXEwGYYUIQDgI&3+%UG4R&bkCP`H#=y26jHhf!DbV)j1{4Gf(EY_RfWY{8 z3XbDqY%B%W)p-52^(bFbj=kMSC(iU{!LtOM)I}PJl5#?Nge3%M48r%8qOvlKq2Uog z0G4IJvJ`y2^pQ$QR97#?&qKe#)f!4k&~Tc+Wo1B4ym;wUYYp3W;Iq_(6eT)7K8R=5 zZ9(7Zix5H}k+^~UJpZIzz0B1UK!yRS1W3YY13fWPwgVw0E?m5fflI@vsjh?&0*>P% z`bZ6WkMv<<^Sd~FR&8!&}7Un@I3BTWmygWay-xxz{+lR0$ zg>}!?LmMI|$A_i&RiO9adl-t3pz)=*5iAOzX~UCgR;9NWc-{dq`4q5}!tt-qVL@pz zY}>}=_y{^W58&iiXRy0{GftemfR{IJ$E(fHqpYkH@!=5^6$TKG|Bg3WUc|}=tKc~9 zt)-YvhMQX339&kDK>irvj}pE$tf+d9dp_7tlHB=zHy2bqMdU<@+!!HOb7iE7wGTBi zy!dJMpC6<#hK}QHMxMQZB&3u$+dqK*^FJZi?@Ko&A#hhHh*c}9P*Pk3*L7i87Dlfo zaQeF+@W<$12!(=(MQU;F?(3(~2{|({nfP{Z9a9BktsX!g&Dm0OkSAPW%HU`DbsjBrp8{0000< KMNUMnLSTZyU+mTZ literal 0 HcmV?d00001 diff --git a/backend/app/static/img/favicon.ico b/backend/app/static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0fca4ddc341640574d7ea4dd83a0b1504ef2851a GIT binary patch literal 3387 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 literal 0 HcmV?d00001 diff --git a/backend/app/templates/layouts/base.html b/backend/app/templates/layouts/base.html index f3e5b98..7fdb424 100644 --- a/backend/app/templates/layouts/base.html +++ b/backend/app/templates/layouts/base.html @@ -4,7 +4,13 @@ {% block title %}DMARQ - DMARC Monitoring{% endblock %} - + + + + + + +