Fix cache titles and move feedback link
This commit is contained in:
@@ -500,7 +500,7 @@ def get_cached_requests(
|
|||||||
since_iso: Optional[str] = None,
|
since_iso: Optional[str] = None,
|
||||||
) -> list[Dict[str, Any]]:
|
) -> list[Dict[str, Any]]:
|
||||||
query = """
|
query = """
|
||||||
SELECT request_id, media_id, media_type, status, title, year, requested_by, created_at
|
SELECT request_id, media_id, media_type, status, title, year, requested_by, created_at, payload_json
|
||||||
FROM requests_cache
|
FROM requests_cache
|
||||||
"""
|
"""
|
||||||
params: list[Any] = []
|
params: list[Any] = []
|
||||||
@@ -525,14 +525,33 @@ def get_cached_requests(
|
|||||||
)
|
)
|
||||||
results: list[Dict[str, Any]] = []
|
results: list[Dict[str, Any]] = []
|
||||||
for row in rows:
|
for row in rows:
|
||||||
|
title = row[4]
|
||||||
|
year = row[5]
|
||||||
|
if (not title or not year) and row[8]:
|
||||||
|
try:
|
||||||
|
payload = json.loads(row[8])
|
||||||
|
if isinstance(payload, dict):
|
||||||
|
media = payload.get("media") or {}
|
||||||
|
if not title:
|
||||||
|
title = (
|
||||||
|
(media.get("title") if isinstance(media, dict) else None)
|
||||||
|
or (media.get("name") if isinstance(media, dict) else None)
|
||||||
|
or payload.get("title")
|
||||||
|
or payload.get("name")
|
||||||
|
)
|
||||||
|
if not year:
|
||||||
|
year = media.get("year") if isinstance(media, dict) else None
|
||||||
|
year = year or payload.get("year")
|
||||||
|
except json.JSONDecodeError:
|
||||||
|
pass
|
||||||
results.append(
|
results.append(
|
||||||
{
|
{
|
||||||
"request_id": row[0],
|
"request_id": row[0],
|
||||||
"media_id": row[1],
|
"media_id": row[1],
|
||||||
"media_type": row[2],
|
"media_type": row[2],
|
||||||
"status": row[3],
|
"status": row[3],
|
||||||
"title": row[4],
|
"title": title,
|
||||||
"year": row[5],
|
"year": year,
|
||||||
"requested_by": row[6],
|
"requested_by": row[6],
|
||||||
"created_at": row[7],
|
"created_at": row[7],
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ body {
|
|||||||
grid-column: 1 / -1;
|
grid-column: 1 / -1;
|
||||||
grid-row: 2 / 3;
|
grid-row: 2 / 3;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand {
|
.brand {
|
||||||
@@ -130,6 +130,7 @@ body {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-actions a {
|
.header-actions a {
|
||||||
@@ -170,6 +171,10 @@ body {
|
|||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.header-actions .header-cta--left {
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
.signed-in {
|
.signed-in {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
|
|||||||
@@ -46,10 +46,10 @@ export default function HeaderActions() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="header-actions">
|
<div className="header-actions">
|
||||||
|
<a className="header-cta header-cta--left" href="/feedback">Send feedback</a>
|
||||||
<a href="/">Requests</a>
|
<a href="/">Requests</a>
|
||||||
<a href="/how-it-works">How it works</a>
|
<a href="/how-it-works">How it works</a>
|
||||||
<a href="/profile">My profile</a>
|
<a href="/profile">My profile</a>
|
||||||
<a className="header-cta" href="/feedback">Send feedback</a>
|
|
||||||
{role === 'admin' && <a href="/admin">Settings</a>}
|
{role === 'admin' && <a href="/admin">Settings</a>}
|
||||||
<button type="button" className="header-link" onClick={signOut}>
|
<button type="button" className="header-link" onClick={signOut}>
|
||||||
Sign out
|
Sign out
|
||||||
|
|||||||
Reference in New Issue
Block a user