Merge pull request #176 from davidmonterocrespo24/feat-landing-ai-agent-and-pricing
feat(landing): AI agent + pricing sections
This commit is contained in:
commit
edc7bfa132
|
|
@ -91,6 +91,57 @@
|
|||
"desc": "Für Closed-Source-Produkte, proprietäre SaaS oder interne Unternehmensnutzung, bei denen die AGPLv3-Reziprozität mit Ihrem Geschäftsmodell nicht vereinbar ist.",
|
||||
"cta": "Preise anfragen →"
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"label": "KI-Agent",
|
||||
"title": "Angetrieben von KI-Agenten.",
|
||||
"subtitle": "Ein Multi-Step-Agent läuft im Editor. Er liest dein Canvas, schreibt Code, platziert Bauteile und verkabelt sie — alles per natürlicher Sprache. DeepSeek-V4-Flash und Gemini 2.5 unter der Haube.",
|
||||
"cards": {
|
||||
"wire": {
|
||||
"title": "Bauteile platzieren & verdrahten",
|
||||
"desc": "Sag \"füg einen Taster an D2 mit Pull-up zu 5V hinzu\". Der Agent wählt die Teile, setzt sie aufs Canvas, verbindet jeden Pin und benennt die Leitungen."
|
||||
},
|
||||
"code": {
|
||||
"title": "Lauffähige Sketches",
|
||||
"desc": "Beschreib was das Board tun soll, der Agent schreibt den Arduino-/MicroPython-Code, kompiliert und lädt ihn — kein Copy-Paste aus dem Chat."
|
||||
},
|
||||
"debug": {
|
||||
"title": "Live-Schaltungen diagnostizieren",
|
||||
"desc": "Bei einem Verdrahtungsbug stecken geblieben? Schick einen Canvas-Screenshot, der Agent liest den Schaltplan, simuliert und sagt dir welcher Pin falsch ist."
|
||||
}
|
||||
}
|
||||
},
|
||||
"pricing": {
|
||||
"label": "Preise",
|
||||
"title": "Schaltungen kostenlos. Du zahlst für die KI.",
|
||||
"subtitle": "Der Simulator bleibt für immer kostenlos. Abos erhöhen nur das tägliche Nachrichtenkontingent des KI-Agenten.",
|
||||
"popular": "Am beliebtesten",
|
||||
"tiers": {
|
||||
"free": {
|
||||
"name": "Free",
|
||||
"tagline": "Der gesamte Simulator, für immer.",
|
||||
"f1": "20 KI-Nachrichten pro Tag",
|
||||
"f2": "Alle Boards, alle Komponenten",
|
||||
"f3": "Projekte speichern und teilen",
|
||||
"cta": "Editor öffnen"
|
||||
},
|
||||
"pro": {
|
||||
"name": "Pro",
|
||||
"tagline": "Für Maker mit echten Projekten.",
|
||||
"f1": "300 KI-Nachrichten pro Tag",
|
||||
"f2": "Schnellere Kompilierung + Simulation",
|
||||
"f3": "Priorisierter E-Mail-Support",
|
||||
"cta": "Pro abonnieren"
|
||||
},
|
||||
"pro_max": {
|
||||
"name": "Pro Max",
|
||||
"tagline": "Für Power-User und kleine Teams.",
|
||||
"f1": "700 KI-Nachrichten pro Tag",
|
||||
"f2": "Früher Zugriff auf neue Boards",
|
||||
"f3": "Direkter Chat mit dem Maintainer",
|
||||
"cta": "Pro Max wählen"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
|
|
|
|||
|
|
@ -91,6 +91,57 @@
|
|||
"desc": "For closed-source products, proprietary SaaS, or internal company use where AGPLv3 reciprocity is incompatible with your business model.",
|
||||
"cta": "Contact for pricing →"
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"label": "AI agent",
|
||||
"title": "Powered by AI agents.",
|
||||
"subtitle": "A multi-step agent runs inside the editor. It reads your canvas, writes code, places parts and wires them up — all driven by natural language. DeepSeek-V4-Flash and Gemini 2.5 under the hood.",
|
||||
"cards": {
|
||||
"wire": {
|
||||
"title": "Drop & wire components",
|
||||
"desc": "Ask \"add a button on D2 with a pull-up to 5V\". The agent picks the parts, drops them on the canvas, connects every pin and labels the wires."
|
||||
},
|
||||
"code": {
|
||||
"title": "Generate working sketches",
|
||||
"desc": "Describe what you want the board to do and the agent writes the Arduino / MicroPython code, compiles it, and loads the firmware — no copy-paste from the chat."
|
||||
},
|
||||
"debug": {
|
||||
"title": "Diagnose live circuits",
|
||||
"desc": "Stuck on a wiring bug? Share the canvas screenshot and the agent reads the schematic, runs a sim, and tells you which pin is wrong."
|
||||
}
|
||||
}
|
||||
},
|
||||
"pricing": {
|
||||
"label": "Pricing",
|
||||
"title": "Free to run circuits. Pay for the AI.",
|
||||
"subtitle": "The simulator stays free forever. Subscriptions only raise the AI agent’s daily message quota.",
|
||||
"popular": "Most popular",
|
||||
"tiers": {
|
||||
"free": {
|
||||
"name": "Free",
|
||||
"tagline": "Everything in the simulator, forever.",
|
||||
"f1": "20 AI messages per day",
|
||||
"f2": "All boards, all components",
|
||||
"f3": "Save and share projects",
|
||||
"cta": "Open the editor"
|
||||
},
|
||||
"pro": {
|
||||
"name": "Pro",
|
||||
"tagline": "For makers building real projects.",
|
||||
"f1": "300 AI messages per day",
|
||||
"f2": "Faster compile + simulation",
|
||||
"f3": "Priority email support",
|
||||
"cta": "Subscribe to Pro"
|
||||
},
|
||||
"pro_max": {
|
||||
"name": "Pro Max",
|
||||
"tagline": "For power users and small teams.",
|
||||
"f1": "700 AI messages per day",
|
||||
"f2": "Early access to new boards",
|
||||
"f3": "Dedicated chat with the maintainer",
|
||||
"cta": "Choose Pro Max"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
|
|
|
|||
|
|
@ -91,6 +91,57 @@
|
|||
"desc": "Para productos closed-source, SaaS propietario o uso interno empresarial donde la reciprocidad AGPLv3 no es compatible con tu modelo de negocio.",
|
||||
"cta": "Contactar para precios →"
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"label": "Agente IA",
|
||||
"title": "Impulsado por agentes de IA.",
|
||||
"subtitle": "Un agente multi-paso corre dentro del editor. Lee tu canvas, escribe código, coloca componentes y los conecta — todo guiado por lenguaje natural. DeepSeek-V4-Flash y Gemini 2.5 por debajo.",
|
||||
"cards": {
|
||||
"wire": {
|
||||
"title": "Coloca y cablea",
|
||||
"desc": "Pedile \"agregar un pulsador en D2 con resistencia pull-up a 5V\". El agente elige las piezas, las pone en el canvas, conecta cada pin y etiqueta los cables."
|
||||
},
|
||||
"code": {
|
||||
"title": "Genera sketches que funcionan",
|
||||
"desc": "Describí qué tiene que hacer la placa y el agente escribe el código Arduino / MicroPython, lo compila y lo carga — sin copiar-pegar del chat."
|
||||
},
|
||||
"debug": {
|
||||
"title": "Diagnostica circuitos en vivo",
|
||||
"desc": "Te trabaste con un cable mal? Mandale un screenshot y el agente lee el esquema, corre la sim, y te dice qué pin está mal."
|
||||
}
|
||||
}
|
||||
},
|
||||
"pricing": {
|
||||
"label": "Precios",
|
||||
"title": "Gratis para correr circuitos. Pagás la IA.",
|
||||
"subtitle": "El simulador queda gratis para siempre. Las suscripciones solo aumentan el cupo diario de mensajes al agente.",
|
||||
"popular": "Más popular",
|
||||
"tiers": {
|
||||
"free": {
|
||||
"name": "Free",
|
||||
"tagline": "Todo el simulador, para siempre.",
|
||||
"f1": "20 mensajes IA por día",
|
||||
"f2": "Todas las placas, todos los componentes",
|
||||
"f3": "Guardar y compartir proyectos",
|
||||
"cta": "Abrir el editor"
|
||||
},
|
||||
"pro": {
|
||||
"name": "Pro",
|
||||
"tagline": "Para makers haciendo proyectos reales.",
|
||||
"f1": "300 mensajes IA por día",
|
||||
"f2": "Compilación + simulación más rápida",
|
||||
"f3": "Soporte prioritario por email",
|
||||
"cta": "Suscribirme a Pro"
|
||||
},
|
||||
"pro_max": {
|
||||
"name": "Pro Max",
|
||||
"tagline": "Para power users y equipos chicos.",
|
||||
"f1": "700 mensajes IA por día",
|
||||
"f2": "Acceso temprano a nuevas placas",
|
||||
"f3": "Chat directo con el mantenedor",
|
||||
"cta": "Elegir Pro Max"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
|
|
|
|||
|
|
@ -91,6 +91,57 @@
|
|||
"desc": "Pour des produits propriétaires, du SaaS commercial, ou un usage interne en entreprise où la réciprocité AGPLv3 ne correspond pas à votre modèle économique.",
|
||||
"cta": "Nous contacter pour les tarifs →"
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"label": "Agent IA",
|
||||
"title": "Propulsé par des agents IA.",
|
||||
"subtitle": "Un agent multi-étapes tourne dans l’éditeur. Il lit votre canvas, écrit du code, place des composants et les câble — le tout guidé par langage naturel. DeepSeek-V4-Flash et Gemini 2.5 sous le capot.",
|
||||
"cards": {
|
||||
"wire": {
|
||||
"title": "Déposer et câbler",
|
||||
"desc": "Demandez \"ajoute un bouton sur D2 avec une résistance pull-up à 5V\". L’agent choisit les pièces, les place, connecte chaque broche et nomme les fils."
|
||||
},
|
||||
"code": {
|
||||
"title": "Génère du code qui marche",
|
||||
"desc": "Décrivez ce que la carte doit faire, l’agent écrit le code Arduino / MicroPython, le compile et le charge — pas de copier-coller depuis le chat."
|
||||
},
|
||||
"debug": {
|
||||
"title": "Diagnostique les circuits en direct",
|
||||
"desc": "Bloqué sur un câblage ? Envoyez un screenshot du canvas et l’agent lit le schéma, lance la sim et vous dit quel pin est faux."
|
||||
}
|
||||
}
|
||||
},
|
||||
"pricing": {
|
||||
"label": "Tarifs",
|
||||
"title": "Gratuit pour les circuits. Payez pour l’IA.",
|
||||
"subtitle": "Le simulateur reste gratuit pour toujours. Les abonnements augmentent uniquement la limite quotidienne de l’agent IA.",
|
||||
"popular": "Le plus populaire",
|
||||
"tiers": {
|
||||
"free": {
|
||||
"name": "Free",
|
||||
"tagline": "Tout le simulateur, pour toujours.",
|
||||
"f1": "20 messages IA par jour",
|
||||
"f2": "Toutes les cartes, tous les composants",
|
||||
"f3": "Sauvegarde et partage de projets",
|
||||
"cta": "Ouvrir l’éditeur"
|
||||
},
|
||||
"pro": {
|
||||
"name": "Pro",
|
||||
"tagline": "Pour les makers en projets réels.",
|
||||
"f1": "300 messages IA par jour",
|
||||
"f2": "Compilation + simulation plus rapides",
|
||||
"f3": "Support email prioritaire",
|
||||
"cta": "S’abonner à Pro"
|
||||
},
|
||||
"pro_max": {
|
||||
"name": "Pro Max",
|
||||
"tagline": "Pour power users et petites équipes.",
|
||||
"f1": "700 messages IA par jour",
|
||||
"f2": "Accès anticipé aux nouvelles cartes",
|
||||
"f3": "Chat dédié avec le mainteneur",
|
||||
"cta": "Choisir Pro Max"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
|
|
|
|||
|
|
@ -91,6 +91,57 @@
|
|||
"desc": "Per prodotti closed-source, SaaS proprietari o uso interno aziendale dove la reciprocità AGPLv3 non è compatibile con il tuo modello di business.",
|
||||
"cta": "Contatta per prezzi →"
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"label": "Agente IA",
|
||||
"title": "Alimentato da agenti IA.",
|
||||
"subtitle": "Un agente multi-step gira dentro l’editor. Legge il tuo canvas, scrive codice, posiziona componenti e li collega — tutto guidato dal linguaggio naturale. DeepSeek-V4-Flash e Gemini 2.5 sotto il cofano.",
|
||||
"cards": {
|
||||
"wire": {
|
||||
"title": "Posiziona e collega",
|
||||
"desc": "Chiedi \"aggiungi un pulsante su D2 con pull-up a 5V\". L’agente sceglie i componenti, li mette sul canvas, collega ogni pin ed etichetta i fili."
|
||||
},
|
||||
"code": {
|
||||
"title": "Sketch funzionanti",
|
||||
"desc": "Descrivi cosa deve fare la scheda e l’agente scrive il codice Arduino / MicroPython, lo compila e lo carica — niente copia-incolla dalla chat."
|
||||
},
|
||||
"debug": {
|
||||
"title": "Diagnostica circuiti dal vivo",
|
||||
"desc": "Bloccato su un bug di cablaggio? Manda lo screenshot del canvas e l’agente legge lo schema, esegue la sim e ti dice quale pin è sbagliato."
|
||||
}
|
||||
}
|
||||
},
|
||||
"pricing": {
|
||||
"label": "Prezzi",
|
||||
"title": "Gratis per i circuiti. Paghi per l’IA.",
|
||||
"subtitle": "Il simulatore resta gratis per sempre. Le sottoscrizioni alzano solo la quota giornaliera dell’agente IA.",
|
||||
"popular": "Più popolare",
|
||||
"tiers": {
|
||||
"free": {
|
||||
"name": "Free",
|
||||
"tagline": "Tutto il simulatore, per sempre.",
|
||||
"f1": "20 messaggi IA al giorno",
|
||||
"f2": "Tutte le schede, tutti i componenti",
|
||||
"f3": "Salva e condividi progetti",
|
||||
"cta": "Apri l’editor"
|
||||
},
|
||||
"pro": {
|
||||
"name": "Pro",
|
||||
"tagline": "Per maker che costruiscono progetti reali.",
|
||||
"f1": "300 messaggi IA al giorno",
|
||||
"f2": "Compilazione + simulazione più veloci",
|
||||
"f3": "Supporto email prioritario",
|
||||
"cta": "Abbonati a Pro"
|
||||
},
|
||||
"pro_max": {
|
||||
"name": "Pro Max",
|
||||
"tagline": "Per power user e piccoli team.",
|
||||
"f1": "700 messaggi IA al giorno",
|
||||
"f2": "Accesso anticipato alle nuove schede",
|
||||
"f3": "Chat dedicata con il maintainer",
|
||||
"cta": "Scegli Pro Max"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
|
|
|
|||
|
|
@ -91,6 +91,57 @@
|
|||
"desc": "クローズドソース製品、プロプライエタリSaaS、AGPLv3の相互ライセンス条件がビジネスモデルに合わない社内利用向け。",
|
||||
"cta": "価格を問い合わせる →"
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"label": "AIエージェント",
|
||||
"title": "AIエージェントが動かしています。",
|
||||
"subtitle": "マルチステップAIエージェントがエディタ内で動作。あなたのキャンバスを読み、コードを書き、部品を配置・配線します。自然言語ですべて完結。DeepSeek-V4-FlashとGemini 2.5を採用。",
|
||||
"cards": {
|
||||
"wire": {
|
||||
"title": "配置と配線",
|
||||
"desc": "「D2にプルアップ抵抗付きのボタンを追加」と頼むだけ。エージェントが部品を選び、キャンバスに置き、各ピンを接続して配線にラベルを付けます。"
|
||||
},
|
||||
"code": {
|
||||
"title": "動くスケッチを生成",
|
||||
"desc": "やりたい動作を伝えると、エージェントがArduino / MicroPythonコードを書き、コンパイル、書き込みまで実行 — チャットからのコピペ不要。"
|
||||
},
|
||||
"debug": {
|
||||
"title": "ライブ回路を診断",
|
||||
"desc": "配線のバグで詰まった?キャンバスのスクリーンショットを送れば、エージェントが回路図を読み、シミュレートし、どのピンが間違っているか教えます。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"pricing": {
|
||||
"label": "料金",
|
||||
"title": "回路は無料。AIだけ有料。",
|
||||
"subtitle": "シミュレータは永年無料。サブスクはAIエージェントの1日あたりメッセージ上限を増やすだけ。",
|
||||
"popular": "人気",
|
||||
"tiers": {
|
||||
"free": {
|
||||
"name": "Free",
|
||||
"tagline": "シミュレータの全機能、永久に無料。",
|
||||
"f1": "AIメッセージ 1日20回",
|
||||
"f2": "全ボード・全コンポーネント",
|
||||
"f3": "プロジェクトの保存・共有",
|
||||
"cta": "エディタを開く"
|
||||
},
|
||||
"pro": {
|
||||
"name": "Pro",
|
||||
"tagline": "本格的なプロジェクトのメーカー向け。",
|
||||
"f1": "AIメッセージ 1日300回",
|
||||
"f2": "より高速なコンパイル + シミュレーション",
|
||||
"f3": "優先メールサポート",
|
||||
"cta": "Proを契約"
|
||||
},
|
||||
"pro_max": {
|
||||
"name": "Pro Max",
|
||||
"tagline": "パワーユーザーと小規模チーム向け。",
|
||||
"f1": "AIメッセージ 1日700回",
|
||||
"f2": "新ボードへの早期アクセス",
|
||||
"f3": "メンテナーとの専用チャット",
|
||||
"cta": "Pro Maxを選ぶ"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
|
|
|
|||
|
|
@ -91,6 +91,57 @@
|
|||
"desc": "Para produtos de código fechado, SaaS proprietário ou uso interno corporativo onde a reciprocidade da AGPLv3 não combina com o modelo de negócio.",
|
||||
"cta": "Contate para preços →"
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"label": "Agente IA",
|
||||
"title": "Movido por agentes de IA.",
|
||||
"subtitle": "Um agente multi-etapas roda dentro do editor. Ele lê seu canvas, escreve código, coloca componentes e os conecta — tudo guiado por linguagem natural. DeepSeek-V4-Flash e Gemini 2.5 por baixo.",
|
||||
"cards": {
|
||||
"wire": {
|
||||
"title": "Encaixe e conecte",
|
||||
"desc": "Peça \"adicione um botão em D2 com pull-up para 5V\". O agente escolhe os componentes, os coloca no canvas, conecta cada pino e rotula os fios."
|
||||
},
|
||||
"code": {
|
||||
"title": "Sketches que funcionam",
|
||||
"desc": "Descreva o que a placa deve fazer e o agente escreve o código Arduino / MicroPython, compila e carrega — sem copiar-colar do chat."
|
||||
},
|
||||
"debug": {
|
||||
"title": "Diagnostica circuitos ao vivo",
|
||||
"desc": "Travou em um bug de fiação? Envie um screenshot do canvas e o agente lê o esquema, roda a sim, e diz qual pino está errado."
|
||||
}
|
||||
}
|
||||
},
|
||||
"pricing": {
|
||||
"label": "Preços",
|
||||
"title": "Grátis para rodar circuitos. Pague pela IA.",
|
||||
"subtitle": "O simulador continua grátis para sempre. Assinaturas apenas aumentam a cota diária do agente de IA.",
|
||||
"popular": "Mais popular",
|
||||
"tiers": {
|
||||
"free": {
|
||||
"name": "Free",
|
||||
"tagline": "Tudo no simulador, para sempre.",
|
||||
"f1": "20 mensagens de IA por dia",
|
||||
"f2": "Todas as placas, todos os componentes",
|
||||
"f3": "Salvar e compartilhar projetos",
|
||||
"cta": "Abrir o editor"
|
||||
},
|
||||
"pro": {
|
||||
"name": "Pro",
|
||||
"tagline": "Para makers construindo projetos reais.",
|
||||
"f1": "300 mensagens de IA por dia",
|
||||
"f2": "Compilação + simulação mais rápida",
|
||||
"f3": "Suporte prioritário por email",
|
||||
"cta": "Assinar Pro"
|
||||
},
|
||||
"pro_max": {
|
||||
"name": "Pro Max",
|
||||
"tagline": "Para power users e times pequenos.",
|
||||
"f1": "700 mensagens de IA por dia",
|
||||
"f2": "Acesso antecipado a novas placas",
|
||||
"f3": "Chat dedicado com o mantenedor",
|
||||
"cta": "Escolher Pro Max"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
|
|
|
|||
|
|
@ -91,6 +91,57 @@
|
|||
"desc": "Для закрытых продуктов, проприетарных SaaS или внутреннего корпоративного использования, когда условия взаимности AGPLv3 несовместимы с вашей бизнес-моделью.",
|
||||
"cta": "Узнать цены →"
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"label": "ИИ-агент",
|
||||
"title": "Работает на ИИ-агентах.",
|
||||
"subtitle": "Многошаговый ИИ-агент работает прямо в редакторе. Читает ваш холст, пишет код, размещает компоненты и соединяет их — всё на естественном языке. Под капотом DeepSeek-V4-Flash и Gemini 2.5.",
|
||||
"cards": {
|
||||
"wire": {
|
||||
"title": "Размести и соедини",
|
||||
"desc": "Скажите \"добавь кнопку на D2 с подтяжкой к 5V\". Агент выберет компоненты, расставит их на холсте, соединит каждый пин и подпишет провода."
|
||||
},
|
||||
"code": {
|
||||
"title": "Готовые рабочие скетчи",
|
||||
"desc": "Опишите что должна делать плата, и агент напишет код Arduino / MicroPython, скомпилирует и загрузит прошивку — без копирования из чата."
|
||||
},
|
||||
"debug": {
|
||||
"title": "Диагностика живых схем",
|
||||
"desc": "Застряли с ошибкой в разводке? Отправьте скриншот холста и агент прочитает схему, запустит симуляцию и скажет, какой пин неправильный."
|
||||
}
|
||||
}
|
||||
},
|
||||
"pricing": {
|
||||
"label": "Цены",
|
||||
"title": "Схемы бесплатно. Платите за ИИ.",
|
||||
"subtitle": "Симулятор остаётся бесплатным навсегда. Подписки повышают только дневной лимит сообщений ИИ-агента.",
|
||||
"popular": "Самый популярный",
|
||||
"tiers": {
|
||||
"free": {
|
||||
"name": "Free",
|
||||
"tagline": "Весь симулятор, навсегда.",
|
||||
"f1": "20 сообщений ИИ в день",
|
||||
"f2": "Все платы, все компоненты",
|
||||
"f3": "Сохранение и обмен проектами",
|
||||
"cta": "Открыть редактор"
|
||||
},
|
||||
"pro": {
|
||||
"name": "Pro",
|
||||
"tagline": "Для мейкеров с реальными проектами.",
|
||||
"f1": "300 сообщений ИИ в день",
|
||||
"f2": "Более быстрая сборка + симуляция",
|
||||
"f3": "Приоритетная поддержка по email",
|
||||
"cta": "Подписаться на Pro"
|
||||
},
|
||||
"pro_max": {
|
||||
"name": "Pro Max",
|
||||
"tagline": "Для опытных пользователей и небольших команд.",
|
||||
"f1": "700 сообщений ИИ в день",
|
||||
"f2": "Ранний доступ к новым платам",
|
||||
"f3": "Прямой чат с разработчиком",
|
||||
"cta": "Выбрать Pro Max"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
|
|
|
|||
|
|
@ -91,6 +91,57 @@
|
|||
"desc": "适用于闭源产品、专有 SaaS 或 AGPLv3 协议的互惠条款与您的商业模式不兼容的企业内部使用场景。",
|
||||
"cta": "联系咨询定价 →"
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
"label": "AI 智能体",
|
||||
"title": "由 AI 智能体驱动。",
|
||||
"subtitle": "多步骤 AI 智能体在编辑器中运行,读取画布、编写代码、放置元件并完成接线 — 全部通过自然语言。底层使用 DeepSeek-V4-Flash 和 Gemini 2.5。",
|
||||
"cards": {
|
||||
"wire": {
|
||||
"title": "放置和接线",
|
||||
"desc": "只需说\"在 D2 加一个按钮,5V 上拉电阻\"。智能体会选择元件、放到画布上、连接每个引脚并标注导线。"
|
||||
},
|
||||
"code": {
|
||||
"title": "生成可用代码",
|
||||
"desc": "描述你希望开发板做什么,智能体会写出 Arduino / MicroPython 代码,编译并加载固件 — 无需从聊天框复制粘贴。"
|
||||
},
|
||||
"debug": {
|
||||
"title": "实时诊断电路",
|
||||
"desc": "在布线 bug 上卡住了?发送画布截图,智能体读取原理图、运行仿真、告诉你哪个引脚错了。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"pricing": {
|
||||
"label": "定价",
|
||||
"title": "电路免费,AI 收费。",
|
||||
"subtitle": "模拟器永久免费。订阅仅提升 AI 智能体每日消息额度。",
|
||||
"popular": "最受欢迎",
|
||||
"tiers": {
|
||||
"free": {
|
||||
"name": "Free",
|
||||
"tagline": "模拟器全部功能,永久免费。",
|
||||
"f1": "每天 20 条 AI 消息",
|
||||
"f2": "所有开发板和所有元件",
|
||||
"f3": "保存和分享项目",
|
||||
"cta": "打开编辑器"
|
||||
},
|
||||
"pro": {
|
||||
"name": "Pro",
|
||||
"tagline": "面向构建实际项目的创客。",
|
||||
"f1": "每天 300 条 AI 消息",
|
||||
"f2": "更快的编译 + 仿真",
|
||||
"f3": "优先邮件支持",
|
||||
"cta": "订阅 Pro"
|
||||
},
|
||||
"pro_max": {
|
||||
"name": "Pro Max",
|
||||
"tagline": "面向高级用户和小型团队。",
|
||||
"f1": "每天 700 条 AI 消息",
|
||||
"f2": "抢先体验新开发板",
|
||||
"f3": "与维护者的专属聊天",
|
||||
"cta": "选择 Pro Max"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
|
|
|
|||
|
|
@ -1191,3 +1191,190 @@
|
|||
padding: 24px 22px;
|
||||
}
|
||||
}
|
||||
|
||||
/* ── AI agent ────────────────────────────────────────── */
|
||||
.landing-ai .section-header { margin-bottom: 36px; }
|
||||
|
||||
.ai-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 20px;
|
||||
max-width: 1100px;
|
||||
margin: 0 auto;
|
||||
padding: 0 24px;
|
||||
}
|
||||
|
||||
.ai-card {
|
||||
background: linear-gradient(180deg, rgba(0, 113, 227, 0.07), rgba(255, 255, 255, 0.03));
|
||||
border: 1px solid rgba(0, 113, 227, 0.18);
|
||||
border-radius: 18px;
|
||||
padding: 28px 26px;
|
||||
}
|
||||
|
||||
.ai-card-title {
|
||||
margin: 0 0 8px;
|
||||
font-size: 17px;
|
||||
font-weight: 600;
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.ai-card-desc {
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
line-height: 1.65;
|
||||
color: var(--text-dim);
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.ai-grid {
|
||||
grid-template-columns: 1fr;
|
||||
padding: 0 16px;
|
||||
}
|
||||
}
|
||||
|
||||
/* ── Pricing ─────────────────────────────────────────── */
|
||||
.landing-pricing .section-header { margin-bottom: 40px; }
|
||||
|
||||
.pricing-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 20px;
|
||||
max-width: 1100px;
|
||||
margin: 0 auto;
|
||||
padding: 0 24px;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.pricing-card {
|
||||
position: relative;
|
||||
background: rgba(255, 255, 255, 0.04);
|
||||
border: 1px solid rgba(255, 255, 255, 0.08);
|
||||
border-radius: 20px;
|
||||
padding: 32px 28px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
transition: border-color 160ms ease, transform 160ms ease;
|
||||
}
|
||||
|
||||
.pricing-card:hover {
|
||||
border-color: rgba(255, 255, 255, 0.16);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.pricing-card-featured {
|
||||
border-color: rgba(0, 113, 227, 0.55);
|
||||
background: linear-gradient(180deg, rgba(0, 113, 227, 0.10), rgba(255, 255, 255, 0.04));
|
||||
}
|
||||
|
||||
.pricing-card-badge {
|
||||
position: absolute;
|
||||
top: -11px;
|
||||
right: 22px;
|
||||
background: #0071e3;
|
||||
color: #ffffff;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.4px;
|
||||
text-transform: uppercase;
|
||||
padding: 4px 10px;
|
||||
border-radius: 999px;
|
||||
}
|
||||
|
||||
.pricing-card-name {
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.4px;
|
||||
text-transform: uppercase;
|
||||
color: var(--text-dim);
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.pricing-card-price {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
gap: 4px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.pricing-card-amount {
|
||||
font-size: 36px;
|
||||
font-weight: 600;
|
||||
letter-spacing: -1px;
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.pricing-card-period {
|
||||
font-size: 14px;
|
||||
color: var(--text-dim);
|
||||
}
|
||||
|
||||
.pricing-card-tagline {
|
||||
margin: 8px 0 18px;
|
||||
font-size: 13px;
|
||||
line-height: 1.55;
|
||||
color: var(--text-dim);
|
||||
}
|
||||
|
||||
.pricing-card-features {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0 0 22px;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.pricing-card-features li {
|
||||
position: relative;
|
||||
padding: 6px 0 6px 22px;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.pricing-card-features li::before {
|
||||
content: '✓';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
color: #0071e3;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.pricing-card-cta {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
padding: 11px 18px;
|
||||
border-radius: 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
text-decoration: none;
|
||||
transition: background 160ms ease, color 160ms ease;
|
||||
}
|
||||
|
||||
.pricing-card-cta-primary {
|
||||
background: #0071e3;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.pricing-card-cta-primary:hover {
|
||||
background: #0066cc;
|
||||
}
|
||||
|
||||
.pricing-card-cta-secondary {
|
||||
background: transparent;
|
||||
color: var(--text);
|
||||
border: 1px solid rgba(255, 255, 255, 0.18);
|
||||
}
|
||||
|
||||
.pricing-card-cta-secondary:hover {
|
||||
border-color: rgba(255, 255, 255, 0.35);
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.pricing-grid {
|
||||
grid-template-columns: 1fr;
|
||||
padding: 0 16px;
|
||||
}
|
||||
|
||||
.pricing-card {
|
||||
padding: 26px 22px;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1183,6 +1183,89 @@ export const LandingPage: React.FC = () => {
|
|||
</div>
|
||||
</section>
|
||||
|
||||
{/* AI agent */}
|
||||
<section className="landing-section landing-ai">
|
||||
<div className="section-header">
|
||||
<span className="section-label">{t('landing.ai.label')}</span>
|
||||
<h2 className="section-title">{t('landing.ai.title')}</h2>
|
||||
<p className="section-sub">{t('landing.ai.subtitle')}</p>
|
||||
</div>
|
||||
<div className="ai-grid">
|
||||
<div className="ai-card">
|
||||
<h3 className="ai-card-title">{t('landing.ai.cards.wire.title')}</h3>
|
||||
<p className="ai-card-desc">{t('landing.ai.cards.wire.desc')}</p>
|
||||
</div>
|
||||
<div className="ai-card">
|
||||
<h3 className="ai-card-title">{t('landing.ai.cards.code.title')}</h3>
|
||||
<p className="ai-card-desc">{t('landing.ai.cards.code.desc')}</p>
|
||||
</div>
|
||||
<div className="ai-card">
|
||||
<h3 className="ai-card-title">{t('landing.ai.cards.debug.title')}</h3>
|
||||
<p className="ai-card-desc">{t('landing.ai.cards.debug.desc')}</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Pricing */}
|
||||
<section className="landing-section landing-section-alt landing-pricing">
|
||||
<div className="section-header">
|
||||
<span className="section-label">{t('landing.pricing.label')}</span>
|
||||
<h2 className="section-title">{t('landing.pricing.title')}</h2>
|
||||
<p className="section-sub">{t('landing.pricing.subtitle')}</p>
|
||||
</div>
|
||||
<div className="pricing-grid">
|
||||
<div className="pricing-card">
|
||||
<div className="pricing-card-name">{t('landing.pricing.tiers.free.name')}</div>
|
||||
<div className="pricing-card-price">
|
||||
<span className="pricing-card-amount">$0</span>
|
||||
<span className="pricing-card-period">/mo</span>
|
||||
</div>
|
||||
<p className="pricing-card-tagline">{t('landing.pricing.tiers.free.tagline')}</p>
|
||||
<ul className="pricing-card-features">
|
||||
<li>{t('landing.pricing.tiers.free.f1')}</li>
|
||||
<li>{t('landing.pricing.tiers.free.f2')}</li>
|
||||
<li>{t('landing.pricing.tiers.free.f3')}</li>
|
||||
</ul>
|
||||
<Link to={localize('/editor')} className="pricing-card-cta pricing-card-cta-secondary">
|
||||
{t('landing.pricing.tiers.free.cta')}
|
||||
</Link>
|
||||
</div>
|
||||
<div className="pricing-card pricing-card-featured">
|
||||
<div className="pricing-card-badge">{t('landing.pricing.popular')}</div>
|
||||
<div className="pricing-card-name">{t('landing.pricing.tiers.pro.name')}</div>
|
||||
<div className="pricing-card-price">
|
||||
<span className="pricing-card-amount">$15</span>
|
||||
<span className="pricing-card-period">/mo</span>
|
||||
</div>
|
||||
<p className="pricing-card-tagline">{t('landing.pricing.tiers.pro.tagline')}</p>
|
||||
<ul className="pricing-card-features">
|
||||
<li>{t('landing.pricing.tiers.pro.f1')}</li>
|
||||
<li>{t('landing.pricing.tiers.pro.f2')}</li>
|
||||
<li>{t('landing.pricing.tiers.pro.f3')}</li>
|
||||
</ul>
|
||||
<Link to={localize('/pricing')} className="pricing-card-cta pricing-card-cta-primary">
|
||||
{t('landing.pricing.tiers.pro.cta')}
|
||||
</Link>
|
||||
</div>
|
||||
<div className="pricing-card">
|
||||
<div className="pricing-card-name">{t('landing.pricing.tiers.pro_max.name')}</div>
|
||||
<div className="pricing-card-price">
|
||||
<span className="pricing-card-amount">$35</span>
|
||||
<span className="pricing-card-period">/mo</span>
|
||||
</div>
|
||||
<p className="pricing-card-tagline">{t('landing.pricing.tiers.pro_max.tagline')}</p>
|
||||
<ul className="pricing-card-features">
|
||||
<li>{t('landing.pricing.tiers.pro_max.f1')}</li>
|
||||
<li>{t('landing.pricing.tiers.pro_max.f2')}</li>
|
||||
<li>{t('landing.pricing.tiers.pro_max.f3')}</li>
|
||||
</ul>
|
||||
<Link to={localize('/pricing')} className="pricing-card-cta pricing-card-cta-secondary">
|
||||
{t('landing.pricing.tiers.pro_max.cta')}
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Support */}
|
||||
<section className="landing-support">
|
||||
<div className="support-content">
|
||||
|
|
|
|||
Loading…
Reference in New Issue