feat(*): add image grids for album and associated media displays

This commit is contained in:
Cory Dransfeldt 2025-05-24 17:19:30 -07:00
parent 9b4baad5fb
commit 36fbba761a
No known key found for this signature in database
53 changed files with 1179 additions and 764 deletions

View file

@ -1,25 +1,40 @@
CREATE OR REPLACE VIEW optimized_globals AS
SELECT
g.site_name,
g.site_description,
g.intro,
g.author,
g.email,
g.mastodon,
g.url,
g.cdn_url,
g.sitemap_uri,
g.theme_color,
g.site_type,
g.locale,
g.lang,
g.webfinger_username,
g.webfinger_hostname,
CONCAT('/', df.filename_disk) AS avatar,
CONCAT('/', df2.filename_disk) AS avatar_transparent,
CONCAT('/', df3.filename_disk) AS avatar_header
FROM
globals g
SELECT *
FROM (
SELECT
g.site_name,
g.site_description,
g.intro,
g.author,
g.email,
g.mastodon,
g.url,
g.cdn_url,
g.sitemap_uri,
g.theme_color,
g.site_type,
g.locale,
g.lang,
g.webfinger_username,
g.webfinger_hostname,
CONCAT(g.cdn_url, '/', df.filename_disk) AS avatar,
CONCAT(g.cdn_url, '/', df2.filename_disk) AS avatar_transparent,
CONCAT(g.cdn_url, '/', df3.filename_disk) AS avatar_header,
json_build_object(
'open_graph_image', CASE
WHEN df.filename_disk IS NOT NULL AND df.filename_disk != '' AND df.filename_disk != '/' THEN
CONCAT('/', df.filename_disk)
ELSE NULL
END,
'open_graph_image_transparent', CASE
WHEN df2.filename_disk IS NOT NULL AND df2.filename_disk != '' AND df2.filename_disk != '/' THEN
CONCAT('/', df2.filename_disk)
ELSE NULL
END
) AS metadata
FROM globals g
LEFT JOIN directus_files df ON g.avatar = df.id
LEFT JOIN directus_files df2 ON g.avatar_transparent = df2.id
LEFT JOIN directus_files df3 ON g.avatar_header = df3.id
LIMIT 1
) sub;

View file

@ -12,4 +12,3 @@ SELECT
FROM
navigation n
LEFT JOIN pages p ON n.pages = p.id;

View file

@ -4,7 +4,13 @@ SELECT
p.title,
p.permalink,
p.description,
CONCAT('/', df.filename_disk) AS open_graph_image,
json_build_object(
'open_graph_image', CASE
WHEN df.filename_disk IS NOT NULL AND df.filename_disk != '' AND df.filename_disk != '/' THEN
CONCAT('/', df.filename_disk)
ELSE NULL
END
) AS metadata,
p.updated,
(
SELECT
@ -52,7 +58,8 @@ WHERE
FROM
pages p
LEFT JOIN directus_files df ON p.open_graph_image = df.id
CROSS JOIN optimized_globals globals
GROUP BY
p.id,
df.filename_disk;
df.filename_disk,
globals.cdn_url;