VIZ Уникальный блокчейн, где можно награждать любой аккаунт за что угодно, а можно и просто так это делать (это не полезно для сети). Но не было возможности разместить на сайтах форму, при помощи которой можно было бы делать награды автору сайта/страницы. Теперь она появилась.
В чатах я уже писал много раз о моём проекте awards-generator (https://liveblogs.space/awards, Github: https://github.com/denis-skripnik/awards-generator), но не анонсировал его в блоге, т.к. ещё разрабатывается. Но поскольку конструктор форм — это важный этап для развития Viz, публикую о нём пост.
Преимущества конструктора
- Локальность: авторизация и награда производится локально: в браузере посетителя сайта (ничего не передаётся);
- Защищённость: постинг ключ сохраняется в зашифрованном виде;
- Автономность: форма не обращается к внешним сервисам/файлам, типа https://liveblogs.space/awards, а выполняет все действия прямо на странице благодаря скрипту builder.js.
- Гибкость: возможность настройки отображения данных под себя: можно менять местами поля, перетаскивая их; Можно настраивать вариант отображения или вовсе не отображать какие-то поля. Можно заполнять или не заполнять значение по умолчанию. Можно активировать или не активировать функционал бенефициарских отчислений приложению и награждаемому.
Начинаем работать с конструктором
- Заходим на https://liveblogs.space/awards/builder.html или скачиваем архив с репозитория Github, переходим в папку ru и открываем одноимённый файл.
- Думаем, какой бы хотели видеть форму и настраиваем её в соответствии с желанием. Покажу свой пример:
Выбираю процент энергии, поле в виде ползунка, отмечаю вывод предупреждения, если процент выше 20% и текст оставляю стандартным, значение поля энергии, которое будет по умолчанию — 2%. Заметка — https://denis-skripnik.name, активирую «Бенефициарские отчисления приложению» с логином denis-skripnik и устанавливаю в поле процента 5. Нажимаю «Получить код».
Для работы формы пока необходим Jquery. После этого скачиваю 2 скрипта: sjcl.min.js (Шифрование и расшифровка постинг ключа) и builder.js (файл формы).
Также, если нет viz.min.js, добавляется он в head секции.
Результат
В первом многострочном поле выводится пример ввода переменной получателя. Она необходима, чтоб форма знала, кому отправлять награду. В значении переменной вы можете передавать логин VIZ из базы данных сайта или получать логин в Viz автора страницы из адресной строки.
У меня пример таков (Значение — пустая строка, т.к. я не указывал логин по умолчанию):
var target_user = ""
.
А вот код самой формы
<div id="awards_send_form">
<form id="send_awards_form"><input id="target" >
Процент энергии:<br>
<div id="slider_energy"></div><br>
<input id="energy_slider_value" ><br>
<input id="send_energy" >
Номер Custom операции<br><input ><br>
Заметка (memo)<br><input ><br>
Параметры бенефициарских отчислений<br><input id="beneficiaries" >
<input >
</form>
</div>
<link href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css">
$(«#slider_energy»).slider({value:2,min:0,max:101,step:1,slide:function(e,i){$(«#energy_slider_value»).val($(this).slider(«value»)+»%»);$(«#send_energy»).val($(this).slider(«value»));},stop:function(e,i){20<$(this).slider(«value»)&&alert(‘Вы выбрали > 20% энергии. Вам будет доступно мало наград’)}});
<div id=»main_award_info»></div>

Планы
- Сделать возможность скрытия выбора процента энергии;
- Сделать возможность изменения текста кнопки «отправить» на иное.
- Дать возможность указывать других бенефициаров. Это будет полезно, если создатель формы хочет передавать часть награды ещё редакторам, инвесторам и т.п.
По поводу первых двух пунктов — точно реализую, а вот на счёт третьего сомневаюсь: нужно ли.
Наградить автора поста