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:
@@ -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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user