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 @@
-

+
-

+
-

+
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) : []
- }
})