v1.3.1: Fix symbol loading, DEL key, SOMA/Pendenzen in rapport, improved onboarding, org settings tab, logo upload
This commit is contained in:
@@ -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' ? (
|
||||
|
||||
Reference in New Issue
Block a user