refactor: Consolidate standalone services into admin-v2, add new SDK modules

Remove standalone services (ai-compliance-sdk root, developer-portal,
dsms-gateway, dsms-node, night-scheduler) and legacy compliance/dsgvo pages.
Add new SDK pipeline modules (academy, document-crawler, dsb-portal,
incidents, whistleblower, reporting, sso, multi-tenant, industry-templates).
Add drafting engine, legal corpus files (AT/CH/DE), pitch-deck,
blog and Förderantrag pages.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-02-15 09:05:18 +01:00
parent 626f4966e2
commit 70f2b0ae64
396 changed files with 43163 additions and 80397 deletions

View File

@@ -29,6 +29,9 @@ export default function Header() {
<Link href="/#features" className="text-slate-600 hover:text-slate-900 transition-colors">
{t('nav_features')}
</Link>
<Link href="/foerderantrag" className="text-slate-600 hover:text-slate-900 transition-colors">
{t('nav_foerderantrag')}
</Link>
<Link href="/faq" className="text-slate-600 hover:text-slate-900 transition-colors">
{t('nav_faq')}
</Link>
@@ -77,6 +80,9 @@ export default function Header() {
<Link href="/#features" className="text-slate-600 hover:text-slate-900">
{t('nav_features')}
</Link>
<Link href="/foerderantrag" className="text-slate-600 hover:text-slate-900">
{t('nav_foerderantrag')}
</Link>
<Link href="/faq" className="text-slate-600 hover:text-slate-900">
{t('nav_faq')}
</Link>

View File

@@ -2,6 +2,7 @@
import { useLanguage } from '@/lib/LanguageContext'
import { WebsiteContent } from '@/lib/content-types'
import Link from 'next/link'
import PricingSection from './PricingSection'
interface LandingContentProps {
@@ -240,6 +241,67 @@ export default function LandingContent({ content }: LandingContentProps) {
{/* Pricing Section */}
<PricingSection />
{/* Foerderantrag Section */}
<section className="py-20 px-4 sm:px-6 lg:px-8 bg-gradient-to-br from-blue-600 to-indigo-700 text-white">
<div className={`max-w-6xl mx-auto ${isRTL ? 'rtl' : ''}`}>
<div className="text-center mb-12">
<h2 className="text-3xl sm:text-4xl font-bold">
{t('fa_section_title')}
</h2>
<p className="mt-4 text-lg text-blue-100 max-w-3xl mx-auto">
{t('fa_section_subtitle')}
</p>
</div>
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 mb-10">
<div className="bg-white/10 backdrop-blur-sm rounded-xl p-6 border border-white/20 hover:bg-white/15 transition-all">
<div className="w-12 h-12 rounded-xl bg-white/20 flex items-center justify-center mb-4">
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
</svg>
</div>
<h3 className="font-semibold text-lg mb-1">{t('fa_preset_basic_name')}</h3>
<p className="text-blue-100 text-sm mb-3">{t('fa_preset_basic_desc')}</p>
<p className="text-sm font-medium text-blue-200">{t('fa_preset_basic_budget')}</p>
</div>
<div className="bg-white/10 backdrop-blur-sm rounded-xl p-6 border border-white/20 hover:bg-white/15 transition-all">
<div className="w-12 h-12 rounded-xl bg-white/20 flex items-center justify-center mb-4">
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10" />
</svg>
</div>
<h3 className="font-semibold text-lg mb-1">{t('fa_preset_cluster_name')}</h3>
<p className="text-blue-100 text-sm mb-3">{t('fa_preset_cluster_desc')}</p>
<p className="text-sm font-medium text-blue-200">{t('fa_preset_cluster_budget')}</p>
</div>
<div className="bg-white/10 backdrop-blur-sm rounded-xl p-6 border border-white/20 hover:bg-white/15 transition-all">
<div className="w-12 h-12 rounded-xl bg-white/20 flex items-center justify-center mb-4">
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4" />
</svg>
</div>
<h3 className="font-semibold text-lg mb-1">{t('fa_preset_custom_name')}</h3>
<p className="text-blue-100 text-sm mb-3">{t('fa_preset_custom_desc')}</p>
<p className="text-sm font-medium text-blue-200">{t('fa_preset_custom_budget')}</p>
</div>
</div>
<div className="text-center">
<Link
href="/foerderantrag"
className={`inline-flex items-center justify-center px-8 py-4 rounded-xl bg-white text-blue-700 font-semibold hover:bg-blue-50 transition-all shadow-lg ${isRTL ? 'flex-row-reverse' : ''}`}
>
{t('fa_section_cta')}
<svg className={`w-5 h-5 ${isRTL ? 'mr-2 rotate-180' : 'ml-2'}`} fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 7l5 5m0 0l-5 5m5-5H6" />
</svg>
</Link>
</div>
</div>
</section>
{/* Trust Section */}
<section className="py-16 px-4 sm:px-6 lg:px-8 bg-slate-50">
<div className="max-w-4xl mx-auto text-center">