diff --git a/app/(dashboard)/layout.tsx b/app/(dashboard)/layout.tsx index 1a0ad030..a7b6d87f 100644 --- a/app/(dashboard)/layout.tsx +++ b/app/(dashboard)/layout.tsx @@ -2,6 +2,7 @@ import { createClient } from '@/lib/supabase/server' import { redirect } from 'next/navigation' import DashboardNav from '@/components/dashboard/DashboardNav' import { ChatWidget } from '@/components/chat' +import { RecaptIdentify } from '@/components/RecaptIdentify' import type { EntityType } from '@/types' export default async function DashboardLayout({ @@ -55,6 +56,11 @@ export default async function DashboardLayout({ + ) } diff --git a/app/(dashboard)/settings/page.tsx b/app/(dashboard)/settings/page.tsx index 54ec95ac..50e66f51 100644 --- a/app/(dashboard)/settings/page.tsx +++ b/app/(dashboard)/settings/page.tsx @@ -35,7 +35,6 @@ import type { CompanySettings } from '@/types' import { CalendarFeedSettings } from '@/components/settings/CalendarFeedSettings' import { getSettingsPanel } from '@/lib/extensions/settings-panel-registry' -const NotificationPanel = getSettingsPanel('push-notifications') const BankingPanel = getSettingsPanel('enable-banking') export default function SettingsPage() { @@ -48,7 +47,6 @@ export default function SettingsPage() { const [isSaving, setIsSaving] = useState(false) const [settings, setSettings] = useState(null) const [hasBankingExtension, setHasBankingExtension] = useState(false) - const [hasNotificationExtension, setHasNotificationExtension] = useState(false) const [hasCalendarExtension, setHasCalendarExtension] = useState(false) const [showDeleteDialog, setShowDeleteDialog] = useState(false) const [deleteConfirmText, setDeleteConfirmText] = useState('') @@ -127,9 +125,8 @@ export default function SettingsPage() { setSettings(settingsData) // Check extension toggles in parallel - const [bankingToggleRes, notificationToggleRes, calendarToggleRes] = await Promise.all([ + const [bankingToggleRes, calendarToggleRes] = await Promise.all([ fetch('/api/extensions/toggles/general/enable-banking').catch(() => null), - fetch('/api/extensions/toggles/general/push-notifications').catch(() => null), fetch('/api/extensions/toggles/general/calendar').catch(() => null), ]) @@ -147,11 +144,6 @@ export default function SettingsPage() { setHasBankingExtension((connections && connections.length > 0) || false) } - if (notificationToggleRes?.ok) { - const { data } = await notificationToggleRes.json() - setHasNotificationExtension(data?.enabled || false) - } - if (calendarToggleRes?.ok) { const { data } = await calendarToggleRes.json() setHasCalendarExtension(data?.enabled || false) @@ -271,11 +263,6 @@ export default function SettingsPage() { Bank (PSD2) - {hasNotificationExtension && ( - - Aviseringar - - )} {hasCalendarExtension && ( Kalender @@ -532,15 +519,6 @@ export default function SettingsPage() { )} - {/* Notification settings — loaded dynamically from extension */} - {hasNotificationExtension && ( - - {NotificationPanel ? ( - - ) : null} - - )} - {/* Calendar feed settings */} {hasCalendarExtension && ( diff --git a/app/(dashboard)/transactions/page.tsx b/app/(dashboard)/transactions/page.tsx index 45e72506..ca9f2d42 100644 --- a/app/(dashboard)/transactions/page.tsx +++ b/app/(dashboard)/transactions/page.tsx @@ -748,7 +748,7 @@ export default function TransactionsPage() { />
diff --git a/app/api/invoices/[id]/send/route.ts b/app/api/invoices/[id]/send/route.ts index 864437e0..ab8dbf5d 100644 --- a/app/api/invoices/[id]/send/route.ts +++ b/app/api/invoices/[id]/send/route.ts @@ -33,7 +33,7 @@ export async function POST( const emailService = getEmailService() if (!emailService.isConfigured()) { return NextResponse.json( - { error: 'E-posttjänsten är inte konfigurerad. Aktivera e-posttillägget i inställningar.' }, + { error: 'E-posttjänsten är inte konfigurerad. Kontrollera att RESEND_API_KEY och RESEND_FROM_EMAIL är satta i miljövariablerna.' }, { status: 503 } ) } diff --git a/app/layout.tsx b/app/layout.tsx index 54602406..9e8e05dc 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -62,6 +62,13 @@ export default function RootLayout({