--- import "../styles/global.css"; import Seo from "../components/Seo.astro"; import type { JsonLd } from "../lib/seo"; export interface Props { title: string; description?: string; ogImage?: string; noIndex?: boolean; jsonLd?: JsonLd[]; } const { title, description = "Gridline, the open-source database GUI for PostgreSQL, MySQL, SQLite, and Redis. No paywalls, no tab limits, fully open source.", ogImage = "/og.png", noIndex = false, jsonLd = [], } = Astro.props; const canonicalURL = new URL(Astro.url.pathname, Astro.site); const ogImageURL = new URL(ogImage, Astro.site); const isProd = import.meta.env.PROD; --- {title} {noIndex && } { // No-JS safety net: without JavaScript the anime.js entrance timeline // never runs, so force every entry-animated element back to visible. // (global.css hides them via the html.anime-ready selector.) } { isProd && (