Improve MineGeo interface and functionality

This commit is contained in:
2026-10-06 19:24:41 +05:00
parent 7404f1dc1c
commit 233e4d57f0
67 changed files with 3053 additions and 643 deletions

24
lib/site-settings.ts Normal file
View File

@@ -0,0 +1,24 @@
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;
}
}