Update pages.html
Browse files- pages.html +57 -50
pages.html
CHANGED
@@ -459,51 +459,16 @@ z-index: 1000; /* Убедитесь, что кнопка находится п
|
|
459 |
|
460 |
|
461 |
// Создаем новый тип компонента для формы
|
462 |
-
|
|
|
463 |
model: {
|
464 |
defaults: {
|
465 |
-
// HTML-код
|
466 |
-
content:
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
<input type="text" id="name" required>
|
472 |
-
</div>
|
473 |
-
<div class="form-group">
|
474 |
-
<label for="email">Почта</label>
|
475 |
-
<input type="email" id="email" required>
|
476 |
-
</div>
|
477 |
-
<div class="form-group">
|
478 |
-
<label for="phone">Телефон</label>
|
479 |
-
<input type="tel" id="phone" required>
|
480 |
-
</div>
|
481 |
-
<div class="form-group">
|
482 |
-
<label for="options">Выберите тариф</label>
|
483 |
-
<select id="options" required>
|
484 |
-
<option value="" disabled selected>Тариф</option>
|
485 |
-
<option>БИЗНЕС - 69 970р.</option>
|
486 |
-
<option>PREMIUM - 89 970р.</option>
|
487 |
-
<option>VIP - 149 990р.</option>
|
488 |
-
</select>
|
489 |
-
</div>
|
490 |
-
<div class="form-check">
|
491 |
-
<input type="checkbox" id="newsletter_conf" required>
|
492 |
-
<label for="newsletter_conf">Согласие с <a href="#" id="usagePolicyLink">Условиями использования</a> и <a href="#" id="privacyPolicyLink">Политикой конфиденциальности</a></label>
|
493 |
-
</div>
|
494 |
-
<div class="form-check">
|
495 |
-
<input type="checkbox" id="newsletter_email" required>
|
496 |
-
<label for="newsletter_email">Согласие на email рассылку</label>
|
497 |
-
</div>
|
498 |
-
<button type="submit" class="butons">ПЕРЕЙТИ К ОПЛАТЕ</button>
|
499 |
-
</form>
|
500 |
-
</div>
|
501 |
-
`,
|
502 |
-
// Скрипт для обработки отправки формы и загрузки зависимостей
|
503 |
-
script: function() {
|
504 |
-
const initForm = () => {
|
505 |
-
const form = this.querySelector('#contactForm');
|
506 |
-
console.log('Form initialized');
|
507 |
};
|
508 |
const loadScript = (src, callback) => {
|
509 |
const script = document.createElement('script');
|
@@ -515,10 +480,10 @@ editor.Components.addType('custom-form', {
|
|
515 |
if (typeof vkBridge === 'undefined') {
|
516 |
loadScript('https://unpkg.com/@vkontakte/vk-bridge/dist/browser.min.js', () => {
|
517 |
console.log('VK Bridge loaded!');
|
518 |
-
|
519 |
});
|
520 |
} else {
|
521 |
-
|
522 |
}
|
523 |
|
524 |
if (typeof VK === 'undefined') {
|
@@ -530,14 +495,56 @@ editor.Components.addType('custom-form', {
|
|
530 |
loadScript('https://huggingface.co/spaces/vkatis/api/resolve/main/bundle.3ea86973b4b6c8f6c2bf.js', () => {
|
531 |
console.log('Custom script loaded!');
|
532 |
});
|
533 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
534 |
}
|
535 |
}
|
536 |
});
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
|
|
541 |
});
|
542 |
|
543 |
|
|
|
459 |
|
460 |
|
461 |
// Создаем новый тип компонента для формы
|
462 |
+
// Создаем новый тип компонента для пустого блока
|
463 |
+
editor.Components.addType('empty-block', {
|
464 |
model: {
|
465 |
defaults: {
|
466 |
+
// HTML-код пустого блока
|
467 |
+
content: '<div></div>',
|
468 |
+
// Скрипт для обработки блока (если нужно)
|
469 |
+
script: function(props) {
|
470 |
+
const initBlock = () => {
|
471 |
+
console.log('Empty block initialized with props:', props);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
472 |
};
|
473 |
const loadScript = (src, callback) => {
|
474 |
const script = document.createElement('script');
|
|
|
480 |
if (typeof vkBridge === 'undefined') {
|
481 |
loadScript('https://unpkg.com/@vkontakte/vk-bridge/dist/browser.min.js', () => {
|
482 |
console.log('VK Bridge loaded!');
|
483 |
+
initBlock();
|
484 |
});
|
485 |
} else {
|
486 |
+
initBlock();
|
487 |
}
|
488 |
|
489 |
if (typeof VK === 'undefined') {
|
|
|
495 |
loadScript('https://huggingface.co/spaces/vkatis/api/resolve/main/bundle.3ea86973b4b6c8f6c2bf.js', () => {
|
496 |
console.log('Custom script loaded!');
|
497 |
});
|
498 |
+
},
|
499 |
+
// Свойства, которые будут передаваться в скрипт
|
500 |
+
'script-props': ['avp', 'grup', 'red_url', 'pol_a', 'pol_b', 'new_w'],
|
501 |
+
// Настройки для изменения URL отправки
|
502 |
+
traits: [
|
503 |
+
{
|
504 |
+
type: 'text',
|
505 |
+
name: 'avp',
|
506 |
+
label: 'AVP',
|
507 |
+
changeProp: true
|
508 |
+
},
|
509 |
+
{
|
510 |
+
type: 'text',
|
511 |
+
name: 'grup',
|
512 |
+
label: 'GRUP',
|
513 |
+
changeProp: true
|
514 |
+
},
|
515 |
+
{
|
516 |
+
type: 'text',
|
517 |
+
name: 'red_url',
|
518 |
+
label: 'RED_URL',
|
519 |
+
changeProp: true
|
520 |
+
},
|
521 |
+
{
|
522 |
+
type: 'text',
|
523 |
+
name: 'pol_a',
|
524 |
+
label: 'POL_A',
|
525 |
+
changeProp: true
|
526 |
+
},
|
527 |
+
{
|
528 |
+
type: 'text',
|
529 |
+
name: 'pol_b',
|
530 |
+
label: 'POL_B',
|
531 |
+
changeProp: true
|
532 |
+
},
|
533 |
+
{
|
534 |
+
type: 'text',
|
535 |
+
name: 'new_w',
|
536 |
+
label: 'NEW_W',
|
537 |
+
changeProp: true
|
538 |
+
}
|
539 |
+
]
|
540 |
}
|
541 |
}
|
542 |
});
|
543 |
+
|
544 |
+
// Создаем блок для компонента пустого блока
|
545 |
+
editor.Blocks.add('empty-block-block', {
|
546 |
+
label: 'Empty Block',
|
547 |
+
content: { type: 'empty-block' },
|
548 |
});
|
549 |
|
550 |
|