feat: add Recapt analytics, remove push-notifications extension, UI fixes

- Integrate Recapt session tracking with user identity in dashboard layout
- Remove push-notifications extension from settings, panel registry, and toggle list
- Fix journal entry preview overflow on narrow viewports
- Update transaction manual booking button label
- Clarify invoice email error message to reference env vars

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jakob Wennberg
2026-03-05 10:12:26 +01:00
co-authored by Claude Opus 4.6
parent 325c930839
commit 497ef876bb
9 changed files with 64 additions and 32 deletions
+45
View File
@@ -0,0 +1,45 @@
'use client'
import { useEffect } from 'react'
declare global {
interface Window {
Recapt?: {
session: {
setIdentity: (identity: {
uid: string
email?: string
nickname?: string
fullName?: string
}) => void
}
}
}
}
export function RecaptIdentify({
userId,
email,
displayName,
}: {
userId: string
email?: string
displayName?: string
}) {
useEffect(() => {
const interval = setInterval(() => {
if (window.Recapt) {
window.Recapt.session.setIdentity({
uid: userId,
email: email,
fullName: displayName,
})
clearInterval(interval)
}
}, 500)
return () => clearInterval(interval)
}, [userId, email, displayName])
return null
}
@@ -98,11 +98,11 @@ export default function JournalEntryPreview({
if (lines.length === 0) return null
return (
<div className="rounded-lg border bg-muted/30 px-3 py-2.5">
<div className="rounded-lg border bg-muted/30 px-3 py-2.5 overflow-hidden">
<p className="text-xs font-medium text-muted-foreground mb-1.5">Verifikation</p>
<div className="space-y-0.5 font-mono text-xs">
<div className="space-y-0.5 font-mono text-xs min-w-0">
{lines.map((line, i) => (
<div key={i} className="flex items-baseline gap-2">
<div key={i} className="flex items-baseline gap-2 min-w-0">
<span className={`w-12 text-right flex-shrink-0 ${line.side === 'debet' ? 'text-foreground' : 'text-muted-foreground'}`}>
{line.side === 'debet' ? 'Debet' : 'Kredit'}
</span>