diff --git a/src/components/ProductPage.tsx b/src/components/ProductPage.tsx index 4e2deaa..d0a4a71 100644 --- a/src/components/ProductPage.tsx +++ b/src/components/ProductPage.tsx @@ -2,15 +2,21 @@ import Header from './Header'; import Footer from './Footer'; import { getLanguage, translations } from '../i18n'; +interface Feature { + title: string; + description: string; +} + interface ProductPageProps { title: string; description: string; icon: string; trademark?: string; + features?: Feature[]; children?: React.ReactNode; } -function ProductPage({ title, description, icon, trademark, children }: ProductPageProps) { +function ProductPage({ title, description, icon, trademark, features, children }: ProductPageProps) { const lang = getLanguage(); const t = translations[lang].common; @@ -28,46 +34,70 @@ function ProductPage({ title, description, icon, trademark, children }: ProductP
-
-
-

{t.detailsTitle}

-

{t.detailsText}

-
    -
  • - check_circle - {t.featureSecurity} -
  • -
  • - check_circle - {t.featureIntegration} -
  • -
  • - check_circle - {t.featureSupport} -
  • -
- {trademark && ( -

- {trademark} -

- )} + {features ? ( +
+

{t.detailsTitle}

+
+ {features.map((f, i) => ( +
+

{f.title}

+

{f.description}

+
+ ))} +
-
- image -

{t.screenshotPlaceholder}

+ ) : ( +
+
+

{t.detailsTitle}

+

{t.detailsText}

+
    +
  • + check_circle + {t.featureSecurity} +
  • +
  • + check_circle + {t.featureIntegration} +
  • +
  • + check_circle + {t.featureSupport} +
  • +
+
+
+ image +

{t.screenshotPlaceholder}

+
-
+ )} + {children} + + {trademark && ( +

+ {trademark} +

+ )}
diff --git a/src/i18n.ts b/src/i18n.ts index f3a24de..3673514 100644 --- a/src/i18n.ts +++ b/src/i18n.ts @@ -55,6 +55,36 @@ export const translations = { title: 'Boss4J', text: 'Die erstklassige Orchestrierungs-Suite für JBoss® und WildFly® Anwendungsserver. Vereinfachen Sie die Verwaltung komplexer Cluster und automatisieren Sie Deployments.', trademark: 'JBoss® und WildFly® sind eingetragene Marken von Red Hat, Inc.', + features: [ + { + title: 'Instanz- & JVM-Lifecycle', + description: 'Zentrale Steuerung Ihrer Anwendungsserver. Starten, Stoppen und Neustarten von Instanzen direkt über die Weboberfläche mit tiefer JVM-Einsicht.' + }, + { + title: 'Konfigurations-Management', + description: 'Direktes Editieren von XML- und Properties-Dateien mit Dry-Run-Modus, visuellen Diffs und automatischer Versionierung für sichere Rollbacks.' + }, + { + title: 'Deployment-Orchestrierung', + description: 'Automatisierte WAR-Deployments mit Prüfung von Marker-Files, Checksummen-Verifizierung und Unterstützung für Deployment-Queues.' + }, + { + title: 'Health-Monitoring', + description: 'Echtzeit-Dashboards, historische Status-Heatmaps und detailliertes Heap-Speicher-Monitoring via jstat für maximale Verfügbarkeit.' + }, + { + title: 'Log-Management', + description: 'Fortschrittlicher Log-Viewer mit Suche und Tailing. Automatische Wartung durch Gzip-Kompression alter Log-Dateien zur Speicherplatzoptimierung.' + }, + { + title: 'Infrastruktur-Visualisierung', + description: 'Automatische Topologie-Erkennung von Apache VHosts und Nginx Upstreams zur grafischen Darstellung Ihrer gesamten Systemlandschaft.' + } + ], + support: { + title: '24/7 Enterprise Support Paket', + description: 'Maximale Sicherheit für Ihren geschäftskritischen Betrieb. Unser Expertenteam steht Ihnen rund um die Uhr zur Verfügung.' + } }, cert: { title: 'Zertifikatsverwaltung', @@ -191,6 +221,36 @@ export const translations = { title: 'Boss4J', text: 'The premier orchestration suite for JBoss® and WildFly® application servers. Simplify management of complex clusters and automate deployments.', trademark: 'JBoss® and WildFly® are registered trademarks of Red Hat, Inc.', + features: [ + { + title: 'Instance & JVM Lifecycle', + description: 'Centralized control of your application servers. Start, stop, and restart instances directly from the web interface with deep JVM insights.' + }, + { + title: 'Configuration Management', + description: 'Direct editing of XML and Properties files with dry-run mode, visual diffs, and automatic versioning for safe rollbacks.' + }, + { + title: 'Deployment Orchestration', + description: 'Automated WAR deployments with marker file tracking, checksum verification, and support for deployment queues.' + }, + { + title: 'Health Monitoring', + description: 'Real-time dashboards, historical status heatmaps, and detailed heap memory monitoring via jstat for maximum availability.' + }, + { + title: 'Log Management', + description: 'Advanced log viewer with search and tailing. Automatic maintenance through Gzip compression of old log files to optimize disk space.' + }, + { + title: 'Infrastructure Visualization', + description: 'Automatic topology discovery of Apache VHosts and Nginx upstreams to graphically represent your entire system landscape.' + } + ], + support: { + title: '24/7 Enterprise Support Package', + description: 'Maximum security for your operations. Our expert team is at your service around the clock.' + } }, cert: { title: 'Certificate Management', diff --git a/src/pages/boss4j/main.tsx b/src/pages/boss4j/main.tsx index 5afeedb..91e2330 100644 --- a/src/pages/boss4j/main.tsx +++ b/src/pages/boss4j/main.tsx @@ -7,14 +7,71 @@ import { getLanguage, translations } from '../../i18n' const Page = () => { const lang = getLanguage(); const t = translations[lang].products.boss4j; + const common = translations[lang].common; return ( + trademark={t.trademark} + features={t.features} + > +
+

{lang === 'de' ? 'Warum Boss4J?' : 'Why Boss4J?'}

+
+
+

{lang === 'de' ? 'Direkte Kontrolle' : 'Direct Control'}

+

+ {lang === 'de' + ? 'Verwalten Sie Ihre Server ohne Umwege über komplexe Management-Konsolen oder eingeschränkte CLIs.' + : 'Manage your servers directly without detours through complex management consoles or restricted CLIs.'} +

+
+
+

{lang === 'de' ? 'Operative Sicherheit' : 'Operational Safety'}

+

+ {lang === 'de' + ? 'Minimieren Sie Fehlkonfigurationen durch Dry-Runs und die Gewissheit, jederzeit auf alte Versionen zurückgreifen zu können.' + : 'Minimize misconfigurations with dry-runs and the certainty of being able to revert to old versions at any time.'} +

+
+
+

{lang === 'de' ? 'Volle Transparenz' : 'Full Transparency'}

+

+ {lang === 'de' + ? 'Behalten Sie den Überblick über Ihre gesamte Infrastruktur-Topologie und den aktuellen Gesundheitszustand jeder Instanz.' + : 'Keep track of your entire infrastructure topology and the current health status of every instance.'} +

+
+
+
+ +
+
+ support_agent +

{t.support.title}

+
+

+ {t.support.description} +

+
+ {lang === 'de' ? 'Support durch das Euastra Expertenteam' : 'Direct Support by the Euastra Expert Team'} +
+
+
); };