diff --git a/docusaurus.config.ts b/docusaurus.config.ts index ad24f8a2..9eedba5f 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -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', } ], }], @@ -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", @@ -441,7 +431,7 @@ const config: Config = { cta: 'Register Now', }, }, - // activeAnnouncement: 'qualityControlWebinar', + activeAnnouncement: 'qualityControlWebinar', } satisfies Preset.ThemeConfig, }; diff --git a/i18n/de/code.json b/i18n/de/code.json index 99a46781..803cd4c1 100644 --- a/i18n/de/code.json +++ b/i18n/de/code.json @@ -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" @@ -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 " }, @@ -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" }, @@ -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" }, @@ -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." @@ -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" } } diff --git a/src/components/ChatHero/SignUpModal.tsx b/src/components/ChatHero/SignUpModal.tsx new file mode 100644 index 00000000..e85e33d3 --- /dev/null +++ b/src/components/ChatHero/SignUpModal.tsx @@ -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 ( +
+
e.stopPropagation()} + > +
+ {trigger === "attach" ? ( + <> +

+ Sign in to upload files +

+

+ + Support for up to 10 files of any file type + +

+ + ) : ( + <> +

+ Sign in to create your AI +

+

+ + Get started with your custom AI model + +

+ + )} +
+ +
+ + +
+
+ + +
+ ); +} diff --git a/src/components/ChatHero/index.tsx b/src/components/ChatHero/index.tsx new file mode 100644 index 00000000..9b41f0a5 --- /dev/null +++ b/src/components/ChatHero/index.tsx @@ -0,0 +1,262 @@ +import React, { useState, useEffect } from "react"; +import Translate from "@docusaurus/Translate"; +import { useColorMode } from "@docusaurus/theme-common"; +import SignUpModal, { ModalTrigger } from "./SignUpModal"; +import HeroBackground from "../HeroBackground"; + +const STORAGE_KEY = "chathero_prompt"; +const STORAGE_EXPIRY_DAYS = 90; + +function getStoredPrompt(): string { + if (typeof window === "undefined") return ""; + try { + const stored = localStorage.getItem(STORAGE_KEY); + if (!stored) return ""; + const { value, expiry } = JSON.parse(stored); + if (Date.now() > expiry) { + localStorage.removeItem(STORAGE_KEY); + return ""; + } + return value || ""; + } catch { + return ""; + } +} + +function savePrompt(value: string) { + if (typeof window === "undefined") return; + try { + const expiry = Date.now() + STORAGE_EXPIRY_DAYS * 24 * 60 * 60 * 1000; + localStorage.setItem(STORAGE_KEY, JSON.stringify({ value, expiry })); + } catch {} +} + +export default function ChatHero() { + const { colorMode } = useColorMode(); + const isDarkMode = colorMode === "dark"; + const [isModalOpen, setIsModalOpen] = useState(false); + const [modalTrigger, setModalTrigger] = useState("send"); + const [prompt, setPrompt] = useState(""); + + useEffect(() => { + setPrompt(getStoredPrompt()); + }, []); + + const handlePromptChange = (e: React.ChangeEvent) => { + const value = e.target.value; + setPrompt(value); + savePrompt(value); + }; + + const handleAttachClick = (e: React.MouseEvent) => { + e.stopPropagation(); + setModalTrigger("attach"); + setIsModalOpen(true); + }; + + const handleSendClick = (e: React.MouseEvent) => { + e.stopPropagation(); + setModalTrigger("send"); + setIsModalOpen(true); + }; + + const scrollToSection = (id: string) => { + const element = document.getElementById(id); + if (element) { + const navbarHeight = 60; + const elementPosition = element.getBoundingClientRect().top + window.scrollY; + window.scrollTo({ + top: elementPosition - navbarHeight, + behavior: "smooth", + }); + } + }; + + return ( + +
+
+

+ Create your Custom AI +

+ +

+ + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore. + +

+ +
+
+
+