TheDesk Miho (ver.13)

This commit is contained in:
cutls 2018-02-18 01:44:03 +09:00
parent 10367c93c7
commit 357f417560
16 changed files with 182 additions and 73 deletions

View File

@ -9,8 +9,6 @@ body{overflow:hidden;}
} }
help { help {
display: none; display: none;
font-size: 10px;
color: gray;
} }
.show-help { .show-help {
display: inline; display: inline;
@ -71,7 +69,7 @@ option {
} }
code:before, .pre:before { code:before, .pre:before {
content: "Code"; content: "Code";
font-size: 30px; font-size: 1.8rem;
line-height: 1em; line-height: 1em;
font-family: monospace, monospace; font-family: monospace, monospace;
color: #999; color: #999;
@ -115,7 +113,7 @@ blockquote, .quote {
} }
blockquote:before, .quote:before { blockquote:before, .quote:before {
content: "Quote"; content: "Quote";
font-size: 30px; font-size: 1.8rem;
line-height: 1em; line-height: 1em;
font-family: Open Sans, cursive; font-family: Open Sans, cursive;
color: #999; color: #999;
@ -134,7 +132,7 @@ blockquote:before, .quote:before {
align-items: center; align-items: center;
} }
#drag-content { #drag-content {
font-size: 200%; font-size: 2rem;
} }
.radio{ .radio{
font-family:'Yanone Kaffeesatz' font-family:'Yanone Kaffeesatz'

View File

@ -15,7 +15,7 @@
position: absolute; position: absolute;
top: 3px; top: 3px;
right: 3px; right: 3px;
font-size: 7px; font-size: 0.5rem;
color: gray; color: gray;
cursor: pointer; cursor: pointer;
} }
@ -73,3 +73,21 @@
color: white; color: white;
padding: 3px; padding: 3px;
} }
/*mini*/
.mini-post .mize{
display:none !important;
}
.mini-post #textarea{
padding:0;
}
.mini-post #post-box{
width:200px;
min-width:100px;
}
.mini-post #toot-field{
padding:0;
}
.mini-post #toot-btn-field{
padding:0;
}

View File

@ -15,23 +15,17 @@ iframe {
height: 100vh; height: 100vh;
flex: 1; flex: 1;
} }
.tl-box{ height:calc(100% - 40px); overflow-y:scroll; overflow-x:hidden } .user{
@media screen and (max-width: 600px) { font-size:1.2rem;
#timeline-container {
display: block;
overflow-x: hidden;
}
.box {
width: 100vw;
}
.fixed-action-btn {
position: absolute;
}
} }
.tl-box{ height:calc(100% - 40px); overflow-y:scroll; overflow-x:hidden }
.additional { .additional {
overflow-x: scroll; overflow-x: scroll;
width: 100%; width: 100%;
} }
.media-filter .nomedia{
display:none;
}
.cvo { .cvo {
padding-left: 5px; padding-left: 5px;
padding-right: 2px; padding-right: 2px;
@ -41,7 +35,7 @@ iframe {
color: gray; color: gray;
} }
.sml { .sml {
font-size: 80%; font-size: 0.8rem;
} }
.toot { .toot {
overflow: hide; overflow: hide;
@ -51,9 +45,6 @@ iframe {
width: 100%; width: 100%;
height: 200px; height: 200px;
} }
.emoji-img{
width:17px;
}
.toot img:not(.emoji-img) { .toot img:not(.emoji-img) {
max-width: 100%; max-width: 100%;
max-height: 300px; max-height: 300px;
@ -62,7 +53,7 @@ iframe {
display: inline-block; display: inline-block;
min-width: 10px; min-width: 10px;
padding: 3px 7px; padding: 3px 7px;
font-size: 12px; font-size: 0.8rem;
margin-right: 5px; margin-right: 5px;
line-height: 1; line-height: 1;
color: #fff; color: #fff;
@ -90,7 +81,6 @@ p {
margin-right: 10px; margin-right: 10px;
width:100%; width:100%;
z-index:1000; z-index:1000;
height:60px;
} }
.tl-title { .tl-title {
font-family: Open Sans; font-family: Open Sans;
@ -102,7 +92,7 @@ p {
float: right; float: right;
} }
.setting { .setting {
font-size: 10px; font-size: 0.6rem;
color: gray; color: gray;
cursor: pointer; cursor: pointer;
} }

View File

@ -103,17 +103,20 @@ var tlid=0;
</div> </div>
<div id="post-box"> <div id="post-box">
<!--トゥートボックス--> <!--トゥートボックス-->
<span class="cancel"><i class="material-icons" onclick="hide()" title="このボックスを閉じる(X)">cancel</i></span><br> <span class="cancel">
<a onclick="addToggle()" class="setting nex"><i class="material-icons nex" title="カラム追加">add</i></a> <i class="material-icons" onclick="hide()" title="このボックスを閉じる(X)">cancel</i>
<a id="clear" class="setting nex"><i class="material-icons nex" title="トゥートボックスのクリア">clear</i></a> <i class="material-icons mini-btn" onclick="mini()" title="このボックスを最小化">expand_more</i>
<a onclick="zoomBox()" class="setting nex"><i class="material-icons nex" title="ボックスの拡大・縮小(E)">zoom_out_map</i></a> </span><br>
<a onclick="srcToggle()" class="setting nex"><i class="material-icons nex" title="検索">search</i></a> <a onclick="addToggle()" class="setting nex"><i class="material-icons nex mize" title="カラム追加">add</i></a>
<a href="setting.html" class="setting nex"><i class="material-icons nex" title="設定">settings</i></a> <a id="clear" class="setting nex"><i class="material-icons nex mize" title="トゥートボックスのクリア">clear</i></a>
<a href="acct.html"><i class="material-icons nex" title="アカウント管理">account_circle</i></a> <a onclick="zoomBox()" class="setting nex"><i class="material-icons nex mize" title="ボックスの拡大・縮小(E)">zoom_out_map</i></a>
<a href="index.html" class="setting nex"><i class="material-icons nex" title="スーパーリロード">refresh</i></a> <a onclick="srcToggle()" class="setting nex"><i class="material-icons nex mize" title="検索">search</i></a>
<a onclick="window.open('https://astarte.thedesk.top');" class="setting nex" target="_blank" id="ranking-btn" style="display:none;"><i class="material-icons nex" title="アスタルテランキング">timeline</i></a> <a href="setting.html" class="setting nex"><i class="material-icons nex mize" title="設定">settings</i></a>
<a onclick="Rtoggle()" class="setting nex" id="radio-btn"><i class="material-icons nex" title="Radio(Select/Pause)">play_circle_outline</i></a><span id="radio-sta" class="radio"></span> <a href="acct.html"><i class="material-icons nex mize" title="アカウント管理">account_circle</i></a>
<div id="radio-view" class="hide radio"> <a href="index.html" class="setting nex mize"><i class="material-icons nex" title="スーパーリロード">refresh</i></a>
<a onclick="window.open('https://astarte.thedesk.top');" class="setting nex mize" target="_blank" id="ranking-btn" style="display:none;"><i class="material-icons nex" title="アスタルテランキング">timeline</i></a>
<a onclick="Rtoggle()" class="setting nex mize" id="radio-btn"><i class="material-icons nex" title="Radio(Select/Pause)">play_circle_outline</i></a><span id="radio-sta" class="radio"></span>
<div id="radio-view" class="hide radio mize">
<span class="cbadge pointer" onclick="Rplay('https://listen.moe/stream','Listen.moe')" data-name="Listen.moe">Listen.moe</span> <span class="cbadge pointer" onclick="Rplay('https://listen.moe/stream','Listen.moe')" data-name="Listen.moe">Listen.moe</span>
<span class="cbadge pointer" onclick="Rplay('http://itori.animenfo.com:443','AnimeNfo Radio')" data-name="AnimeNfo Radio">AnimeNfo Radio</span> <span class="cbadge pointer" onclick="Rplay('http://itori.animenfo.com:443','AnimeNfo Radio')" data-name="AnimeNfo Radio">AnimeNfo Radio</span>
<span class="cbadge pointer" onclick="Rplay('http://hyades.shoutca.st:8043/stream','LoFi hip hop Radio')" data-name="LoFi hip hop Radio">LoFi hip hop Radio</span> <span class="cbadge pointer" onclick="Rplay('http://hyades.shoutca.st:8043/stream','LoFi hip hop Radio')" data-name="LoFi hip hop Radio">LoFi hip hop Radio</span>
@ -121,21 +124,21 @@ var tlid=0;
<span class="cbadge pointer" onclick="Rplay('http://edge-ads-01-cr.sharp-stream.com/jazzfmmobile.aac','Jazz FM')" data-name="Jazz FM">Jazz FM</span> <span class="cbadge pointer" onclick="Rplay('http://edge-ads-01-cr.sharp-stream.com/jazzfmmobile.aac','Jazz FM')" data-name="Jazz FM">Jazz FM</span>
<span class="cbadge pointer" onclick="Ryourself()">Others</span> <span class="cbadge pointer" onclick="Ryourself()">Others</span>
</div> </div>
<div id="radio-input" class="hide radio"> <div id="radio-input" class="hide radio mize">
<input type="url" id="radio-url" placeholder="URL" style="width:100px"> <input type="url" id="radio-url" placeholder="URL" style="width:100px">
<button class="btn waves-effect" onclick="Rinput()">Play</button> <button class="btn waves-effect" onclick="Rinput()">Play</button>
<button class="btn waves-effect" onclick="Rselect()">Presets</button> <button class="btn waves-effect" onclick="Rselect()">Presets</button>
</div> </div>
<div class="row" style="margin-bottom:0;"> <div class="row" style="margin-bottom:0;">
<span class="sml gray">画面内どこでもドラッグ・アンド・ドロップできます。</span><br>アカウント選択<!--[<a onclick="profShow()" class="pointer sml">プロフィール確認・編集</a>]</span>--><br> <span class="sml gray mize">画面内どこでもドラッグ・アンド・ドロップできます。</span><span class="mize"><br>アカウント選択<!--[<a onclick="profShow()" class="pointer sml">プロフィール確認・編集</a>]</span>--><br></span>
<div class="input-field"> <div class="input-field mize">
<select id="post-acct-sel" class="acct-sel" onchange="mdCheck()"> <select id="post-acct-sel" class="acct-sel" onchange="mdCheck()">
</select> </select>
</div> </div>
<!--Markdown--> <!--Markdown-->
<div class="row"> <div class="row" style="margin-bottom:0">
<div class="markdown"> <div class="markdown mize">
<div class="col s12 more-show"> <div class="col s12 more-show">
<i class="material-icons pointer setting" onclick="tagsel('b')" title="太字(Ctrl+B)テキストボックス内を選択してから押すと囲みます。">format_bold</i> <i class="material-icons pointer setting" onclick="tagsel('b')" title="太字(Ctrl+B)テキストボックス内を選択してから押すと囲みます。">format_bold</i>
<i class="material-icons pointer setting" onclick="tagsel('i')" title="斜字(Ctrl+I)テキストボックス内を選択してから押すと囲みます。">format_italic</i> <i class="material-icons pointer setting" onclick="tagsel('i')" title="斜字(Ctrl+I)テキストボックス内を選択してから押すと囲みます。">format_italic</i>
@ -146,8 +149,8 @@ var tlid=0;
<i class="material-icons pointer setting" onclick="markdown('`','yes','no')" title="コード挿入 テキストボックス内を選択してから押すと囲みます。">code</i> <i class="material-icons pointer setting" onclick="markdown('`','yes','no')" title="コード挿入 テキストボックス内を選択してから押すと囲みます。">code</i>
<i class="material-icons pointer setting" onclick="markdown('- ','yes','yes')" title="箇条書きリスト">format_list_bulleted</i> <i class="material-icons pointer setting" onclick="markdown('- ','yes','yes')" title="箇条書きリスト">format_list_bulleted</i>
<i class="material-icons pointer setting" onclick="markdown('1. ','yes','yes')" title="番号付きリスト">format_list_numbered</i> <i class="material-icons pointer setting" onclick="markdown('1. ','yes','yes')" title="番号付きリスト">format_list_numbered</i>
<i class="pointer setting fa fa-subscript" onclick="markdown('__','yes','no','before')" title="下付き文字 テキストボックス内を選択してから押すと囲みます。" style="font-size:24px"></i> <i class="pointer setting fa fa-subscript" onclick="markdown('__','yes','no','before')" title="下付き文字 テキストボックス内を選択してから押すと囲みます。" style="font-size:1.5rem"></i>
<i class="pointer setting fa fa-superscript" onclick="markdown('_','yes','no','before')" title="上付き文字 テキストボックス内を選択してから押すと囲みます。" style="font-size:24px"></i> <i class="pointer setting fa fa-superscript" onclick="markdown('_','yes','no','before')" title="上付き文字 テキストボックス内を選択してから押すと囲みます。" style="font-size:1.5rem"></i>
<i class="material-icons pointer setting" onclick="tagsel('spin')" title="回転 テキストボックス内を選択してから押すと囲みます。">autorenew</i> <i class="material-icons pointer setting" onclick="tagsel('spin')" title="回転 テキストボックス内を選択してから押すと囲みます。">autorenew</i>
<i class="material-icons pointer setting" onclick="tagsel('pulse')" title="点滅 テキストボックス内を選択してから押すと囲みます。">flare</i> <i class="material-icons pointer setting" onclick="tagsel('pulse')" title="点滅 テキストボックス内を選択してから押すと囲みます。">flare</i>
<i class="material-icons pointer setting" onclick="tagsel('flip=vertical')" title="上下反転 テキストボックス内を選択してから押すと囲みます。">swap_vert</i> <i class="material-icons pointer setting" onclick="tagsel('flip=vertical')" title="上下反転 テキストボックス内を選択してから押すと囲みます。">swap_vert</i>
@ -164,10 +167,10 @@ var tlid=0;
<span class="sml gray pointer"><a onclick="previewEdit()">Edit</a></span> <span class="sml gray pointer"><a onclick="previewEdit()">Edit</a></span>
</div> </div>
<div class="input-field col s12" id="toot-field" style="margin-top: 0;"> <div class="input-field col s12" id="toot-field" style="margin-top: 0;">
<textarea id="textarea" class="materialize-textarea" style="margin-bottom:0" data-length="500"></textarea> <textarea id="textarea" class="materialize-textarea unmize" style="margin-bottom:0;" data-length="500"></textarea>
<label for="textarea"></label> <label for="textarea">トゥート</label>
<span class="sml gray pointer more-show markdown" id="preview-btn"><a onclick="preview()">Preview</a></span> <span class="sml gray pointer more-show markdown mize" id="preview-btn"><a onclick="preview()">Preview</a></span>
<span class="sml gray pointer more-show anti-markdown hide"><a onclick="mdToggle()">Markdownエディタを表示</a></span> <span class="sml gray pointer more-show anti-markdown hide mize"><a onclick="mdToggle()">Markdownエディタを表示</a></span>
</div> </div>
<div id="suggest"></div> <div id="suggest"></div>
<br> <br>
@ -175,20 +178,20 @@ var tlid=0;
<input type="hidden" id="reply"> <input type="hidden" id="reply">
<input type="hidden" id="media"> <input type="hidden" id="media">
<!--END hidden area--> <!--END hidden area-->
<div class="col s12"> <div class="col s12" id="toot-btn-field">
<button class="btn waves-effect indigo" style="width:100%; padding:0; margin-top:20px;" 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"> <div class="col s12 mize">
<button class="btn waves-effect orange more-hide" style="width:100%; padding:0;" onclick="more()">もっと</button> <button class="btn waves-effect orange more-hide mize" style="width:100%; padding:0;" onclick="more()">もっと</button>
<!--もっと--> <!--もっと-->
<span id="preview"></span> <span id="preview mize"></span>
<span class="more-show sml">返信モード:<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>
<span id="file-wrap"><input class="more-show" type="file" name="pic" id="upfile" onchange="pimg(document.getElementById('upfile').files);" multiple></span> <span id="file-wrap mize"><input class="more-show" type="file" name="pic" id="upfile" onchange="pimg(document.getElementById('upfile').files);" multiple></span>
<input type="text" id="cw-text" placeholder="警告文"> <input type="text" id="cw-text" placeholder="警告文" class="mize">
</div></div> </div></div>
<div class="col s3"> <div class="col s3 mize">
<button class="btn waves-effect more-show blue darken-3" style="width:100%; padding:0; margin-top:0;" id="cw" onclick="cw()" title="コンテンツワーニング(トゥートを表示する前にメッセージで隠す)(青:OFF)">CW</button> <button class="btn waves-effect more-show blue darken-3" style="width:100%; padding:0; margin-top:0;" id="cw" onclick="cw()" title="コンテンツワーニング(トゥートを表示する前にメッセージで隠す)(青:OFF)">CW</button>
</div> </div>
<div class="col s3"> <div class="col s3 mize">
<button class="dropdown-button btn waves-effect more-show pink " style="width:100%; padding:0; margin-top:0;" data-activates='dropdown1'><i class="material-icons">lock</i></button> <button class="dropdown-button btn waves-effect more-show pink " style="width:100%; padding:0; margin-top:0;" data-activates='dropdown1'><i class="material-icons">lock</i></button>
<!-- 公開範囲 Dropdown Structure --> <!-- 公開範囲 Dropdown Structure -->
<ul id='dropdown1' class='dropdown-content'> <ul id='dropdown1' class='dropdown-content'>
@ -199,7 +202,7 @@ var tlid=0;
<li><a onclick="vis('direct')" class="disabled direct">ダイレクト(Direct)</a></li> <li><a onclick="vis('direct')" class="disabled direct">ダイレクト(Direct)</a></li>
</ul> </ul>
</div> </div>
<div class="col s3"> <div class="col s3 mize">
<!--絵文字ピッカー--> <!--絵文字ピッカー-->
<div id="emoji" class="hide shared"> <div id="emoji" class="hide shared">
<span class="gray sml">インスタンスによって実装が異なります。<i><a onclick="emojiGet('true')" class="pointer">絵文字更新</a></i><br></span> <span class="gray sml">インスタンスによって実装が異なります。<i><a onclick="emojiGet('true')" class="pointer">絵文字更新</a></i><br></span>
@ -215,16 +218,16 @@ var tlid=0;
</div> </div>
<button class="btn waves-effect more-show pink" style="width:100%; padding:0; margin-top:0;" onclick="emoji()"><i class="material-icons" title="絵文字挿入">add</i></button> <button class="btn waves-effect more-show pink" style="width:100%; padding:0; margin-top:0;" onclick="emoji()"><i class="material-icons" title="絵文字挿入">add</i></button>
</div> </div>
<div class="col s3"> <div class="col s3 mize">
<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"> <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()">閉じる</button>
</div> </div>
</div> </div>
</div> </div>
<!--最小化--> <!--最小化-->
<div class="fixed-action-btn horizontal" id="menu-btn" onclick="show()"> <div class="fixed-action-btn horizontal mize" id="menu-btn" onclick="show()">
<a class="btn-floating btn-large red"> <a class="btn-floating btn-large red">
<i class="large material-icons">mode_edit</i> <i class="large material-icons">mode_edit</i>
</a> </a>
@ -266,6 +269,8 @@ var tlid=0;
<div id="toot-after"></div> <div id="toot-after"></div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy()">URLをコピー</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy('emb')">埋め込む</a>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a> <a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
</div> </div>
</div> </div>
@ -275,7 +280,7 @@ var tlid=0;
<div id="his-data-show"> <div id="his-data-show">
<img src="./img/loading.svg" id="his-prof" style=""> <img src="./img/loading.svg" id="his-prof" style="">
<div class="his-float"> <div class="his-float">
<span id="his-name" style="font-size:200%">Loading...</span><br> <span id="his-name" style="font-size:1.5rem">Loading...</span><br>
@<span id="his-acct"></span> @<span id="his-acct"></span>
<span class="gray" id="his-relation"></span><br> <span class="gray" id="his-relation"></span><br>
<span class="cbadge"><span id="his-sta"></span>トゥート</span><span class="cbadge">フォロー:<span id="his-follow"></span></span> <span class="cbadge"><span id="his-sta"></span>トゥート</span><span class="cbadge">フォロー:<span id="his-follow"></span></span>
@ -383,6 +388,7 @@ var tlid=0;
<script type="text/javascript" src="./js/tl/datails.js"></script> <script type="text/javascript" src="./js/tl/datails.js"></script>
<script type="text/javascript" src="./js/tl/mix.js"></script> <script type="text/javascript" src="./js/tl/mix.js"></script>
<script type="text/javascript" src="./js/tl/src.js"></script> <script type="text/javascript" src="./js/tl/src.js"></script>
<script type="text/javascript" src="./js/tl/filter.js"></script>
<script type="text/javascript" src="./js/ui/layout.js"></script> <script type="text/javascript" src="./js/ui/layout.js"></script>
<script type="text/javascript" src="./js/login/login.js"></script> <script type="text/javascript" src="./js/login/login.js"></script>
<script type="text/javascript" src="./js/login/instance.js"></script> <script type="text/javascript" src="./js/login/instance.js"></script>

View File

@ -65,3 +65,22 @@
return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : ''; return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
}); });
}; };
//コピー
function execCopy(string){
var temp = document.createElement('div');
temp.appendChild(document.createElement('pre')).textContent = string;
var s = temp.style;
s.position = 'fixed';
s.left = '-100%';
document.body.appendChild(temp);
document.getSelection().selectAllChildren(temp);
var result = document.execCommand('copy');
document.body.removeChild(temp);
// true なら実行できている falseなら失敗か対応していないか
return result;
}

View File

@ -1,6 +1,6 @@
//トゥートの詳細 //トゥートの詳細
function details(id, acct_id) { function details(id, acct_id) {
$(".toot-reset").html("トゥートはありません"); $(".toot-reset").html("データなし");
var html = $("#pub_" + id).html(); var html = $("#pub_" + id).html();
$("#toot-this").html(html); $("#toot-this").html(html);
$('#tootmodal').modal('open'); $('#tootmodal').modal('open');
@ -21,6 +21,7 @@ function details(id, acct_id) {
}).then(function(json) { }).then(function(json) {
$("#toot-this .fav_ct").text(json.favourites_count); $("#toot-this .fav_ct").text(json.favourites_count);
$("#toot-this .rt_ct").text(json.reblogs_count); $("#toot-this .rt_ct").text(json.reblogs_count);
$("#tootmodal").attr("data-url",json.url);
if (json.in_reply_to_id) { if (json.in_reply_to_id) {
replyTL(json.in_reply_to_id, acct_id); replyTL(json.in_reply_to_id, acct_id);
} }
@ -147,3 +148,15 @@ function rted(id, acct_id) {
$("#toot-rt").html(templete); $("#toot-rt").html(templete);
}); });
} }
//URL等のコピー
function cbCopy(mode){
var url=$("#tootmodal").attr("data-url");
var urls = url.match(/https?:\/\/([-.a-zA-Z0-9]+)/);
var domain=urls[1];
if(mode=="emb"){
var emb='<iframe src="'+url+'/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400"></iframe><script src="https://'+domain+'/embed.js" async="async"></script>';
execCopy(emb)
}else{
execCopy(url)
}
}

28
app/js/tl/filter.js Normal file
View File

@ -0,0 +1,28 @@
//各TL上方のMedia[On/Off]
function mediaToggle(tlid) {
var media = localStorage.getItem("media_" + tlid);
if (media) {
localStorage.removeItem("media_" + tlid);
$("#sta-media-" + tlid).text("Off");
$("#sta-media-" + tlid).css("color",'red');
$("#timeline_"+tlid).removeClass("media-filter")
} else {
localStorage.setItem("media_" + tlid, "true");
$("#sta-media-" + tlid).text("On");
$("#sta-media-" + tlid).css("color",'#009688');
$("#timeline_"+tlid).addClass("media-filter")
}
}
//各TL上方のMedia[On/Off]をチェック
function mediaCheck(tlid) {
var media = localStorage.getItem("media_" + tlid);
if (media) {
$("#sta-media-" + tlid).text("On");
$("#sta-media-" + tlid).css("color",'#009688');
$("#timeline_"+tlid).addClass("media-filter")
} else {
$("#sta-media-" + tlid).text("Off");
$("#sta-media-" + tlid).css("color",'red');
$("#timeline_"+tlid).removeClass("media-filter")
}
}

View File

@ -122,9 +122,11 @@ function parseNotf(obj, popup, tlid, acct_id) {
var noticetext = '<a onclick="udg(\'' + eachobj.account.id + var noticetext = '<a onclick="udg(\'' + eachobj.account.id +
'\',\'' + acct_id + '\')" class="pointer">'+eachobj.account.display_name + "(" + eachobj.account.acct + '\',\'' + acct_id + '\')" class="pointer">'+eachobj.account.display_name + "(" + eachobj.account.acct +
")</a>が" + what; ")</a>が" + what;
if (popup >= 0 && obj.length < 5) { var memory = localStorage.getItem("notice-mem");
if (popup >= 0 && obj.length < 5 && noticetext != memory) {
Materialize.toast(noticetext, popup * 1000); Materialize.toast(noticetext, popup * 1000);
$(".notf-icon_" + tlid).addClass("red-text"); $(".notf-icon_" + tlid).addClass("red-text");
localStorage.setItem("notice-mem",noticetext);
notftext=""; notftext="";
} }
if (toot.spoiler_text && cw) { if (toot.spoiler_text && cw) {

View File

@ -87,6 +87,7 @@ function parse(obj, mix, acct_id) {
var analyze=''; var analyze='';
} }
var viewer = ""; var viewer = "";
var hasmedia="";
var youtube = ""; var youtube = "";
var emojick = toot.emojis[0]; var emojick = toot.emojis[0];
//絵文字があれば //絵文字があれば
@ -103,6 +104,7 @@ function parse(obj, mix, acct_id) {
var mediack = toot.media_attachments[0]; var mediack = toot.media_attachments[0];
//メディアがあれば //メディアがあれば
if (mediack) { if (mediack) {
hasmedia = "hasmedia";
var cwdt=100/toot.media_attachments.length var cwdt=100/toot.media_attachments.length
Object.keys(toot.media_attachments).forEach(function(key2) { Object.keys(toot.media_attachments).forEach(function(key2) {
var media = toot.media_attachments[key2]; var media = toot.media_attachments[key2];
@ -118,6 +120,7 @@ function parse(obj, mix, acct_id) {
}); });
} else { } else {
viewer = ""; viewer = "";
hasmedia = "nomedia";
} }
var menck = toot.mentions[0]; var menck = toot.mentions[0];
var mentions = ""; var mentions = "";
@ -164,7 +167,7 @@ function parse(obj, mix, acct_id) {
} }
templete = templete + '<div id="pub_' + toot.id + '" class="cvo ' + templete = templete + '<div id="pub_' + toot.id + '" class="cvo ' +
boostback + ' ' + fav_app + ' ' + rt_app + boostback + ' ' + fav_app + ' ' + rt_app +
'" style="padding-top:5px;" toot-id="' + id + '" unixtime="' + date(obj[ ' '+ hasmedia + '" style="padding-top:5px;" toot-id="' + id + '" unixtime="' + date(obj[
key].created_at, 'unix') + '">' + key].created_at, 'unix') + '">' +
'<span class="gray sharesta">' + notice + home + '</span>' + '<span class="gray sharesta">' + notice + home + '</span>' +
'<div style="padding:0; margin:0; width:400px; max-width:100%; display:flex; align-items:flex-end;">' + '<div style="padding:0; margin:0; width:400px; max-width:100%; display:flex; align-items:flex-end;">' +
@ -173,8 +176,8 @@ function parse(obj, mix, acct_id) {
'<img src="' + toot.account.avatar + '<img src="' + toot.account.avatar +
'" width="40" class="prof-img" user="' + toot.account.acct + '" width="40" class="prof-img" user="' + toot.account.acct +
'"></a></div>' + '"></a></div>' +
'<div style="flex-grow:3; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"><big>' + '<div style="flex-grow:3; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"><span class="user">' +
toot.account.display_name + '</big></div>' + toot.account.display_name + '</span></div>' +
'<div class="sml gray" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> @' + '<div class="sml gray" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> @' +
toot.account.acct + locked + '</div>' + toot.account.acct + locked + '</div>' +
'</div>' + '</div>' +

View File

@ -12,6 +12,10 @@
} }
//最初、カラム変更時に発火 //最初、カラム変更時に発火
function parseColumn() { function parseColumn() {
var size = localStorage.getItem("size");
if (size) {
$("html").css("font-size", size + "px");
}
var multi = localStorage.getItem("multi"); var multi = localStorage.getItem("multi");
if (!multi) { if (!multi) {
var obj = [{ var obj = [{
@ -62,7 +66,9 @@
key + '">notifications</i></a>' + key + '">notifications</i></a>' +
'<a onclick="removeColumn(' + key + '<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>' +
'<a onclick="cardToggle(' + key + '<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-' + ')" 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><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 class="hide notf-indv-box" id="notf-box_' + key +
@ -76,8 +82,9 @@
var data = ""; var data = "";
} }
tl(acct.type, data, acct.domain, key); tl(acct.type, data, acct.domain, key);
notf(acct.domain, key);
cardCheck(key); cardCheck(key);
mediaCheck(key);
}); });
var width = localStorage.getItem("width"); var width = localStorage.getItem("width");
if (width) { if (width) {

View File

@ -17,6 +17,15 @@ function hide() {
$("#post-box").fadeOut(); $("#post-box").fadeOut();
$("#menu-btn").fadeIn(); $("#menu-btn").fadeIn();
} }
//最小化
function mini() {
$("body").toggleClass("mini-post");
if($("body").hasClass("mini-post")){
$(".mini-btn").text("expand_less");
}else{
$(".mini-btn").text("expand_more");
}
}
//最小化時に展開 //最小化時に展開
function show() { function show() {
$("#post-box").removeClass("hidenbox"); $("#post-box").removeClass("hidenbox");

View File

@ -9,7 +9,6 @@ function Rtoggle(){
} }
function Rplay(url,name){ function Rplay(url,name){
$("#radio").attr('src',url); $("#radio").attr('src',url);
r.type = "audio/mpeg";
r.load(); r.load();
r.play(); r.play();
$("#radio").addClass("play"); $("#radio").addClass("play");

View File

@ -59,6 +59,11 @@ function settings() {
if (imgd != localStorage.getItem("img")) { if (imgd != localStorage.getItem("img")) {
Materialize.toast("画像投稿後の設定を" + imgd + "に設定しました。", 3000); Materialize.toast("画像投稿後の設定を" + imgd + "に設定しました。", 3000);
} }
var sized = $("#size").val();
if (sized != localStorage.getItem("size")) {
Materialize.toast("フォントサイズを" + sized + "pxに設定しました。", 3000);
}
localStorage.setItem("size", sized);
localStorage.setItem("img", imgd); localStorage.setItem("img", imgd);
} }
@ -131,6 +136,13 @@ function load() {
var img = "no-act"; var img = "no-act";
} }
$("#i_" + img).prop("checked", true); $("#i_" + img).prop("checked", true);
var size = localStorage.getItem("size");
if (!size) {
var size = "15";
}
$("#size").val(size);
//並べ替え //並べ替え
sortload(); sortload();
} }

View File

@ -81,6 +81,7 @@
<input class="with-gap" name="box" type="radio" id="b_no" value="no" /> <input class="with-gap" name="box" type="radio" id="b_no" value="no" />
<label for="b_no">いいえ</label><br> <label for="b_no">いいえ</label><br>
<h5>新規通知のポップアップお知らせの表示秒数</h5> <h5>新規通知のポップアップお知らせの表示秒数</h5>
0に設定すると表示されません<br> 0に設定すると表示されません<br>
<input type="text" style="width:50px" id="popup"><br> <input type="text" style="width:50px" id="popup"><br>
@ -93,6 +94,10 @@
画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。<br> 画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。<br>
<input type="text" style="width:50px" id="width">px以上<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> <h5>画像投稿設定</h5>
<input class="with-gap" name="img" type="radio" id="i_url" value="url" /> <input class="with-gap" name="img" type="radio" id="i_url" value="url" />
<label for="i_url">画像を投稿し、画像のURLを最後に表示</label> <label for="i_url">画像を投稿し、画像のURLを最後に表示</label>

View File

@ -14,7 +14,7 @@
<h5>アップデートがあります[TheDesk <span id="ver"></span>]</h5> <h5>アップデートがあります[TheDesk <span id="ver"></span>]</h5>
<span id="det"></span><br> <span id="det"></span><br>
現在のバージョン<span id="now"></span><br> 現在のバージョン<span id="now"></span><br>
ダウンロード後はダウンロードフォルダ(ダウンロードされたフォルダとは違う可能性があります。)が開きソフトは閉じられます。<br> ダウンロード後は選択したフォルダが開きソフトは閉じられます。<br>
<button id="update" class="waves-effect btn" onclick="update('true')">ダウンロード</button> <button id="update" class="waves-effect btn" onclick="update('true')">ダウンロード</button>
<p id="prog"></p> <p id="prog"></p>
<div class="progress"> <div class="progress">

View File

@ -1 +1 @@
{"desk":"Miho (ver.12)","date":"2018-02-16","detail":"内部V:11.12.0|イメージビューワー他バグ修正。ラジオにJazz FM追加。画像ダウンローダー。アップデータの改良"} {"desk":"Miho (ver.13)","date":"2018-02-18","detail":"内部V:11.13.0|トゥートボックス最小化、フォントサイズ変更、メディアフィルター、ワンクリックでトゥートURL/埋め込みコピー、通知が5重に来るバグ修正"}