v1.3.1: Fix symbol loading, DEL key, SOMA/Pendenzen in rapport, improved onboarding, org settings tab, logo upload

This commit is contained in:
Pepe Ziberi
2026-02-25 22:28:10 +01:00
parent 5917fa88ad
commit 708bdf6be0
17 changed files with 570 additions and 55 deletions

View File

@@ -53,6 +53,7 @@ import {
BookOpen,
AlertTriangle,
LayoutGrid,
Building2,
} from 'lucide-react'
import Link from 'next/link'
import { TenantDetailDialog } from '@/components/admin/tenant-detail-dialog'
@@ -62,6 +63,7 @@ import { SomaTab } from '@/components/admin/soma-tab'
import { SuggestionsTab } from '@/components/admin/suggestions-tab'
import { DictionaryTab } from '@/components/admin/dictionary-tab'
import { SymbolManager } from '@/components/admin/symbol-manager'
import { OrgTab } from '@/components/admin/org-tab'
// --- Types ---
interface IconCategory {
@@ -133,7 +135,7 @@ export default function AdminPage() {
const [tenants, setTenants] = useState<TenantRecord[]>([])
const [selectedCategory, setSelectedCategory] = useState<string>('all')
const [isLoading, setIsLoading] = useState(true)
const [activeTab, setActiveTab] = useState(user?.role === 'SERVER_ADMIN' ? 'tenants' : 'users')
const [activeTab, setActiveTab] = useState(user?.role === 'SERVER_ADMIN' ? 'tenants' : 'org')
// Category Dialog
const [isCategoryDialogOpen, setIsCategoryDialogOpen] = useState(false)
@@ -571,10 +573,22 @@ export default function AdminPage() {
</TabsList>
) : user?.role === 'TENANT_ADMIN' ? (
<TabsList className="grid w-full grid-cols-7 max-w-4xl">
<TabsTrigger value="org" className="gap-2">
<Building2 className="w-4 h-4" />
Organisation
</TabsTrigger>
<TabsTrigger value="users" className="gap-2">
<Users className="w-4 h-4" />
Benutzer
</TabsTrigger>
<TabsTrigger value="icons" className="gap-2">
<Image className="w-4 h-4" />
Symbole
</TabsTrigger>
<TabsTrigger value="soma" className="gap-2">
<AlertTriangle className="w-4 h-4" />
SOMA
</TabsTrigger>
<TabsTrigger value="suggestions" className="gap-2">
<ClipboardList className="w-4 h-4" />
Wörterliste
@@ -587,21 +601,16 @@ export default function AdminPage() {
<Heart className="w-4 h-4" />
Spenden
</TabsTrigger>
<TabsTrigger value="icons" className="gap-2">
<Image className="w-4 h-4" />
Symbole
</TabsTrigger>
<TabsTrigger value="categories" className="gap-2">
<Layers className="w-4 h-4" />
Kategorien
</TabsTrigger>
<TabsTrigger value="soma" className="gap-2">
<AlertTriangle className="w-4 h-4" />
SOMA
</TabsTrigger>
</TabsList>
) : null}
{/* ===== ORGANISATION TAB (TENANT_ADMIN) ===== */}
{user?.role === 'TENANT_ADMIN' && (
<TabsContent value="org" className="space-y-4">
<OrgTab tenantId={tenant?.id} />
</TabsContent>
)}
{/* ===== ICONS TAB ===== */}
<TabsContent value="icons" className="space-y-4">
{user?.role === 'TENANT_ADMIN' ? (