import tempfile
 from datetime import datetime, timezone
 from dataclasses import dataclass
+from typing import Optional
 
 from flask import Blueprint, current_app, render_template, request, redirect, \
         session, abort, send_from_directory
     collaborators: list[str]
     user_has_pfp: bool
     hidden: bool
+    eventid: Optional[int]
+    jamid: Optional[int]
+    event_title: Optional[str]
 
     def json(self):
         return json.dumps(vars(self))
 
         # Song is hidden if it was submitted to an event that hasn't ended yet
         hidden = False
+        jamid = None
+        event_title = None
+
         if sd["eventid"]:
             event_row = db.query(
                     "SELECT * FROM jam_events WHERE eventid = ?",
                     [sd["eventid"]],
                     one=True)
-            if event_row and event_row["enddate"]:
-                enddate = datetime.fromisoformat(event_row["enddate"])
-                hidden = datetime.now(timezone.utc) < enddate
+            if event_row:
+                jamid = event_row["jamid"]
+                event_title = event_row["title"]
+                if event_row["enddate"]:
+                    enddate = datetime.fromisoformat(event_row["enddate"])
+                    hidden = datetime.now(timezone.utc) < enddate
+
 
         created = (
                 datetime.fromisoformat(sd["created"])
             collaborators=song_collabs,
             user_has_pfp=users.user_has_pfp(sd["userid"]),
             hidden=hidden,
+            eventid=sd["eventid"],
+            jamid=jamid,
+            event_title=event_title,
         ))
     return songs
 
 
     response = client.get(f"/jams/{jam}/events/{event}")
     assert b"song title" in response.data, response.data.decode()
 
+    # Check for event title on song page
+    response = client.get(f"/song/1/1?action=view")
+    assert b"Event Title" in response.data, response.data.decode()
+
 def test_submitted_song_hidden_before_enddate(client, user, jam, event):
     client.post(
             f"/jams/{jam}/events/{event}/update",