TheDesk Riina (ver.5)
This commit is contained in:
parent
467d2559dc
commit
5624266f30
22
LATEST.md
22
LATEST.md
|
@ -1,19 +1,17 @@
|
|||
## For Markdown-supporting Instances
|
||||
|
||||
[TheDesk](https://thedesk.top) :thedesk: Riina (ver.4)
|
||||
・返信時,画像添付時の挙動修正。
|
||||
・トゥートUI変更。
|
||||
・自動折りたたみ機能の発生条件を追加。文字数でも制限をかけられます。
|
||||
・設定画面UI変更。
|
||||
・トゥートボックスをデフォルトで最小化する設定。
|
||||
[TheDesk](https://thedesk.top) :thedesk: Riina (ver.5)
|
||||
・デザイン修正
|
||||
・コンパクトな設定画面
|
||||
・ちょっとしたアニメーション
|
||||
・バグ修正
|
||||
:github: [cutls/TheDesk](https://github.com/cutls/TheDesk) #Desk #DeskUpdate
|
||||
|
||||
## For Vanilla Instances
|
||||
|
||||
WindowsクライアントTheDesk Riina (ver.4)リリース
|
||||
・返信時,画像添付時の挙動修正。
|
||||
・トゥートUI変更。
|
||||
・自動折りたたみ機能の発生条件を追加。文字数でも制限をかけられます。
|
||||
・設定画面UI変更。
|
||||
・トゥートボックスをデフォルトで最小化する設定。
|
||||
WindowsクライアントTheDesk Riina (ver.5)リリース
|
||||
・デザイン修正
|
||||
・コンパクトな設定画面
|
||||
・ちょっとしたアニメーション
|
||||
・バグ修正
|
||||
https://thedesk.top
|
|
@ -18,7 +18,6 @@ option {
|
|||
}
|
||||
#mainView {
|
||||
padding: 10px;
|
||||
padding-top: 50px;
|
||||
}
|
||||
#message {
|
||||
display: none;
|
||||
|
@ -138,6 +137,27 @@ blockquote:before, .quote:before {
|
|||
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*/
|
||||
.blacktheme body {
|
||||
color: white;
|
||||
|
|
|
@ -148,11 +148,48 @@ p {
|
|||
.notice-box {
|
||||
top: 0;
|
||||
background-color:white;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
margin-right: 10px;
|
||||
width:100%;
|
||||
min-height:60px;
|
||||
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 {
|
||||
font-family: Open Sans;
|
||||
|
@ -184,11 +221,13 @@ p {
|
|||
max-height: 500px;
|
||||
}
|
||||
.notf-indv-box {
|
||||
width:100%;
|
||||
min-height: 100px;
|
||||
max-height: 400px;
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
border: thin solid gray;
|
||||
grid-area: notf-box;
|
||||
}
|
||||
#src-contents {
|
||||
min-height: 100px;
|
||||
|
|
122
app/img/desk_full.svg
Normal file
122
app/img/desk_full.svg
Normal 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 |
|
@ -23,7 +23,7 @@
|
|||
<script type="text/javascript" src="./js/common/keyshortcut.js"></script>
|
||||
<script type="text/javascript" src="./js/common/modal.js"></script>
|
||||
<script>
|
||||
var ver="Riina (ver.4)";
|
||||
var ver="Riina (ver.5)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//var ver="beta";
|
||||
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="add-box" class="hide notf-box">
|
||||
<div id="add-box" class="hide">
|
||||
<div class="input-field">
|
||||
アカウント選択<br>
|
||||
<select id="add-acct-sel" class="acct-sel" style="color:black">
|
||||
|
@ -73,15 +73,15 @@ var tlid=0;
|
|||
</select>
|
||||
<label>表示するタイムライン</label>
|
||||
</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>
|
||||
<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 id="src-box" class="hide notf-box">
|
||||
<div class="input-field">
|
||||
<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>
|
||||
<div class="input-field">
|
||||
|
@ -91,11 +91,11 @@ var tlid=0;
|
|||
<label></label>
|
||||
</div>
|
||||
<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 id="search">
|
||||
<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>
|
||||
<!--TLのTL-->
|
||||
|
@ -181,7 +181,7 @@ var tlid=0;
|
|||
<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>
|
||||
<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 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>
|
||||
</div>
|
||||
<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>
|
||||
|
|
|
@ -46,7 +46,8 @@ function post() {
|
|||
if (box == "yes") {
|
||||
hide();
|
||||
}else if (box == "hide"){
|
||||
mini();
|
||||
$("body").addClass("mini-post");
|
||||
$(".mini-btn").text("expand_less");
|
||||
}
|
||||
todc();
|
||||
clear();
|
||||
|
|
|
@ -23,10 +23,21 @@ function fav(id, acct_id) {
|
|||
console.error(error);
|
||||
}).then(function(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) {
|
||||
} else {
|
||||
$("[toot-id=" + id + "] .rt_ct").text(json.reblog.reblogs_count);
|
||||
$("[toot-id=" + id + "] .rt_ct").text(fav);
|
||||
}
|
||||
if ($("[toot-id=" + id +"]").hasClass("faved")) {
|
||||
$("[toot-id=" + id +"]").removeClass("faved");
|
||||
|
|
|
@ -130,7 +130,9 @@ function mixre(acct_id, tlid) {
|
|||
console.log(obj);
|
||||
var type = JSON.parse(mess.data).event;
|
||||
if (type == "delete") {
|
||||
console.log("Delete");
|
||||
$("[toot-id=" + obj + "]").hide();
|
||||
$("[toot-id=" + obj + "]").remove();
|
||||
} else if (type == "update") {
|
||||
var templete = parse([obj], '', acct_id);
|
||||
if (!$("#timeline_" + tlid + " [toot-id=" + obj.id + "]").length) {
|
||||
|
|
|
@ -60,6 +60,9 @@ function notf(acct_id, tlid, sys) {
|
|||
$("#notifications_" + tlid).prepend(templete[0]);
|
||||
}
|
||||
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) {
|
||||
$("#notf-box_" + tlid).toggleClass("hide");
|
||||
$("#notf-box_" + tlid).toggleClass("show");
|
||||
if (!$("#notf-box_" + tlid).hasClass("fetched")) {
|
||||
notf(acct, tlid);
|
||||
}
|
||||
|
@ -359,7 +363,7 @@ function parseNotf(obj, popup, tlid, acct_id) {
|
|||
'</div>' + divider;
|
||||
|
||||
} 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 memory = localStorage.getItem("notice-mem");
|
||||
|
|
|
@ -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 datetype = localStorage.getItem("datetype");
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
//検索ボックストグル
|
||||
function srcToggle() {
|
||||
$("#src-box").toggleClass("hide");
|
||||
$("#src-box").toggleClass("show");
|
||||
$('ul.tabs').tabs('select_tab', 'src-sta');
|
||||
$("#src-contents").html("");
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ function tl(type, data, acct_id, tlid) {
|
|||
//Integratedなら飛ばす
|
||||
$("#notice_" + tlid).text("Integrated TL(" + localStorage.getItem(
|
||||
"user_" + acct_id) + "@" + domain + ")");
|
||||
$("#notice_icon_" + tlid).text("merge_type");
|
||||
mixtl(acct_id, tlid);
|
||||
return;
|
||||
} else if (type == "notf") {
|
||||
|
@ -40,6 +41,7 @@ function tl(type, data, acct_id, tlid) {
|
|||
notf(acct_id, tlid, 'direct');
|
||||
$("#notice_" + tlid).text(cap(type, data) + " TL(" + localStorage.getItem(
|
||||
"user_" + acct_id) + "@" + domain + ")");
|
||||
$("#notice_icon_" + tlid).text("notifications");
|
||||
return;
|
||||
}
|
||||
localStorage.setItem("now", type);
|
||||
|
@ -47,6 +49,7 @@ function tl(type, data, acct_id, tlid) {
|
|||
var at = localStorage.getItem(domain + "_at");
|
||||
$("#notice_" + tlid).text(cap(type, data) + " TL(" + localStorage.getItem(
|
||||
"user_" + acct_id) + "@" + domain + ")");
|
||||
$("#notice_icon_" + tlid).text(icon(type));
|
||||
var start = "https://" + domain + "/api/v1/timelines/" + com(type, data);
|
||||
console.log(start);
|
||||
fetch(start, {
|
||||
|
@ -256,3 +259,19 @@ function com(type, 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"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
//カラム追加ボックストグル
|
||||
function addToggle() {
|
||||
$("#add-box").toggleClass("hide");
|
||||
$("#add-box").toggleClass("show");
|
||||
$("#add-box").toggleClass("notf-box");
|
||||
}
|
||||
//最初、カラム変更時に発火
|
||||
function parseColumn() {
|
||||
|
@ -60,20 +62,24 @@
|
|||
Object.keys(obj).forEach(function(key) {
|
||||
var acct = obj[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>' +
|
||||
'<a onclick="notfToggle(' + acct.domain + ',' + key +
|
||||
')" class="setting nex" title="このアカウントの通知"><i class="material-icons nex notf-icon_' +
|
||||
key + '">notifications</i></a>' +
|
||||
'<a onclick="removeColumn(' + key +
|
||||
')" class="setting nex"><i class="material-icons nex" title="このカラムを削除">remove_circle</i></a>' +
|
||||
'<a onclick="mediaToggle(' + key +
|
||||
')" class="setting nex"><i class="material-icons nex" title="メディアフィルター">perm_media</i><span id="sta-media-' +
|
||||
key + '">On</span><a onclick="cardToggle(' + key +
|
||||
')" 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>' +
|
||||
'<div class="hide notf-indv-box" id="notf-box_' + key +
|
||||
'"><div id="notifications_' + key +
|
||||
'"></div></div></div><div class="tl-box" tlid="' + key + '"><div id="timeline_' + key +
|
||||
'"><div class="notice-box">'+
|
||||
'<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_' +
|
||||
key + '">notifications</i></a></div>'+
|
||||
'<div class="area-a2"><a onclick="removeColumn(' + key +
|
||||
')" class="setting nex"><i class="material-icons nex" title="このカラムを削除">remove_circle</i></a></div>'+
|
||||
'<div class="area-a3"><a onclick="mediaToggle(' + key +
|
||||
')" class="setting nex"><i class="material-icons nex" title="メディアフィルター">perm_media</i><span id="sta-media-' +
|
||||
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-' +
|
||||
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 id="notifications_' + key +
|
||||
'"></div></div></div><div class="tl-box" tlid="' + key + '"><div id="timeline_' + key +
|
||||
'" class="tl" tlid="' + key + '"></div></div></div>';
|
||||
$("#timeline-container").append(html);
|
||||
if (acct.data) {
|
||||
|
|
|
@ -4,6 +4,7 @@ function Rtoggle(){
|
|||
Rstop();
|
||||
}else{
|
||||
$("#radio-view").toggleClass("hide");
|
||||
$("#radio-view").toggleClass("show");
|
||||
$("#radio-input").addClass("hide");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,5 +34,8 @@ function scrollck() {
|
|||
}
|
||||
|
||||
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});
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "TheDesk",
|
||||
"version": "12.3.1",
|
||||
"version": "12.5.0",
|
||||
"description": "TheDesk on Mastodonはシンプルと多機能を両立したデスクトップ向けクライアントです",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
|
281
app/setting.html
281
app/setting.html
|
@ -21,163 +21,186 @@
|
|||
<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/ui/jquery-ui.min.js"></script>
|
||||
<div id="notf-box" class="hide">
|
||||
<div id="notifications">Notifications will be showed here...</div>
|
||||
<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>
|
||||
<h4>設定</h4>
|
||||
<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>
|
||||
<br>
|
||||
<h5>カラム並べ替え
|
||||
</H5>
|
||||
<ul id="sort"></ul>
|
||||
<button onclick="sort()" class="btn waves-effect light-blue nex" style="width:100%; max-width:200px;">並べ替え設定</button>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">sort</i>カラム並べ替え
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>カラム並べ替え </h5>
|
||||
<ul id="sort"></ul>
|
||||
<button onclick="sort()" class="btn waves-effect light-blue nex" style="width:100%; max-width:200px;"><i class="material-icons left">sort</i>並べ替え設定</button>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">desktop_windows</i>環境設定
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>テーマの設定</h5>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
||||
<label for="white">白</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
||||
<label for="black">黒</label>
|
||||
<br>
|
||||
<h5>新規通知のポップアップお知らせの表示秒数</h5>0に設定すると表示されません
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="popup">秒
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<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="letters">文字以上
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">send</i>投稿設定
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>デフォルトの警告文</h5>
|
||||
<input type="text" style="width:150px" id="cw-text">
|
||||
<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>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_no-act" value="no-act" />
|
||||
<label for="i_no-act">画像を投稿するがURLは表示しない</label>
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_inline" value="inline" disabled />
|
||||
<label for="i_inline">現在利用できません。
|
||||
<!--画像を投稿し、インラインで表示(Markdownに対応したインスタンスのみ。マルチアカウント環境では非推奨。)-->
|
||||
</label>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<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>
|
||||
<h5>時間表記設定</h5>相対時間の例:"1分前","3日前"
|
||||
<br>絶対時間の例"23:25:21","2017年12月30日 23:59:00"
|
||||
<br>混合表示は、当日のトゥートのみ相対、それ以外は絶対で表示
|
||||
<br>
|
||||
<input class="with-gap" name="time" type="radio" id="relative" value="relative" />
|
||||
<label for="relative">相対時間</label>
|
||||
<input class="with-gap" name="time" type="radio" id="absolute" value="absolute" />
|
||||
<label for="absolute">絶対時間</label>
|
||||
<input class="with-gap" name="time" type="radio" id="double" value="double" />
|
||||
<label for="double">両方表示</label>
|
||||
<input class="with-gap" name="time" type="radio" id="medium" value="medium" />
|
||||
<label for="medium">混合表示</label>
|
||||
<br>
|
||||
<h5>テーマの設定</h5>
|
||||
<input class="with-gap" name="theme" type="radio" id="white" value="white" />
|
||||
<label for="white">白</label>
|
||||
<input class="with-gap" name="theme" type="radio" id="black" value="black" />
|
||||
<label for="black">黒</label>
|
||||
<br>
|
||||
<h5>非表示設定の画像を隠す</h5>きつめのぼかしがかかります。
|
||||
<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">秒
|
||||
<br>
|
||||
<h5>指定行数以上を折りたたむ</h5>5文字以下のトゥートは折りたたみません。また、折りたたみ時は改行が描画されません。
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="sentence">行以上または
|
||||
<input type="text" style="width:50px" id="letters">文字以上
|
||||
<br>
|
||||
<h5>マルチカラムの最低横幅</h5>画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="width">px以上
|
||||
<br>
|
||||
<h5>フォントサイズ</h5>
|
||||
<span style="font-size:15px">15px(絶対指定)</span>
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="size">px
|
||||
<br>
|
||||
<h5>画像投稿設定</h5>
|
||||
<input class="with-gap" name="img" type="radio" id="i_url" value="url" />
|
||||
<label for="i_url">画像を投稿し、画像のURLを最後に表示</label>
|
||||
<input class="with-gap" name="img" type="radio" id="i_no-act" value="no-act" />
|
||||
<label for="i_no-act">画像を投稿するがURLは表示しない</label>
|
||||
<br>
|
||||
<input class="with-gap" name="img" type="radio" id="i_inline" value="inline" disabled />
|
||||
<label for="i_inline">現在利用できません。
|
||||
<!--画像を投稿し、インラインで表示(Markdownに対応したインスタンスのみ。マルチアカウント環境では非推奨。)-->
|
||||
</label>
|
||||
<br>
|
||||
<button class="btn waves-effect" style="width:100%; max-width:200px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">戻る</a>
|
||||
<br>
|
||||
<br>キーボードショートカット一覧
|
||||
<br>キーボードショートカット一覧
|
||||
</li>
|
||||
<li>N:投稿パネルを開く
|
||||
<li>N:投稿パネルを開く
|
||||
</li>
|
||||
<li>X:投稿パネルを開閉
|
||||
<li>X:投稿パネルを開閉
|
||||
</li>
|
||||
<li>Ctrl+Enter:投稿
|
||||
<li>Ctrl+Enter:投稿
|
||||
</li>
|
||||
<li>Esc:投稿パネルを消す
|
||||
<li>Esc:投稿パネルを消す
|
||||
</li>
|
||||
<li>F5:スーパーリロード
|
||||
<li>F5:スーパーリロード
|
||||
</li>
|
||||
<li>E:投稿パネルの幅を切り替え
|
||||
<li>E:投稿パネルの幅を切り替え
|
||||
</li>
|
||||
<li>Shift+C:入力内容を消す
|
||||
<li>Shift+C:入力内容を消す
|
||||
</li>
|
||||
<li>←/→:イメージビューワー起動時に画像切り替え
|
||||
<li>←/→:イメージビューワー起動時に画像切り替え
|
||||
</li>
|
||||
<li>マウスホイール:イメージビューワー時に拡大縮小
|
||||
<li>マウスホイール:イメージビューワー時に拡大縮小
|
||||
</li>以下Markdownに対応したインスタンスのみ。
|
||||
<br>
|
||||
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線
|
||||
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線
|
||||
</li>
|
||||
<li>Shift+Enter:全角スペースを入れて改行
|
||||
<li>Shift+Enter:全角スペースを入れて改行
|
||||
</li>
|
||||
<li>Shift+Space:ゼロ幅スペース
|
||||
</li>以下アスタルテにログインしている場合のみ
|
||||
<li>Shift+Space:ゼロ幅スペース
|
||||
</li>以下アスタルテにログインしている場合のみ
|
||||
<br>
|
||||
<li>Ctrl+R:
|
||||
<li>Ctrl+R:
|
||||
<a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く
|
||||
</li>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<span style="font-family:Open Sans;">Copyright © 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>
|
||||
<br>Developer: Cutls P(
|
||||
<br>Developer: Cutls P(
|
||||
<a href="index.html?mode=open&code=12336">@Cutls@kirishima.cloud</a>)
|
||||
<br>
|
||||
</span>
|
||||
|
|
Loading…
Reference in New Issue
Block a user