diff --git a/assets/css/main.css b/assets/css/main.css index da21d3c..159c5b0 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -1,12 +1,12 @@ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); /* Apply Inter font family to the entire application */ -html { +* { font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; } /* Ensure consistent font application */ -body { +html, body { font-family: inherit; font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11'; margin: 0; diff --git a/nuxt.config.ts b/nuxt.config.ts index 4b48ebc..5f2e107 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -20,6 +20,7 @@ export default defineNuxtConfig({ wasm: true } }, + css: ['~/assets/css/main.css'], app: { head: { link: [ diff --git a/pages/[slug].vue b/pages/[slug].vue index 6eab3ec..afcef8d 100644 --- a/pages/[slug].vue +++ b/pages/[slug].vue @@ -5,7 +5,7 @@
- New Life Christian Church + New Life Christian Church
- New Life Christian Church + New Life Christian Church
- New Life Christian Church + New Life Christian Church
diff --git a/server/api/sermons/[slug].get.ts b/server/api/sermons/[slug].get.ts index 635316d..d5b3c8b 100644 --- a/server/api/sermons/[slug].get.ts +++ b/server/api/sermons/[slug].get.ts @@ -1,28 +1,37 @@ import { getDatabase } from '~/server/utils/database' +import { getRouterParam, createError } from 'h3' export default defineEventHandler(async (event) => { - const db = await getDatabase() - const slug = getRouterParam(event, 'slug') + try { + const db = await getDatabase() + const slug = getRouterParam(event, 'slug') - if (!slug) { + if (!slug) { + throw createError({ + statusCode: 400, + statusMessage: 'Sermon slug is required' + }) + } + + const sermon = db.prepare('SELECT * FROM sermons WHERE slug = ?').get(slug) as any + + if (!sermon) { + throw createError({ + statusCode: 404, + statusMessage: 'Sermon not found' + }) + } + + // Parse JSON fields + return { + ...sermon, + bibleReferences: sermon.bible_references ? JSON.parse(sermon.bible_references) : [] + } + } catch (error) { + console.error('Error loading sermon:', error) throw createError({ - statusCode: 400, - statusMessage: 'Sermon slug is required' + statusCode: 500, + statusMessage: 'Failed to load sermon' }) } - - const sermon = db.prepare('SELECT * FROM sermons WHERE slug = ?').get(slug) as any - - if (!sermon) { - throw createError({ - statusCode: 404, - statusMessage: 'Sermon not found' - }) - } - - // Parse JSON fields - return { - ...sermon, - bibleReferences: sermon.bible_references ? JSON.parse(sermon.bible_references) : [] - } })