Skip to content
This repository was archived by the owner on Apr 11, 2022. It is now read-only.

Commit b4dc497

Browse files
authored
0.0.4.4 тест
1 parent f7a9451 commit b4dc497

File tree

4 files changed

+247
-39
lines changed

4 files changed

+247
-39
lines changed

Diff for: assets/integr.js

+91-10
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
*/
44
var afullpage = document.querySelector('fullpage'),
55
smileList = document.querySelector('fullpage smile-list'),
6-
asspages = document.querySelectorAll('asett pages input'),
6+
asspages = document.querySelectorAll('asett pages page'),
77
chess = 'a-dota2smile', storageCache = _getStorage(),
8-
storagePages = JSON.parse(localStorage.getItem('pages')),
8+
storagePage = JSON.parse(localStorage.getItem('page')),
99
alert = document.querySelector('fullpage alert'), list = [], aflag = true,
1010
version = '0.0.4';
1111

@@ -14,17 +14,23 @@ var afullpage = document.querySelector('fullpage'),
1414
*/
1515
function reload ()
1616
{
17-
if (!storagePages)
17+
if (localStorage.getItem('pages'))
18+
localStorage.removeItem('pages');
19+
20+
if (!localStorage.getItem('page'))
1821
{
19-
// Спасибо Поняхе за найденный баг
20-
localStorage.setItem('pages', `{"1":true,"5":true,"6":true,"7":true,"9":true,"11":true,"14":true,"16":true,"17":true,"18":true,"-1":true}`);
21-
storagePages = JSON.parse(localStorage.getItem('pages'));
22+
localStorage.setItem('page', `{"1":{"name":"Стандартные","is":true},"5":{"name":"Твич","is":true},"6":{"name":"Разное","is":true},"7":{"name":"Dota 2 анимированные","is":true},"9":{"name":"Dota 2 герои","is":true},"11":{"name":"Аниме","is":true},"14":{"name":"Пепа","is":true},"16":{"name":"Dota 2 предметы","is":true},"17":{"name":"LoL","is":true},"18":{"name":"Твич-герои","is":true},"-1":{"name":"Популярные","is":true}}`);
23+
storagePage = JSON.parse(localStorage.getItem('page'));
2224
}
2325

2426
// Переприсваиваем все разрешённые вкладки смайлов
2527
asspages.forEach
2628
( function (a) {
27-
a.checked = storagePages[a.value.toString()];
29+
var input = a.querySelector('input[type="checkbox"]'),
30+
name = a.querySelector('input[type="text"]');
31+
32+
name.value = storagePage[input.value.toString()].name;
33+
input.checked = storagePage[input.value.toString()].is;
2834
});
2935

3036
// Самый простой способ очистить от всего старого
@@ -369,20 +375,95 @@ function loadFrom ()
369375
*/
370376
function savePages ()
371377
{
372-
var pages = document.querySelectorAll('asett pages input'),
378+
var pages = document.querySelectorAll('asett pages page'),
373379
array = {};
374380

375381
pages.forEach
376382
( function (a, i) {
377-
array[a.value] = a.checked;
383+
var input = a.querySelector('input[type="checkbox"]'),
384+
name = a.querySelector('input[type="text"]').value;
385+
386+
array[input.value] = {name: name, is: input.checked};
387+
console.log(name, input.value, input.checked);
378388
});
379389

380-
localStorage.setItem('pages', JSON.stringify(array));
390+
localStorage.setItem('page', JSON.stringify(array));
391+
storagePage = array;
381392
reload();
382393

383394
openAlert({text: 'Отображение изменено по вашему усмотрению!'});
384395
}
385396

397+
/**
398+
* Автоматически поделиться с указанным пользователем
399+
*/
400+
function sendSmiles ({you, to, username})
401+
{
402+
var you = you, user = to, username = username,
403+
title = '[dota2smile] '+ you +' поделился с '+ username +' своими смайлами',
404+
content =
405+
`<div class="bbCodeBlock bbCodeQuote">
406+
<blockquote class="quoteContainer">
407+
<div class="quote">
408+
<p>`+ JSON.stringify( _getStorage() ) +`</p>
409+
</div>
410+
</blockquote>
411+
</div>`;
412+
413+
void requestHandler.ajaxRequest
414+
("/api/message/createConversation",
415+
{ title: title, content: content, recipient: user },
416+
417+
function (response)
418+
{
419+
if (response.status == 'success')
420+
{
421+
openAlert({text: 'Пак смайлов отправлен!'});
422+
423+
adoor('savetouser');
424+
adoor('saveto');
425+
}
426+
else
427+
{
428+
openAlert({text: 'Ошибка: некорректный никнейм пользователя'});
429+
}
430+
}
431+
)
432+
}
433+
434+
/**
435+
* Проверка пользователя на существование
436+
*/
437+
function findUser ()
438+
{
439+
var stu = document.querySelector('fullpage savetouser'),
440+
info = stu.querySelector('information'),
441+
username = stu.querySelector('input').value;
442+
443+
info.innerHTML = 'Загрузка..';
444+
445+
fetch('https://dota2.ru/forum/search?type=user&keywords='+ username +'&sort_by=username')
446+
.then(function(response){
447+
return response.text();
448+
})
449+
.then(function(html){
450+
var you = document.querySelector('div.hello .username').innerHTML,
451+
userdocument = dom(html).ownerDocument.querySelector('.member-list-item .avatar'),
452+
href = userdocument.href.split('/'),
453+
id = href[href.length - 2].split('.')[1],
454+
avatar = userdocument.querySelector('img').src;
455+
456+
info.innerHTML =
457+
`<avatar><img src='`+ avatar +`'></avatar>
458+
<pass>
459+
<name><t>Имя</t> `+ username +`</name>
460+
<id><t>ID</t> `+ id +`</id>
461+
<confirmation>Это верный пользователь?</confirmation>
462+
<fing onclick="sendSmiles({you: '`+ you +`', to: '`+ id +`', username: '`+ username +`'})">Да, отправить</fing>
463+
</pass>`;
464+
});
465+
}
466+
386467
/**
387468
* Смена страниц
388469
*/

Diff for: assets/sett.tmp

+65-12
Original file line numberDiff line numberDiff line change
@@ -43,28 +43,81 @@
4343
<saveto>
4444
<top>Сохранение смайлов <close class='fa fa-times' onclick="adoor('saveto')"></close></top>
4545
<middle>
46-
Скопируйте и поделитесь с пользователем!
46+
<finder>
47+
Выберите пользователя для отправки
48+
<fing onclick="adoor('savetouser')">Выбрать пользователя</fing>
49+
</finder>
50+
Или нажмите, чтобы выделить и скопировать<br>
4751
<textarea></textarea>
4852
</middle>
4953
</saveto>
5054

55+
<backfon class='savetouser' onclick="adoor('savetouser')"></backfon>
56+
<savetouser>
57+
<top>Отправить пользователю <close class='fa fa-times' onclick="adoor('savetouser')"></close></top>
58+
<middle>
59+
<finder>
60+
<input type="text" name="username">
61+
<fing onclick='findUser()'>Искать</fing>
62+
</finder>
63+
64+
<information></information>
65+
</middle>
66+
</savetouser>
67+
5168
<backfon class='asett' onclick="adoor('asett')"></backfon>
5269
<asett>
5370
<top>Настройки <close class='fa fa-times' onclick="adoor('asett')"></close></top>
5471
<middle>
5572
<top>Видимые разделы</top>
5673
<pages>
57-
<page class='check'><input type="checkbox" name="-1" value="-1"> Популярное</page>
58-
<page class='check'><input type="checkbox" name="-1" value="1"> Стандартные</page>
59-
<page class='check'><input type="checkbox" name="-1" value="5"> Твич</page>
60-
<page class='check'><input type="checkbox" name="-1" value="6"> Разное</page>
61-
<page class='check'><input type="checkbox" name="-1" value="7"> Dota 2 анимированные</page>
62-
<page class='check'><input type="checkbox" name="-1" value="9"> Dota 2 герои</page>
63-
<page class='check'><input type="checkbox" name="-1" value="11"> Аниме</page>
64-
<page class='check'><input type="checkbox" name="-1" value="14"> Пепа</page>
65-
<page class='check'><input type="checkbox" name="-1" value="16"> Dota 2 предметы</page>
66-
<page class='check'><input type="checkbox" name="-1" value="17"> LoL</page>
67-
<page class='check'><input type="checkbox" name="-1" value="18"> Твич-герои</page>
74+
Для изменения отображения используется чекбокс (галочка рядом с пунктом), для изменения
75+
названия используется нажатие на название (изменяется как текстовое поле)<br>
76+
77+
<page class='check'>
78+
<input type="checkbox" value="-1">
79+
<input type='text' name="withoutfone" value=''>
80+
</page>
81+
<page class='check'>
82+
<input type="checkbox" value="1">
83+
<input type='text' name="withoutfone" value=''>
84+
</page>
85+
<page class='check'>
86+
<input type="checkbox" value="5">
87+
<input type='text' name="withoutfone" value=''>
88+
</page>
89+
<page class='check'>
90+
<input type="checkbox" value="6">
91+
<input type='text' name="withoutfone" value=''>
92+
</page>
93+
<page class='check'>
94+
<input type="checkbox" value="7">
95+
<input type='text' name="withoutfone" value=''>
96+
</page>
97+
<page class='check'>
98+
<input type="checkbox" value="9">
99+
<input type='text' name="withoutfone" value=''>
100+
</page>
101+
<page class='check'>
102+
<input type="checkbox" value="11">
103+
<input type='text' name="withoutfone" value=''>
104+
</page>
105+
<page class='check'>
106+
<input type="checkbox" value="14">
107+
<input type='text' name="withoutfone" value=''>
108+
</page>
109+
<page class='check'>
110+
<input type="checkbox" value="16">
111+
<input type='text' name="withoutfone" value=''>
112+
</page>
113+
<page class='check'>
114+
<input type="checkbox" value="17">
115+
<input type='text' name="withoutfone" value=''>
116+
</page>
117+
<page class='check'>
118+
<input type="checkbox" value="18">
119+
<input type='text' name="withoutfone" value=''>
120+
</page>
68121
</pages>
69122
</middle>
70123

0 commit comments

Comments
 (0)