Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
11f5c3a
Removed border-radius
danielduobyte Dec 30, 2025
92ffca9
ChatHero
danielduobyte Jan 2, 2026
a0bc911
ChatHero grid design
danielduobyte Jan 4, 2026
a25dac6
benefits
danielduobyte Jan 5, 2026
8c849ef
Remove ChatHero component, move to a separate branch
danielduobyte Jan 6, 2026
a8c5388
homehero header fix
danielduobyte Jan 6, 2026
324ec66
HeroBackground
danielduobyte Jan 8, 2026
99cf751
HomeHero, HeroBackground
danielduobyte Jan 8, 2026
e3f1373
Add ChatHero, update homepage layout and navigation structure
danielduobyte Jan 13, 2026
bd245f1
benefits
danielduobyte Jan 13, 2026
4e1a020
Dark mode for one-ai page, ChatHero uses HeroBackground, fix HomeHero…
danielduobyte Jan 13, 2026
dcd864b
HomeHero subtitle replaced with text icons
danielduobyte Jan 13, 2026
0a960a3
OrbitIndustries: bottom cards expand upwards
danielduobyte Jan 13, 2026
a82840c
Video disappear fix
danielduobyte Jan 13, 2026
d6bebcf
Box text readability improved
danielduobyte Jan 13, 2026
e7a5d20
chat transparency
danielduobyte Jan 13, 2026
a2379a3
Upstream update, JSX fix
danielduobyte Jan 18, 2026
79b0766
Seminar Added to Light Mode
danielduobyte Jan 18, 2026
6adf414
re-edit-back border-radius
danielduobyte Jan 18, 2026
3ca13b3
OrbitIndustries desktop all cards, hover effects, grid 40px
danielduobyte Jan 18, 2026
066111a
button rounding
danielduobyte Jan 27, 2026
5e542d2
HomeHero chat animation integration
danielduobyte Jan 27, 2026
e268651
increase OrbitIndustries bottom padding
danielduobyte Jan 27, 2026
94ac080
Orb angle
danielduobyte Jan 28, 2026
42b27ee
Text hover
danielduobyte Jan 28, 2026
373a1fc
HomeHero text reset, note added to chathero
danielduobyte Feb 9, 2026
37129e7
Fix build fail due to previous merge
danielduobyte Feb 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 7 additions & 17 deletions docusaurus.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,6 @@ const config: Config = {
{
from: '/webinar-2025-12-18',
to: '/docs/one-ai/Webinars/webinar-2025-12-18',
},
{
from: '/webinar-2026-01-28',
to: '/docs/one-ai/Webinars/webinar-2026-01-28',
}
],
}],
Expand Down Expand Up @@ -168,21 +164,15 @@ const config: Config = {
className: "navbar__dropdown--products",
items: [
{
to: "/one-ai",
label: "ONE AI",
to: "/",
label: "ONE AI Agent",
className: "dropdown__link--highlight",
activeBasePath: "__none__",
},
{
to: "/docs/one-ai/getting-started/quick-start-guide",
label: "Get Started",
},
{
to: "/docs/one-ai/demos/overview",
label: "Demo Projects",
},
{
to: "/docs/one-ai/supported-vendors",
label: "Supported Hardware",
to: "/one-ai",
label: "ONE AI Desktop",
className: "dropdown__link--highlight",
},
{
to: "/studio",
Expand Down Expand Up @@ -441,7 +431,7 @@ const config: Config = {
cta: 'Register Now',
},
},
// activeAnnouncement: 'qualityControlWebinar',
activeAnnouncement: 'qualityControlWebinar',
} satisfies Preset.ThemeConfig,
};

Expand Down
172 changes: 80 additions & 92 deletions i18n/de/code.json
Original file line number Diff line number Diff line change
@@ -1,21 +1,12 @@
{
"homehero.title1": {
"message": "Lass ONE AI"
"message": "So Automatisieren Wir"
},
"homehero.title2": {
"message": "deine KI entwickeln"
},
"homehero.no_universal_models": {
"message": "Keine universellen KI-Modelle."
},
"homehero.custom_vision_ai": {
"message": "Vision-AI, genau für deine Anwendung."
},
"homehero.subtitle1": {
"message": "Vision und Edge AI Entwicklung,"
"message": "KI-Entwicklung"
},
"homehero.subtitle2": {
"message": "Automatisiert in einer Software"
"homehero.subtitle": {
"message": "Erlebe, wie deine individuelle KI erstellt wird, nachdem unser KI-Agent die richtige Konfiguration gefunden hat."
},
"homehero.button.download": {
"message": "Kostenloser Download"
Expand All @@ -32,6 +23,72 @@
"homehero.benefit.requirements": {
"message": "Jede Anforderung"
},
"homehero.chat.history.title": {
"message": "Verlauf"
},
"homehero.chat.history.pcb": {
"message": "Leiterplatten-Inspektion"
},
"homehero.chat.history.fruit": {
"message": "Obst-Sortierung"
},
"homehero.chat.history.apple": {
"message": "Apfel QC"
},
"homehero.chat.user1": {
"message": "Mach Apfel QC"
},
"homehero.chat.ai1": {
"message": "Soll ich helfen bei Datensatz oder Hardware zum Aufnehmen?"
},
"homehero.chat.user2": {
"message": "Ich hab schon Trainings Daten"
},
"homehero.chat.ai2": {
"message": "Hier ist dein fertiges ONE AI Projekt"
},
"homehero.chat.button.open": {
"message": "Projekt Öffnen"
},
"homehero.chat.newchat": {
"message": "Neuer Chat"
},
"homehero.chat.welcome.title": {
"message": "Starte Dein KI-Projekt"
},
"homehero.chat.welcome.desc": {
"message": "Beschreibe was du bauen möchtest und ONE AI erstellt es für dich"
},
"homehero.chat.welcome.button": {
"message": "Demo Starten"
},
"homehero.chat.lefttitle": {
"message": "So funktioniert's"
},
"homehero.chat.step1": {
"message": "Chatte mit Agent um Hardware, Datensatz und KI Projekt zu erstellen"
},
"homehero.chat.step1.title": {
"message": "Projekt konfigurieren"
},
"homehero.chat.step2": {
"message": "Lade Trainingsdaten rein und lasse ONE AI KI erstellen"
},
"homehero.chat.step2.title": {
"message": "Modell trainieren"
},
"homehero.chat.step3": {
"message": "Chatte mit Agent um KI zu integrieren"
},
"homehero.chat.step3.title": {
"message": "Deployen & Integrieren"
},
"homehero.chat.result": {
"message": "Deine KI ist fertig"
},
"homehero.chat.input.placeholder": {
"message": "Nachricht eingeben..."
},
"homepage.every": {
"message": "Jede "
},
Expand Down Expand Up @@ -414,18 +471,6 @@
"oneai.hero.nextgen.title": {
"message": "Die nächste Generation der KI-Entwicklung"
},
"oneai.hero.main.title": {
"message": "Lass ONE AI Deine Vision- und Edge-AI-Projekte fertigstellen"
},
"oneai.hero.main.subtitle": {
"message": "Sieh die Kraft Deines Datensatzes mit der richtigen KI."
},
"oneai.hero.main.subtitle2": {
"message": "Automatisch maßgeschneidert für Deine Bedürfnisse und exportiert für jede Hardware."
},
"oneai.hero.examples": {
"message": "Beispiel-Projekte"
},
"homepage.seo.title": {
"message": "ONE WARE - Die nächste Generation der Computer Vision und Edge AI Entwicklung"
},
Expand Down Expand Up @@ -1864,6 +1909,12 @@
"chathero.button.showcase": {
"message": "Showcase"
},
"chathero.professional.prefix": {
"message": "Schon KI-Experte?"
},
"chathero.professional.link": {
"message": "Entdecke unsere Tools für Profis"
},
"signupmodal.attach.title": {
"message": "Anmelden um Dateien hochzuladen"
},
Expand All @@ -1883,7 +1934,7 @@
"message": "Abbrechen"
},
"orbitindustries.title": {
"message": "Entdecke unsere Vorteile"
"message": "Explore Our Benefits"
},
"orbitindustries.subtitle": {
"message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
Expand All @@ -1892,87 +1943,24 @@
"message": "Jede Hardware"
},
"orbitindustries.anyHardware.description": {
"message": "Bringe KI auf jede Hardware. Von CPUs bis FPGAs - ONE AI optimiert Modelle für Speicher, FPS und Genauigkeit."
"message": "KI für jede Hardware, egal wie wenig Ressourcen. Von Mikrocontrollern bis FPGAs - ONE AI optimiert für deine exakten Anforderungen."
},
"orbitindustries.anyRequirements.label": {
"message": "Jede Anforderung"
},
"orbitindustries.anyRequirements.description": {
"message": "Entwickelt für extreme Anforderungen mit ultra-niedriger Latenz, Echtzeitfähigkeit oder maximalem Durchsatz."
"message": "KI egal wie schnell sie sein muss. Entwickelt für die anspruchsvollsten Echtzeitanwendungen mit garantierter Performance."
},
"orbitindustries.anyApplication.label": {
"message": "Jede Anwendung"
},
"orbitindustries.anyApplication.description": {
"message": "Von Robotern mit 3D-Kameras bis zu MRT-Systemen mit Dutzenden Bildern pro Analyse - ONE AI erstellt immer die beste KI für die Aufgabe."
"message": "Egal wie komplex die Anwendung ist oder wie untypisch die Daten - ONE AI erstellt maßgeschneiderte neuronale Netze für deinen spezifischen Anwendungsfall."
},
"orbitindustries.resultsInMinutes.label": {
"message": "Ergebnisse in Minuten"
},
"orbitindustries.resultsInMinutes.description": {
"message": "Kann von jedem Entwickler bedient werden. Erhalte produktionsreife KI-Modelle in Minuten statt Monaten - keine ML-Expertise erforderlich."
},
"careers.detail.location": {
"message": "Standort"
},
"careers.detail.startDate": {
"message": "Start"
},
"careers.detail.type": {
"message": "Typ"
},
"careers.detail.contact": {
"message": "Kontakt"
},
"careers.detail.applyNow": {
"message": "Jetzt Bewerben"
},
"careers.form.name": {
"message": "Name"
},
"careers.form.email": {
"message": "E-Mail"
},
"careers.form.github": {
"message": "GitHub Benutzername"
},
"careers.form.resume.drag": {
"message": "Lebenslauf hier ablegen oder klicken zum Hochladen"
},
"careers.form.resume.format": {
"message": "Nur PDF, max. 10MB"
},
"careers.form.submit": {
"message": "Bewerbung absenden"
},
"careers.form.submitting": {
"message": "Wird gesendet..."
},
"careers.form.success.title": {
"message": "Bewerbung eingereicht!"
},
"careers.form.success.message": {
"message": "Vielen Dank für Ihre Bewerbung. Wir werden sie prüfen und uns in Kürze bei Ihnen melden."
},
"careers.form.error": {
"message": "Beim Absenden Ihrer Bewerbung ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut oder kontaktieren Sie uns unter career@one-ware.com."
},
"careers.form.alreadyApplied": {
"message": "Sie haben sich bereits mit dieser E-Mail-Adresse für diese Position beworben."
},
"careers.form.error.fileType": {
"message": "Bitte laden Sie eine PDF-Datei hoch"
},
"careers.form.error.fileSize": {
"message": "Die Dateigröße muss kleiner als 10MB sein"
},
"careers.form.error.resumeRequired": {
"message": "Bitte laden Sie Ihren Lebenslauf hoch"
},
"careers.form.privacy": {
"message": "Mit dem Absenden akzeptieren Sie unsere"
},
"careers.form.privacyLink": {
"message": "Datenschutzrichtlinie"
}
}
116 changes: 116 additions & 0 deletions src/components/ChatHero/SignUpModal.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
import React, { useEffect } from "react";
import Translate from "@docusaurus/Translate";
import { useColorMode } from "@docusaurus/theme-common";

export type ModalTrigger = "attach" | "send";

interface SignUpModalProps {
isOpen: boolean;
onClose: () => void;
trigger: ModalTrigger;
}

export default function SignUpModal({ isOpen, onClose, trigger }: SignUpModalProps) {
const { colorMode } = useColorMode();
const isDarkMode = colorMode === "dark";

useEffect(() => {
if (isOpen) {
document.body.style.overflow = "hidden";
} else {
document.body.style.overflow = "";
}
return () => {
document.body.style.overflow = "";
};
}, [isOpen]);

useEffect(() => {
const handleEsc = (e: KeyboardEvent) => {
if (e.key === "Escape") {
onClose();
}
};
if (isOpen) {
window.addEventListener("keydown", handleEsc);
}
return () => window.removeEventListener("keydown", handleEsc);
}, [isOpen, onClose]);

if (!isOpen) return null;

return (
<div
className="fixed inset-0 z-50 flex items-center justify-center p-4"
style={{ background: isDarkMode ? "rgba(0, 0, 0, 0.8)" : "rgba(0, 0, 0, 0.5)" }}
onClick={onClose}
>
<div
className="relative w-full max-w-md p-8 flex flex-col items-center gap-6"
style={{
background: isDarkMode ? "rgba(30, 30, 30, 0.95)" : "rgba(255, 255, 255, 0.95)",
backdropFilter: "blur(20px)",
border: isDarkMode ? "1px solid rgba(255, 255, 255, 0.1)" : "1px solid rgba(0, 0, 0, 0.1)",
animation: "modalFadeIn 0.2s ease-out",
}}
onClick={(e) => e.stopPropagation()}
>
<div className="flex flex-col items-center gap-2 text-center">
{trigger === "attach" ? (
<>
<h2 className={`text-2xl font-bold ${isDarkMode ? "text-white" : "text-gray-900"}`}>
<Translate id="signupmodal.attach.title">Sign in to upload files</Translate>
</h2>
<p className={isDarkMode ? "text-gray-400" : "text-gray-600"}>
<Translate id="signupmodal.attach.subtitle">
Support for up to 10 files of any file type
</Translate>
</p>
</>
) : (
<>
<h2 className={`text-2xl font-bold ${isDarkMode ? "text-white" : "text-gray-900"}`}>
<Translate id="signupmodal.send.title">Sign in to create your AI</Translate>
</h2>
<p className={isDarkMode ? "text-gray-400" : "text-gray-600"}>
<Translate id="signupmodal.send.subtitle">
Get started with your custom AI model
</Translate>
</p>
</>
)}
</div>

<div className="flex items-center gap-4 w-full">
<button className="button button--primary button--lg flex-1">
<Translate id="signupmodal.button.signin">Sign In</Translate>
</button>
<button
onClick={onClose}
className="button button--secondary button--lg flex-1"
style={{
background: "transparent",
border: isDarkMode ? "1px solid rgba(255, 255, 255, 0.2)" : "1px solid rgba(0, 0, 0, 0.2)",
color: isDarkMode ? "white" : "#1a1a1a",
}}
>
<Translate id="signupmodal.button.cancel">Cancel</Translate>
</button>
</div>
</div>

<style>{`
@keyframes modalFadeIn {
from {
opacity: 0;
transform: scale(0.95);
}
to {
opacity: 1;
transform: scale(1);
}
}
`}</style>
</div>
);
}
Loading