DM TL improved

This commit is contained in:
Cutls 2019-03-16 19:06:03 +09:00
parent 8d4670d8d9
commit bacac4486b
12 changed files with 141 additions and 109 deletions

View File

@ -419,10 +419,6 @@ p:not(:last-child){
max-height: 190px;
overflow-y: scroll;
}
.u-url {
color: var(--color);
cursor: text;
}
.type-b{
display:none;
}

View File

@ -184,6 +184,7 @@ var lang={
"lang_parse_vote":"Voted",
"lang_parse_unvoted":"Show the result without voting",
"lang_parse_endedvote":"Expired",
"lang_parse_thread":"Show thread",
//misskey
"lang_misskeyparse_renote":"Repost",
"lang_misskeyparse_renoteqt":"Renote",

View File

@ -184,6 +184,7 @@ var lang={
"lang_parse_vote":"投票",
"lang_parse_unvoted":"結果だけ見る",
"lang_parse_endedvote":"終了済み",
"lang_parse_thread":"会話を表示",
//misskey
"lang_misskeyparse_renote":"再投稿",
"lang_misskeyparse_renoteqt":"引用",

View File

@ -1,6 +1,11 @@
//トゥートの詳細
function details(id, acct_id, tlid) {
$(".toot-reset").html(lang.lang_details_nodata);
function details(id, acct_id, tlid, mode) {
if(mode=="dm"){
$(".dm-hide").hide();
}else{
$(".dm-hide").show();
}
$(".toot-reset").html('<span class="no-data">'+lang.lang_details_nodata+'</span>');
var html = $("#timeline_"+tlid+" [toot-id=" + id + "]").html();
$("#toot-this").html(html);
$('#tootmodal').modal('open');
@ -149,6 +154,9 @@ function replyTL(id, acct_id) {
}
}else{
var templete = parse([json], '', acct_id,"","",mute);
if(templete!=""){
$("#toot-reply .no-data").hide();
}
$("#toot-reply").prepend(templete);
$("#toot-reply .hide").html(lang.lang_details_filtered);
$("#toot-reply .by_filter").css("display","block");
@ -211,6 +219,9 @@ function context(id, acct_id) {
var mute=[];
}
var templete = parse(json.descendants, '', acct_id,"","",mute);
if(templete!=""){
$("#toot-after .no-data").hide();
}
$("#toot-after").html(templete);
$("#toot-after .hide").html(lang.lang_details_filtered);
$("#toot-after .by_filter").css("display","block");
@ -262,6 +273,9 @@ function beforeToot(id, acct_id, domain) {
console.error(error);
}).then(function(json) {
var templete = parse(json, 'noauth', acct_id);
if(templete!=""){
$("#toot-before .no-data").hide();
}
$("#toot-before").html(templete);
jQuery("time.timeago").timeago();
});
@ -309,6 +323,9 @@ function userToot(id, acct_id, user) {
console.error(error);
}).then(function(json) {
var templete = parse(json, '', acct_id);
if(templete!=""){
$("#user-before .no-data").hide();
}
$("#user-before").html(templete);
jQuery("time.timeago").timeago();
});
@ -335,6 +352,9 @@ function faved(id, acct_id) {
console.error(error);
}).then(function(json) {
var templete = userparse(json, '', acct_id);
if(templete!=""){
$("#toot-fav .no-data").hide();
}
$("#toot-fav").html(templete);
});
}

View File

@ -16,7 +16,7 @@ function dm(acct_id, tlid, type,delc,voice) {
todo(error);
console.error(error);
}).then(function(json) {
var templete = dmParse(json, type, acct_id, tlid, "", mute);
var templete = '<div id="convList'+tlid+'">'+dmListParse(json, type, acct_id, tlid, "", mute)+'</div>';
localStorage.setItem("lastobj_"+ tlid,json[0].id)
$("#timeline_" + tlid).html(templete);
additional(acct_id, tlid);
@ -27,9 +27,37 @@ function dm(acct_id, tlid, type,delc,voice) {
});
}
function dmmore(tlid){
var multi = localStorage.getItem("column");
var obj = JSON.parse(multi);
var acct_id = obj[tlid].domain;
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_"+ acct_id + "_at");
var sid = $("#timeline_" + tlid + " .cvo").last().attr("unique-id");
var start = "https://" + domain + "/api/v1/conversations?max_id="+sid;
var type="dm";
fetch(start, {
method: 'GET',
headers: {
'content-type': 'application/json',
'Authorization': 'Bearer ' + at
},
}).then(function(response) {
return response.json();
}).catch(function(error) {
todo(error);
console.error(error);
}).then(function(json) {
var templete = '<div id="convList'+tlid+'">'+dmListParse(json, type, acct_id, tlid, "", mute)+'</div>';
$("#timeline_" + tlid).append(templete);
additional(acct_id, tlid);
jQuery("time.timeago").timeago();
moreloading=false;
})
}
//DMオブジェクトパーサー(トゥート)
function dmParse(obj, mix, acct_id, tlid, popup, mutefilter) {
console.log(obj);
function dmListParse(obj, mix, acct_id, tlid, popup, mutefilter) {
console.log(obj);
var templete = '';
if(obj[0]){
localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix'));
@ -172,6 +200,7 @@ function dmParse(obj, mix, acct_id, tlid, popup, mutefilter) {
var local = [];
var times=[];
Object.keys(obj).forEach(function(key) {
var conv_id=obj[key].id;
var toot = obj[key].last_status;
var dis_name=escapeHTML(toot.account.display_name);
if(toot.account.emojis){
@ -373,60 +402,6 @@ function dmParse(obj, mix, acct_id, tlid, popup, mutefilter) {
});
tags = '<div style="float:right">' + tags + '</div>';
}
//リプ数
if(toot.replies_count || toot.replies_count===0){
var replyct=toot.replies_count;
}else{
var replyct="";
}
//公開範囲を取得
var vis = "";
var visen = toot.visibility;
if (visen == "public") {
var vis =
'<i class="text-darken-3 material-icons gray sml vis-data pointer" title="'+lang.lang_parse_public+'('+lang.lang_parse_clickcopy+')" data-vis="public" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">public</i>';
var can_rt = "";
} else if (visen == "unlisted") {
var vis =
'<i class="text-darken-3 material-icons blue-text vis-data pointer" title="'+lang.lang_parse_unlisted+'('+lang.lang_parse_clickcopy+')" data-vis="unlisted" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">lock_open</i>';
var can_rt = "";
} else if (visen == "private") {
var vis =
'<i class="text-darken-3 material-icons orange-text vis-data pointer" title="'+lang.lang_parse_private+'('+lang.lang_parse_clickcopy+')" data-vis="private" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">lock</i>';
var can_rt = "hide";
} else if (visen == "direct") {
var vis =
'<i class="text-darken-3 material-icons red-text vis-data pointer" title="'+lang.lang_parse_direct+'('+lang.lang_parse_clickcopy+')" data-vis="direct" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">mail</i>';
var can_rt = "hide";
}
if (toot.account.acct == localStorage.getItem("user_" + acct_id)) {
var if_mine = "";
var mine_via="type-b";
} else {
var if_mine = "hide";
var mine_via="";
}
if (toot.favourited) {
var if_fav = " yellow-text";
var fav_app = "faved";
} else {
var if_fav = "";
var fav_app = "";
}
if (toot.reblogged) {
var if_rt = "teal-text";
var rt_app = "rted";
} else {
var if_rt = "";
var rt_app = "";
}
if (toot.pinned) {
var if_pin = "blue-text";
var pin_app = "pinned";
} else {
var if_pin = "";
var pin_app = "";
}
//アニメ再生
if (gif == "yes") {
var avatar = toot.account.avatar;
@ -467,6 +442,13 @@ function dmParse(obj, mix, acct_id, tlid, popup, mutefilter) {
}else{
var trans="";
}
if (toot.favourited) {
var if_fav = " yellow-text";
var fav_app = "faved";
} else {
var if_fav = "";
var fav_app = "";
}
//Cards
if (!card && toot.card) {
var cards=toot.card;
@ -508,7 +490,7 @@ function dmParse(obj, mix, acct_id, tlid, popup, mutefilter) {
}
}
templete = templete + '<div id="pub_' + toot.id + '" class="cvo ' +
boostback + ' ' + fav_app + ' ' + rt_app + ' ' + pin_app +
boostback + ' ' + fav_app +
' ' + hasmedia + '" toot-id="' + id + '" unique-id="' + uniqueid + '" data-medias="'+media_ids+' " unixtime="' + date(obj[
key].created_at, 'unix') + '" '+if_notf+' onclick="dmStatus()">' +
'<div class="area-notice"><span class="gray sharesta">' + notice + home +
@ -532,7 +514,8 @@ function dmParse(obj, mix, acct_id, tlid, popup, mutefilter) {
'</span><span class="toot ' + spoiler + '">' + content +
'</span>' +
'' + viewer + '' +
'</div>'+
'<br><a onclick="details(\'' + toot.id + '\',' + acct_id +
',\''+tlid+'\',\'dm\')" class="pointer waves-effect">'+lang.lang_parse_thread+'</a></div>'+
'<div class="area-vis"></div>'+
'</div></div>';
});

View File

@ -54,13 +54,12 @@ function mixtl(acct_id, tlid, type,delc,voice) {
var mute=[];
}
if(type=="integrated"){
templete = templete+parse([timeline[key]], '', acct_id, tlid, "", mute);
templete = templete+parse([timeline[key]], '', acct_id, tlid, "", mute, "mix");
}else if(type=="plus"){
if(timeline[key].account.acct==timeline[key].account.username){
templete = templete+parse([timeline[key]], '', acct_id, tlid, "", mute);
templete = templete+parse([timeline[key]], '', acct_id, tlid, "", mute, "plus");
}
}
}
}
@ -124,7 +123,7 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) {
if(voice){
say(obj.content)
}
var templete = parse([obj], type, acct_id, tlid,"",mute);
var templete = parse([obj], type, acct_id, tlid,"",mute, "mix");
var pool = localStorage.getItem("pool_" + tlid);
if (pool) {
pool = templete + pool;
@ -168,7 +167,7 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) {
var templete = parse([obj], '', acct_id, tlid);
}else if(TLtype=="plus"){
if(obj.account.acct==obj.account.username){
var templete = parse([obj], '', acct_id, tlid,"",mute);
var templete = parse([obj], '', acct_id, tlid,"",mute, "mix");
}else{
var templete="";
}
@ -177,7 +176,7 @@ function mixre(acct_id, tlid, TLtype, mute,delc,voice,mode) {
if(voice){
say(obj.content)
}
var templete = parse([obj], type, acct_id, tlid,"",mute);
var templete = parse([obj], type, acct_id, tlid,"",mute,"mix");
var pool = localStorage.getItem("pool_" + tlid);
if (pool) {
pool = templete + pool;
@ -291,10 +290,10 @@ function mixmore(tlid,type) {
var mute=[];
}
if(type=="integrated"){
templete = templete+parse([timeline[key]], '', acct_id, tlid,"",mute);
templete = templete+parse([timeline[key]], '', acct_id, tlid,"",mute,"mix");
}else if(type=="plus"){
if(timeline[key].account.acct==timeline[key].account.username){
templete = templete+parse([timeline[key]], '', acct_id, tlid,"",mute);
templete = templete+parse([timeline[key]], '', acct_id, tlid,"",mute,"mix");
}
}
}

View File

@ -1,5 +1,5 @@
//オブジェクトパーサー(トゥート)
function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var templete = '';
if(obj[0]){
if(tlid===1){
@ -145,6 +145,16 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
var noauth="";
var antinoauth="hide";
}
//DMTL
if(type=="dm"){
var dmHide="hide";
var antidmHide="";
}else{
var dmHide="";
var antidmHide="hide";
}
//マウスオーバーのみ
var mouseover=localStorage.getItem("mouseover");
if(!mouseover){
@ -163,6 +173,10 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
var times=[];
Object.keys(obj).forEach(function(key) {
var toot = obj[key];
if(type=="dm"){
var dmid=toot.id;
toot=toot.last_status;
}
var dis_name=escapeHTML(toot.account.display_name);
if(toot.account.emojis){
var actemojick = toot.account.emojis[0];
@ -745,6 +759,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
'<div class="area-actions '+mouseover+'">' +
'<div class="action">'+vis+'</div>'+
'<div class="action '+antinoauth+'"><a onclick="detEx(\''+toot.url+'\',\'main\')" class="waves-effect waves-dark details" style="padding:0">'+lang.lang_parse_det+'</a></div>' +
'<div class="action '+antidmHide+'"><a onclick="details(\'' + toot.id + '\',' + acct_id +',\''+tlid+'\',\'normal\')" class="waves-effect waves-dark details" style="padding:0">'+lang.lang_parse_thread+'</a></div>' +
'<div class="action '+disp["re"]+' '+noauth+'"><a onclick="re(\'' + toot.id +
'\',\'' + to_mention + '\',' +
acct_id + ',\''+visen+
@ -777,7 +792,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
'</span>'+
'</div><div class="area-side '+mouseover+'"><div class="action ' + if_mine + ' '+noauth+'"><a onclick="toggleAction(\'' + toot.id + '\',\''+tlid+'\',\''+acct_id+'\')" class="waves-effect waves-dark btn-flat" style="padding:0"><i class="text-darken-3 material-icons act-icon">expand_more</i></a></div>' +
'<div class="action '+noauth+'"><a onclick="details(\'' + toot.id + '\',' + acct_id +
',\''+tlid+'\')" class="waves-effect waves-dark btn-flat details" style="padding:0"><i class="text-darken-3 material-icons">more_vert</i></a></div>' +
',\''+tlid+'\',\'normal\')" class="waves-effect waves-dark btn-flat details '+dmHide+'" style="padding:0"><i class="text-darken-3 material-icons">more_vert</i></a></div>' +
'</div></div>' +
'</div></div>';
});

View File

@ -58,7 +58,7 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
dm(acct_id, tlid, "plus",delc,voice);
$("#notice_" + tlid).text(cap(type, data, acct_id) + "(" + localStorage.getItem(
"user_" + acct_id) + "@" + domain + ")");
$("#notice_icon_" + tlid).text("notifications");
$("#notice_icon_" + tlid).text("mail_outline");
return;
}*/
localStorage.setItem("now", type);
@ -113,7 +113,11 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
url=url+"local=true";
}
}
var start = "https://" + domain + "/api/v1/timelines/" + url;
if(type=="dm"){
var start = "https://" + domain + "/api/v1/conversations";
}else{
var start = "https://" + domain + "/api/v1/timelines/" + url;
}
var method="GET";
var i={
method: method,
@ -138,7 +142,7 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
if(misskey){
var templete = misskeyParse(json, type, acct_id, tlid, "", mute);
}else{
var templete = parse(json, type, acct_id, tlid, "", mute);
var templete = parse(json, type, acct_id, tlid, "", mute, type);
localStorage.setItem("lastobj_"+ tlid,json[0].id)
}
$("#timeline_" + tlid).html(templete);
@ -288,7 +292,7 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
if(voice){
say(obj.content)
}
var templete = parse([obj], type, acct_id, tlid,"",mute);
var templete = parse([obj], type, acct_id, tlid,"",mute, type);
if ($("timeline_box_"+tlid+"_box .tl-box").scrollTop() === 0) {
$("#timeline_" + tlid).prepend(templete);
}else{
@ -427,6 +431,10 @@ function moreload(type, tlid) {
var misskey=false;
var start = "https://" + domain + "/api/v1/timelines/" + com(type,data) +
"max_id=" + sid;
if(type=="dm"){
var start = "https://" + domain + "/api/v1/conversations?" +
"max_id=" + sid;
}
var method="GET";
var i={
method: method,
@ -441,10 +449,11 @@ function moreload(type, tlid) {
todo(error);
console.error(error);
}).then(function(json) {
console.log(json);
if(misskey){
var templete = misskeyParse(json, '', acct_id, tlid,"",mute);
}else{
var templete = parse(json, '', acct_id, tlid,"",mute);
var templete = parse(json, '', acct_id, tlid,"",mute, type);
}
$("#timeline_" + tlid).append(templete);
additional(acct_id, tlid);

View File

@ -307,14 +307,14 @@ var tlid=0;
<div class="collapsible-body toot-reset" id="toot-after">
</div>
</li>
<li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">people_outline</i>Local TL before this toot
</div>
<div class="collapsible-body toot-reset" id="toot-before">
</div>
</li>
<li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">person_outline</i>User TL before this toot
</div>
@ -328,7 +328,7 @@ var tlid=0;
<div class="collapsible-body toot-reset" id="toot-fav">
</div>
</li>
<li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="text-darken-3 fa fa-retweet"></i>People who boosted it
</div>
@ -336,6 +336,7 @@ var tlid=0;
</div>
</li>
</ul>
<div class="dm-hide">
Use other account(<i class="fa fa-retweet"></i>/<i class="fa fa-star"></i>:unfav and unBT are disabled.)<br>
<div class="row">
<div class="col s6">
@ -356,11 +357,12 @@ var tlid=0;
<div id="toot-after">
</div>
</div>
</div>
<div class="modal-footer">
<a href="#!" class="waves-effect waves-green btn-flat" onclick="brws()">Open in browser</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="shot()">Take a screenshot</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy()">Copy URL of this toot</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy('emb')">Embed</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="brws()">Open in browser</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="shot()">Take a screenshot</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy()">Copy URL of this toot</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy('emb')">Embed</a>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
</div>
</div>

View File

@ -307,14 +307,14 @@ var tlid=0;
<div class="collapsible-body toot-reset" id="toot-after">
</div>
</li>
<li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">people_outline</i>これより前のLocal TL(エアリプソース確認)
</div>
<div class="collapsible-body toot-reset" id="toot-before">
</div>
</li>
<li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">person_outline</i>これより前のユーザーTL(BTソース確認)
</div>
@ -328,7 +328,7 @@ var tlid=0;
<div class="collapsible-body toot-reset" id="toot-fav">
</div>
</li>
<li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="text-darken-3 fa fa-retweet"></i>このトゥートをブーストした人
</div>
@ -336,6 +336,7 @@ var tlid=0;
</div>
</li>
</ul>
<div class="dm-hide">
他のアカウントを使用(<i class="fa fa-retweet"></i>/<i class="fa fa-star"></i>の解除はできません)<br>
<div class="row">
<div class="col s6">
@ -356,11 +357,12 @@ var tlid=0;
<div id="toot-after">
</div>
</div>
</div>
<div class="modal-footer">
<a href="#!" class="waves-effect waves-green btn-flat" onclick="brws()">ブラウザで開く</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="shot()">スクリーンショット</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy()">URLをコピー</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy('emb')">埋め込む</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="brws()">ブラウザで開く</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="shot()">スクリーンショット</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy()">URLをコピー</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy('emb')">埋め込む</a>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
</div>
</div>

View File

@ -307,14 +307,14 @@ var tlid=0;
<div class="collapsible-body toot-reset" id="toot-after">
</div>
</li>
<li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">people_outline</i>{{beforeLTL}}
</div>
<div class="collapsible-body toot-reset" id="toot-before">
</div>
</li>
<li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">person_outline</i>{{beforeUTL}}
</div>
@ -328,7 +328,7 @@ var tlid=0;
<div class="collapsible-body toot-reset" id="toot-fav">
</div>
</li>
<li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="text-darken-3 fa fa-retweet"></i>{{btedPeople}}
</div>
@ -336,6 +336,7 @@ var tlid=0;
</div>
</li>
</ul>
<div class="dm-hide">
{{useOtherAcct1}}(<i class="fa fa-retweet"></i>/<i class="fa fa-star"></i>{{useOtherAcct2}})<br>
<div class="row">
<div class="col s6">
@ -356,11 +357,12 @@ var tlid=0;
<div id="toot-after">
</div>
</div>
</div>
<div class="modal-footer">
<a href="#!" class="waves-effect waves-green btn-flat" onclick="brws()">{{openBrowser}}</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="shot()">{{screenshot}}</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy()">{{copyURL}}</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy('emb')">{{embed}}</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="brws()">{{openBrowser}}</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="shot()">{{screenshot}}</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy()">{{copyURL}}</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy('emb')">{{embed}}</a>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">{{close}}</a>
</div>
</div>

View File

@ -307,14 +307,14 @@ var tlid=0;
<div class="collapsible-body toot-reset" id="toot-after">
</div>
</li>
<li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">people_outline</i>crwdns426:0crwdne426:0
</div>
<div class="collapsible-body toot-reset" id="toot-before">
</div>
</li>
<li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">person_outline</i>crwdns427:0crwdne427:0
</div>
@ -328,7 +328,7 @@ var tlid=0;
<div class="collapsible-body toot-reset" id="toot-fav">
</div>
</li>
<li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="text-darken-3 fa fa-retweet"></i>crwdns429:0crwdne429:0
</div>
@ -336,6 +336,7 @@ var tlid=0;
</div>
</li>
</ul>
<div class="dm-hide">
crwdns430:0crwdne430:0(<i class="fa fa-retweet"></i>/<i class="fa fa-star"></i>crwdns431:0crwdne431:0)<br>
<div class="row">
<div class="col s6">
@ -356,11 +357,12 @@ var tlid=0;
<div id="toot-after">
</div>
</div>
</div>
<div class="modal-footer">
<a href="#!" class="waves-effect waves-green btn-flat" onclick="brws()">crwdns435:0crwdne435:0</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="shot()">crwdns436:0crwdne436:0</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy()">crwdns437:0crwdne437:0</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy('emb')">crwdns438:0crwdne438:0</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="brws()">crwdns435:0crwdne435:0</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="shot()">crwdns436:0crwdne436:0</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy()">crwdns437:0crwdne437:0</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy('emb')">crwdns438:0crwdne438:0</a>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">crwdns385:0crwdne385:0</a>
</div>
</div>