Files
MineGeo/lib/site-settings.ts

25 lines
694 B
TypeScript

import "server-only";
import { cache } from "react";
import { admin, required } from "./supabase";
import { defaultSiteSettings, type SiteSettings } from "@/shared/site-settings";
export const getSiteSettings = cache(async (): Promise<SiteSettings> => {
const row = required(
await admin()
.from("site_settings")
.select("beta_badge_enabled")
.eq("id", true)
.single(),
);
return { betaBadgeEnabled: row.beta_badge_enabled };
});
export async function initialSiteSettings(): Promise<SiteSettings> {
try {
return await getSiteSettings();
} catch {
// A settings outage must not block the site from rendering.
return defaultSiteSettings;
}
}