Add admin scroll controls and site interaction fixes

This commit is contained in:
dcconstructions
2026-06-26 18:43:03 +03:00
parent 25e5afedf2
commit fb1531f7c5
17 changed files with 641 additions and 323 deletions
+102 -141
View File
@@ -519,9 +519,23 @@
"bodyHtml": "Используйте <span class=\"darker-70\">несколько агентов параллельно</span> чтобы добавлять кастомный код, анимации и функциональность."
}
]
},
"scroll": {
"speed": 0.55
}
},
"editableFields": [
{
"path": "content.scroll.speed",
"label": "Скорость скролла",
"kind": "range",
"renderAs": "number",
"group": "Скролл",
"min": 0.2,
"max": 2,
"step": 0.05,
"suffix": "x"
},
{
"path": "content.heading.muted",
"label": "Заголовок: приглушённая строка",
@@ -816,9 +830,23 @@
"videoSrc": "./assets/media/publish-flow.mp4",
"title": "Публикация"
}
]
],
"scroll": {
"speed": 0.55
}
},
"editableFields": [
{
"path": "content.scroll.speed",
"label": "Скорость скролла",
"kind": "range",
"renderAs": "number",
"group": "Скролл",
"min": 0.2,
"max": 2,
"step": 0.05,
"suffix": "x"
},
{
"path": "content.heading.muted",
"label": "Заголовок: приглушённая строка",
@@ -1020,9 +1048,30 @@
"question": "Это работает с MCP?",
"answerHtml": "<p>Система изначально рассчитана на работу с Webflow MCP. </p><p>Подключите проект и авторизацию, чтобы ИИ-агенты получили доступ к Webflow-сборке. Подключение приложения в Webflow Designer даёт агентам доступ к контенту, элементам, стилям и CSS, а кастомный код получает полный контекст проекта.</p>"
}
]
],
"sender": {
"avatarSrc": "./assets/webflow/images/69d2db06ed4081cf9bdacdc4_federic0.avif",
"avatarAlt": "Аватар NODE.DC",
"name": "NODE.DC",
"replyLabel": "Ответить",
"sentLabel": "Отправлено с iPhone"
},
"scroll": {
"speed": 0.55
}
},
"editableFields": [
{
"path": "content.scroll.speed",
"label": "Скорость скролла",
"kind": "range",
"renderAs": "number",
"group": "Скролл",
"min": 0.2,
"max": 2,
"step": 0.05,
"suffix": "x"
},
{
"path": "content.heading.muted",
"label": "Заголовок: приглушённая строка",
@@ -1070,157 +1119,69 @@
"label": "Окно: название",
"kind": "text",
"renderAs": "text",
"group": "Видео-окно"
"group": "Окно FAQ"
},
{
"path": "content.faq.0.question",
"label": "FAQ 1: вопрос",
"path": "content.sender.avatarSrc",
"label": "Отправитель: аватар",
"kind": "media",
"renderAs": "attr",
"group": "Отправитель"
},
{
"path": "content.sender.avatarAlt",
"label": "Отправитель: alt аватара",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
"group": "Отправитель"
},
{
"path": "content.faq.0.answerHtml",
"label": "FAQ 1: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.1.question",
"label": "FAQ 2: вопрос",
"path": "content.sender.name",
"label": "Отправитель: имя",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
"group": "Отправитель"
},
{
"path": "content.faq.1.answerHtml",
"label": "FAQ 2: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.2.question",
"label": "FAQ 3: вопрос",
"path": "content.sender.replyLabel",
"label": "Отправитель: подпись ответа",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
"group": "Отправитель"
},
{
"path": "content.faq.2.answerHtml",
"label": "FAQ 3: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.3.question",
"label": "FAQ 4: вопрос",
"path": "content.sender.sentLabel",
"label": "Отправитель: нижняя подпись",
"kind": "text",
"renderAs": "text",
"group": "Отправитель"
},
{
"path": "content.faq",
"label": "Вопросы и ответы",
"kind": "collection",
"renderAs": "collection",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.3.answerHtml",
"label": "FAQ 4: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.4.question",
"label": "FAQ 5: вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.4.answerHtml",
"label": "FAQ 5: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.5.question",
"label": "FAQ 6: вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.5.answerHtml",
"label": "FAQ 6: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.6.question",
"label": "FAQ 7: вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.6.answerHtml",
"label": "FAQ 7: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.7.question",
"label": "FAQ 8: вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.7.answerHtml",
"label": "FAQ 8: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.8.question",
"label": "FAQ 9: вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.8.answerHtml",
"label": "FAQ 9: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.9.question",
"label": "FAQ 10: вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.9.answerHtml",
"label": "FAQ 10: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
"itemTemplate": {
"question": "Новый вопрос",
"answerHtml": "<p>Новый ответ.</p>"
},
"itemFields": [
{
"path": "question",
"label": "Вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ"
},
{
"path": "answerHtml",
"label": "Ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
}
]
}
],
"enabled": true
@@ -1310,14 +1271,14 @@
"key": "cViz:pricingTable:pricing-table.html",
"regionId": "cViz",
"regionLabel": "Секции",
"title": "Тарифная таблица",
"title": "Тарифы: интро и таблица",
"description": "pricing-table.html",
"block": {
"region": "cViz",
"id": "pricing-table",
"type": "pricingTable",
"template": "pricing-table.html",
"adminLabel": "Тарифная таблица",
"adminLabel": "Тарифы: интро и таблица",
"anchor": "pricing-wrap",
"content": {
"pricing": {
@@ -1978,16 +1939,16 @@
"key": "cViz:pricingIntro:pricing-intro.html",
"regionId": "cViz",
"regionLabel": "Секции",
"title": "Интро тарифов",
"title": "Интро тарифов (устаревший дубль)",
"description": "pricing-intro.html",
"block": {
"region": "cViz",
"id": "pricing-intro",
"type": "pricingIntro",
"template": "pricing-intro.html",
"adminLabel": "Интро тарифов",
"adminLabel": "Интро тарифов (устаревший дубль)",
"anchor": "waitlist",
"enabled": true,
"enabled": false,
"content": {
"eyebrow": "Тарифы",
"heading": {
+116 -155
View File
@@ -349,35 +349,35 @@
"anchor": "hero",
"content": {
"heading": {
"muted": "Ваш Webflow ",
"main": "ИИ-инструменты"
"muted": "Платформа",
"main": " для цифровых контуров предприятия "
},
"introHtml": "Несколько агентов для проекта Webflow: от <span class=\"darker-70\">Designer</span> до <span class=\"darker-70\">кастомного кода.</span>",
"introHtml": "<span class=\"darker-70\">Hub, Engine, Ops</span> и прикладные модули в единой экосистеме управления, разработки и\nисполнения. ",
"cards": [
{
"muted": "Полный",
"main": "агентный контроль",
"bodyHtml": "Интеграция с <span class=\"darker-70\">Webflow MCP,</span> мультиагентный режим позволяет работать с <span class=\"darker-70\">несколькими экземплярами</span> параллельно."
"bodyHtml": "<span class=\"darker-70\">Единый агентный слой</span> с доступом к задачам, кодовой базе, данным, моделям и связанным сервисам."
},
{
"muted": "Компонентная",
"main": "библиотека",
"bodyHtml": "Собирайте с учетом <span class=\"darker-70\">ИИ-агентов</span> разные компонентные заготовки дают основу, а стиль и сложную функциональность можно дорабатывать промптами."
"muted": "Модульная ",
"main": "архитектура",
"bodyHtml": "Подключаемые <span class=\"darker-70\">приложения, роли, контуры доступа, рабочие пространства и специализированные инструменты.</span> "
},
{
"muted": "Деплой ",
"main": "пайплайн",
"bodyHtml": "<span class=\"darker-70\">Деплой в один клик,</span> непрерывный пайплайн, мгновенный откат и быстрая <span class=\"darker-70\">доставка через CDN.</span>"
"muted": "Разработка ",
"main": "и запуск",
"bodyHtml": "Сборка <span class=\"darker-70\">workflow, интерфейсов и рабочих контуров</span> с передачей результатов в <span class=\"darker-70\">операционный слой.</span>"
}
],
"form": {
"messagePlaceholder": "Сообщение (необязательно)",
"namePlaceholder": "Ваше имя*",
"emailPlaceholder": "Email для регистрации*",
"submitLabel": "Встать в лист ожидания",
"submitLabel": "Подать заявку",
"successHeading": "Заявка принята. Спасибо.",
"successTextHtml": "Мы скоро свяжемся. <br/>",
"betaCtaLabel": "Подать заявку в бету?",
"betaCtaLabel": "Подать заявку?",
"founderIntroHtml": "Или оформить ранний Founder-доступ<br/>",
"founderCtaHtml": "Оформить Founder-доступ <span class=\"darker-70\">350€</span>",
"spotsLabel": "До 200 мест",
@@ -387,13 +387,13 @@
"legalHtml": "<a href=\"https://docs.google.com/document/d/1vME2w8ZB88HoH-JyvkkiL7exrcMfWhkERfFRlnIeZFA/edit?usp=sharing\" target=\"_blank\">Политика конфиденциальности</a> • <a href=\"https://docs.google.com/document/d/1vME2w8ZB88HoH-JyvkkiL7exrcMfWhkERfFRlnIeZFA/edit?usp=sharing\" target=\"_blank\">Политика cookie</a><br/>© — Все права защищены<br/>2026",
"accessCard": {
"enabled": true,
"iconSrc": "./assets/webflow/images/69ad964d951f9d17cc5a919e_logo-app.svg",
"iconSrc": "./assets/uploads/images/hero-waitlist/dclogo_white_alpha-mquue8ar.png",
"iconAlt": "Иконка NODE.DC",
"wordmarkSrc": "./assets/webflow/images/69ad96a28b06b7552a339137_logtype.svg?v=node-dc",
"wordmarkAlt": "Логотип NODE.DC",
"release": "Бета-релиз: июль 2026",
"heading": "Ранний доступ",
"description": "Кастомный код, MCP и ИИ-агенты для Webflow в одном рабочем контуре."
"release": "Selfhost платформа ",
"heading": "Запросить DEMO",
"description": "NODE.DC - платформа для задач, процессов, данных, агентов и инженерных модулей."
}
},
"editableFields": [
@@ -847,9 +847,23 @@
"bodyHtml": "Используйте <span class=\"darker-70\">несколько агентов параллельно</span> чтобы добавлять кастомный код, анимации и функциональность."
}
]
},
"scroll": {
"speed": 0.2
}
},
"editableFields": [
{
"path": "content.scroll.speed",
"label": "Скорость скролла",
"kind": "range",
"renderAs": "number",
"group": "Скролл",
"min": 0.2,
"max": 2,
"step": 0.05,
"suffix": "x"
},
{
"path": "content.heading.muted",
"label": "Заголовок: приглушённая строка",
@@ -1137,9 +1151,23 @@
"videoSrc": "./assets/media/publish-flow.mp4",
"title": "Публикация"
}
]
],
"scroll": {
"speed": 0.55
}
},
"editableFields": [
{
"path": "content.scroll.speed",
"label": "Скорость скролла",
"kind": "range",
"renderAs": "number",
"group": "Скролл",
"min": 0.2,
"max": 2,
"step": 0.05,
"suffix": "x"
},
{
"path": "content.heading.muted",
"label": "Заголовок: приглушённая строка",
@@ -1334,9 +1362,30 @@
"question": "Это работает с MCP?",
"answerHtml": "<p>Система изначально рассчитана на работу с Webflow MCP. </p><p>Подключите проект и авторизацию, чтобы ИИ-агенты получили доступ к Webflow-сборке. Подключение приложения в Webflow Designer даёт агентам доступ к контенту, элементам, стилям и CSS, а кастомный код получает полный контекст проекта.</p>"
}
]
],
"sender": {
"avatarSrc": "./assets/uploads/images/faq/2025-05-14-23.46.35-mquyvzbg.jpg",
"avatarAlt": "Аватар NODE.DC",
"name": "NODE.DC",
"replyLabel": "Ответить",
"sentLabel": "Отправлено с iPhone"
},
"scroll": {
"speed": 0.55
}
},
"editableFields": [
{
"path": "content.scroll.speed",
"label": "Скорость скролла",
"kind": "range",
"renderAs": "number",
"group": "Скролл",
"min": 0.2,
"max": 2,
"step": 0.05,
"suffix": "x"
},
{
"path": "content.heading.muted",
"label": "Заголовок: приглушённая строка",
@@ -1384,157 +1433,69 @@
"label": "Окно: название",
"kind": "text",
"renderAs": "text",
"group": "Видео-окно"
"group": "Окно FAQ"
},
{
"path": "content.faq.0.question",
"label": "FAQ 1: вопрос",
"path": "content.sender.avatarSrc",
"label": "Отправитель: аватар",
"kind": "media",
"renderAs": "attr",
"group": "Отправитель"
},
{
"path": "content.sender.avatarAlt",
"label": "Отправитель: alt аватара",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
"group": "Отправитель"
},
{
"path": "content.faq.0.answerHtml",
"label": "FAQ 1: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.1.question",
"label": "FAQ 2: вопрос",
"path": "content.sender.name",
"label": "Отправитель: имя",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
"group": "Отправитель"
},
{
"path": "content.faq.1.answerHtml",
"label": "FAQ 2: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.2.question",
"label": "FAQ 3: вопрос",
"path": "content.sender.replyLabel",
"label": "Отправитель: подпись ответа",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
"group": "Отправитель"
},
{
"path": "content.faq.2.answerHtml",
"label": "FAQ 3: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.3.question",
"label": "FAQ 4: вопрос",
"path": "content.sender.sentLabel",
"label": "Отправитель: нижняя подпись",
"kind": "text",
"renderAs": "text",
"group": "Отправитель"
},
{
"path": "content.faq",
"label": "Вопросы и ответы",
"kind": "collection",
"renderAs": "collection",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.3.answerHtml",
"label": "FAQ 4: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.4.question",
"label": "FAQ 5: вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.4.answerHtml",
"label": "FAQ 5: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.5.question",
"label": "FAQ 6: вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.5.answerHtml",
"label": "FAQ 6: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.6.question",
"label": "FAQ 7: вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.6.answerHtml",
"label": "FAQ 7: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.7.question",
"label": "FAQ 8: вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.7.answerHtml",
"label": "FAQ 8: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.8.question",
"label": "FAQ 9: вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.8.answerHtml",
"label": "FAQ 9: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
},
{
"path": "content.faq.9.question",
"label": "FAQ 10: вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ",
"replaceAll": true
},
{
"path": "content.faq.9.answerHtml",
"label": "FAQ 10: ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
"itemTemplate": {
"question": "Новый вопрос",
"answerHtml": "<p>Новый ответ.</p>"
},
"itemFields": [
{
"path": "question",
"label": "Вопрос",
"kind": "text",
"renderAs": "text",
"group": "FAQ"
},
{
"path": "answerHtml",
"label": "Ответ",
"kind": "html",
"renderAs": "html",
"group": "FAQ"
}
]
}
],
"enabled": true
@@ -1617,7 +1578,7 @@
"id": "pricing-table",
"type": "pricingTable",
"template": "pricing-table.html",
"adminLabel": "Тарифная таблица",
"adminLabel": "Тарифы: интро и таблица",
"anchor": "pricing-wrap",
"content": {
"pricing": {
@@ -2278,7 +2239,7 @@
"id": "pricing-intro",
"type": "pricingIntro",
"template": "pricing-intro.html",
"adminLabel": "Интро тарифов",
"adminLabel": "Интро тарифов (устаревший дубль)",
"anchor": "waitlist",
"enabled": false,
"content": {
@@ -2838,7 +2799,7 @@
"enabled": true,
"content": {
"footer": {
"appIconSrc": "./assets/webflow/images/69ad964d951f9d17cc5a919e_logo-app.svg",
"appIconSrc": "./assets/uploads/images/footer/dclogo_white_alpha-mquumh7v.png",
"appIconAlt": "Иконка NODE.DC",
"wordmarkSrc": "./assets/webflow/images/69ad96a28b06b7552a339137_logtype.svg?v=node-dc",
"wordmarkAlt": "Логотип NODE.DC",