From a0544e21e30bf026edb69019bd475a410abfbab9 Mon Sep 17 00:00:00 2001 From: Cutls Date: Fri, 30 Aug 2019 01:46:04 +0900 Subject: [PATCH] Add: directory --- app/js/login/login.js | 1 + app/js/tl/directory.js | 69 ++++++++++++++++++++++++++++ app/js/tl/parse.js | 16 +++++-- app/view/make/index.sample.html | 49 +++++++++++++++++--- app/view/make/language/en/index.json | 7 ++- app/view/make/language/ja/index.json | 7 ++- 6 files changed, 137 insertions(+), 12 deletions(-) create mode 100644 app/js/tl/directory.js diff --git a/app/js/login/login.js b/app/js/login/login.js index dbbb9b7d..5ae36bc6 100644 --- a/app/js/login/login.js +++ b/app/js/login/login.js @@ -489,6 +489,7 @@ function multiSelector(parseC) { }); $("#src-acct-sel").append(''); $("#add-acct-sel").append(''); + $("#dir-acct-sel").append(''); } $('select').formSelect(); if(!parseC){ diff --git a/app/js/tl/directory.js b/app/js/tl/directory.js new file mode 100644 index 00000000..c5fee767 --- /dev/null +++ b/app/js/tl/directory.js @@ -0,0 +1,69 @@ +//ディレクトリ +//ディレクトリトグル +function dirMenu() { + $("#dir-contents").html(""); + directory(); + $("#left-menu div").removeClass("active"); + $("#dirMenu").addClass("active"); + $(".menu-content").addClass("hide"); + $("#dir-box").removeClass("hide"); +} +function dirselCk() { + var acct = $("#dir-acct-sel").val(); + if (acct == "noauth") { + $("#dirNoAuth").removeClass("hide"); + } else { + $("#dirNoAuth").addClass("hide"); + directory(); + } +} +function directory(isMore) { + var order = $("[name=sort]:checked").val() + if (!order) { + order = "active" + } + var local_only = $("#local_only:checked").val() + if (local_only) { + local_only = "true" + } else { + local_only = "false" + } + var acct_id = $("#dir-acct-sel").val(); + if (acct_id == "noauth") { + var domain = $("#dirNoAuth-url").val(); + var at = ""; + } else { + var domain = localStorage.getItem("domain_" + acct_id); + var at = localStorage.getItem("acct_" + acct_id + "_at"); + } + if (isMore) { + var addOffset = $("#dir-contents .cvo").length + } else { + var addOffset = 0 + $("#dir-contents").html(""); + } + var start = "https://" + domain + "/api/v1/directory?order=" + order + "&local=" + local_only + "&offset=" + addOffset + console.log(start) + 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) { + if (json) { + $("#moreDir").removeClass("disabled") + var html = userparse(json, null, acct_id, "dir", null) + $("#dir-contents").append(html) + jQuery("time.timeago").timeago(); + } else { + $("#moreDir").addClass("disabled") + } + + }); +} \ No newline at end of file diff --git a/app/js/tl/parse.js b/app/js/tl/parse.js index 96fad252..203be604 100644 --- a/app/js/tl/parse.js +++ b/app/js/tl/parse.js @@ -1014,12 +1014,21 @@ function userparse(obj, auth, acct_id, tlid, popup) { } else { var avatar = "../../img/missing.svg"; } - + if(tlid == "dir" && acct_id == "noauth"){ + var udg ='' + }else{ + var udg ='' + } + if(tlid == "dir"){ + var latest = date(toot.last_status_at, "relative"); + var authhtml = '
Last: ' + latest + + '
'; + } templete = templete + '
' + notftext + - '
' + '
' + @@ -1033,7 +1042,6 @@ function userparse(obj, auth, acct_id, tlid, popup) { '
Followers:' + toot.followers_count + '
' + authhtml + '
' + - '
' + ''; } diff --git a/app/view/make/index.sample.html b/app/view/make/index.sample.html index a91e82a1..85e202bb 100644 --- a/app/view/make/index.sample.html +++ b/app/view/make/index.sample.html @@ -6,6 +6,7 @@ + @@ -464,7 +465,8 @@
- timeline@@timeline@@ people→@@follow@@ @@ -472,7 +474,8 @@ class="material-icons">people←@@follower@@ list@@list@@ - star@@favRegist@@ more_vert@@more@@ @@ -505,8 +508,8 @@ class="material-icons">account_box@@operateOtherAcct@@
@@ -606,7 +609,8 @@ Powered by Mastodon User Matching
- +
@@blocked@@
@@ -747,6 +751,8 @@ class="material-icons">search@@search@@
view_headline@@list@@
+
recent_actors@@directory@@
filter_list@@filter@@
+ +