TheDesk modify
This commit is contained in:
322
app/js/userdata/his-data.js
Normal file
322
app/js/userdata/his-data.js
Normal file
@@ -0,0 +1,322 @@
|
||||
//ユーザーデータ表示
|
||||
//タイムライン
|
||||
function utl(user, more, acct_id) {
|
||||
if (!acct_id) {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem(domain + "_at");
|
||||
if (user == "--now") {
|
||||
var user = $('#his-data').attr("user-id");
|
||||
}
|
||||
if (more) {
|
||||
var sid = $("#his-tl .cvo").last().attr("toot-id");
|
||||
var plus = "?max_id=" + sid;
|
||||
} else {
|
||||
var plus = "";
|
||||
}
|
||||
var start = "https://" + domain + "/api/v1/accounts/" + user + "/statuses" +
|
||||
plus
|
||||
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 = parse(json, '', acct_id);
|
||||
var height = $("#his-data-content").height() - 245;
|
||||
$(".tab-content").css('height', height);
|
||||
if (more) {
|
||||
$("#his-tl-contents").append(templete);
|
||||
} else {
|
||||
$("#his-tl-contents").html(templete);
|
||||
}
|
||||
jQuery("time.timeago").timeago();
|
||||
});
|
||||
}
|
||||
|
||||
//フォローリスト
|
||||
function flw(user, more, acct_id) {
|
||||
if (!acct_id) {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem(domain + "_at");
|
||||
if (user == "--now") {
|
||||
var user = $('#his-data').attr("user-id");
|
||||
}
|
||||
if (more) {
|
||||
var sid = $("#his-follow-list .cvo").last().attr("user-id");
|
||||
var plus = "?max_id=" + sid;
|
||||
} else {
|
||||
var plus = "";
|
||||
}
|
||||
var start = "https://" + domain + "/api/v1/accounts/" + user + "/following" +
|
||||
plus
|
||||
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 = userparse(json);
|
||||
if (more) {
|
||||
$("#his-follow-list-contents").append(templete);
|
||||
} else {
|
||||
$("#his-follow-list-contents").html(templete);
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//フォロワーリスト
|
||||
function fer(user, more, acct_id) {
|
||||
if (!acct_id) {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem(domain + "_at");
|
||||
if (user == "--now") {
|
||||
var user = $('#his-data').attr("user-id");
|
||||
}
|
||||
if (more) {
|
||||
var sid = $("#his-follower-list .cvo").last().attr("user-id");
|
||||
var plus = "?max_id=" + sid;
|
||||
} else {
|
||||
var plus = "";
|
||||
}
|
||||
var start = "https://" + domain + "/api/v1/accounts/" + user + "/followers" +
|
||||
plus;
|
||||
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 = userparse(json);
|
||||
if (more) {
|
||||
$("#his-follower-list-contents").append(templete);
|
||||
} else {
|
||||
$("#his-follower-list-contents").html(templete);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//以下自分のみ
|
||||
//お気に入り一覧
|
||||
function showFav(more, acct_id) {
|
||||
if (!acct_id) {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem(domain + "_at");
|
||||
if (more) {
|
||||
var sid = $("#his-fav-list .cvo").last().attr("toot-id");
|
||||
var plus = "?max_id=" + sid;
|
||||
} else {
|
||||
var plus = "";
|
||||
}
|
||||
var start = "https://" + domain + "/api/v1/favourites" + plus
|
||||
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 = parse(json);
|
||||
if (more) {
|
||||
$("#his-fav-list-contents").append(templete);
|
||||
} else {
|
||||
$("#his-fav-list-contents").html(templete);
|
||||
}
|
||||
jQuery("time.timeago").timeago();
|
||||
});
|
||||
}
|
||||
|
||||
//ミュートリスト
|
||||
function showMut(more, acct_id) {
|
||||
if (!acct_id) {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem(domain + "_at");
|
||||
if (more) {
|
||||
var sid = $("#his-muting-list .cvo").last().attr("user-id");
|
||||
var plus = "?max_id=" + sid;
|
||||
} else {
|
||||
var plus = "";
|
||||
}
|
||||
var start = "https://" + domain + "/api/v1/mutes" + plus
|
||||
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 = userparse(json);
|
||||
if (more) {
|
||||
$("#his-muting-list-contents").append(templete);
|
||||
} else {
|
||||
$("#his-muting-list-contents").html(templete);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//ブロックリスト
|
||||
function showBlo(more, acct_id) {
|
||||
if (!acct_id) {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem(domain + "_at");
|
||||
if (more) {
|
||||
var sid = $("#his-blocking-list .cvo").last().attr("user-id");
|
||||
var plus = "?max_id=" + sid;
|
||||
} else {
|
||||
var plus = "";
|
||||
}
|
||||
var start = "https://" + domain + "/api/v1/blocks" + plus
|
||||
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 = userparse(json);
|
||||
if (more) {
|
||||
$("#his-blocking-list-contents").append(templete);
|
||||
} else {
|
||||
$("#his-blocking-list-contents").html(templete);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//フォロリクリスト
|
||||
function showReq(more, acct_id) {
|
||||
if (!acct_id) {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem(domain + "_at");
|
||||
if (more) {
|
||||
var sid = $("#his-request-list .cvo").last().attr("user-id");
|
||||
var plus = "?max_id=" + sid;
|
||||
} else {
|
||||
var plus = "";
|
||||
}
|
||||
var start = "https://" + domain + "/api/v1/follow_requests" + plus
|
||||
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 = userparse(json, 'true');
|
||||
if (more) {
|
||||
$("#his-request-list-contents").append(templete);
|
||||
} else {
|
||||
$("#his-request-list-contents").html(templete);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//ドメインブロックリスト
|
||||
function showDom(more, acct_id) {
|
||||
if (!acct_id) {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem(domain + "_at");
|
||||
if (more) {
|
||||
var sid = $("#his-domain-list .cvo").last().attr("user-id");
|
||||
var plus = "?max_id=" + sid;
|
||||
} else {
|
||||
var plus = "";
|
||||
}
|
||||
var start = "https://" + domain + "/api/v1/domain_blocks" + plus
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + at
|
||||
},
|
||||
//body: JSON.stringify({})
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
var templete = "";
|
||||
Object.keys(json).forEach(function(key) {
|
||||
var domain = json[key];
|
||||
templete = templete + domain +
|
||||
'<i class="material-icons gray pointer" onclick="domainblock(\'' +
|
||||
domain + '\',\'DELETE\')">cancel</i>' +
|
||||
'<div class="divider"></div>';
|
||||
});
|
||||
if (more) {
|
||||
$("#his-domain-list-contents").append(templete);
|
||||
} else {
|
||||
$("#his-domain-list-contents").html(templete);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//プロフ編集
|
||||
function profeditShow(json) {
|
||||
$("#his-name-val").val(json.display_name);
|
||||
var des = json.note;
|
||||
des = des.replace(/<br \/>/g, "\n");
|
||||
des = des.replace("<p>", "");
|
||||
des = des.replace("</p>", "");
|
||||
$("#his-des-val").val(des);
|
||||
}
|
72
app/js/userdata/prof-edit.js
Normal file
72
app/js/userdata/prof-edit.js
Normal file
@@ -0,0 +1,72 @@
|
||||
//プロフ編集
|
||||
//文字系
|
||||
function profedit() {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
todo("Updating...");
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem(domain + "_at");
|
||||
var start = "https://" + domain + "/api/v1/accounts/update_credentials";
|
||||
var name = $("#his-name-val").val();
|
||||
var des = $("#his-des-val").val();
|
||||
fetch(start, {
|
||||
method: 'PATCH',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + at
|
||||
},
|
||||
body: JSON.stringify({
|
||||
display_name: name,
|
||||
note: des
|
||||
})
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
console.log(json);
|
||||
getdata();
|
||||
todc();
|
||||
});
|
||||
}
|
||||
|
||||
//画像系
|
||||
function imgChange(imgfile, target) {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
todo("アップロードしています")
|
||||
if (!imgfile.files.length) {
|
||||
console.log("No Img");
|
||||
return;
|
||||
}
|
||||
var file = imgfile.files[0];
|
||||
var fr = new FileReader();
|
||||
fr.onload = function(evt) {
|
||||
var b64 = this.result;
|
||||
var blob = toBlob(b64, 'image/png');
|
||||
var fd = new FormData();
|
||||
fd.append(target, blob);
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem(domain + "_at");
|
||||
var start = "https://" + domain + "/api/v1/accounts/update_credentials";
|
||||
fetch(start, {
|
||||
method: 'PATCH',
|
||||
headers: {
|
||||
'Authorization': 'Bearer ' + at
|
||||
},
|
||||
body: fd
|
||||
}).then(function(response) {
|
||||
console.log(response)
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
console.log(json);
|
||||
getdata();
|
||||
todc();
|
||||
});
|
||||
}
|
||||
$("#prof-change").html($("#prof-change").html());
|
||||
$("#header-change").html($("#header-change").html());
|
||||
fr.readAsDataURL(file);
|
||||
}
|
150
app/js/userdata/showOnTL.js
Normal file
150
app/js/userdata/showOnTL.js
Normal file
@@ -0,0 +1,150 @@
|
||||
//ユーザーデータ表示
|
||||
function udg(user, acct_id) {
|
||||
if (!user) {
|
||||
user = localStorage.getItem("user-id");
|
||||
}
|
||||
todo("User Data Loading...");
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem(domain + "_at");
|
||||
var start = "https://" + domain + "/api/v1/accounts/" + user;
|
||||
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) {
|
||||
//moved設定時
|
||||
if (json.moved) {
|
||||
Materialize.toast(
|
||||
'このアカウントは移行します<button class="btn-flat toast-action" onclick="udg(\"' +
|
||||
json.moved + '\")">移行先を見る</button>', 4000)
|
||||
} else {
|
||||
$('#his-data').attr("user-id", user);
|
||||
$('#his-data').attr("use-acct", acct_id);
|
||||
$("#his-name").text(json.display_name);
|
||||
$("#his-acct").text(json.acct);
|
||||
$("#his-prof").attr("src", json.avatar);
|
||||
$('#his-data').css('background-image', 'url(' + json.header + ')');
|
||||
$("#his-sta").text(json.statuses_count);
|
||||
$("#his-follow").text(json.following_count);
|
||||
$("#his-follower").text(json.followers_count);
|
||||
$("#his-des").html(json.note);
|
||||
$('#his-data').modal('open');
|
||||
utl(json.id, '', acct_id);
|
||||
flw(json.id, '', acct_id);
|
||||
fer(json.id, '', acct_id);
|
||||
$('ul.tabs').tabs();
|
||||
$('#his-data').css('background-size', 'cover');
|
||||
$("#his-since").text(crat(json.created_at));
|
||||
}
|
||||
//自分の時
|
||||
if (json.acct == localStorage.getItem("user")) {
|
||||
$("#his-follow-btn").hide();
|
||||
$("#his-block-btn").hide();
|
||||
$("#his-mute-btn").hide();
|
||||
$("#his-notf-btn").hide();
|
||||
$("#his-domain-btn").hide();
|
||||
$("#my-data-nav").show();
|
||||
$("#his-data-nav").hide();
|
||||
$('ul.tabs').tabs('select_tab', 'his-tl');
|
||||
showFav('', acct_id);
|
||||
showBlo('', acct_id);
|
||||
showMut('', acct_id);
|
||||
showDom('', acct_id);
|
||||
showReq('', acct_id);
|
||||
profeditShow(json);
|
||||
} else {
|
||||
relations(user, acct_id);
|
||||
}
|
||||
todc();
|
||||
});
|
||||
}
|
||||
|
||||
//FF関係取得
|
||||
function relations(user, acct_id) {
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem(domain + "_at");
|
||||
var start = "https://" + domain + "/api/v1/accounts/relationships?id=" + user;
|
||||
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 json = json[0];
|
||||
console.log(json);
|
||||
if (json.following) {
|
||||
//自分がフォローしている
|
||||
$("#his-data").addClass("following");
|
||||
$("#his-follow-btn").text("フォロー解除");
|
||||
}
|
||||
if (json.followed_by) {
|
||||
//フォローされてる
|
||||
$("#his-relation").text("フォローされています");
|
||||
}
|
||||
if (json.blocking) {
|
||||
$("#his-data").addClass("blocking");
|
||||
$("#his-block-btn").text("ブロック解除");
|
||||
}
|
||||
if (json.muting) {
|
||||
$("#his-data").addClass("muting");
|
||||
$("#his-mute-btn").text("ミュート解除");
|
||||
}
|
||||
if (json.muting_notifications) {
|
||||
$("#his-data").addClass("mutingNotf");
|
||||
$("#his-notf-btn").text("通知ミュート解除");
|
||||
}
|
||||
if (json.domain_blocking) {
|
||||
$("#his-data").addClass("blockingDom");
|
||||
$("#his-domain-btn").text("ドメインブロック解除");
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//オールリセット
|
||||
function hisclose() {
|
||||
$('#his-data').modal('close');
|
||||
$("#his-name").text("Loading");
|
||||
$("#his-acct").text("");
|
||||
$("#his-prof").attr("src", "./img/loading.svg");
|
||||
$('#his-data').css('background-image', 'url(./img/loading.svg)');
|
||||
$("#his-sta").text("");
|
||||
$("#his-follow").text("");
|
||||
$("#his-follower").text("");
|
||||
$("#his-des").html("");
|
||||
$('#his-data').css('background-size', 'cover');
|
||||
$("#his-since").text("");
|
||||
$("#his-data").removeClass("following");
|
||||
$("#his-data").removeClass("muting");
|
||||
$("#his-data").removeClass("blocking");
|
||||
$("#his-data").removeClass("mutingNotf");
|
||||
$("#his-data").removeClass("blockingDom");
|
||||
$("#his-follow-btn").show();
|
||||
$("#his-block-btn").show();
|
||||
$("#his-mute-btn").show();
|
||||
$("#his-notf-btn").show();
|
||||
$("#his-domain-btn").show();
|
||||
$("#his-follow-btn").text("フォロー");
|
||||
$("#his-mute-btn").text("ミュート");
|
||||
$("#his-block-btn").text("ブロック");
|
||||
$("#his-notf-btn").text("通知ミュート");
|
||||
$("#his-domain-btn").text("ドメインブロック");
|
||||
$("#his-relation").text("");
|
||||
$("#my-data-nav").hide();
|
||||
$("#his-data-nav").show();
|
||||
$(".cont-series").html("");
|
||||
$("#domainblock").val("");
|
||||
}
|
Reference in New Issue
Block a user