TheDesk Riina (ver.5)

This commit is contained in:
cutls 2018-02-25 00:59:53 +09:00
parent 467d2559dc
commit 5624266f30
18 changed files with 424 additions and 174 deletions

View File

@ -1,19 +1,17 @@
## For Markdown-supporting Instances ## For Markdown-supporting Instances
[TheDesk](https://thedesk.top) :thedesk: Riina (ver.4) [TheDesk](https://thedesk.top) :thedesk: Riina (ver.5)
・返信時,画像添付時の挙動修正。 ・デザイン修正
・トゥートUI変更。 ・コンパクトな設定画面
・自動折りたたみ機能の発生条件を追加。文字数でも制限をかけられます。 ・ちょっとしたアニメーション
・設定画面UI変更。 ・バグ修正
・トゥートボックスをデフォルトで最小化する設定。
:github: [cutls/TheDesk](https://github.com/cutls/TheDesk) #Desk #DeskUpdate :github: [cutls/TheDesk](https://github.com/cutls/TheDesk) #Desk #DeskUpdate
## For Vanilla Instances ## For Vanilla Instances
WindowsクライアントTheDesk Riina (ver.4)リリース WindowsクライアントTheDesk Riina (ver.5)リリース
・返信時,画像添付時の挙動修正。 ・デザイン修正
・トゥートUI変更。 ・コンパクトな設定画面
・自動折りたたみ機能の発生条件を追加。文字数でも制限をかけられます。 ・ちょっとしたアニメーション
・設定画面UI変更。 ・バグ修正
・トゥートボックスをデフォルトで最小化する設定。
https://thedesk.top https://thedesk.top

View File

@ -18,7 +18,6 @@ option {
} }
#mainView { #mainView {
padding: 10px; padding: 10px;
padding-top: 50px;
} }
#message { #message {
display: none; display: none;
@ -138,6 +137,27 @@ blockquote:before, .quote:before {
font-family:'Yanone Kaffeesatz' font-family:'Yanone Kaffeesatz'
} }
@media only screen and (min-width: 993px){
#toast-container {
top:auto;
right:auto;
bottom: 5%;
left: 4%;
max-width: 86%;
}
}
.show{
animation: show 0.2s linear 0s;
}
@keyframes show{
from{
opacity: 0;
}
to{
opacity: 1;
}
}
/*black theme*/ /*black theme*/
.blacktheme body { .blacktheme body {
color: white; color: white;

View File

@ -148,11 +148,48 @@ p {
.notice-box { .notice-box {
top: 0; top: 0;
background-color:white; background-color:white;
display: inline-block;
position: relative; position: relative;
margin-right: 10px; margin-right: 10px;
width:100%; width:100%;
min-height:60px;
z-index:1000; z-index:1000;
padding:5px;
display: grid;
grid-template-columns: 40px 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: 30px 30px;
grid-template-areas: 'notice notice_name notice_name notice_name notice_name notice_name' 'notice a1 a2 a3 a4 a5' 'notf-box notf-box notf-box notf-box notf-box notf-box';
}
.area-notice {
grid-area: notice;
}
.area-notice_name {
grid-area: notice_name;
}
.area-notice_acct {
grid-area: notice_acct;
}
.area-a1 {
grid-area: a1;
}
.area-a2 {
grid-area: a2;
}
.area-a3 {
grid-area: a3;
}
.area-a4 {
grid-area: a4;
}
.area-a5 {
grid-area: a5;
} }
.tl-title { .tl-title {
font-family: Open Sans; font-family: Open Sans;
@ -184,11 +221,13 @@ p {
max-height: 500px; max-height: 500px;
} }
.notf-indv-box { .notf-indv-box {
width:100%;
min-height: 100px; min-height: 100px;
max-height: 400px; max-height: 400px;
overflow-y: scroll; overflow-y: scroll;
overflow-x: hidden; overflow-x: hidden;
border: thin solid gray; border: thin solid gray;
grid-area: notf-box;
} }
#src-contents { #src-contents {
min-height: 100px; min-height: 100px;

122
app/img/desk_full.svg Normal file
View File

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg"
width="7.11022in" height="7.11022in"
viewBox="0 0 512 512">
<path id="選択範囲 #1"
fill="white" stroke="white" stroke-width="1"
d="M 96.00,16.00
C 99.85,16.01 102.39,15.12 104.00,19.00
104.00,19.00 97.00,19.00 97.00,19.00
97.00,19.00 108.00,22.07 108.00,22.07
108.00,22.07 144.00,43.08 144.00,43.08
144.00,43.08 181.83,64.31 181.83,64.31
181.83,64.31 223.00,88.26 223.00,88.26
223.00,88.26 247.00,102.22 247.00,102.22
247.00,102.22 257.00,107.00 257.00,107.00
260.09,110.36 266.43,114.39 271.00,115.00
271.00,115.00 298.00,133.00 298.00,133.00
298.00,133.00 300.00,132.00 300.00,132.00
300.00,132.00 312.00,141.00 312.00,141.00
312.00,141.00 314.00,140.00 314.00,140.00
318.40,144.39 334.83,152.80 341.00,156.45
341.00,156.45 404.00,192.94 404.00,192.94
404.00,192.94 425.67,205.63 425.67,205.63
428.70,208.64 426.87,211.86 425.12,215.00
425.12,215.00 412.26,237.00 412.26,237.00
410.65,240.07 409.02,245.62 404.90,245.68
401.70,245.72 396.83,242.47 394.00,240.87
394.00,240.87 370.00,226.89 370.00,226.89
370.00,226.89 282.00,176.51 282.00,176.51
282.00,176.51 271.00,169.52 271.00,169.52
271.00,169.52 261.00,164.31 261.00,164.31
257.45,162.08 251.05,157.46 247.00,157.00
247.00,157.00 234.00,148.55 234.00,148.55
234.00,148.55 208.17,133.78 208.17,133.78
208.17,133.78 190.00,124.00 190.00,124.00
190.00,124.00 163.00,107.60 163.00,107.60
163.00,107.60 103.00,73.00 103.00,73.00
103.00,73.00 103.00,453.00 103.00,453.00
103.00,453.00 127.00,439.42 127.00,439.42
127.00,439.42 170.00,414.58 170.00,414.58
170.00,414.58 237.17,376.24 237.17,376.24
237.17,376.24 256.00,364.59 256.00,364.59
256.00,364.59 264.00,360.53 264.00,360.53
264.00,360.53 285.00,348.20 285.00,348.20
285.00,348.20 292.99,344.12 292.99,344.12
292.99,344.12 299.28,339.83 299.28,339.83
299.28,339.83 320.00,328.41 320.00,328.41
320.00,328.41 362.00,304.05 362.00,304.05
362.00,304.05 371.91,297.68 371.91,297.68
371.91,297.68 379.04,294.41 379.04,294.41
379.04,294.41 410.00,276.00 410.00,276.00
410.00,276.00 416.00,285.00 416.00,285.00
416.81,288.83 421.21,296.21 424.00,299.00
424.00,299.00 423.00,301.00 423.00,301.00
427.24,303.72 430.62,312.17 432.00,317.00
432.00,317.00 388.00,342.67 388.00,342.67
388.00,342.67 317.00,383.55 317.00,383.55
317.00,383.55 279.00,405.32 279.00,405.32
279.00,405.32 264.00,415.00 264.00,415.00
264.00,415.00 262.00,414.00 262.00,414.00
262.00,414.00 250.00,423.00 250.00,423.00
250.00,423.00 248.00,422.00 248.00,422.00
248.00,422.00 238.00,428.92 238.00,428.92
238.00,428.92 218.00,440.67 218.00,440.67
218.00,440.67 207.00,448.00 207.00,448.00
207.00,448.00 193.00,455.18 193.00,455.18
193.00,455.18 176.00,465.08 176.00,465.08
176.00,465.08 166.09,470.31 166.09,470.31
166.09,470.31 137.00,487.31 137.00,487.31
137.00,487.31 103.00,506.00 103.00,506.00
103.00,506.00 104.00,509.00 104.00,509.00
104.00,509.00 57.00,509.00 57.00,509.00
57.00,509.00 57.00,16.00 57.00,16.00
57.00,16.00 96.00,16.00 96.00,16.00 Z
M 102.00,72.00
C 102.00,72.00 103.00,73.00 103.00,73.00
103.00,73.00 103.00,72.00 103.00,72.00
103.00,72.00 102.00,72.00 102.00,72.00 Z
M 261.00,190.61
C 270.30,188.63 274.03,177.15 280.77,179.78
284.36,181.18 284.28,187.65 284.72,191.00
285.35,195.85 287.64,207.99 286.57,212.00
285.51,216.00 282.42,218.30 280.78,222.00
277.54,229.29 282.79,236.85 282.99,245.00
283.38,261.24 274.02,264.52 266.36,276.00
261.36,283.50 258.58,297.05 259.09,306.00
259.91,320.41 263.09,322.38 271.02,333.00
273.09,335.77 275.09,339.39 272.11,342.37
269.94,344.63 266.39,343.51 264.00,342.37
258.40,339.52 252.76,332.51 249.91,327.00
246.61,320.60 248.26,314.37 244.57,310.23
240.72,305.90 235.19,306.50 231.18,310.23
225.69,315.34 221.16,325.22 218.00,332.00
226.04,333.96 232.79,331.61 234.00,342.00
234.00,342.00 175.00,342.00 175.00,342.00
166.62,341.85 166.77,339.11 162.00,338.56
158.39,338.15 148.72,341.68 145.00,343.05
138.31,345.53 120.54,352.22 119.64,360.00
119.01,365.49 125.06,367.91 127.00,374.00
115.41,373.03 104.20,364.93 108.88,352.00
111.36,345.12 117.06,343.57 123.00,340.75
132.86,336.05 141.94,332.38 149.58,323.96
151.40,321.95 154.62,318.26 155.92,316.00
155.92,316.00 166.03,283.00 166.03,283.00
169.87,271.08 179.16,256.26 189.00,248.52
199.37,240.36 208.38,237.36 221.00,234.66
226.45,233.50 237.77,232.36 240.99,227.79
244.55,222.75 241.98,216.26 240.34,211.00
237.46,201.77 234.64,193.69 237.00,184.00
244.82,185.47 252.94,192.32 261.00,190.61 Z
M 102.00,453.00
C 102.00,453.00 103.00,454.00 103.00,454.00
103.00,454.00 103.00,453.00 103.00,453.00
103.00,453.00 102.00,453.00 102.00,453.00 Z
M 102.00,505.00
C 102.00,505.00 103.00,506.00 103.00,506.00
103.00,506.00 103.00,505.00 103.00,505.00
103.00,505.00 102.00,505.00 102.00,505.00 Z" />
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -23,7 +23,7 @@
<script type="text/javascript" src="./js/common/keyshortcut.js"></script> <script type="text/javascript" src="./js/common/keyshortcut.js"></script>
<script type="text/javascript" src="./js/common/modal.js"></script> <script type="text/javascript" src="./js/common/modal.js"></script>
<script> <script>
var ver="Riina (ver.4)"; var ver="Riina (ver.5)";
//betaを入れるとバージョンチェックしない //betaを入れるとバージョンチェックしない
//var ver="beta"; //var ver="beta";
var acct_id=0; var acct_id=0;
@ -56,7 +56,7 @@ var tlid=0;
<!--ドラッグハンドラ--> <!--ドラッグハンドラ-->
<div id="drag"><div id="drag-content">ここにドラッグして添付(ドラッグと同時にアップロードされます)<br><button class="btn waves-effect" onclick="closedrop()">閉じる</button></div></div> <div id="drag"><div id="drag-content">ここにドラッグして添付(ドラッグと同時にアップロードされます)<br><button class="btn waves-effect" onclick="closedrop()">閉じる</button></div></div>
<!--アカウント追加--> <!--アカウント追加-->
<div id="add-box" class="hide notf-box"> <div id="add-box" class="hide">
<div class="input-field"> <div class="input-field">
アカウント選択<br> アカウント選択<br>
<select id="add-acct-sel" class="acct-sel" style="color:black"> <select id="add-acct-sel" class="acct-sel" style="color:black">
@ -73,15 +73,15 @@ var tlid=0;
</select> </select>
<label>表示するタイムライン</label> <label>表示するタイムライン</label>
</div> </div>
<button class="btn waves-effect blue " style="width:calc( 100% - 10px); padding:0;" onclick="addColumn()">追加</button> <button class="btn waves-effect blue " style="width:calc( 100% - 10px);" onclick="addColumn()"><i class="material-icons left">add</i>追加</button>
<br><br> <br><br>
<button class="btn waves-effect orange " style="width:calc( 100% - 10px); padding:0;" onclick="addToggle()">閉じる</button> <button class="btn waves-effect orange " style="width:calc( 100% - 10px);" onclick="addToggle()"><i class="material-icons left">close</i>閉じる</button>
</div> </div>
<!--検索--> <!--検索-->
<div id="src-box" class="hide notf-box"> <div id="src-box" class="hide notf-box">
<div class="input-field"> <div class="input-field">
<i class="material-icons prefix">search</i> <i class="material-icons prefix">search</i>
<input id="src" type="text" class="validate" style="width:calc( 70% - 40px); padding:0;"> <input id="src" type="text" class="validate" style="width:calc( 70% - 40px);">
<br>ハッシュタグを検索するときは#を抜いてください。<br> <br>ハッシュタグを検索するときは#を抜いてください。<br>
検索に使用するアカウント選択を<br> 検索に使用するアカウント選択を<br>
<div class="input-field"> <div class="input-field">
@ -91,11 +91,11 @@ var tlid=0;
<label></label> <label></label>
</div> </div>
<label for="src">検索</label> <label for="src">検索</label>
<button class="btn waves-effect indigo" style="width:calc( 30% - 40px); padding:0;" onclick="src()">検索</button> <button class="btn waves-effect indigo" style="width:calc( 60% - 40px);" onclick="src()"><i class="material-icons left">search</i>検索</button>
</div> </div>
<div id="search"> <div id="search">
<div id="src-contents"></div> <div id="src-contents"></div>
<button class="btn waves-effect orange " style="width:calc( 100% - 10px); padding:0;" onclick="srcToggle()">閉じる</button> <button class="btn waves-effect orange " style="width:calc( 100% - 10px);" onclick="srcToggle()"><i class="material-icons left">close</i>閉じる</button>
</div> </div>
</div> </div>
<!--TLのTL--> <!--TLのTL-->
@ -181,7 +181,7 @@ var tlid=0;
<div class="col s12" id="toot-btn-field"> <div class="col s12" id="toot-btn-field">
<button class="btn waves-effect indigo unmize" style="width:100%; padding:0; margin-top:15px;" onclick="post()" id="toot-post-btn">トゥート</button> </div> <button class="btn waves-effect indigo unmize" style="width:100%; padding:0; margin-top:15px;" onclick="post()" id="toot-post-btn">トゥート</button> </div>
<div class="col s12 mize"> <div class="col s12 mize">
<button class="btn waves-effect orange more-hide mize" style="width:100%; padding:0;" onclick="more()">もっと</button> <button class="btn waves-effect orange more-hide mize" style="width:100%; padding:0;" onclick="more()"><i class="material-icons left">expand_more</i>もっと</button>
<!--もっと--> <!--もっと-->
<span id="preview" class="mize"></span> <span id="preview" class="mize"></span>
<span class="more-show sml mize">返信モード:<span id="rec">いいえ</span>/添付:<span id="mec">なし</span>/公開範囲:<span id="vis">public</span>/画像制限:<span id="nsc">なし</span></span><br> <span class="more-show sml mize">返信モード:<span id="rec">いいえ</span>/添付:<span id="mec">なし</span>/公開範囲:<span id="vis">public</span>/画像制限:<span id="nsc">なし</span></span><br>
@ -222,7 +222,7 @@ var tlid=0;
<button class="btn waves-effect more-show blue darken-3" style="width:100%; padding:0; margin-top:0;" onclick="nsfw()" id="nsfw" title="画像に制限を付与(青:OFF)"><i class="material-icons">photo</i><i class="material-icons" id="nsi">lock_open</i></button> <button class="btn waves-effect more-show blue darken-3" style="width:100%; padding:0; margin-top:0;" onclick="nsfw()" id="nsfw" title="画像に制限を付与(青:OFF)"><i class="material-icons">photo</i><i class="material-icons" id="nsi">lock_open</i></button>
</div> </div>
<div class="col s12 mize"> <div class="col s12 mize">
<button class="btn waves-effect more-show orange" style="width:100%; padding:0; margin-top:0;" onclick="less()">閉じる</button> <button class="btn waves-effect more-show orange" style="width:100%; padding:0; margin-top:0;" onclick="less()"><i class="material-icons left">expand_less</i>閉じる</button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -46,7 +46,8 @@ function post() {
if (box == "yes") { if (box == "yes") {
hide(); hide();
}else if (box == "hide"){ }else if (box == "hide"){
mini(); $("body").addClass("mini-post");
$(".mini-btn").text("expand_less");
} }
todc(); todc();
clear(); clear();

View File

@ -23,10 +23,21 @@ function fav(id, acct_id) {
console.error(error); console.error(error);
}).then(function(json) { }).then(function(json) {
console.log(json); console.log(json);
$("[toot-id=" + id + "] .fav_ct").text(json.favourites_count); //APIのふぁぼカウントがおかしい
if ($("[toot-id=" + id + "] .fav_ct").text() == json.favourites_count){
if(flag=="unfavourite"){
var fav=json.favourites_count - 1;
}else{
var fav=json.favourites_count + 1;
//var fav = json.favourites_count;
}
}else{
var fav = json.favourites_count;
}
$("[toot-id=" + id + "] .fav_ct").text(fav);
if (!json.reblog) { if (!json.reblog) {
} else { } else {
$("[toot-id=" + id + "] .rt_ct").text(json.reblog.reblogs_count); $("[toot-id=" + id + "] .rt_ct").text(fav);
} }
if ($("[toot-id=" + id +"]").hasClass("faved")) { if ($("[toot-id=" + id +"]").hasClass("faved")) {
$("[toot-id=" + id +"]").removeClass("faved"); $("[toot-id=" + id +"]").removeClass("faved");

View File

@ -130,7 +130,9 @@ function mixre(acct_id, tlid) {
console.log(obj); console.log(obj);
var type = JSON.parse(mess.data).event; var type = JSON.parse(mess.data).event;
if (type == "delete") { if (type == "delete") {
console.log("Delete");
$("[toot-id=" + obj + "]").hide(); $("[toot-id=" + obj + "]").hide();
$("[toot-id=" + obj + "]").remove();
} else if (type == "update") { } else if (type == "update") {
var templete = parse([obj], '', acct_id); var templete = parse([obj], '', acct_id);
if (!$("#timeline_" + tlid + " [toot-id=" + obj.id + "]").length) { if (!$("#timeline_" + tlid + " [toot-id=" + obj.id + "]").length) {

View File

@ -60,6 +60,9 @@ function notf(acct_id, tlid, sys) {
$("#notifications_" + tlid).prepend(templete[0]); $("#notifications_" + tlid).prepend(templete[0]);
} }
jQuery("time.timeago").timeago(); jQuery("time.timeago").timeago();
} else if (type == "delete") {
$("[toot-id=" + obj + "]").hide();
$("[toot-id=" + obj + "]").remove();
} }
} }
@ -71,6 +74,7 @@ function notf(acct_id, tlid, sys) {
//通知トグルボタン //通知トグルボタン
function notfToggle(acct, tlid) { function notfToggle(acct, tlid) {
$("#notf-box_" + tlid).toggleClass("hide"); $("#notf-box_" + tlid).toggleClass("hide");
$("#notf-box_" + tlid).toggleClass("show");
if (!$("#notf-box_" + tlid).hasClass("fetched")) { if (!$("#notf-box_" + tlid).hasClass("fetched")) {
notf(acct, tlid); notf(acct, tlid);
} }
@ -359,7 +363,7 @@ function parseNotf(obj, popup, tlid, acct_id) {
'</div>' + divider; '</div>' + divider;
} else { } else {
templete = templete + userparse([eachobj.account],"","true"); templete = templete + userparse([eachobj.account],"",acct_id,"true");
var noticetext = eachobj.account.display_name + "(" + eachobj.account.acct + var noticetext = eachobj.account.display_name + "(" + eachobj.account.acct +
")がフォローしました"; ")がフォローしました";
var memory = localStorage.getItem("notice-mem"); var memory = localStorage.getItem("notice-mem");

View File

@ -263,7 +263,7 @@ function parse(obj, mix, acct_id) {
} }
//オブジェクトパーサー(ユーザーデータ) //オブジェクトパーサー(ユーザーデータ)
function userparse(obj, auth, notf) { function userparse(obj, auth, acct_id, notf) {
var templete = ''; var templete = '';
var datetype = localStorage.getItem("datetype"); var datetype = localStorage.getItem("datetype");
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function(key) {

View File

@ -2,6 +2,7 @@
//検索ボックストグル //検索ボックストグル
function srcToggle() { function srcToggle() {
$("#src-box").toggleClass("hide"); $("#src-box").toggleClass("hide");
$("#src-box").toggleClass("show");
$('ul.tabs').tabs('select_tab', 'src-sta'); $('ul.tabs').tabs('select_tab', 'src-sta');
$("#src-contents").html(""); $("#src-contents").html("");
} }

View File

@ -33,6 +33,7 @@ function tl(type, data, acct_id, tlid) {
//Integratedなら飛ばす //Integratedなら飛ばす
$("#notice_" + tlid).text("Integrated TL(" + localStorage.getItem( $("#notice_" + tlid).text("Integrated TL(" + localStorage.getItem(
"user_" + acct_id) + "@" + domain + ")"); "user_" + acct_id) + "@" + domain + ")");
$("#notice_icon_" + tlid).text("merge_type");
mixtl(acct_id, tlid); mixtl(acct_id, tlid);
return; return;
} else if (type == "notf") { } else if (type == "notf") {
@ -40,6 +41,7 @@ function tl(type, data, acct_id, tlid) {
notf(acct_id, tlid, 'direct'); notf(acct_id, tlid, 'direct');
$("#notice_" + tlid).text(cap(type, data) + " TL(" + localStorage.getItem( $("#notice_" + tlid).text(cap(type, data) + " TL(" + localStorage.getItem(
"user_" + acct_id) + "@" + domain + ")"); "user_" + acct_id) + "@" + domain + ")");
$("#notice_icon_" + tlid).text("notifications");
return; return;
} }
localStorage.setItem("now", type); localStorage.setItem("now", type);
@ -47,6 +49,7 @@ function tl(type, data, acct_id, tlid) {
var at = localStorage.getItem(domain + "_at"); var at = localStorage.getItem(domain + "_at");
$("#notice_" + tlid).text(cap(type, data) + " TL(" + localStorage.getItem( $("#notice_" + tlid).text(cap(type, data) + " TL(" + localStorage.getItem(
"user_" + acct_id) + "@" + domain + ")"); "user_" + acct_id) + "@" + domain + ")");
$("#notice_icon_" + tlid).text(icon(type));
var start = "https://" + domain + "/api/v1/timelines/" + com(type, data); var start = "https://" + domain + "/api/v1/timelines/" + com(type, data);
console.log(start); console.log(start);
fetch(start, { fetch(start, {
@ -256,3 +259,19 @@ function com(type, data) {
return "list/" + data + "?" return "list/" + data + "?"
} }
} }
//TLのアイコン
function icon(type) {
if (type == "home") {
return "home"
} else if (type == "local") {
return "people_outline"
} else if (type == "pub") {
return "language"
} else if (type == "tag") {
return "search"
}
if (type == "list") {
return "subject"
}
}

View File

@ -9,6 +9,8 @@
//カラム追加ボックストグル //カラム追加ボックストグル
function addToggle() { function addToggle() {
$("#add-box").toggleClass("hide"); $("#add-box").toggleClass("hide");
$("#add-box").toggleClass("show");
$("#add-box").toggleClass("notf-box");
} }
//最初、カラム変更時に発火 //最初、カラム変更時に発火
function parseColumn() { function parseColumn() {
@ -60,17 +62,21 @@
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function(key) {
var acct = obj[key]; var acct = obj[key];
var html = '<div class="box" id="timeline_box_' + key + '_box" tlid="' + key + var html = '<div class="box" id="timeline_box_' + key + '_box" tlid="' + key +
'"><div class="notice-box"><span id="notice_' + key + '" class="tl-title"></span><br>' + '"><div class="notice-box">'+
'<a onclick="notfToggle(' + acct.domain + ',' + key + '<div class="area-notice"><i class="material-icons" id="notice_icon_' + key + '" style="font-size:40px; padding-top:25%;"></i></div>'+
'<div class="area-notice_name"><span id="notice_' + key + '"" class="tl-title"></span></div>'+
'<div class="area-a1"><a onclick="notfToggle(' + acct.domain + ',' + key +
')" class="setting nex" title="このアカウントの通知"><i class="material-icons nex notf-icon_' + ')" class="setting nex" title="このアカウントの通知"><i class="material-icons nex notf-icon_' +
key + '">notifications</i></a>' + key + '">notifications</i></a></div>'+
'<a onclick="removeColumn(' + key + '<div class="area-a2"><a onclick="removeColumn(' + key +
')" class="setting nex"><i class="material-icons nex" title="このカラムを削除">remove_circle</i></a>' + ')" class="setting nex"><i class="material-icons nex" title="このカラムを削除">remove_circle</i></a></div>'+
'<a onclick="mediaToggle(' + key + '<div class="area-a3"><a onclick="mediaToggle(' + key +
')" class="setting nex"><i class="material-icons nex" title="メディアフィルター">perm_media</i><span id="sta-media-' + ')" class="setting nex"><i class="material-icons nex" title="メディアフィルター">perm_media</i><span id="sta-media-' +
key + '">On</span><a onclick="cardToggle(' + key + key + '">On</span></div>'+
'<div class="area-a4"><a onclick="cardToggle(' + key +
')" class="setting nex"><i class="material-icons nex" title="リンクの解析を切り替え(OFFで制限を回避出来る場合があります)">link</i><span id="sta-card-' + ')" class="setting nex"><i class="material-icons nex" title="リンクの解析を切り替え(OFFで制限を回避出来る場合があります)">link</i><span id="sta-card-' +
key + '">On</span></a><a onclick="goTop(' + key + ')" class="setting nex"><i class="material-icons nex" title="一番上へ">vertical_align_top</i></a>' + key + '">On</span></a></div>'+
'<div class="area-a5"><a onclick="goTop(' + key + ')" class="setting nex"><i class="material-icons nex" title="一番上へ">vertical_align_top</i></a></div>'+
'<div class="hide notf-indv-box" id="notf-box_' + key + '<div class="hide notf-indv-box" id="notf-box_' + key +
'"><div id="notifications_' + key + '"><div id="notifications_' + key +
'"></div></div></div><div class="tl-box" tlid="' + key + '"><div id="timeline_' + key + '"></div></div></div><div class="tl-box" tlid="' + key + '"><div id="timeline_' + key +

View File

@ -4,6 +4,7 @@ function Rtoggle(){
Rstop(); Rstop();
}else{ }else{
$("#radio-view").toggleClass("hide"); $("#radio-view").toggleClass("hide");
$("#radio-view").toggleClass("show");
$("#radio-input").addClass("hide"); $("#radio-input").addClass("hide");
} }
} }

View File

@ -34,5 +34,8 @@ function scrollck() {
} }
function goTop(id){ function goTop(id){
$("#timeline_box_"+id+"_box .tl-box").scrollTop(0) if ($("#timeline_box_"+id+"_box .tl-box").scrollTop() > 500){
$("#timeline_box_"+id+"_box .tl-box").scrollTop(500)
}
$("#timeline_box_"+id+"_box .tl-box").animate({scrollTop:0});
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "TheDesk", "name": "TheDesk",
"version": "12.3.1", "version": "12.5.0",
"description": "TheDesk on Mastodonはシンプルと多機能を両立したデスクトップ向けクライアントです", "description": "TheDesk on Mastodonはシンプルと多機能を両立したデスクトップ向けクライアントです",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {

View File

@ -21,115 +21,138 @@
<script type="text/javascript" src="./js/common/time.js"></script> <script type="text/javascript" src="./js/common/time.js"></script>
<script type="text/javascript" src="./js/common/modal.js"></script> <script type="text/javascript" src="./js/common/modal.js"></script>
<script type="text/javascript" src="./js/ui/jquery-ui.min.js"></script> <script type="text/javascript" src="./js/ui/jquery-ui.min.js"></script>
<div id="notf-box" class="hide"> <h4>設定</h4>
<div id="notifications">Notifications will be showed here...</div> <a href="acct.html" class="btn waves-effect blue nex" style="width:100%; max-width:400px;"><i class="material-icons left">account_circle</i>アカウントマネージャー</a>
<button class="btn waves-effect orange more-hide" style="width:calc( 100% - 10px); padding:0;" onclick="notfToggle()">閉じる</button>
</div>
<a href="acct.html" class="btn waves-effect blue nex" style="width:100%; max-width:400px;">アカウントマネージャー</a>
<br> <br>
<h5>カラム並べ替え <ul class="collapsible" data-collapsible="accordion">
</H5> <li>
<ul id="sort"></ul> <div class="collapsible-header">
<button onclick="sort()" class="btn waves-effect light-blue nex" style="width:100%; max-width:200px;">並べ替え設定</button> <i class="material-icons">sort</i>カラム並べ替え
<br> </div>
<br> <div class="collapsible-body">
<br> <h5>カラム並べ替え </h5>
<h5>時間表記設定</h5>相対時間の例:"1分前","3日前" <ul id="sort"></ul>
<br>絶対時間の例"23:25:21","2017年12月30日 23:59:00" <button onclick="sort()" class="btn waves-effect light-blue nex" style="width:100%; max-width:200px;"><i class="material-icons left">sort</i>並べ替え設定</button>
<br>混合表示は、当日のトゥートのみ相対、それ以外は絶対で表示 </div>
<br> </li>
<input class="with-gap" name="time" type="radio" id="relative" value="relative" /> <li>
<label for="relative">相対時間</label> <div class="collapsible-header">
<input class="with-gap" name="time" type="radio" id="absolute" value="absolute" /> <i class="material-icons">desktop_windows</i>環境設定
<label for="absolute">絶対時間</label> </div>
<input class="with-gap" name="time" type="radio" id="double" value="double" /> <div class="collapsible-body">
<label for="double">両方表示</label> <h5>テーマの設定</h5>
<input class="with-gap" name="time" type="radio" id="medium" value="medium" /> <input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
<label for="medium">混合表示</label>
<br>
<h5>テーマの設定</h5>
<input class="with-gap" name="theme" type="radio" id="white" value="white" />
<label for="white"></label> <label for="white"></label>
<input class="with-gap" name="theme" type="radio" id="black" value="black" /> <input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
<label for="black"></label> <label for="black"></label>
<br> <br>
<h5>非表示設定の画像を隠す</h5>きつめのぼかしがかかります。 <h5>新規通知のポップアップお知らせの表示秒数</h5>0に設定すると表示されません
<br> <br>
<input class="with-gap" name="nsfw" type="radio" id="n_yes" value="yes" />
<label for="n_yes">はい</label>
<input class="with-gap" name="nsfw" type="radio" id="n_no" value="no" />
<label for="n_no">いいえ</label>
<br>
<h5>非表示設定のテキストを隠す</h5>
<input class="with-gap" name="cw" type="radio" id="c_yes" value="yes" />
<label for="c_yes">はい</label>
<input class="with-gap" name="cw" type="radio" id="c_no" value="no" />
<label for="c_no">いいえ</label>
<br>
<h5>デフォルトの警告文</h5>
<input type="text" style="width:150px" id="cw-text">
<br>
<h5>デフォルトの公開設定</h5>
<input class="with-gap" name="vis" type="radio" id="public" value="public" />
<label for="public">公開(Public)</label>
<input class="with-gap" name="vis" type="radio" id="unlisted" value="unlisted" />
<label for="unlisted">未収載(Unlisted)</label>
<input class="with-gap" name="vis" type="radio" id="private" value="private" />
<label for="private">非公開(Private)</label>
<input class="with-gap" name="vis" type="radio" id="direct" value="direct" />
<label for="direct">ダイレクト(Direct)</label>
<input class="with-gap" name="vis" type="radio" id="memory" value="memory" />
<label for="memory">前回の投稿設定を記憶する</label>
<br>
<h5>デフォルトでのボックスの挙動(起動時・トゥート後)</h5>
<input class="with-gap" name="box" type="radio" id="b_yes" value="yes" />
<label for="b_yes">隠す</label>
<input class="with-gap" name="box" type="radio" id="b_hide" value="hide" />
<label for="b_hide">最小化</label>
<input class="with-gap" name="box" type="radio" id="b_no" value="no" />
<label for="b_no">何もしない</label>
<br>
<h5>アイコンのアニメーションを再生する</h5>
<input class="with-gap" name="gif" type="radio" id="g_yes" value="yes" />
<label for="g_yes">はい</label>
<input class="with-gap" name="gif" type="radio" id="g_no" value="no" />
<label for="g_no">いいえ</label>
<br>
<h5>新規通知のポップアップお知らせの表示秒数</h5>0に設定すると表示されません
<br>
<input type="text" style="width:50px" id="popup"> <input type="text" style="width:50px" id="popup">
<br> <button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
<h5>指定行数以上を折りたたむ</h5>5文字以下のトゥートは折りたたみません。また、折りたたみ時は改行が描画されません。 <br>
<br> <h5>マルチカラムの最低横幅</h5>画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。
<br>
<input type="text" style="width:50px" id="width">px以上
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
<br>
<h5>フォントサイズ</h5>
<span style="font-size:15px">15px(絶対指定)</span>
<br>
<input type="text" style="width:50px" id="size">px
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">reorder</i>タイムラインの設定
</div>
<div class="collapsible-body">
<h5>時間表記設定</h5>相対時間の例:"1分前","3日前"
<br>絶対時間の例"23:25:21","2017年12月30日 23:59:00"
<br>混合表示は、当日のトゥートのみ相対、それ以外は絶対で表示
<br>
<input class="with-gap" onchange="settings()" onchange="settings()" name="time" type="radio" id="relative" value="relative" />
<label for="relative">相対時間</label>
<input class="with-gap" onchange="settings()" name="time" type="radio" id="absolute" value="absolute" />
<label for="absolute">絶対時間</label>
<input class="with-gap" onchange="settings()" name="time" type="radio" id="double" value="double" />
<label for="double">両方表示</label>
<input class="with-gap" onchange="settings()" name="time" type="radio" id="medium" value="medium" />
<label for="medium">混合表示</label>
<h5>非表示設定の画像を隠す</h5>きつめのぼかしがかかります。
<br>
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_yes" value="yes" />
<label for="n_yes">はい</label>
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_no" value="no" />
<label for="n_no">いいえ</label>
<br>
<h5>非表示設定のテキストを隠す</h5>
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_yes" value="yes" />
<label for="c_yes">はい</label>
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_no" value="no" />
<label for="c_no">いいえ</label>
<br>
<h5>アイコンのアニメーションを再生する</h5>
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_yes" value="yes" />
<label for="g_yes">はい</label>
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_no" value="no" />
<label for="g_no">いいえ</label>
<br>
<h5>指定行数以上を折りたたむ</h5>5文字以下のトゥートは折りたたみません。また、折りたたみ時は改行が描画されません。
<br>
<input type="text" style="width:50px" id="sentence">行以上または <input type="text" style="width:50px" id="sentence">行以上または
<input type="text" style="width:50px" id="letters">文字以上 <input type="text" style="width:50px" id="letters">文字以上
<br> <button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
<h5>マルチカラムの最低横幅</h5>画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。 <br>
<br> </div>
<input type="text" style="width:50px" id="width">px以上 </li>
<br> <li>
<h5>フォントサイズ</h5> <div class="collapsible-header">
<span style="font-size:15px">15px(絶対指定)</span> <i class="material-icons">send</i>投稿設定
<br> </div>
<input type="text" style="width:50px" id="size">px <div class="collapsible-body">
<br> <h5>デフォルトの警告文</h5>
<h5>画像投稿設定</h5> <input type="text" style="width:150px" id="cw-text">
<input class="with-gap" name="img" type="radio" id="i_url" value="url" /> <button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
<br>
<h5>デフォルトの公開設定</h5>
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="public" value="public" />
<label for="public">公開(Public)</label>
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="unlisted" value="unlisted" />
<label for="unlisted">未収載(Unlisted)</label>
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="private" value="private" />
<label for="private">非公開(Private)</label>
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="direct" value="direct" />
<label for="direct">ダイレクト(Direct)</label>
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="memory" value="memory" />
<label for="memory">前回の投稿設定を記憶する</label>
<br>
<h5>デフォルトでのボックスの挙動(起動時・トゥート後)</h5>
<input class="with-gap" onchange="settings()" name="box" type="radio" id="b_yes" value="yes" />
<label for="b_yes">隠す</label>
<input class="with-gap" onchange="settings()" name="box" type="radio" id="b_hide" value="hide" />
<label for="b_hide">最小化</label>
<input class="with-gap" onchange="settings()" name="box" type="radio" id="b_no" value="no" />
<label for="b_no">何もしない</label>
<br>
<h5>画像投稿設定</h5>
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_url" value="url" />
<label for="i_url">画像を投稿し、画像のURLを最後に表示</label> <label for="i_url">画像を投稿し、画像のURLを最後に表示</label>
<input class="with-gap" name="img" type="radio" id="i_no-act" value="no-act" /> <input class="with-gap" onchange="settings()" name="img" type="radio" id="i_no-act" value="no-act" />
<label for="i_no-act">画像を投稿するがURLは表示しない</label> <label for="i_no-act">画像を投稿するがURLは表示しない</label>
<br> <br>
<input class="with-gap" name="img" type="radio" id="i_inline" value="inline" disabled /> <input class="with-gap" onchange="settings()" name="img" type="radio" id="i_inline" value="inline" disabled />
<label for="i_inline">現在利用できません。 <label for="i_inline">現在利用できません。
<!--画像を投稿し、インラインで表示(Markdownに対応したインスタンスのみ。マルチアカウント環境では非推奨。)--> <!--画像を投稿し、インラインで表示(Markdownに対応したインスタンスのみ。マルチアカウント環境では非推奨。)-->
</label> </label>
<br>
</div>
</li>
</ul>
<br> <br>
<button class="btn waves-effect" style="width:100%; max-width:200px;" onclick="settings()">設定</button> <a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i class="material-icons left">undo</i>戻る</a>
<br>
<br>
<br>
<br>
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">戻る</a>
<br> <br>
<br>キーボードショートカット一覧 <br>キーボードショートカット一覧
</li> </li>
@ -163,17 +186,17 @@
<a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く <a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く
</li> </li>
<br> <br>
<button class="btn waves-effect red" style="width:100%; max-width:500px;" onclick="if(confirm('初期化します')){ localStorage.clear(); location.href='index.html'; }">初期化</button> <button class="btn waves-effect red" style="width:100%; max-width:500px;" onclick="if(confirm('初期化します')){ localStorage.clear(); location.href='index.html'; }"><i class="material-icons left">delete</i>初期化</button>
<br> <br>
<button class="btn waves-effect indigo" onclick="about()" style="width:100%; max-width:500px;">このソフトについて</button> <button class="btn waves-effect indigo" onclick="about()" style="width:100%; max-width:500px;"><i class="material-icons left">info</i>このソフトについて</button>
<br> <br>
<a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:500px;">公式HP</a> <a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">web</i>公式HP</a>
<br> <br>
<a href="https://enty.jp/Cutls" class="btn waves-effect purple lighten-2" style="width:100%; max-width:500px;">寄付(Enty)</a> <a href="https://enty.jp/Cutls" class="btn waves-effect purple lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>寄付(Enty)</a>
<br> <br>
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2" style="width:100%; max-width:500px;">GitHub</a> <a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2" style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a>
<br> <br>
<a href="index.html?mode=open&code=12336" class="btn waves-effect blue lighten-2" style="width:100%; max-width:500px;">Developer: Cutls@kirishima.cloud</a> <a href="index.html?mode=open&code=12336" class="btn waves-effect blue lighten-2" style="width:100%; max-width:500px;"><img src="./img/desk_full.svg" class="left" width="25" style="padding-top:5px;">Developer: Cutls@kirishima.cloud</a>
<br> <br>
<span style="font-family:Open Sans;">Copyright &copy; TheDesk on Mastodon 2018 & Cutls.com 2015 All Rights Reserved. <span style="font-family:Open Sans;">Copyright &copy; TheDesk on Mastodon 2018 & Cutls.com 2015 All Rights Reserved.
<a href="https://github.com/cutls/TheDesk/blob/master/LICENSE.md">TheDesk LICENSE (Latest Ver.)</a> <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE.md">TheDesk LICENSE (Latest Ver.)</a>

View File

@ -1 +1 @@
{"desk":"Riina (ver.4)","date":"2018-02-22","detail":"内部V:12.4.0|返信時画像添付時の挙動修正。UI変更。詳しくはGitHub参照"} {"desk":"Riina (ver.5)","date":"2018-02-25","detail":"内部V:12.5.0|デザインとバグ修正。詳しくはGitHub参照"}