feat: remove ai-chat extension from hosted version, move chat widget to bottom-right

Remove ai-chat from extensions.config.json and docker/extensions.hosted.json
(kept in self-hosted config). Remove ChatWidget imports from dashboard layout
and root page. Reposition chat widget FAB and panel to bottom-right corner.
Regenerate extension registry.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jakob Wennberg
2026-03-05 12:13:58 +01:00
parent 497ef876bb
commit 50bf7b3b0f
10 changed files with 12 additions and 48 deletions
-2
View File
@@ -1,7 +1,6 @@
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'
@@ -55,7 +54,6 @@ export default async function DashboardLayout({
{children}
</div>
</main>
<ChatWidget />
<RecaptIdentify
userId={user.id}
email={user.email}
+7 -7
View File
@@ -48,6 +48,13 @@ export default function RootLayout({
<html lang="sv" suppressHydrationWarning>
<head>
<link rel="apple-touch-icon" href="/icons/icon-192.png" />
<script
src="https://cdn.recapt.app/browser/glimt.js"
async
data-public-key="pk_8de220ce34c81413de154d10ff681a9eb3a5a9c12d28bd6c7bc2613c9f5acfbb"
data-persist
data-enable-user-comments
/>
</head>
<body
className={`${geistSans.variable} ${geistMono.variable} ${fraunces.variable} antialiased`}
@@ -62,13 +69,6 @@ export default function RootLayout({
<Toaster />
</ThemeProvider>
<Script src="/sw-register.js" strategy="afterInteractive" />
<Script
src="https://cdn.recapt.app/browser/glimt.js"
strategy="afterInteractive"
data-public-key="pk_8de220ce34c81413de154d10ff681a9eb3a5a9c12d28bd6c7bc2613c9f5acfbb"
data-persist
data-enable-user-comments
/>
</body>
</html>
);
-2
View File
@@ -3,7 +3,6 @@ import { redirect } from 'next/navigation'
import DashboardNav from '@/components/dashboard/DashboardNav'
import DashboardContent from '@/components/dashboard/DashboardContent'
import type { Deadline, ReceiptQueueSummary } from '@/types'
import { ChatWidget } from '@/components/chat'
export default async function RootPage() {
const supabase = await createClient()
@@ -230,7 +229,6 @@ export default async function RootPage() {
enabledExtensions={enabledToggles || []}
/>
</div>
<ChatWidget />
</main>
</div>
)