import { getDb } from "@/lib/db"; import { all } from "@/lib/db/helpers"; import type { ResearchSection, AcademicReference } from "@/lib/db/schema"; import { hasLocalizedText, localized } from "@/lib/i18n"; export function getResearchSections(): ResearchSection[] { const rows = all( getDb().prepare("SELECT * FROM research_sections ORDER BY sort_order, id") ); for (const row of rows) { if (row.tags_json) { try { (row as any).tags = JSON.parse(row.tags_json); } catch { (row as any).tags = []; } } } return rows; } export function getAcademicReferences(): AcademicReference[] { const rows = all( getDb().prepare("SELECT * FROM academic_references ORDER BY sort_order, id") ); for (const row of rows) { if (row.tags_json) { try { (row as any).tags = JSON.parse(row.tags_json); } catch { (row as any).tags = []; } } row.titleText = localized(row.title_en || row.title, row.title_zh); row.bodyText = localized(row.body_en || row.body, row.body_zh); } return rows.filter( (row) => hasLocalizedText(row.titleText) || hasLocalizedText(row.bodyText) ); }