Codex/restobot landing#4
Open
timoshinoleg-eng wants to merge 57 commits into
Open
Conversation
- Replace YandexGPT (IAM token issues) with OpenRouter + DeepSeek - Add lib/openrouter.ts for DeepSeek API integration - Update app/api/agent/route.ts to use OpenRouter - Add ENV_SETUP.md with deployment instructions - OpenRouter key in SOPS secrets.yaml Note: Need to add OPENROUTER_API_KEY to Vercel dashboard
- Replace SVG logo with favicon.png image - Add GuideDownloadForm component for email/TG collection - Update senior-leaders-ai-struggles article with contact form - Guide will be sent after submitting contacts
- Create /cases page with full case studies (400-500 words each) - Industries: Medical, Education, E-commerce, B2B, IT/SaaS - Update homepage Cases section with 4 new cards - Add 'All cases' button linking to /cases - Use neutral company names with NDA disclaimer
Features: - 5-tier pricing model (Lite to Enterprise) - TCO comparison (SaaS vs custom) - Bitrix24 lead integration - Meta tags for SEO and social sharing
…sponses - Added post-processing filter to remove system classification tags - Prevents leaking internal lead scoring (COLD/WARM/HOT) to end users - Filters lines containing '**Система:**' and parenthetical classifications
…ixes - Added site header with navigation (logo, menu, phone, Telegram) - Updated color scheme: #f5f7fa background, white container with border - Fixed forceTier(): proper enterpriseWarning toggle, extras reset - Added canonical URL for SEO - Integrated Bitrix24 webhook: b24-8gm6zn.bitrix24.ru - Created embedded version for /tariffs page (no header) - Mobile-responsive tariff scale with horizontal scroll
- Yandex.Metrika 107072365 with funnel events (calc_step1/2, calc_price_shown, calc_lead) - Sticky CTA on mobile after price calculation - UTM prefill: ?type=medical|ai|faq|booking|sales auto-selects option - Social proof: random 8-15 clients text - iframe auto-height via postMessage - Bitrix24 error handling with user alerts - embedded.html version for /tariffs integration
- Created proper embedded.html without header for iframe embedding - Added correct canonical URL (pointing to /calculator) - Added viewport meta with max-scale for mobile iframe - Added UTM prefill support (?type=medical|ai|etc) - Added postMessage auto-height communication - Added user feedback for Bitrix24 success/error - Sticky CTA on mobile after price calculation
…tes to 2026 - ArticleCTA: Fixed button styling (white bg with emerald text) - ArticleCTA: Hidden 'Download checklist' section (showChecklist=false by default) - Fixed dates in allArticles arrays across all blog pages: * 5-oshibok: 15 января 2026 * konversiya-40: 30 января 2026 * sekundy-reshayut: 15 февраля 2026 * telegram-vs-whatsapp: 25 февраля 2026
- Added setTimeout(updateHeight, 400) in nextStep(), prevStep(), showResult() - Added setTimeout(updateHeight, 300) in toggleTCODetails() for accordion - Fixes height calculation after CSS animations complete - Applied to both index.html and embedded.html
- New article page: /blog/ai-automation-20-years - Added to allArticles in existing blog pages - Added to main blog listing page - Updated JSON-LD schemas
- BackButton removed from blog/layout.tsx - 'Назад к статьям' link already exists in individual article pages
- Added ArrowLeft icon import - Added link to '/' with 'На главную' text in Hero section
- Changed Header nav: /#calculator → /calculator (direct link) - Created CalculatorCTA component for blog articles - Added CalculatorCTA to ai-automation-20-years article
- Added InlineCalculatorCTA for contextual CTA within articles - Added SidebarCalculatorCTA for desktop sidebar - Added MobileStickyCTA for mobile readers (appears after scroll) - Added ExitIntentModal for leaving visitors - Added ConversionFooter with dual CTAs - Updated Header with UTM tracking from blog pages - Integrated all components into ai-automation-20-years article - UTM tracking: blog → calculator conversions trackable in Bitrix24
- Updated title: added '200 000 ₽/month' price shock - Added intro with cost shock (120k-200k ₽/month losses) - Added new error #2.5: 152-FZ compliance (ChatGPT risks) - Added real case: beauty salon losing 40% clients - Added comparison table: Template vs Custom - Added price tags for each error (specific ₽ losses) - Inline CTA after error #4 with UTM tracking - Updated final CTA: '3 slots left this week' urgency - Custom exit-intent: 'Don't leave with mistakes!' - Mobile sticky: only for 5-oshibok, shows after 60% scroll - UTM matrix: intro_link, compare_table, inline_operator, exit_modal, footer_cta - Internal link to konversiya-40 case study
- Created ExitIntent5Oshibok client component - Created MobileSticky5Oshibok client component - Removed dangerouslySetInnerHTML that was breaking SSR - Fixed hydration issues in Next.js
- Added explicit type for navItems with hrefFromBlog optional field - Fixed getNavHref return type to string
- Pricing: 19900/39000/69000/129000 (Lite/Base/AI/Enterprise) - Chatbot: Updated system prompt with new tariffs and differences - Social proof: 9/11/14/3 clients per tier - Added checklist: 7 checks before bot launch (/checklist.md) - Calculator dark theme: synced with site (#0a0f1c background)
- Hero: 49 000 → 19 900 ₽ - Layout: updated meta descriptions - SchemaOrg: updated service prices (Lite/Base/AI/Enterprise) - ROICalculator: Sales 129k → Base 39k - WhyUs: updated 'Гарантия результата' description
…ridge text, simplified descriptions
Улучшения из анализа Swarm: - Добавлен FAQPage Schema.org (3 FAQ для SEO rich snippets) - Добавлена окупаемость в кейсы MDX (2-3 месяца) - Улучшен CTA: список услуг + социальные ссылки Сохранено из оригинала: - JetBrains Mono шрифт - Viewport с themeColor - Полный набор favicon - ChatWidgetProvider - YandexMetrika компонент Stage 3 завершён
Features: - Add 16 blog article images - Add 15 case study images (5 hero + 5 avatars + 5 infographics) - Create blog article: skolko-stoit-chatbot-2026.mdx - Update layout.tsx with Schema.org (Organization, WebSite, FAQPage) - Preserve existing architecture (JetBrains Mono, ChatWidget, YandexMetrika) Stage 3 completed
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
timoshinoleg-eng
pushed a commit
that referenced
this pull request
Jul 17, 2026
- Updated title: added '200 000 ₽/month' price shock - Added intro with cost shock (120k-200k ₽/month losses) - Added new error #2.5: 152-FZ compliance (ChatGPT risks) - Added real case: beauty salon losing 40% clients - Added comparison table: Template vs Custom - Added price tags for each error (specific ₽ losses) - Inline CTA after error #4 with UTM tracking - Updated final CTA: '3 slots left this week' urgency - Custom exit-intent: 'Don't leave with mistakes!' - Mobile sticky: only for 5-oshibok, shows after 60% scroll - UTM matrix: intro_link, compare_table, inline_operator, exit_modal, footer_cta - Internal link to konversiya-40 case study
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.