import { getSettings } from "yt-dlp-transcript-common/lib/settings"; import { listSites, resolveRelatedSites, resolveSocialLinks, } from "yt-dlp-transcript-common/lib/site"; import { AI_DOC_URL, PROJECT_NAME, PROJECT_URL, } from "yt-dlp-transcript-common/lib/project"; import { ICON_PALETTES } from "yt-dlp-transcript-common/lib/brand"; import { BrandMark } from "yt-dlp-transcript-common/components/BrandMark"; import { SocialLinks } from "yt-dlp-transcript-common/components/SocialLinks"; import { currentSite } from "../lib/site"; import { instanceMode } from "../lib/mode"; import { hasArchives } from "../lib/archives"; import { isCitedSite } from "yt-dlp-transcript-common/lib/siteSchema"; export default function Footer() { const site = currentSite(); // A cited site (site.json `search: false`) has no archives to download // and nothing for an AI to read; its footer keeps the rest. const cited = instanceMode() === "site" && isCitedSite(site); const showArchives = !cited && hasArchives(); const socialLinks = resolveSocialLinks(site, getSettings()); // The whole pool is present at build time, so siblings (other sites with a // siteUrl) resolve here; single-site installs get an empty list and the // related-sites block is omitted entirely. On the hub this build-time family // list is irrelevant (its "family" is the runtime shelf), so it's omitted. const related = instanceMode() === "site" ? resolveRelatedSites(site, listSites()) : []; return ( ); }